diff --git a/app/Http/Controllers/ApiController.php b/app/Http/Controllers/ApiController.php index 107ef6a..9bfcb56 100644 --- a/app/Http/Controllers/ApiController.php +++ b/app/Http/Controllers/ApiController.php @@ -133,7 +133,7 @@ class ApiController extends Controller // Getting the notifications sent $notifications = $task ->notifications() - ->with('contact') + ->with(['contact', 'task_history']) ->where('notifications.created_at', '>', $first_day->toDateString()) ->orderBy('notifications.created_at', 'desc') ->get() diff --git a/public/css/app.css b/public/css/app.css index 327f237..45f7aee 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -111,6 +111,13 @@ html body table td.right { html body table#tasks_tbl, html body table#contacts_tbl { width: 100%; } +html body .no-data { + text-align: center; + font-style: italic; + margin-bottom: 1.3rem; + font-size: 0.9rem; + color: #727272; +} html body .quick-view .new-group { margin: 0.2rem; display: inline-block; diff --git a/public/js/app.js b/public/js/app.js index eb2ac29..5fe9553 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -354,7 +354,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n computed: {\n tasks: function tasks() {\n return this.$store.state.tasks;\n }\n },\n methods: {\n statusText: function statusText(status) {\n switch (status) {\n case 1:\n return 'up';\n break;\n\n case 0:\n return 'down';\n break;\n\n default:\n return 'unknown';\n }\n }\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01WzBdLnJ1bGVzWzBdLnVzZVswXSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcmVzb3VyY2VzL3ZpZXdzL2NvbXBvbmVudHMvcXVpY2t2aWV3LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEEsR0FEQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQVJBO0FBVUE7QUFaQTtBQU5BIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Jlc291cmNlcy92aWV3cy9jb21wb25lbnRzL3F1aWNrdmlldy52dWU/NTdiZSJdLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJxdWljay12aWV3IHJvdW5kXCI+XG5cdFx0PGgzPlxuXHRcdFx0UXVpY2sgb3ZlcnZpZXdcblx0XHQ8L2gzPlxuXHRcdDxkaXYgY2xhc3M9XCJibG9jay1jb250ZW50XCI+XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdHYtaWY9XCIxID09IDFcIlxuXHRcdFx0PlxuXHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0di1mb3I9XCJncm91cCBpbiB0YXNrc1wiXG5cdFx0XHRcdFx0di1iaW5kOmtleT1cImdyb3VwLmlkXCJcblx0XHRcdFx0XHRjbGFzcz1cIm5ldy1ncm91cFwiXG5cdFx0XHRcdFx0OnRpdGxlPVwiJ0dyb3VwOiAnK2dyb3VwLm5hbWVcIlxuXHRcdFx0XHQ+XG5cdFx0XHRcdFx0PGEgOmhyZWY9XCInI2dyb3VwLScrZ3JvdXAuaWRcIj5cblx0XHRcdFx0XHRcdDxwXG5cdFx0XHRcdFx0XHRcdHYtZm9yPVwidGFzayBpbiBncm91cC50YXNrc1wiXG5cdFx0XHRcdFx0XHRcdHYtYmluZDprZXk9XCJ0YXNrLmlkXCJcblx0XHRcdFx0XHRcdFx0OmhyZWY9XCInI3Rhc2stJyt0YXNrLmlkXCJcblx0XHRcdFx0XHRcdFx0OmNsYXNzPVwic3RhdHVzVGV4dCh0YXNrLnN0YXR1cykrKHRhc2suYWN0aXZlID09IDAgPyAnIGluYWN0aXZlJyA6ICcnKVwiXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwic3F1YXJlXCJcblx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJzbWFsbFwiPnt7dGFzay5pZCB9fTwvc3Bhbj5cblx0XHRcdFx0XHRcdDwvcD5cblx0XHRcdFx0XHQ8L2E+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8cCBjbGFzcz1cInNwYWNlclwiPiZuYnNwOzwvcD5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdlxuXHRcdFx0XHR2LWVsc2Vcblx0XHRcdD5cblx0XHRcdFx0PGNlbnRlcj5Tb3JyeSwgdGhlcmUgaXMgbm8gdGFzayBoZXJlLjwvY2VudGVyPlxuXG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXB1dGVkOiB7XG5cdFx0dGFza3M6IGZ1bmN0aW9uKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnRhc2tzXG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0c3RhdHVzVGV4dDogZnVuY3Rpb24gKHN0YXR1cykge1xuXHRcdFx0c3dpdGNoIChzdGF0dXMpIHtcblx0XHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHRcdHJldHVybiAndXAnO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRcdHJldHVybiAnZG93bic7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdHJldHVybiAndW5rbm93bic7XG5cdFx0XHR9XG5cdFx0fSxcblx0fVxufVxuPC9zY3JpcHQ+XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/components/quickview.vue?vue&type=script&lang=js&\n"); +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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n computed: {\n tasks: function tasks() {\n return this.$store.state.tasks;\n }\n },\n methods: {\n statusText: function statusText(status) {\n switch (status) {\n case 1:\n return 'up';\n break;\n\n case 0:\n return 'down';\n break;\n\n default:\n return 'unknown';\n }\n }\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01WzBdLnJ1bGVzWzBdLnVzZVswXSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcmVzb3VyY2VzL3ZpZXdzL2NvbXBvbmVudHMvcXVpY2t2aWV3LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBLEdBREE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFSQTtBQVVBO0FBWkE7QUFOQSIsInNvdXJjZXMiOlsid2VicGFjazovLy9yZXNvdXJjZXMvdmlld3MvY29tcG9uZW50cy9xdWlja3ZpZXcudnVlPzU3YmUiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwicXVpY2stdmlldyByb3VuZFwiPlxuXHRcdDxoMz5cblx0XHRcdFF1aWNrIG92ZXJ2aWV3XG5cdFx0PC9oMz5cblx0XHQ8ZGl2IGNsYXNzPVwiYmxvY2stY29udGVudFwiPlxuXHRcdFx0PGRpdlxuXHRcdFx0XHR2LWlmPVwidGFza3MgJiYgT2JqZWN0LmtleXModGFza3MpLmxlbmd0aCA+IDBcIlxuXHRcdFx0PlxuXHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0di1mb3I9XCJncm91cCBpbiB0YXNrc1wiXG5cdFx0XHRcdFx0di1iaW5kOmtleT1cImdyb3VwLmlkXCJcblx0XHRcdFx0XHRjbGFzcz1cIm5ldy1ncm91cFwiXG5cdFx0XHRcdFx0OnRpdGxlPVwiJ0dyb3VwOiAnK2dyb3VwLm5hbWVcIlxuXHRcdFx0XHQ+XG5cdFx0XHRcdFx0PGEgOmhyZWY9XCInI2dyb3VwLScrZ3JvdXAuaWRcIj5cblx0XHRcdFx0XHRcdDxwXG5cdFx0XHRcdFx0XHRcdHYtZm9yPVwidGFzayBpbiBncm91cC50YXNrc1wiXG5cdFx0XHRcdFx0XHRcdHYtYmluZDprZXk9XCJ0YXNrLmlkXCJcblx0XHRcdFx0XHRcdFx0OmhyZWY9XCInI3Rhc2stJyt0YXNrLmlkXCJcblx0XHRcdFx0XHRcdFx0OmNsYXNzPVwic3RhdHVzVGV4dCh0YXNrLnN0YXR1cykrKHRhc2suYWN0aXZlID09IDAgPyAnIGluYWN0aXZlJyA6ICcnKVwiXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwic3F1YXJlXCJcblx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJzbWFsbFwiPnt7dGFzay5pZCB9fTwvc3Bhbj5cblx0XHRcdFx0XHRcdDwvcD5cblx0XHRcdFx0XHQ8L2E+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8cCBjbGFzcz1cInNwYWNlclwiPiZuYnNwOzwvcD5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdlxuXHRcdFx0XHRjbGFzcz1cIm5vLWRhdGFcIlxuXHRcdFx0XHR2LWVsc2Vcblx0XHRcdD5cblx0XHRcdFx0U29ycnksIHRoZXJlIGlzIG5vIHRhc2sgaGVyZS5cblxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRjb21wdXRlZDoge1xuXHRcdHRhc2tzOiBmdW5jdGlvbigpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS50YXNrc1xuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHN0YXR1c1RleHQ6IGZ1bmN0aW9uIChzdGF0dXMpIHtcblx0XHRcdHN3aXRjaCAoc3RhdHVzKSB7XG5cdFx0XHRcdGNhc2UgMTpcblx0XHRcdFx0XHRyZXR1cm4gJ3VwJztcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgMDpcblx0XHRcdFx0XHRyZXR1cm4gJ2Rvd24nO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRyZXR1cm4gJ3Vua25vd24nO1xuXHRcdFx0fVxuXHRcdH0sXG5cdH1cbn1cbjwvc2NyaXB0PlxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/components/quickview.vue?vue&type=script&lang=js&\n"); /***/ }), @@ -376,7 +376,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n data: function data() {\n return {\n task: {\n id: null\n },\n history: null,\n notifications: null,\n refresh: null,\n loader: null,\n days: 7,\n first_day: null,\n charts: {\n uptime: {\n render: false\n },\n response: {\n render: false\n }\n }\n };\n },\n methods: {\n statusText: function statusText(status) {\n switch (status) {\n case 1:\n return 'up';\n break;\n\n case 0:\n return 'down';\n break;\n\n default:\n return 'unknown';\n }\n },\n refreshTask: function refreshTask(callback) {\n var _this = this;\n\n this.$http.post('/api/getTask/' + this.task.id, {\n days: this.days\n }).then(function (response) {\n _this.task = response.data.task;\n _this.history = response.data.history;\n _this.first_day = new Date(response.data.first_day).getTime();\n _this.notifications = response.data.notifications;\n\n _this.refreshUptimeGraph(response.data.stats.uptime);\n\n if (_this.task.type == 'http') {\n _this.refreshResponseTimeGraph(response.data.stats.times);\n }\n\n _this.loader.hide();\n }).then(function () {\n if (_this.refresh == null) {\n _this.refresh = window.setInterval(function () {\n _this.refreshTask();\n }, 10000);\n }\n })[\"catch\"](function (error) {//TODO: do something\n }).then(function () {\n _this.loader.hide();\n });\n },\n refreshResponseTimeGraph: function refreshResponseTimeGraph(stats) {\n var data = [];\n var xaxis = [];\n\n for (var date in stats) {\n xaxis.push(new Date(date).getTime());\n\n if (stats[date]['count'] > 0) {\n data.push(Math.round(stats[date]['duration'] / stats[date]['count'] * 100) / 100);\n } else {\n data.push(0);\n }\n }\n\n this.charts.response.options = {\n xaxis: {\n type: 'datetime',\n //min: this.first_day,\n categories: xaxis,\n labels: {\n show: true,\n rotate: -45\n }\n },\n yaxis: {\n labels: {\n formatter: function formatter(value) {\n return Math.round(value * 100) / 100 + \"s\";\n }\n }\n },\n tooltip: {\n x: {\n format: \"dd MMM yyyy\"\n }\n },\n chart: {\n type: 'line',\n height: 350,\n stacked: false\n },\n legend: {\n position: 'right',\n offsetX: 0,\n offsetY: 50\n },\n dataLabels: {\n enabled: true\n },\n colors: ['#00955c'],\n stroke: {\n curve: 'smooth'\n },\n fill: {\n type: 'gradient',\n gradient: {\n //shade: 'dark',\n shadeIntensity: 1,\n type: 'vertical',\n opacityFrom: 1,\n opacityTo: 1,\n colorStops: [{\n offset: 20,\n color: \"#FAD375\",\n opacity: 1\n }, {\n offset: 40,\n color: \"#61DBC3\",\n opacity: 1\n }]\n }\n }\n };\n this.charts.response.series = [{\n name: 'Response time',\n data: data\n }];\n this.charts.response.render = true;\n },\n refreshUptimeGraph: function refreshUptimeGraph(stats) {\n var xaxis = [];\n var new_data_a = [];\n var new_data_b = [];\n\n for (var date in stats) {\n var total = stats[date]['up'] + stats[date]['down'];\n xaxis.push(new Date(date).getTime());\n\n if (total > 0) {\n new_data_a.push(Math.round(stats[date]['up'] / total * 100));\n new_data_b.push(Math.round(stats[date]['down'] / total * 100));\n } else {\n new_data_a.push(0);\n new_data_b.push(0);\n }\n }\n\n this.charts.uptime.options = {\n xaxis: {\n type: 'datetime',\n min: this.first_day,\n categories: xaxis,\n tickAmount: 6,\n labels: {\n show: true,\n rotate: -45\n }\n },\n yaxis: {\n labels: {\n formatter: function formatter(value) {\n return value + \"%\";\n }\n }\n },\n tooltip: {\n x: {\n format: \"yyyy MMM dd\"\n }\n },\n chart: {\n type: 'bar',\n height: 350,\n stacked: true,\n stackType: '100%'\n },\n legend: {\n position: 'right',\n offsetX: 0,\n offsetY: 50\n }\n };\n this.charts.uptime.series = [{\n name: 'UP',\n data: new_data_a,\n color: '#00955c'\n }, {\n name: 'DOWN',\n data: new_data_b,\n color: '#ef3232'\n }];\n this.charts.uptime.render = true;\n }\n },\n mounted: function mounted() {\n var _this$$route$params$i;\n\n this.loader = this.$loading.show();\n this.task.id = (_this$$route$params$i = this.$route.params.id) !== null && _this$$route$params$i !== void 0 ? _this$$route$params$i : null;\n\n if (this.task.id != null) {\n this.refreshTask();\n }\n },\n beforeRouteLeave: function beforeRouteLeave(to, from, next) {\n clearTimeout(this.refresh);\n next();\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01WzBdLnJ1bGVzWzBdLnVzZVswXSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcmVzb3VyY2VzL3ZpZXdzL3Rhc2tkZXRhaWxzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBLE9BREE7QUFJQSxtQkFKQTtBQUtBLHlCQUxBO0FBTUEsbUJBTkE7QUFPQSxrQkFQQTtBQVFBLGFBUkE7QUFTQSxxQkFUQTtBQVdBO0FBQ0E7QUFDQTtBQURBLFNBREE7QUFJQTtBQUNBO0FBREE7QUFKQTtBQVhBO0FBcUJBLEdBdkJBO0FBd0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQVJBO0FBVUEsS0FaQTtBQWFBO0FBQUE7O0FBQ0E7QUFDQTtBQURBLFNBR0EsSUFIQSxDQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FmQSxFQWdCQSxJQWhCQSxDQWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBRkEsRUFFQSxLQUZBO0FBR0E7QUFDQSxPQXRCQSxXQXVCQSxrQkFDQTtBQUNBLE9BekJBLEVBMEJBLElBMUJBLENBMEJBO0FBQ0E7QUFDQSxPQTVCQTtBQTZCQSxLQTNDQTtBQTRDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FGQSxNQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwwQkFEQTtBQUVBO0FBQ0EsMkJBSEE7QUFJQTtBQUNBLHNCQURBO0FBRUE7QUFGQTtBQUpBLFNBREE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFEQSxTQVZBO0FBaUJBO0FBQ0E7QUFDQTtBQURBO0FBREEsU0FqQkE7QUFzQkE7QUFDQSxzQkFEQTtBQUVBLHFCQUZBO0FBR0E7QUFIQSxTQXRCQTtBQTJCQTtBQUNBLDJCQURBO0FBRUEsb0JBRkE7QUFHQTtBQUhBLFNBM0JBO0FBZ0NBO0FBQ0E7QUFEQSxTQWhDQTtBQW1DQSwyQkFuQ0E7QUFvQ0E7QUFDQTtBQURBLFNBcENBO0FBdUNBO0FBQ0EsMEJBREE7QUFFQTtBQUNBO0FBQ0EsNkJBRkE7QUFHQSw0QkFIQTtBQUlBLDBCQUpBO0FBS0Esd0JBTEE7QUFNQSx5QkFDQTtBQUNBLHdCQURBO0FBRUEsOEJBRkE7QUFHQTtBQUhBLGFBREEsRUFNQTtBQUNBLHdCQURBO0FBRUEsOEJBRkE7QUFHQTtBQUhBLGFBTkE7QUFOQTtBQUZBO0FBdkNBO0FBOERBO0FBQ0EsNkJBREE7QUFFQTtBQUZBO0FBS0E7QUFDQSxLQS9IQTtBQWdJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FIQSxNQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBCQURBO0FBRUEsNkJBRkE7QUFHQSwyQkFIQTtBQUlBLHVCQUpBO0FBS0E7QUFDQSxzQkFEQTtBQUVBO0FBRkE7QUFMQSxTQURBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBREEsU0FYQTtBQWtCQTtBQUNBO0FBQ0E7QUFEQTtBQURBLFNBbEJBO0FBdUJBO0FBQ0EscUJBREE7QUFFQSxxQkFGQTtBQUdBLHVCQUhBO0FBSUE7QUFKQSxTQXZCQTtBQTZCQTtBQUNBLDJCQURBO0FBRUEsb0JBRkE7QUFHQTtBQUhBO0FBN0JBO0FBbUNBO0FBQ0Esa0JBREE7QUFFQSx3QkFGQTtBQUdBO0FBSEEsU0FLQTtBQUNBLG9CQURBO0FBRUEsd0JBRkE7QUFHQTtBQUhBLE9BTEE7QUFXQTtBQUNBO0FBbE1BLEdBeEJBO0FBNE5BO0FBQUE7O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQW5PQTtBQW9PQSxrQkFwT0EsNEJBb09BLEVBcE9BLEVBb09BLElBcE9BLEVBb09BLElBcE9BLEVBb09BO0FBQ0E7QUFDQTtBQUNBO0FBdk9BIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Jlc291cmNlcy92aWV3cy90YXNrZGV0YWlscy52dWU/NzNhNCJdLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDxkaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbnRhaW5lclwiXG5cdFx0XHR2LWlmPVwidGFzay5pZCAhPSBudWxsXCJcblx0XHQ+XG5cdFx0XHQ8aDE+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiaGlnaGxpZ2h0XCI+e3sgdGFzay50eXBlIH19PC9zcGFuPiBmb3IgaG9zdCA8c3BhbiBjbGFzcz1cImhpZ2hsaWdodFwiPnt7IHRhc2suaG9zdCB9fTwvc3Bhbj5cblx0XHRcdFx0PCEtLSA8cCBjbGFzcz1cImNvbnRleHQtbWVudVwiPjxpbWcgc3JjPVwiL2ltZy9tZW51LnN2Z1wiIHdpZHRoPVwiNDBcIiAvPjwvcD4gLS0+XG5cdFx0XHQ8L2gxPlxuXG5cdFx0XHRTaG93OlxuXHRcdFx0PHNlbGVjdFxuXHRcdFx0XHR2LW1vZGVsPVwiZGF5c1wiXG5cdFx0XHRcdEBjaGFuZ2U9XCJyZWZyZXNoVGFza1wiXG5cdFx0XHQ+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCI3XCI+NyBkYXlzPC9vcHRpb24+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIxNVwiPjE1IGRheXM8L29wdGlvbj5cblx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjMwXCI+MzAgZGF5czwvb3B0aW9uPlxuXHRcdFx0PC9zZWxlY3Q+XG5cblx0XHRcdDwhLS0gVXB0aW1lIGNoYXJ0IGJsb2NrIC0tPlxuXHRcdFx0PGRpdiBpZD1cImNoYXJ0XCIgY2xhc3M9XCJyb3VuZFwiPlxuXHRcdFx0XHQ8aDM+TGFzdCB7eyBkYXlzIH19IGRheXMgdXB0aW1lPC9oMz5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrLWNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8YXBleGNoYXJ0IGNsYXNzPVwiZ3JhcGhcIiB2LWlmPVwiY2hhcnRzLnVwdGltZS5yZW5kZXJcIiB0eXBlPVwiYmFyXCIgaGVpZ2h0PVwiMzUwXCIgOm9wdGlvbnM9XCJjaGFydHMudXB0aW1lLm9wdGlvbnNcIiA6c2VyaWVzPVwiY2hhcnRzLnVwdGltZS5zZXJpZXNcIj48L2FwZXhjaGFydD5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblxuXHRcdFx0PCEtLSBSZXNwb25zZSB0aW1lIGNoYXJ0IGJsb2NrIC0tPlxuXHRcdFx0PGRpdiBpZD1cImNoYXJ0XCIgY2xhc3M9XCJyb3VuZFwiIHYtaWY9XCJ0YXNrLnR5cGUgPT0gJ2h0dHAnXCI+XG5cdFx0XHRcdDxoMz5MYXN0IHt7IGRheXMgfX0gZGF5cyByZXNwb25zZSB0aW1lPC9oMz5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrLWNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8YXBleGNoYXJ0IGNsYXNzPVwiZ3JhcGhcIiB2LWlmPVwiY2hhcnRzLnJlc3BvbnNlLnJlbmRlclwiIHR5cGU9XCJsaW5lXCIgaGVpZ2h0PVwiMzUwXCIgOm9wdGlvbnM9XCJjaGFydHMucmVzcG9uc2Uub3B0aW9uc1wiIDpzZXJpZXM9XCJjaGFydHMucmVzcG9uc2Uuc2VyaWVzXCI+PC9hcGV4Y2hhcnQ+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cblxuXG5cdFx0XHQ8IS0tIEhpc3RvcnkgYmFja2xvZyAtLT5cblx0XHRcdDxkaXYgY2xhc3M9XCJyb3VuZFwiPlxuXHRcdFx0XHQ8aDM+TGFzdCB7eyBkYXlzIH19IGRheXMgaGlzdG9yeSBsb2c8L2gzPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYmxvY2stY29udGVudFwiIHYtaWY9XCJoaXN0b3J5XCI+XG5cdFx0XHRcdFx0PHA+PGk+U2hvd2luZyBvbmx5IHJlY29yZHMgd2hlcmUgc3RhdHVzIGhhcyBjaGFuZ2VkPC9pPjwvcD5cblx0XHRcdFx0XHQ8dGFibGUgaWQ9XCJ0YXNrc190YmxcIj5cblx0XHRcdFx0XHRcdDx0aGVhZD5cblx0XHRcdFx0XHRcdFx0PHRyPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPkRhdGU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPlRpbWU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIipcIj5PdXRwdXQ8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPkR1cmF0aW9uPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5TdGF0dXM8L3RoPlxuXHRcdFx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHRcdFx0PC90aGVhZD5cblx0XHRcdFx0XHRcdDx0Ym9keT5cblx0XHRcdFx0XHRcdFx0PHRyXG5cdFx0XHRcdFx0XHRcdFx0di1mb3I9XCJoIGluIGhpc3RvcnlcIlxuXHRcdFx0XHRcdFx0XHRcdHYtYmluZDprZXk9XCJoLmlkXCJcblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoJ1lZWVktTU0tREQnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG1vbWVudChoLmNyZWF0ZWRfYXQpLmZvcm1hdCgnSEg6bW06c3MnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gdi1pZj1cImgub3V0cHV0XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7IGgub3V0cHV0IH19XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3BhbiB2LWVsc2U+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpPk5vIG91dHB1dDwvaT5cblx0XHRcdFx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD5cblx0XHRcdFx0XHRcdFx0XHRcdDxzcGFuIHYtaWY9XCJoLmR1cmF0aW9uICE9IG51bGxcIj57eyBoLmR1cmF0aW9uKydzJyB9fTwvc3Bhbj5cblx0XHRcdFx0XHRcdFx0XHRcdDxzcGFuIHYtZWxzZT48aT5ObyBkdXJhdGlvbjwvaT48L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQgOmNsYXNzPVwic3RhdHVzVGV4dChoLnN0YXR1cylcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbWcgOnNyYz1cIicvaW1nLycrc3RhdHVzVGV4dChoLnN0YXR1cykrJy5zdmcnXCIgd2lkdGg9XCIxNlwiIGFsdD1cIlN0YXR1c1wiIC8+XG5cdFx0XHRcdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHRcdDwvdGJvZHk+XG5cdFx0XHRcdFx0PC90YWJsZT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxwIHYtZWxzZT48Y2VudGVyPk5vIGhpc3RvcnkgdG8gZGlzcGxheSBoZXJlPC9jZW50ZXI+PC9wPlxuXHRcdFx0PC9kaXY+XG5cblx0XHRcdDwhLS0gTm90aWZpY2F0aW9ucyBibG9jayAtLT5cblx0XHRcdDxkaXYgY2xhc3M9XCJyb3VuZFwiPlxuXHRcdFx0XHQ8aDM+TGFzdCB7eyBkYXlzIH19IGRheXMgbm90aWZpY2F0aW9ucyBsb2c8L2gzPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYmxvY2stY29udGVudFwiIHYtaWY9XCJub3RpZmljYXRpb25zXCI+XG5cdFx0XHRcdFx0PHRhYmxlIGlkPVwidGFza3NfdGJsXCI+XG5cdFx0XHRcdFx0XHQ8dGhlYWQ+XG5cdFx0XHRcdFx0XHRcdDx0cj5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIyMCVcIj5EYXRlPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIyMCVcIj5UaW1lPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIqXCI+Rmlyc3RuYW1lPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5MYXN0bmFtZTwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+RW1haWw8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPlN0YXR1czwvdGg+XG5cdFx0XHRcdFx0XHRcdDwvdHI+XG5cdFx0XHRcdFx0XHQ8L3RoZWFkPlxuXHRcdFx0XHRcdFx0PHRib2R5PlxuXHRcdFx0XHRcdFx0XHQ8dHJcblx0XHRcdFx0XHRcdFx0XHR2LWZvcj1cIm4gaW4gbm90aWZpY2F0aW9uc1wiXG5cdFx0XHRcdFx0XHRcdFx0di1iaW5kOmtleT1cIm4uaWRcIlxuXHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG1vbWVudChuLmNyZWF0ZWRfYXQpLmZvcm1hdCgnWVlZWS1NTS1ERCcpIH19PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbW9tZW50KG4uY3JlYXRlZF9hdCkuZm9ybWF0KCdISDptbTpzcycpIH19PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbi5jb250YWN0LmZpcnN0bmFtZSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG4uY29udGFjdC5zdXJuYW1lIH19PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbi5jb250YWN0LmVtYWlsIH19PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbi5zdGF0dXMgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHRcdFx0PC90Ym9keT5cblx0XHRcdFx0XHQ8L3RhYmxlPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PHAgdi1lbHNlPjxjZW50ZXI+Tm8gbm90aWZpY2F0aW9uIHRvIGRpc3BsYXkgaGVyZTwvY2VudGVyPjwvcD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cbiAgICBleHBvcnQgZGVmYXVsdHtcblx0XHRkYXRhOiBmdW5jdGlvbigpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHRhc2s6IHtcblx0XHRcdFx0XHRpZDogbnVsbFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRoaXN0b3J5OiBudWxsLFxuXHRcdFx0XHRub3RpZmljYXRpb25zOiBudWxsLFxuXHRcdFx0XHRyZWZyZXNoOiBudWxsLFxuXHRcdFx0XHRsb2FkZXI6IG51bGwsXG5cdFx0XHRcdGRheXM6IDcsXG5cdFx0XHRcdGZpcnN0X2RheTogbnVsbCxcblxuXHRcdFx0XHRjaGFydHM6IHtcblx0XHRcdFx0XHR1cHRpbWU6IHtcblx0XHRcdFx0XHRcdHJlbmRlcjogZmFsc2UsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRyZXNwb25zZToge1xuXHRcdFx0XHRcdFx0cmVuZGVyOiBmYWxzZSxcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0c3RhdHVzVGV4dDogZnVuY3Rpb24gKHN0YXR1cykge1xuXHRcdFx0XHRzd2l0Y2ggKHN0YXR1cykge1xuXHRcdFx0XHRcdGNhc2UgMTpcblx0XHRcdFx0XHRcdHJldHVybiAndXAnO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGNhc2UgMDpcblx0XHRcdFx0XHRcdHJldHVybiAnZG93bic7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdHJldHVybiAndW5rbm93bic7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRyZWZyZXNoVGFzazogZnVuY3Rpb24oY2FsbGJhY2spIHtcblx0XHRcdFx0dGhpcy4kaHR0cC5wb3N0KCcvYXBpL2dldFRhc2svJyt0aGlzLnRhc2suaWQsIHtcblx0XHRcdFx0XHRkYXlzOiB0aGlzLmRheXNcblx0XHRcdFx0fSlcblx0XHRcdFx0LnRoZW4ocmVzcG9uc2UgPT4ge1xuXHRcdFx0XHRcdHRoaXMudGFzayBcdFx0XHQ9IHJlc3BvbnNlLmRhdGEudGFza1xuXHRcdFx0XHRcdHRoaXMuaGlzdG9yeSBcdFx0PSByZXNwb25zZS5kYXRhLmhpc3Rvcnlcblx0XHRcdFx0XHR0aGlzLmZpcnN0X2RheVx0XHQ9IG5ldyBEYXRlKHJlc3BvbnNlLmRhdGEuZmlyc3RfZGF5KS5nZXRUaW1lKCk7XG5cdFx0XHRcdFx0dGhpcy5ub3RpZmljYXRpb25zXHQ9IHJlc3BvbnNlLmRhdGEubm90aWZpY2F0aW9uc1xuXHRcdFx0XHRcdHRoaXMucmVmcmVzaFVwdGltZUdyYXBoKHJlc3BvbnNlLmRhdGEuc3RhdHMudXB0aW1lKVxuXG5cdFx0XHRcdFx0aWYgKHRoaXMudGFzay50eXBlID09ICdodHRwJykge1xuXHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoUmVzcG9uc2VUaW1lR3JhcGgocmVzcG9uc2UuZGF0YS5zdGF0cy50aW1lcylcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR0aGlzLmxvYWRlci5oaWRlKClcblx0XHRcdFx0fSlcblx0XHRcdFx0LnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLnJlZnJlc2ggPT0gbnVsbCkge1xuXHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcblx0XHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoVGFzaygpXG5cdFx0XHRcdFx0XHR9LCAxMDAwMClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChlcnJvciA9PiB7XG5cdFx0XHRcdFx0Ly9UT0RPOiBkbyBzb21ldGhpbmdcblx0XHRcdFx0fSlcblx0XHRcdFx0LnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMubG9hZGVyLmhpZGUoKVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdHJlZnJlc2hSZXNwb25zZVRpbWVHcmFwaDogZnVuY3Rpb24oc3RhdHMpIHtcblx0XHRcdFx0bGV0IGRhdGEgPSBbXTtcblx0XHRcdFx0bGV0IHhheGlzID0gW107XG5cblx0XHRcdFx0Zm9yIChsZXQgZGF0ZSBpbiBzdGF0cykge1xuXHRcdFx0XHRcdHhheGlzLnB1c2gobmV3IERhdGUoZGF0ZSkuZ2V0VGltZSgpKVxuXG5cdFx0XHRcdFx0aWYgKHN0YXRzW2RhdGVdWydjb3VudCddID4gMCkge1xuXHRcdFx0XHRcdFx0ZGF0YS5wdXNoKE1hdGgucm91bmQoIChzdGF0c1tkYXRlXVsnZHVyYXRpb24nXSAvIHN0YXRzW2RhdGVdWydjb3VudCddKSAqIDEwMCkgLyAxMDApXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0ZGF0YS5wdXNoKDApXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5jaGFydHMucmVzcG9uc2Uub3B0aW9ucyA9IHtcblx0XHRcdFx0XHR4YXhpczoge1xuXHRcdFx0XHRcdFx0dHlwZTogJ2RhdGV0aW1lJyxcblx0XHRcdFx0XHRcdC8vbWluOiB0aGlzLmZpcnN0X2RheSxcblx0XHRcdFx0XHRcdGNhdGVnb3JpZXM6IHhheGlzLFxuXHRcdFx0XHRcdFx0bGFiZWxzOiB7XG5cdFx0XHRcdFx0XHRcdHNob3c6IHRydWUsXG5cdFx0XHRcdFx0XHRcdHJvdGF0ZTogLTQ1LFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0eWF4aXM6IHtcblx0XHRcdFx0XHRcdGxhYmVsczoge1xuXHRcdFx0XHRcdFx0XHRmb3JtYXR0ZXI6IGZ1bmN0aW9uICh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiAoTWF0aC5yb3VuZCh2YWx1ZSAqIDEwMCkgLyAxMDApICsgXCJzXCI7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHRvb2x0aXA6IHtcblx0XHRcdFx0XHRcdHg6IHtcblx0XHRcdFx0XHRcdFx0Zm9ybWF0OiBcImRkIE1NTSB5eXl5XCJcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGNoYXJ0OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiAnbGluZScsXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDM1MCxcblx0XHRcdFx0XHRcdHN0YWNrZWQ6IGZhbHNlXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRsZWdlbmQ6IHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiAncmlnaHQnLFxuXHRcdFx0XHRcdFx0b2Zmc2V0WDogMCxcblx0XHRcdFx0XHRcdG9mZnNldFk6IDUwXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRkYXRhTGFiZWxzOiB7XG5cdFx0XHRcdFx0XHRlbmFibGVkOiB0cnVlLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y29sb3JzOiBbJyMwMDk1NWMnXSxcblx0XHRcdFx0XHRzdHJva2U6IHtcblx0XHRcdFx0XHRcdGN1cnZlOiAnc21vb3RoJyxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGZpbGw6IHtcblx0XHRcdFx0XHRcdHR5cGU6ICdncmFkaWVudCcsXG5cdFx0XHRcdFx0XHRncmFkaWVudDoge1xuXHRcdFx0XHRcdFx0XHQvL3NoYWRlOiAnZGFyaycsXG5cdFx0XHRcdFx0XHRcdHNoYWRlSW50ZW5zaXR5OiAxLFxuXHRcdFx0XHRcdFx0XHR0eXBlOiAndmVydGljYWwnLFxuXHRcdFx0XHRcdFx0XHRvcGFjaXR5RnJvbTogMSxcblx0XHRcdFx0XHRcdFx0b3BhY2l0eVRvOiAxLFxuXHRcdFx0XHRcdFx0XHRjb2xvclN0b3BzOiBbXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRvZmZzZXQ6IDIwLFxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBcIiNGQUQzNzVcIixcblx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAxXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRvZmZzZXQ6IDQwLFxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBcIiM2MURCQzNcIixcblx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAxXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmNoYXJ0cy5yZXNwb25zZS5zZXJpZXMgPSBbe1xuXHRcdFx0XHRcdG5hbWU6ICdSZXNwb25zZSB0aW1lJyxcblx0XHRcdFx0XHRkYXRhOiBkYXRhXG5cdFx0XHRcdH1dXG5cblx0XHRcdFx0dGhpcy5jaGFydHMucmVzcG9uc2UucmVuZGVyID0gdHJ1ZVxuXHRcdFx0fSxcblx0XHRcdHJlZnJlc2hVcHRpbWVHcmFwaDogZnVuY3Rpb24oc3RhdHMpIHtcblx0XHRcdFx0bGV0IHhheGlzID0gW107XG5cdFx0XHRcdGxldCBuZXdfZGF0YV9hID0gW107XG5cdFx0XHRcdGxldCBuZXdfZGF0YV9iID0gW107XG5cblx0XHRcdFx0Zm9yIChsZXQgZGF0ZSBpbiBzdGF0cykge1xuXHRcdFx0XHRcdGxldCB0b3RhbCA9IHN0YXRzW2RhdGVdWyd1cCddICsgc3RhdHNbZGF0ZV1bJ2Rvd24nXVxuXG5cdFx0XHRcdFx0eGF4aXMucHVzaChuZXcgRGF0ZShkYXRlKS5nZXRUaW1lKCkpXG5cdFx0XHRcdFx0aWYgKHRvdGFsID4gMCkge1xuXHRcdFx0XHRcdFx0bmV3X2RhdGFfYS5wdXNoKCBNYXRoLnJvdW5kKHN0YXRzW2RhdGVdWyd1cCddIC8gdG90YWwgKiAxMDApIClcblx0XHRcdFx0XHRcdG5ld19kYXRhX2IucHVzaCggTWF0aC5yb3VuZChzdGF0c1tkYXRlXVsnZG93biddIC8gdG90YWwgKiAxMDApIClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRuZXdfZGF0YV9hLnB1c2goIDAgKVxuXHRcdFx0XHRcdFx0bmV3X2RhdGFfYi5wdXNoKCAwIClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLmNoYXJ0cy51cHRpbWUub3B0aW9ucyA9IHtcblx0XHRcdFx0XHR4YXhpczoge1xuXHRcdFx0XHRcdFx0dHlwZTogJ2RhdGV0aW1lJyxcblx0XHRcdFx0XHRcdG1pbjogdGhpcy5maXJzdF9kYXksXG5cdFx0XHRcdFx0XHRjYXRlZ29yaWVzOiB4YXhpcyxcblx0XHRcdFx0XHRcdHRpY2tBbW91bnQ6IDYsXG5cdFx0XHRcdFx0XHRsYWJlbHM6IHtcblx0XHRcdFx0XHRcdFx0c2hvdzogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0cm90YXRlOiAtNDUsXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR5YXhpczoge1xuXHRcdFx0XHRcdFx0bGFiZWxzOiB7XG5cdFx0XHRcdFx0XHRcdGZvcm1hdHRlcjogZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhbHVlICsgXCIlXCI7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHRvb2x0aXA6IHtcblx0XHRcdFx0XHRcdHg6IHtcblx0XHRcdFx0XHRcdFx0Zm9ybWF0OiBcInl5eXkgTU1NIGRkXCJcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGNoYXJ0OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiAnYmFyJyxcblx0XHRcdFx0XHRcdGhlaWdodDogMzUwLFxuXHRcdFx0XHRcdFx0c3RhY2tlZDogdHJ1ZSxcblx0XHRcdFx0XHRcdHN0YWNrVHlwZTogJzEwMCUnXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRsZWdlbmQ6IHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiAncmlnaHQnLFxuXHRcdFx0XHRcdFx0b2Zmc2V0WDogMCxcblx0XHRcdFx0XHRcdG9mZnNldFk6IDUwXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmNoYXJ0cy51cHRpbWUuc2VyaWVzID0gW3tcblx0XHRcdFx0XHRuYW1lOiAnVVAnLFxuXHRcdFx0XHRcdGRhdGE6IG5ld19kYXRhX2EsXG5cdFx0XHRcdFx0Y29sb3I6ICcjMDA5NTVjJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0bmFtZTogJ0RPV04nLFxuXHRcdFx0XHRcdGRhdGE6IG5ld19kYXRhX2IsXG5cdFx0XHRcdFx0Y29sb3I6ICcjZWYzMjMyJ1xuXHRcdFx0XHR9XVxuXG5cdFx0XHRcdHRoaXMuY2hhcnRzLnVwdGltZS5yZW5kZXIgPSB0cnVlXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0bW91bnRlZDogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLmxvYWRlciA9IHRoaXMuJGxvYWRpbmcuc2hvdygpXG5cdFx0XHR0aGlzLnRhc2suaWQgPSB0aGlzLiRyb3V0ZS5wYXJhbXMuaWQgPz8gbnVsbFxuXG5cdFx0XHRpZiAodGhpcy50YXNrLmlkICE9IG51bGwpIHtcblx0XHRcdFx0dGhpcy5yZWZyZXNoVGFzaygpXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRiZWZvcmVSb3V0ZUxlYXZlKHRvLCBmcm9tLCBuZXh0KSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoKTtcblx0XHRcdG5leHQoKTtcblx0XHR9LFxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkPlxuXG48L3N0eWxlPlxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=script&lang=js&\n"); +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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n data: function data() {\n return {\n task: {\n id: null\n },\n history: null,\n notifications: null,\n refresh: null,\n loader: null,\n days: 7,\n first_day: null,\n charts: {\n uptime: {\n render: false\n },\n response: {\n render: false\n }\n }\n };\n },\n methods: {\n statusText: function statusText(status) {\n switch (status) {\n case 1:\n return 'up';\n break;\n\n case 0:\n return 'down';\n break;\n\n default:\n return 'unknown';\n }\n },\n refreshTask: function refreshTask(callback) {\n var _this = this;\n\n this.$http.post('/api/getTask/' + this.task.id, {\n days: this.days\n }).then(function (response) {\n _this.task = response.data.task;\n _this.history = response.data.history;\n _this.first_day = new Date(response.data.first_day).getTime();\n _this.notifications = response.data.notifications;\n\n _this.refreshUptimeGraph(response.data.stats.uptime);\n\n if (_this.task.type == 'http') {\n _this.refreshResponseTimeGraph(response.data.stats.times);\n }\n\n _this.loader.hide();\n }).then(function () {\n if (_this.refresh == null) {\n _this.refresh = window.setInterval(function () {\n _this.refreshTask();\n }, 10000);\n }\n })[\"catch\"](function (error) {//TODO: do something\n }).then(function () {\n _this.loader.hide();\n });\n },\n refreshResponseTimeGraph: function refreshResponseTimeGraph(stats) {\n var data = [];\n var xaxis = [];\n\n for (var date in stats) {\n xaxis.push(new Date(date).getTime());\n\n if (stats[date]['count'] > 0) {\n data.push(Math.round(stats[date]['duration'] / stats[date]['count'] * 100) / 100);\n } else {\n data.push(0);\n }\n }\n\n this.charts.response.options = {\n xaxis: {\n type: 'datetime',\n //min: this.first_day,\n categories: xaxis,\n labels: {\n show: true,\n rotate: -45\n }\n },\n yaxis: {\n labels: {\n formatter: function formatter(value) {\n return Math.round(value * 100) / 100 + \"s\";\n }\n }\n },\n tooltip: {\n x: {\n format: \"dd MMM yyyy\"\n }\n },\n chart: {\n type: 'line',\n height: 350,\n stacked: false\n },\n legend: {\n position: 'right',\n offsetX: 0,\n offsetY: 50\n },\n dataLabels: {\n enabled: true\n },\n colors: ['#00955c'],\n stroke: {\n curve: 'smooth'\n },\n fill: {\n type: 'gradient',\n gradient: {\n //shade: 'dark',\n shadeIntensity: 1,\n type: 'vertical',\n opacityFrom: 1,\n opacityTo: 1,\n colorStops: [{\n offset: 20,\n color: \"#FAD375\",\n opacity: 1\n }, {\n offset: 40,\n color: \"#61DBC3\",\n opacity: 1\n }]\n }\n }\n };\n this.charts.response.series = [{\n name: 'Response time',\n data: data\n }];\n this.charts.response.render = true;\n },\n refreshUptimeGraph: function refreshUptimeGraph(stats) {\n var xaxis = [];\n var new_data_a = [];\n var new_data_b = [];\n\n for (var date in stats) {\n var total = stats[date]['up'] + stats[date]['down'];\n xaxis.push(new Date(date).getTime());\n\n if (total > 0) {\n new_data_a.push(Math.round(stats[date]['up'] / total * 100));\n new_data_b.push(Math.round(stats[date]['down'] / total * 100));\n } else {\n new_data_a.push(0);\n new_data_b.push(0);\n }\n }\n\n this.charts.uptime.options = {\n xaxis: {\n type: 'datetime',\n min: this.first_day,\n categories: xaxis,\n tickAmount: 6,\n labels: {\n show: true,\n rotate: -45\n }\n },\n yaxis: {\n labels: {\n formatter: function formatter(value) {\n return value + \"%\";\n }\n }\n },\n tooltip: {\n x: {\n format: \"yyyy MMM dd\"\n }\n },\n chart: {\n type: 'bar',\n height: 350,\n stacked: true,\n stackType: '100%'\n },\n legend: {\n position: 'right',\n offsetX: 0,\n offsetY: 50\n }\n };\n this.charts.uptime.series = [{\n name: 'UP',\n data: new_data_a,\n color: '#00955c'\n }, {\n name: 'DOWN',\n data: new_data_b,\n color: '#ef3232'\n }];\n this.charts.uptime.render = true;\n }\n },\n mounted: function mounted() {\n var _this$$route$params$i;\n\n this.loader = this.$loading.show();\n this.task.id = (_this$$route$params$i = this.$route.params.id) !== null && _this$$route$params$i !== void 0 ? _this$$route$params$i : null;\n\n if (this.task.id != null) {\n this.refreshTask();\n }\n },\n beforeRouteLeave: function beforeRouteLeave(to, from, next) {\n clearTimeout(this.refresh);\n next();\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01WzBdLnJ1bGVzWzBdLnVzZVswXSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcmVzb3VyY2VzL3ZpZXdzL3Rhc2tkZXRhaWxzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNEhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQSxPQURBO0FBSUEsbUJBSkE7QUFLQSx5QkFMQTtBQU1BLG1CQU5BO0FBT0Esa0JBUEE7QUFRQSxhQVJBO0FBU0EscUJBVEE7QUFXQTtBQUNBO0FBQ0E7QUFEQSxTQURBO0FBSUE7QUFDQTtBQURBO0FBSkE7QUFYQTtBQXFCQSxHQXZCQTtBQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFSQTtBQVVBLEtBWkE7QUFhQTtBQUFBOztBQUNBO0FBQ0E7QUFEQSxTQUdBLElBSEEsQ0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BZkEsRUFnQkEsSUFoQkEsQ0FnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUZBLEVBRUEsS0FGQTtBQUdBO0FBQ0EsT0F0QkEsV0F1QkEsa0JBQ0E7QUFDQSxPQXpCQSxFQTBCQSxJQTFCQSxDQTBCQTtBQUNBO0FBQ0EsT0E1QkE7QUE2QkEsS0EzQ0E7QUE0Q0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBRkEsTUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMEJBREE7QUFFQTtBQUNBLDJCQUhBO0FBSUE7QUFDQSxzQkFEQTtBQUVBO0FBRkE7QUFKQSxTQURBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBREEsU0FWQTtBQWlCQTtBQUNBO0FBQ0E7QUFEQTtBQURBLFNBakJBO0FBc0JBO0FBQ0Esc0JBREE7QUFFQSxxQkFGQTtBQUdBO0FBSEEsU0F0QkE7QUEyQkE7QUFDQSwyQkFEQTtBQUVBLG9CQUZBO0FBR0E7QUFIQSxTQTNCQTtBQWdDQTtBQUNBO0FBREEsU0FoQ0E7QUFtQ0EsMkJBbkNBO0FBb0NBO0FBQ0E7QUFEQSxTQXBDQTtBQXVDQTtBQUNBLDBCQURBO0FBRUE7QUFDQTtBQUNBLDZCQUZBO0FBR0EsNEJBSEE7QUFJQSwwQkFKQTtBQUtBLHdCQUxBO0FBTUEseUJBQ0E7QUFDQSx3QkFEQTtBQUVBLDhCQUZBO0FBR0E7QUFIQSxhQURBLEVBTUE7QUFDQSx3QkFEQTtBQUVBLDhCQUZBO0FBR0E7QUFIQSxhQU5BO0FBTkE7QUFGQTtBQXZDQTtBQThEQTtBQUNBLDZCQURBO0FBRUE7QUFGQTtBQUtBO0FBQ0EsS0EvSEE7QUFnSUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBSEEsTUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwwQkFEQTtBQUVBLDZCQUZBO0FBR0EsMkJBSEE7QUFJQSx1QkFKQTtBQUtBO0FBQ0Esc0JBREE7QUFFQTtBQUZBO0FBTEEsU0FEQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQURBLFNBWEE7QUFrQkE7QUFDQTtBQUNBO0FBREE7QUFEQSxTQWxCQTtBQXVCQTtBQUNBLHFCQURBO0FBRUEscUJBRkE7QUFHQSx1QkFIQTtBQUlBO0FBSkEsU0F2QkE7QUE2QkE7QUFDQSwyQkFEQTtBQUVBLG9CQUZBO0FBR0E7QUFIQTtBQTdCQTtBQW1DQTtBQUNBLGtCQURBO0FBRUEsd0JBRkE7QUFHQTtBQUhBLFNBS0E7QUFDQSxvQkFEQTtBQUVBLHdCQUZBO0FBR0E7QUFIQSxPQUxBO0FBV0E7QUFDQTtBQWxNQSxHQXhCQTtBQTROQTtBQUFBOztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FuT0E7QUFvT0Esa0JBcE9BLDRCQW9PQSxFQXBPQSxFQW9PQSxJQXBPQSxFQW9PQSxJQXBPQSxFQW9PQTtBQUNBO0FBQ0E7QUFDQTtBQXZPQSIsInNvdXJjZXMiOlsid2VicGFjazovLy9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlPzczYTQiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8ZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJjb250YWluZXJcIlxuXHRcdFx0di1pZj1cInRhc2suaWQgIT0gbnVsbFwiXG5cdFx0PlxuXHRcdFx0PGgxPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cImhpZ2hsaWdodFwiPnt7IHRhc2sudHlwZSB9fTwvc3Bhbj4gZm9yIGhvc3QgPHNwYW4gY2xhc3M9XCJoaWdobGlnaHRcIj57eyB0YXNrLmhvc3QgfX08L3NwYW4+XG5cdFx0XHRcdDwhLS0gPHAgY2xhc3M9XCJjb250ZXh0LW1lbnVcIj48aW1nIHNyYz1cIi9pbWcvbWVudS5zdmdcIiB3aWR0aD1cIjQwXCIgLz48L3A+IC0tPlxuXHRcdFx0PC9oMT5cblxuXHRcdFx0U2hvdzpcblx0XHRcdDxzZWxlY3Rcblx0XHRcdFx0di1tb2RlbD1cImRheXNcIlxuXHRcdFx0XHRAY2hhbmdlPVwicmVmcmVzaFRhc2tcIlxuXHRcdFx0PlxuXHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiN1wiPjcgZGF5czwvb3B0aW9uPlxuXHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTVcIj4xNSBkYXlzPC9vcHRpb24+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIzMFwiPjMwIGRheXM8L29wdGlvbj5cblx0XHRcdDwvc2VsZWN0PlxuXG5cdFx0XHQ8IS0tIFVwdGltZSBjaGFydCBibG9jayAtLT5cblx0XHRcdDxkaXYgaWQ9XCJjaGFydFwiIGNsYXNzPVwicm91bmRcIj5cblx0XHRcdFx0PGgzPkxhc3Qge3sgZGF5cyB9fSBkYXlzIHVwdGltZTwvaDM+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJibG9jay1jb250ZW50XCI+XG5cdFx0XHRcdFx0PGFwZXhjaGFydCBjbGFzcz1cImdyYXBoXCIgdi1pZj1cImNoYXJ0cy51cHRpbWUucmVuZGVyXCIgdHlwZT1cImJhclwiIGhlaWdodD1cIjM1MFwiIDpvcHRpb25zPVwiY2hhcnRzLnVwdGltZS5vcHRpb25zXCIgOnNlcmllcz1cImNoYXJ0cy51cHRpbWUuc2VyaWVzXCI+PC9hcGV4Y2hhcnQ+XG5cdFx0XHRcdFx0PHAgY2xhc3M9XCJuby1kYXRhXCIgdi1lbHNlPk5vIGNoYXJ0IHRvIGRpc3BsYXkgaGVyZTwvcD5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblxuXHRcdFx0PCEtLSBSZXNwb25zZSB0aW1lIGNoYXJ0IGJsb2NrIC0tPlxuXHRcdFx0PGRpdiBpZD1cImNoYXJ0XCIgY2xhc3M9XCJyb3VuZFwiIHYtaWY9XCJ0YXNrLnR5cGUgPT0gJ2h0dHAnXCI+XG5cdFx0XHRcdDxoMz5MYXN0IHt7IGRheXMgfX0gZGF5cyByZXNwb25zZSB0aW1lPC9oMz5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrLWNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8YXBleGNoYXJ0IGNsYXNzPVwiZ3JhcGhcIiB2LWlmPVwiY2hhcnRzLnJlc3BvbnNlLnJlbmRlclwiIHR5cGU9XCJsaW5lXCIgaGVpZ2h0PVwiMzUwXCIgOm9wdGlvbnM9XCJjaGFydHMucmVzcG9uc2Uub3B0aW9uc1wiIDpzZXJpZXM9XCJjaGFydHMucmVzcG9uc2Uuc2VyaWVzXCI+PC9hcGV4Y2hhcnQ+XG5cdFx0XHRcdFx0PHAgY2xhc3M9XCJuby1kYXRhXCIgdi1lbHNlPk5vIGNoYXJ0IHRvIGRpc3BsYXkgaGVyZTwvcD5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblxuXG5cblx0XHRcdDwhLS0gSGlzdG9yeSBiYWNrbG9nIC0tPlxuXHRcdFx0PGRpdiBjbGFzcz1cInJvdW5kXCI+XG5cdFx0XHRcdDxoMz5MYXN0IHt7IGRheXMgfX0gZGF5cyBoaXN0b3J5IGxvZzwvaDM+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJibG9jay1jb250ZW50XCIgdi1pZj1cImhpc3RvcnkgJiYgT2JqZWN0LmtleXMoaGlzdG9yeSkubGVuZ3RoID4gMFwiPlxuXHRcdFx0XHRcdDxwPjxpPlNob3dpbmcgb25seSByZWNvcmRzIHdoZXJlIHN0YXR1cyBoYXMgY2hhbmdlZDwvaT48L3A+XG5cdFx0XHRcdFx0PHRhYmxlIGlkPVwidGFza3NfdGJsXCI+XG5cdFx0XHRcdFx0XHQ8dGhlYWQ+XG5cdFx0XHRcdFx0XHRcdDx0cj5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5EYXRlPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5UaW1lPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIqXCI+T3V0cHV0PC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5EdXJhdGlvbjwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+U3RhdHVzPC90aD5cblx0XHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHRcdDwvdGhlYWQ+XG5cdFx0XHRcdFx0XHQ8dGJvZHk+XG5cdFx0XHRcdFx0XHRcdDx0clxuXHRcdFx0XHRcdFx0XHRcdHYtZm9yPVwiaCBpbiBoaXN0b3J5XCJcblx0XHRcdFx0XHRcdFx0XHR2LWJpbmQ6a2V5PVwiaC5pZFwiXG5cdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbW9tZW50KGguY3JlYXRlZF9hdCkuZm9ybWF0KCdZWVlZLU1NLUREJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoJ0hIOm1tOnNzJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD5cblx0XHRcdFx0XHRcdFx0XHRcdDxzcGFuIHYtaWY9XCJoLm91dHB1dFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7eyBoLm91dHB1dCB9fVxuXHRcdFx0XHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gdi1lbHNlPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aT5ObyBvdXRwdXQ8L2k+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3BhbiB2LWlmPVwiaC5kdXJhdGlvbiAhPSBudWxsXCI+e3sgaC5kdXJhdGlvbisncycgfX08L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3BhbiB2LWVsc2U+PGk+Tm8gZHVyYXRpb248L2k+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkIDpjbGFzcz1cInN0YXR1c1RleHQoaC5zdGF0dXMpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1nIDpzcmM9XCInL2ltZy8nK3N0YXR1c1RleHQoaC5zdGF0dXMpKycuc3ZnJ1wiIHdpZHRoPVwiMTZcIiBhbHQ9XCJTdGF0dXNcIiAvPlxuXHRcdFx0XHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0XHRcdDwvdHI+XG5cdFx0XHRcdFx0XHQ8L3Rib2R5PlxuXHRcdFx0XHRcdDwvdGFibGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8cCBjbGFzcz1cIm5vLWRhdGFcIiB2LWVsc2U+Tm8gaGlzdG9yeSB0byBkaXNwbGF5IGhlcmU8L3A+XG5cdFx0XHQ8L2Rpdj5cblxuXHRcdFx0PCEtLSBOb3RpZmljYXRpb25zIGJsb2NrIC0tPlxuXHRcdFx0PGRpdiBjbGFzcz1cInJvdW5kXCI+XG5cdFx0XHRcdDxoMz5MYXN0IHt7IGRheXMgfX0gZGF5cyBub3RpZmljYXRpb25zIGxvZzwvaDM+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJibG9jay1jb250ZW50XCIgdi1pZj1cIm5vdGlmaWNhdGlvbnMgJiYgT2JqZWN0LmtleXMobm90aWZpY2F0aW9ucykubGVuZ3RoID4gMFwiPlxuXHRcdFx0XHRcdDx0YWJsZSBpZD1cInRhc2tzX3RibFwiPlxuXHRcdFx0XHRcdFx0PHRoZWFkPlxuXHRcdFx0XHRcdFx0XHQ8dHI+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+RGF0ZTwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+VGltZTwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTVcIj5GaXJzdG5hbWU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjE1JVwiPkxhc3RuYW1lPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIzMCVcIj5FbWFpbDwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+VHlwZTwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+U3RhdHVzPC90aD5cblx0XHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHRcdDwvdGhlYWQ+XG5cdFx0XHRcdFx0XHQ8dGJvZHk+XG5cdFx0XHRcdFx0XHRcdDx0clxuXHRcdFx0XHRcdFx0XHRcdHYtZm9yPVwibiBpbiBub3RpZmljYXRpb25zXCJcblx0XHRcdFx0XHRcdFx0XHR2LWJpbmQ6a2V5PVwibi5pZFwiXG5cdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbW9tZW50KG4uY3JlYXRlZF9hdCkuZm9ybWF0KCdZWVlZLU1NLUREJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQobi5jcmVhdGVkX2F0KS5mb3JtYXQoJ0hIOm1tOnNzJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLmNvbnRhY3QuZmlyc3RuYW1lIH19PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbi5jb250YWN0LnN1cm5hbWUgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLmNvbnRhY3QuZW1haWwgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLnRhc2tfaGlzdG9yeS5zdGF0dXMgPT0gMSA/ICdVUCcgOiAnRE9XTicgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLnN0YXR1cy50b1VwcGVyQ2FzZSgpIH19PC90ZD5cblx0XHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHRcdDwvdGJvZHk+XG5cdFx0XHRcdFx0PC90YWJsZT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxwIGNsYXNzPVwibm8tZGF0YVwiIHYtZWxzZT5ObyBub3RpZmljYXRpb24gdG8gZGlzcGxheSBoZXJlPC9wPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblxuICAgIGV4cG9ydCBkZWZhdWx0e1xuXHRcdGRhdGE6IGZ1bmN0aW9uKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dGFzazoge1xuXHRcdFx0XHRcdGlkOiBudWxsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGhpc3Rvcnk6IG51bGwsXG5cdFx0XHRcdG5vdGlmaWNhdGlvbnM6IG51bGwsXG5cdFx0XHRcdHJlZnJlc2g6IG51bGwsXG5cdFx0XHRcdGxvYWRlcjogbnVsbCxcblx0XHRcdFx0ZGF5czogNyxcblx0XHRcdFx0Zmlyc3RfZGF5OiBudWxsLFxuXG5cdFx0XHRcdGNoYXJ0czoge1xuXHRcdFx0XHRcdHVwdGltZToge1xuXHRcdFx0XHRcdFx0cmVuZGVyOiBmYWxzZSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHJlc3BvbnNlOiB7XG5cdFx0XHRcdFx0XHRyZW5kZXI6IGZhbHNlLFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XG5cdFx0XHRzdGF0dXNUZXh0OiBmdW5jdGlvbiAoc3RhdHVzKSB7XG5cdFx0XHRcdHN3aXRjaCAoc3RhdHVzKSB7XG5cdFx0XHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHRcdFx0cmV0dXJuICd1cCc7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRcdFx0cmV0dXJuICdkb3duJztcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0cmV0dXJuICd1bmtub3duJztcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdHJlZnJlc2hUYXNrOiBmdW5jdGlvbihjYWxsYmFjaykge1xuXHRcdFx0XHR0aGlzLiRodHRwLnBvc3QoJy9hcGkvZ2V0VGFzay8nK3RoaXMudGFzay5pZCwge1xuXHRcdFx0XHRcdGRheXM6IHRoaXMuZGF5c1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbihyZXNwb25zZSA9PiB7XG5cdFx0XHRcdFx0dGhpcy50YXNrIFx0XHRcdD0gcmVzcG9uc2UuZGF0YS50YXNrXG5cdFx0XHRcdFx0dGhpcy5oaXN0b3J5IFx0XHQ9IHJlc3BvbnNlLmRhdGEuaGlzdG9yeVxuXHRcdFx0XHRcdHRoaXMuZmlyc3RfZGF5XHRcdD0gbmV3IERhdGUocmVzcG9uc2UuZGF0YS5maXJzdF9kYXkpLmdldFRpbWUoKTtcblx0XHRcdFx0XHR0aGlzLm5vdGlmaWNhdGlvbnNcdD0gcmVzcG9uc2UuZGF0YS5ub3RpZmljYXRpb25zXG5cdFx0XHRcdFx0dGhpcy5yZWZyZXNoVXB0aW1lR3JhcGgocmVzcG9uc2UuZGF0YS5zdGF0cy51cHRpbWUpXG5cblx0XHRcdFx0XHRpZiAodGhpcy50YXNrLnR5cGUgPT0gJ2h0dHAnKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnJlZnJlc2hSZXNwb25zZVRpbWVHcmFwaChyZXNwb25zZS5kYXRhLnN0YXRzLnRpbWVzKVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHRoaXMubG9hZGVyLmhpZGUoKVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHRoaXMucmVmcmVzaCA9PSBudWxsKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnJlZnJlc2ggPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnJlZnJlc2hUYXNrKClcblx0XHRcdFx0XHRcdH0sIDEwMDAwKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGVycm9yID0+IHtcblx0XHRcdFx0XHQvL1RPRE86IGRvIHNvbWV0aGluZ1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sb2FkZXIuaGlkZSgpXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0cmVmcmVzaFJlc3BvbnNlVGltZUdyYXBoOiBmdW5jdGlvbihzdGF0cykge1xuXHRcdFx0XHRsZXQgZGF0YSA9IFtdO1xuXHRcdFx0XHRsZXQgeGF4aXMgPSBbXTtcblxuXHRcdFx0XHRmb3IgKGxldCBkYXRlIGluIHN0YXRzKSB7XG5cdFx0XHRcdFx0eGF4aXMucHVzaChuZXcgRGF0ZShkYXRlKS5nZXRUaW1lKCkpXG5cblx0XHRcdFx0XHRpZiAoc3RhdHNbZGF0ZV1bJ2NvdW50J10gPiAwKSB7XG5cdFx0XHRcdFx0XHRkYXRhLnB1c2goTWF0aC5yb3VuZCggKHN0YXRzW2RhdGVdWydkdXJhdGlvbiddIC8gc3RhdHNbZGF0ZV1bJ2NvdW50J10pICogMTAwKSAvIDEwMClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRkYXRhLnB1c2goMClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLmNoYXJ0cy5yZXNwb25zZS5vcHRpb25zID0ge1xuXHRcdFx0XHRcdHhheGlzOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiAnZGF0ZXRpbWUnLFxuXHRcdFx0XHRcdFx0Ly9taW46IHRoaXMuZmlyc3RfZGF5LFxuXHRcdFx0XHRcdFx0Y2F0ZWdvcmllczogeGF4aXMsXG5cdFx0XHRcdFx0XHRsYWJlbHM6IHtcblx0XHRcdFx0XHRcdFx0c2hvdzogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0cm90YXRlOiAtNDUsXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR5YXhpczoge1xuXHRcdFx0XHRcdFx0bGFiZWxzOiB7XG5cdFx0XHRcdFx0XHRcdGZvcm1hdHRlcjogZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIChNYXRoLnJvdW5kKHZhbHVlICogMTAwKSAvIDEwMCkgKyBcInNcIjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0dG9vbHRpcDoge1xuXHRcdFx0XHRcdFx0eDoge1xuXHRcdFx0XHRcdFx0XHRmb3JtYXQ6IFwiZGQgTU1NIHl5eXlcIlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y2hhcnQ6IHtcblx0XHRcdFx0XHRcdHR5cGU6ICdsaW5lJyxcblx0XHRcdFx0XHRcdGhlaWdodDogMzUwLFxuXHRcdFx0XHRcdFx0c3RhY2tlZDogZmFsc2Vcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGxlZ2VuZDoge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246ICdyaWdodCcsXG5cdFx0XHRcdFx0XHRvZmZzZXRYOiAwLFxuXHRcdFx0XHRcdFx0b2Zmc2V0WTogNTBcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGRhdGFMYWJlbHM6IHtcblx0XHRcdFx0XHRcdGVuYWJsZWQ6IHRydWUsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjb2xvcnM6IFsnIzAwOTU1YyddLFxuXHRcdFx0XHRcdHN0cm9rZToge1xuXHRcdFx0XHRcdFx0Y3VydmU6ICdzbW9vdGgnLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0ZmlsbDoge1xuXHRcdFx0XHRcdFx0dHlwZTogJ2dyYWRpZW50Jyxcblx0XHRcdFx0XHRcdGdyYWRpZW50OiB7XG5cdFx0XHRcdFx0XHRcdC8vc2hhZGU6ICdkYXJrJyxcblx0XHRcdFx0XHRcdFx0c2hhZGVJbnRlbnNpdHk6IDEsXG5cdFx0XHRcdFx0XHRcdHR5cGU6ICd2ZXJ0aWNhbCcsXG5cdFx0XHRcdFx0XHRcdG9wYWNpdHlGcm9tOiAxLFxuXHRcdFx0XHRcdFx0XHRvcGFjaXR5VG86IDEsXG5cdFx0XHRcdFx0XHRcdGNvbG9yU3RvcHM6IFtcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdG9mZnNldDogMjAsXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6IFwiI0ZBRDM3NVwiLFxuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDFcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdG9mZnNldDogNDAsXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6IFwiIzYxREJDM1wiLFxuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDFcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuY2hhcnRzLnJlc3BvbnNlLnNlcmllcyA9IFt7XG5cdFx0XHRcdFx0bmFtZTogJ1Jlc3BvbnNlIHRpbWUnLFxuXHRcdFx0XHRcdGRhdGE6IGRhdGFcblx0XHRcdFx0fV1cblxuXHRcdFx0XHR0aGlzLmNoYXJ0cy5yZXNwb25zZS5yZW5kZXIgPSB0cnVlXG5cdFx0XHR9LFxuXHRcdFx0cmVmcmVzaFVwdGltZUdyYXBoOiBmdW5jdGlvbihzdGF0cykge1xuXHRcdFx0XHRsZXQgeGF4aXMgPSBbXTtcblx0XHRcdFx0bGV0IG5ld19kYXRhX2EgPSBbXTtcblx0XHRcdFx0bGV0IG5ld19kYXRhX2IgPSBbXTtcblxuXHRcdFx0XHRmb3IgKGxldCBkYXRlIGluIHN0YXRzKSB7XG5cdFx0XHRcdFx0bGV0IHRvdGFsID0gc3RhdHNbZGF0ZV1bJ3VwJ10gKyBzdGF0c1tkYXRlXVsnZG93biddXG5cblx0XHRcdFx0XHR4YXhpcy5wdXNoKG5ldyBEYXRlKGRhdGUpLmdldFRpbWUoKSlcblx0XHRcdFx0XHRpZiAodG90YWwgPiAwKSB7XG5cdFx0XHRcdFx0XHRuZXdfZGF0YV9hLnB1c2goIE1hdGgucm91bmQoc3RhdHNbZGF0ZV1bJ3VwJ10gLyB0b3RhbCAqIDEwMCkgKVxuXHRcdFx0XHRcdFx0bmV3X2RhdGFfYi5wdXNoKCBNYXRoLnJvdW5kKHN0YXRzW2RhdGVdWydkb3duJ10gLyB0b3RhbCAqIDEwMCkgKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdG5ld19kYXRhX2EucHVzaCggMCApXG5cdFx0XHRcdFx0XHRuZXdfZGF0YV9iLnB1c2goIDAgKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuY2hhcnRzLnVwdGltZS5vcHRpb25zID0ge1xuXHRcdFx0XHRcdHhheGlzOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiAnZGF0ZXRpbWUnLFxuXHRcdFx0XHRcdFx0bWluOiB0aGlzLmZpcnN0X2RheSxcblx0XHRcdFx0XHRcdGNhdGVnb3JpZXM6IHhheGlzLFxuXHRcdFx0XHRcdFx0dGlja0Ftb3VudDogNixcblx0XHRcdFx0XHRcdGxhYmVsczoge1xuXHRcdFx0XHRcdFx0XHRzaG93OiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRyb3RhdGU6IC00NSxcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHlheGlzOiB7XG5cdFx0XHRcdFx0XHRsYWJlbHM6IHtcblx0XHRcdFx0XHRcdFx0Zm9ybWF0dGVyOiBmdW5jdGlvbiAodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWUgKyBcIiVcIjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0dG9vbHRpcDoge1xuXHRcdFx0XHRcdFx0eDoge1xuXHRcdFx0XHRcdFx0XHRmb3JtYXQ6IFwieXl5eSBNTU0gZGRcIlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y2hhcnQ6IHtcblx0XHRcdFx0XHRcdHR5cGU6ICdiYXInLFxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAzNTAsXG5cdFx0XHRcdFx0XHRzdGFja2VkOiB0cnVlLFxuXHRcdFx0XHRcdFx0c3RhY2tUeXBlOiAnMTAwJSdcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGxlZ2VuZDoge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246ICdyaWdodCcsXG5cdFx0XHRcdFx0XHRvZmZzZXRYOiAwLFxuXHRcdFx0XHRcdFx0b2Zmc2V0WTogNTBcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuY2hhcnRzLnVwdGltZS5zZXJpZXMgPSBbe1xuXHRcdFx0XHRcdG5hbWU6ICdVUCcsXG5cdFx0XHRcdFx0ZGF0YTogbmV3X2RhdGFfYSxcblx0XHRcdFx0XHRjb2xvcjogJyMwMDk1NWMnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRuYW1lOiAnRE9XTicsXG5cdFx0XHRcdFx0ZGF0YTogbmV3X2RhdGFfYixcblx0XHRcdFx0XHRjb2xvcjogJyNlZjMyMzInXG5cdFx0XHRcdH1dXG5cblx0XHRcdFx0dGhpcy5jaGFydHMudXB0aW1lLnJlbmRlciA9IHRydWVcblx0XHRcdH0sXG5cdFx0fSxcblx0XHRtb3VudGVkOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMubG9hZGVyID0gdGhpcy4kbG9hZGluZy5zaG93KClcblx0XHRcdHRoaXMudGFzay5pZCA9IHRoaXMuJHJvdXRlLnBhcmFtcy5pZCA/PyBudWxsXG5cblx0XHRcdGlmICh0aGlzLnRhc2suaWQgIT0gbnVsbCkge1xuXHRcdFx0XHR0aGlzLnJlZnJlc2hUYXNrKClcblx0XHRcdH1cblx0XHR9LFxuXHRcdGJlZm9yZVJvdXRlTGVhdmUodG8sIGZyb20sIG5leHQpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnJlZnJlc2gpO1xuXHRcdFx0bmV4dCgpO1xuXHRcdH0sXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBzY29wZWQ+XG5cbjwvc3R5bGU+XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=script&lang=js&\n"); /***/ }), @@ -2312,7 +2312,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__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 */ \"render\": () => (/* binding */ render),\n/* harmony export */ \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"quick-view round\" }, [\n _c(\"h3\", [_vm._v(\"\\n\\t\\tQuick overview\\n\\t\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"block-content\" }, [\n true\n ? _c(\n \"div\",\n [\n _vm._l(_vm.tasks, function (group) {\n return _c(\n \"div\",\n {\n key: group.id,\n staticClass: \"new-group\",\n attrs: { title: \"Group: \" + group.name },\n },\n [\n _c(\n \"a\",\n { attrs: { href: \"#group-\" + group.id } },\n _vm._l(group.tasks, function (task) {\n return _c(\n \"p\",\n {\n key: task.id,\n staticClass: \"square\",\n class:\n _vm.statusText(task.status) +\n (task.active == 0 ? \" inactive\" : \"\"),\n attrs: { href: \"#task-\" + task.id },\n },\n [\n _c(\"span\", { staticClass: \"small\" }, [\n _vm._v(_vm._s(task.id)),\n ]),\n ]\n )\n }),\n 0\n ),\n ]\n )\n }),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"spacer\" }, [_vm._v(\" \")]),\n ],\n 2\n )\n : 0,\n ]),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXNvdXJjZXMvdmlld3MvY29tcG9uZW50cy9xdWlja3ZpZXcudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTViMGNjNDEyJi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlDQUFpQztBQUN0RDtBQUNBO0FBQ0EsZ0JBQWdCLDhCQUE4QjtBQUM5QyxNQUFNLEtBQU07QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsK0JBQStCO0FBQzVELG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsU0FBUyw4QkFBOEI7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLDBCQUEwQjtBQUMvRCwyQkFBMkI7QUFDM0I7QUFDQSx5Q0FBeUMsc0JBQXNCO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0Esd0JBQXdCLHVCQUF1QjtBQUMvQztBQUNBO0FBQ0E7QUFDQSxVQUFVLENBSUM7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3ZpZXdzL2NvbXBvbmVudHMvcXVpY2t2aWV3LnZ1ZT9iZjY1Il0sInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicXVpY2stdmlldyByb3VuZFwiIH0sIFtcbiAgICBfYyhcImgzXCIsIFtfdm0uX3YoXCJcXG5cXHRcXHRRdWljayBvdmVydmlld1xcblxcdFwiKV0pLFxuICAgIF92bS5fdihcIiBcIiksXG4gICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSwgW1xuICAgICAgMSA9PSAxXG4gICAgICAgID8gX2MoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfdm0uX2woX3ZtLnRhc2tzLCBmdW5jdGlvbiAoZ3JvdXApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGdyb3VwLmlkLFxuICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJuZXctZ3JvdXBcIixcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdGl0bGU6IFwiR3JvdXA6IFwiICsgZ3JvdXAubmFtZSB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJhXCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBhdHRyczogeyBocmVmOiBcIiNncm91cC1cIiArIGdyb3VwLmlkIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woZ3JvdXAudGFza3MsIGZ1bmN0aW9uICh0YXNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwicFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiB0YXNrLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcInNxdWFyZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLnN0YXR1c1RleHQodGFzay5zdGF0dXMpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0YXNrLmFjdGl2ZSA9PSAwID8gXCIgaW5hY3RpdmVcIiA6IFwiXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGhyZWY6IFwiI3Rhc2stXCIgKyB0YXNrLmlkIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJzbWFsbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3ModGFzay5pZCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwicFwiLCB7IHN0YXRpY0NsYXNzOiBcInNwYWNlclwiIH0sIFtfdm0uX3YoXCLCoFwiKV0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApXG4gICAgICAgIDogX2MoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgW19jKFwiY2VudGVyXCIsIFtfdm0uX3YoXCJTb3JyeSwgdGhlcmUgaXMgbm8gdGFzayBoZXJlLlwiKV0pXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgIF0pLFxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/components/quickview.vue?vue&type=template&id=5b0cc412&\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render),\n/* harmony export */ \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"quick-view round\" }, [\n _c(\"h3\", [_vm._v(\"\\n\\t\\tQuick overview\\n\\t\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"block-content\" }, [\n _vm.tasks && Object.keys(_vm.tasks).length > 0\n ? _c(\n \"div\",\n [\n _vm._l(_vm.tasks, function (group) {\n return _c(\n \"div\",\n {\n key: group.id,\n staticClass: \"new-group\",\n attrs: { title: \"Group: \" + group.name },\n },\n [\n _c(\n \"a\",\n { attrs: { href: \"#group-\" + group.id } },\n _vm._l(group.tasks, function (task) {\n return _c(\n \"p\",\n {\n key: task.id,\n staticClass: \"square\",\n class:\n _vm.statusText(task.status) +\n (task.active == 0 ? \" inactive\" : \"\"),\n attrs: { href: \"#task-\" + task.id },\n },\n [\n _c(\"span\", { staticClass: \"small\" }, [\n _vm._v(_vm._s(task.id)),\n ]),\n ]\n )\n }),\n 0\n ),\n ]\n )\n }),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"spacer\" }, [_vm._v(\" \")]),\n ],\n 2\n )\n : _c(\"div\", { staticClass: \"no-data\" }, [\n _vm._v(\"\\n\\t\\t\\tSorry, there is no task here.\\n\\n\\t\\t\"),\n ]),\n ]),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXNvdXJjZXMvdmlld3MvY29tcG9uZW50cy9xdWlja3ZpZXcudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTViMGNjNDEyJi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlDQUFpQztBQUN0RDtBQUNBO0FBQ0EsZ0JBQWdCLDhCQUE4QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QiwrQkFBK0I7QUFDNUQsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixTQUFTLDhCQUE4QjtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsMEJBQTBCO0FBQy9ELDJCQUEyQjtBQUMzQjtBQUNBLHlDQUF5QyxzQkFBc0I7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQSx3QkFBd0IsdUJBQXVCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQix3QkFBd0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdmlld3MvY29tcG9uZW50cy9xdWlja3ZpZXcudnVlP2JmNjUiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJxdWljay12aWV3IHJvdW5kXCIgfSwgW1xuICAgIF9jKFwiaDNcIiwgW192bS5fdihcIlxcblxcdFxcdFF1aWNrIG92ZXJ2aWV3XFxuXFx0XCIpXSksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImJsb2NrLWNvbnRlbnRcIiB9LCBbXG4gICAgICBfdm0udGFza3MgJiYgT2JqZWN0LmtleXMoX3ZtLnRhc2tzKS5sZW5ndGggPiAwXG4gICAgICAgID8gX2MoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfdm0uX2woX3ZtLnRhc2tzLCBmdW5jdGlvbiAoZ3JvdXApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGdyb3VwLmlkLFxuICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJuZXctZ3JvdXBcIixcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdGl0bGU6IFwiR3JvdXA6IFwiICsgZ3JvdXAubmFtZSB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJhXCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBhdHRyczogeyBocmVmOiBcIiNncm91cC1cIiArIGdyb3VwLmlkIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woZ3JvdXAudGFza3MsIGZ1bmN0aW9uICh0YXNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwicFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiB0YXNrLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcInNxdWFyZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLnN0YXR1c1RleHQodGFzay5zdGF0dXMpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0YXNrLmFjdGl2ZSA9PSAwID8gXCIgaW5hY3RpdmVcIiA6IFwiXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGhyZWY6IFwiI3Rhc2stXCIgKyB0YXNrLmlkIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJzbWFsbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3ModGFzay5pZCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwicFwiLCB7IHN0YXRpY0NsYXNzOiBcInNwYWNlclwiIH0sIFtfdm0uX3YoXCLCoFwiKV0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApXG4gICAgICAgIDogX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJuby1kYXRhXCIgfSwgW1xuICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0U29ycnksIHRoZXJlIGlzIG5vIHRhc2sgaGVyZS5cXG5cXG5cXHRcXHRcIiksXG4gICAgICAgICAgXSksXG4gICAgXSksXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/components/quickview.vue?vue&type=template&id=5b0cc412&\n"); /***/ }), @@ -2334,7 +2334,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__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 */ \"render\": () => (/* binding */ render),\n/* harmony export */ \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.task.id != null\n ? _c(\"div\", { staticClass: \"container\" }, [\n _c(\"h1\", [\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.type)),\n ]),\n _vm._v(\" for host \"),\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.host)),\n ]),\n ]),\n _vm._v(\"\\n\\n\\t\\tShow:\\n\\t\\t\"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.days,\n expression: \"days\",\n },\n ],\n on: {\n change: [\n function ($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function (o) {\n return o.selected\n })\n .map(function (o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.days = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.refreshTask,\n ],\n },\n },\n [\n _c(\"option\", { attrs: { value: \"7\" } }, [_vm._v(\"7 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"15\" } }, [_vm._v(\"15 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"30\" } }, [_vm._v(\"30 days\")]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\", attrs: { id: \"chart\" } }, [\n _c(\"h3\", [_vm._v(\"Last \" + _vm._s(_vm.days) + \" days uptime\")]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"block-content\" },\n [\n _vm.charts.uptime.render\n ? _c(\"apexchart\", {\n staticClass: \"graph\",\n attrs: {\n type: \"bar\",\n height: \"350\",\n options: _vm.charts.uptime.options,\n series: _vm.charts.uptime.series,\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _vm.task.type == \"http\"\n ? _c(\"div\", { staticClass: \"round\", attrs: { id: \"chart\" } }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.days) + \" days response time\"),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"block-content\" },\n [\n _vm.charts.response.render\n ? _c(\"apexchart\", {\n staticClass: \"graph\",\n attrs: {\n type: \"line\",\n height: \"350\",\n options: _vm.charts.response.options,\n series: _vm.charts.response.series,\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.days) + \" days history log\"),\n ]),\n _vm._v(\" \"),\n _vm.history\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.history, function (h) {\n return _c(\"tr\", { key: h.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n h.output\n ? _c(\"span\", [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(h.output) +\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"\n ),\n ])\n : _c(\"span\", [_c(\"i\", [_vm._v(\"No output\")])]),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n h.duration != null\n ? _c(\"span\", [_vm._v(_vm._s(h.duration + \"s\"))])\n : _c(\"span\", [_c(\"i\", [_vm._v(\"No duration\")])]),\n ]),\n _vm._v(\" \"),\n _c(\"td\", { class: _vm.statusText(h.status) }, [\n _c(\"img\", {\n attrs: {\n src:\n \"/img/\" + _vm.statusText(h.status) + \".svg\",\n width: \"16\",\n alt: \"Status\",\n },\n }),\n ]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\n \"p\",\n [_c(\"center\", [_vm._v(\"No history to display here\")])],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.days) + \" days notifications log\"),\n ]),\n _vm._v(\" \"),\n _vm.notifications\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.notifications, function (n) {\n return _c(\"tr\", { key: n.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.firstname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.surname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.email))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.status))]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\n \"p\",\n [_c(\"center\", [_vm._v(\"No notification to display here\")])],\n 1\n ),\n ]),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = [\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"i\", [_vm._v(\"Showing only records where status has changed\")]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Output\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Duration\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Firstname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Lastname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Email\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n]\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWEzNzhiZjE4JnNjb3BlZD10cnVlJi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwwQkFBMEI7QUFDOUM7QUFDQSx5QkFBeUIsMEJBQTBCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QiwwQkFBMEI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0EsZUFBZTtBQUNmLGFBQWE7QUFDYjtBQUNBLDZCQUE2QixTQUFTLGNBQWM7QUFDcEQ7QUFDQSw2QkFBNkIsU0FBUyxlQUFlO0FBQ3JEO0FBQ0EsNkJBQTZCLFNBQVMsZUFBZTtBQUNyRDtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsK0JBQStCLGVBQWU7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsOEJBQThCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsK0JBQStCLGVBQWU7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhCQUE4QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHNCQUFzQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLDhCQUE4QjtBQUMxRDtBQUNBO0FBQ0EsZ0NBQWdDLFNBQVMsbUJBQW1CO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsV0FBVztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxpQ0FBaUM7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isc0JBQXNCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsOEJBQThCO0FBQzFELGdDQUFnQyxTQUFTLG1CQUFtQjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLFdBQVc7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGNBQWM7QUFDMUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxjQUFjO0FBQzFDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy92aWV3cy90YXNrZGV0YWlscy52dWU/NjU2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCBbXG4gICAgX3ZtLnRhc2suaWQgIT0gbnVsbFxuICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImNvbnRhaW5lclwiIH0sIFtcbiAgICAgICAgICBfYyhcImgxXCIsIFtcbiAgICAgICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImhpZ2hsaWdodFwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0udGFzay50eXBlKSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBmb3IgaG9zdCBcIiksXG4gICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJoaWdobGlnaHRcIiB9LCBbXG4gICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnRhc2suaG9zdCkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiXFxuXFxuXFx0XFx0U2hvdzpcXG5cXHRcXHRcIiksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcInNlbGVjdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmRheXMsXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImRheXNcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIGNoYW5nZTogW1xuICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgJCRzZWxlY3RlZFZhbCA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsIGZ1bmN0aW9uIChvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gby5zZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IFwiX3ZhbHVlXCIgaW4gbyA/IG8uX3ZhbHVlIDogby52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF92bS5kYXlzID0gJGV2ZW50LnRhcmdldC5tdWx0aXBsZVxuICAgICAgICAgICAgICAgICAgICAgID8gJCRzZWxlY3RlZFZhbFxuICAgICAgICAgICAgICAgICAgICAgIDogJCRzZWxlY3RlZFZhbFswXVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF92bS5yZWZyZXNoVGFzayxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJvcHRpb25cIiwgeyBhdHRyczogeyB2YWx1ZTogXCI3XCIgfSB9LCBbX3ZtLl92KFwiNyBkYXlzXCIpXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMTVcIiB9IH0sIFtfdm0uX3YoXCIxNSBkYXlzXCIpXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMzBcIiB9IH0sIFtfdm0uX3YoXCIzMCBkYXlzXCIpXSksXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicm91bmRcIiwgYXR0cnM6IHsgaWQ6IFwiY2hhcnRcIiB9IH0sIFtcbiAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIkxhc3QgXCIgKyBfdm0uX3MoX3ZtLmRheXMpICsgXCIgZGF5cyB1cHRpbWVcIildKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF92bS5jaGFydHMudXB0aW1lLnJlbmRlclxuICAgICAgICAgICAgICAgICAgPyBfYyhcImFwZXhjaGFydFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZ3JhcGhcIixcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJiYXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIzNTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IF92bS5jaGFydHMudXB0aW1lLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJpZXM6IF92bS5jaGFydHMudXB0aW1lLnNlcmllcyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF92bS50YXNrLnR5cGUgPT0gXCJodHRwXCJcbiAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3VuZFwiLCBhdHRyczogeyBpZDogXCJjaGFydFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgIF9jKFwiaDNcIiwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiTGFzdCBcIiArIF92bS5fcyhfdm0uZGF5cykgKyBcIiBkYXlzIHJlc3BvbnNlIHRpbWVcIiksXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImJsb2NrLWNvbnRlbnRcIiB9LFxuICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uY2hhcnRzLnJlc3BvbnNlLnJlbmRlclxuICAgICAgICAgICAgICAgICAgICAgID8gX2MoXCJhcGV4Y2hhcnRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJncmFwaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibGluZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIzNTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBfdm0uY2hhcnRzLnJlc3BvbnNlLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWVzOiBfdm0uY2hhcnRzLnJlc3BvbnNlLnNlcmllcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJvdW5kXCIgfSwgW1xuICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgIF92bS5fdihcIkxhc3QgXCIgKyBfdm0uX3MoX3ZtLmRheXMpICsgXCIgZGF5cyBoaXN0b3J5IGxvZ1wiKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF92bS5oaXN0b3J5XG4gICAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl9tKDApLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwidGFibGVcIiwgeyBhdHRyczogeyBpZDogXCJ0YXNrc190YmxcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl9tKDEpLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcInRib2R5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5oaXN0b3J5LCBmdW5jdGlvbiAoaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFwidHJcIiwgeyBrZXk6IGguaWQgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5tb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLm1vbWVudChoLmNyZWF0ZWRfYXQpLmZvcm1hdChcIkhIOm1tOnNzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgub3V0cHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9jKFwic3BhblwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhoLm91dHB1dCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX2MoXCJzcGFuXCIsIFtfYyhcImlcIiwgW192bS5fdihcIk5vIG91dHB1dFwiKV0pXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoLmR1cmF0aW9uICE9IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2MoXCJzcGFuXCIsIFtfdm0uX3YoX3ZtLl9zKGguZHVyYXRpb24gKyBcInNcIikpXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX2MoXCJzcGFuXCIsIFtfYyhcImlcIiwgW192bS5fdihcIk5vIGR1cmF0aW9uXCIpXSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgeyBjbGFzczogX3ZtLnN0YXR1c1RleHQoaC5zdGF0dXMpIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImltZ1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIvaW1nL1wiICsgX3ZtLnN0YXR1c1RleHQoaC5zdGF0dXMpICsgXCIuc3ZnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjE2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdDogXCJTdGF0dXNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICA6IF9jKFxuICAgICAgICAgICAgICAgICAgXCJwXCIsXG4gICAgICAgICAgICAgICAgICBbX2MoXCJjZW50ZXJcIiwgW192bS5fdihcIk5vIGhpc3RvcnkgdG8gZGlzcGxheSBoZXJlXCIpXSldLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJvdW5kXCIgfSwgW1xuICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgIF92bS5fdihcIkxhc3QgXCIgKyBfdm0uX3MoX3ZtLmRheXMpICsgXCIgZGF5cyBub3RpZmljYXRpb25zIGxvZ1wiKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF92bS5ub3RpZmljYXRpb25zXG4gICAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX2MoXCJ0YWJsZVwiLCB7IGF0dHJzOiB7IGlkOiBcInRhc2tzX3RibFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX20oMiksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwidGJvZHlcIixcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLm5vdGlmaWNhdGlvbnMsIGZ1bmN0aW9uIChuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXCJ0clwiLCB7IGtleTogbi5pZCB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLm1vbWVudChuLmNyZWF0ZWRfYXQpLmZvcm1hdChcIllZWVktTU0tRERcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ubW9tZW50KG4uY3JlYXRlZF9hdCkuZm9ybWF0KFwiSEg6bW06c3NcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLmNvbnRhY3QuZmlyc3RuYW1lKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLmNvbnRhY3Quc3VybmFtZSkpXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW192bS5fdihfdm0uX3Mobi5jb250YWN0LmVtYWlsKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLnN0YXR1cykpXSksXG4gICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX2MoXG4gICAgICAgICAgICAgICAgICBcInBcIixcbiAgICAgICAgICAgICAgICAgIFtfYyhcImNlbnRlclwiLCBbX3ZtLl92KFwiTm8gbm90aWZpY2F0aW9uIHRvIGRpc3BsYXkgaGVyZVwiKV0pXSxcbiAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgIF0pLFxuICAgICAgICBdKVxuICAgICAgOiBfdm0uX2UoKSxcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXG4gIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcInBcIiwgW1xuICAgICAgX2MoXCJpXCIsIFtfdm0uX3YoXCJTaG93aW5nIG9ubHkgcmVjb3JkcyB3aGVyZSBzdGF0dXMgaGFzIGNoYW5nZWRcIildKSxcbiAgICBdKVxuICB9LFxuICBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIF92bSA9IHRoaXNcbiAgICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgICByZXR1cm4gX2MoXCJ0aGVhZFwiLCBbXG4gICAgICBfYyhcInRyXCIsIFtcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIkRhdGVcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIlRpbWVcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIipcIiB9IH0sIFtfdm0uX3YoXCJPdXRwdXRcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIkR1cmF0aW9uXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxMCVcIiB9IH0sIFtfdm0uX3YoXCJTdGF0dXNcIildKSxcbiAgICAgIF0pLFxuICAgIF0pXG4gIH0sXG4gIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcInRoZWFkXCIsIFtcbiAgICAgIF9jKFwidHJcIiwgW1xuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMjAlXCIgfSB9LCBbX3ZtLl92KFwiRGF0ZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMjAlXCIgfSB9LCBbX3ZtLl92KFwiVGltZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiKlwiIH0gfSwgW192bS5fdihcIkZpcnN0bmFtZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiTGFzdG5hbWVcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIkVtYWlsXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxMCVcIiB9IH0sIFtfdm0uX3YoXCJTdGF0dXNcIildKSxcbiAgICAgIF0pLFxuICAgIF0pXG4gIH0sXG5dXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=template&id=a378bf18&scoped=true&\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render),\n/* harmony export */ \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.task.id != null\n ? _c(\"div\", { staticClass: \"container\" }, [\n _c(\"h1\", [\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.type)),\n ]),\n _vm._v(\" for host \"),\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.host)),\n ]),\n ]),\n _vm._v(\"\\n\\n\\t\\tShow:\\n\\t\\t\"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.days,\n expression: \"days\",\n },\n ],\n on: {\n change: [\n function ($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function (o) {\n return o.selected\n })\n .map(function (o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.days = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.refreshTask,\n ],\n },\n },\n [\n _c(\"option\", { attrs: { value: \"7\" } }, [_vm._v(\"7 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"15\" } }, [_vm._v(\"15 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"30\" } }, [_vm._v(\"30 days\")]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\", attrs: { id: \"chart\" } }, [\n _c(\"h3\", [_vm._v(\"Last \" + _vm._s(_vm.days) + \" days uptime\")]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"block-content\" },\n [\n _vm.charts.uptime.render\n ? _c(\"apexchart\", {\n staticClass: \"graph\",\n attrs: {\n type: \"bar\",\n height: \"350\",\n options: _vm.charts.uptime.options,\n series: _vm.charts.uptime.series,\n },\n })\n : _c(\"p\", { staticClass: \"no-data\" }, [\n _vm._v(\"No chart to display here\"),\n ]),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _vm.task.type == \"http\"\n ? _c(\"div\", { staticClass: \"round\", attrs: { id: \"chart\" } }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.days) + \" days response time\"),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"block-content\" },\n [\n _vm.charts.response.render\n ? _c(\"apexchart\", {\n staticClass: \"graph\",\n attrs: {\n type: \"line\",\n height: \"350\",\n options: _vm.charts.response.options,\n series: _vm.charts.response.series,\n },\n })\n : _c(\"p\", { staticClass: \"no-data\" }, [\n _vm._v(\"No chart to display here\"),\n ]),\n ],\n 1\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.days) + \" days history log\"),\n ]),\n _vm._v(\" \"),\n _vm.history && Object.keys(_vm.history).length > 0\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.history, function (h) {\n return _c(\"tr\", { key: h.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n h.output\n ? _c(\"span\", [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(h.output) +\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"\n ),\n ])\n : _c(\"span\", [_c(\"i\", [_vm._v(\"No output\")])]),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n h.duration != null\n ? _c(\"span\", [_vm._v(_vm._s(h.duration + \"s\"))])\n : _c(\"span\", [_c(\"i\", [_vm._v(\"No duration\")])]),\n ]),\n _vm._v(\" \"),\n _c(\"td\", { class: _vm.statusText(h.status) }, [\n _c(\"img\", {\n attrs: {\n src:\n \"/img/\" + _vm.statusText(h.status) + \".svg\",\n width: \"16\",\n alt: \"Status\",\n },\n }),\n ]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\"p\", { staticClass: \"no-data\" }, [\n _vm._v(\"No history to display here\"),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.days) + \" days notifications log\"),\n ]),\n _vm._v(\" \"),\n _vm.notifications && Object.keys(_vm.notifications).length > 0\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.notifications, function (n) {\n return _c(\"tr\", { key: n.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.firstname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.surname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.email))]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(n.task_history.status == 1 ? \"UP\" : \"DOWN\")\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.status.toUpperCase()))]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\"p\", { staticClass: \"no-data\" }, [\n _vm._v(\"No notification to display here\"),\n ]),\n ]),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = [\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"i\", [_vm._v(\"Showing only records where status has changed\")]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Output\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Duration\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"15\" } }, [_vm._v(\"Firstname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"15%\" } }, [_vm._v(\"Lastname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"30%\" } }, [_vm._v(\"Email\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Type\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n]\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWEzNzhiZjE4JnNjb3BlZD10cnVlJi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwwQkFBMEI7QUFDOUM7QUFDQSx5QkFBeUIsMEJBQTBCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QiwwQkFBMEI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0EsZUFBZTtBQUNmLGFBQWE7QUFDYjtBQUNBLDZCQUE2QixTQUFTLGNBQWM7QUFDcEQ7QUFDQSw2QkFBNkIsU0FBUyxlQUFlO0FBQ3JEO0FBQ0EsNkJBQTZCLFNBQVMsZUFBZTtBQUNyRDtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsK0JBQStCLGVBQWU7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsOEJBQThCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckIsOEJBQThCLHdCQUF3QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLCtCQUErQixlQUFlO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw4QkFBOEI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCLHlCQUF5QjtBQUN6QixrQ0FBa0Msd0JBQXdCO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isc0JBQXNCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsOEJBQThCO0FBQzFEO0FBQ0E7QUFDQSxnQ0FBZ0MsU0FBUyxtQkFBbUI7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxXQUFXO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLGlDQUFpQztBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsd0JBQXdCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHNCQUFzQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLDhCQUE4QjtBQUMxRCxnQ0FBZ0MsU0FBUyxtQkFBbUI7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxXQUFXO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQix3QkFBd0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGNBQWM7QUFDMUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxlQUFlO0FBQzNDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy92aWV3cy90YXNrZGV0YWlscy52dWU/NjU2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCBbXG4gICAgX3ZtLnRhc2suaWQgIT0gbnVsbFxuICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImNvbnRhaW5lclwiIH0sIFtcbiAgICAgICAgICBfYyhcImgxXCIsIFtcbiAgICAgICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImhpZ2hsaWdodFwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0udGFzay50eXBlKSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBmb3IgaG9zdCBcIiksXG4gICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJoaWdobGlnaHRcIiB9LCBbXG4gICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnRhc2suaG9zdCkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiXFxuXFxuXFx0XFx0U2hvdzpcXG5cXHRcXHRcIiksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcInNlbGVjdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmRheXMsXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImRheXNcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIGNoYW5nZTogW1xuICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgJCRzZWxlY3RlZFZhbCA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsIGZ1bmN0aW9uIChvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gby5zZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IFwiX3ZhbHVlXCIgaW4gbyA/IG8uX3ZhbHVlIDogby52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF92bS5kYXlzID0gJGV2ZW50LnRhcmdldC5tdWx0aXBsZVxuICAgICAgICAgICAgICAgICAgICAgID8gJCRzZWxlY3RlZFZhbFxuICAgICAgICAgICAgICAgICAgICAgIDogJCRzZWxlY3RlZFZhbFswXVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF92bS5yZWZyZXNoVGFzayxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJvcHRpb25cIiwgeyBhdHRyczogeyB2YWx1ZTogXCI3XCIgfSB9LCBbX3ZtLl92KFwiNyBkYXlzXCIpXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMTVcIiB9IH0sIFtfdm0uX3YoXCIxNSBkYXlzXCIpXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMzBcIiB9IH0sIFtfdm0uX3YoXCIzMCBkYXlzXCIpXSksXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicm91bmRcIiwgYXR0cnM6IHsgaWQ6IFwiY2hhcnRcIiB9IH0sIFtcbiAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIkxhc3QgXCIgKyBfdm0uX3MoX3ZtLmRheXMpICsgXCIgZGF5cyB1cHRpbWVcIildKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF92bS5jaGFydHMudXB0aW1lLnJlbmRlclxuICAgICAgICAgICAgICAgICAgPyBfYyhcImFwZXhjaGFydFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZ3JhcGhcIixcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJiYXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIzNTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IF92bS5jaGFydHMudXB0aW1lLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJpZXM6IF92bS5jaGFydHMudXB0aW1lLnNlcmllcyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgOiBfYyhcInBcIiwgeyBzdGF0aWNDbGFzczogXCJuby1kYXRhXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIk5vIGNoYXJ0IHRvIGRpc3BsYXkgaGVyZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfdm0udGFzay50eXBlID09IFwiaHR0cFwiXG4gICAgICAgICAgICA/IF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicm91bmRcIiwgYXR0cnM6IHsgaWQ6IFwiY2hhcnRcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICBfYyhcImgzXCIsIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIkxhc3QgXCIgKyBfdm0uX3MoX3ZtLmRheXMpICsgXCIgZGF5cyByZXNwb25zZSB0aW1lXCIpLFxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSxcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLmNoYXJ0cy5yZXNwb25zZS5yZW5kZXJcbiAgICAgICAgICAgICAgICAgICAgICA/IF9jKFwiYXBleGNoYXJ0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZ3JhcGhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImxpbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMzUwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogX3ZtLmNoYXJ0cy5yZXNwb25zZS5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmllczogX3ZtLmNoYXJ0cy5yZXNwb25zZS5zZXJpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIDogX2MoXCJwXCIsIHsgc3RhdGljQ2xhc3M6IFwibm8tZGF0YVwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiTm8gY2hhcnQgdG8gZGlzcGxheSBoZXJlXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3VuZFwiIH0sIFtcbiAgICAgICAgICAgIF9jKFwiaDNcIiwgW1xuICAgICAgICAgICAgICBfdm0uX3YoXCJMYXN0IFwiICsgX3ZtLl9zKF92bS5kYXlzKSArIFwiIGRheXMgaGlzdG9yeSBsb2dcIiksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfdm0uaGlzdG9yeSAmJiBPYmplY3Qua2V5cyhfdm0uaGlzdG9yeSkubGVuZ3RoID4gMFxuICAgICAgICAgICAgICA/IF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiYmxvY2stY29udGVudFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fbSgwKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcInRhYmxlXCIsIHsgYXR0cnM6IHsgaWQ6IFwidGFza3NfdGJsXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fbSgxKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJ0Ym9keVwiLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0uaGlzdG9yeSwgZnVuY3Rpb24gKGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcInRyXCIsIHsga2V5OiBoLmlkIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ubW9tZW50KGguY3JlYXRlZF9hdCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5tb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoXCJISDptbTpzc1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoLm91dHB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfYyhcInNwYW5cIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoaC5vdXRwdXQpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9jKFwic3BhblwiLCBbX2MoXCJpXCIsIFtfdm0uX3YoXCJObyBvdXRwdXRcIildKV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaC5kdXJhdGlvbiAhPSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9jKFwic3BhblwiLCBbX3ZtLl92KF92bS5fcyhoLmR1cmF0aW9uICsgXCJzXCIpKV0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9jKFwic3BhblwiLCBbX2MoXCJpXCIsIFtfdm0uX3YoXCJObyBkdXJhdGlvblwiKV0pXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIHsgY2xhc3M6IF92bS5zdGF0dXNUZXh0KGguc3RhdHVzKSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbWdcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiL2ltZy9cIiArIF92bS5zdGF0dXNUZXh0KGguc3RhdHVzKSArIFwiLnN2Z1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxNlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ6IFwiU3RhdHVzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfYyhcInBcIiwgeyBzdGF0aWNDbGFzczogXCJuby1kYXRhXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiTm8gaGlzdG9yeSB0byBkaXNwbGF5IGhlcmVcIiksXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJvdW5kXCIgfSwgW1xuICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgIF92bS5fdihcIkxhc3QgXCIgKyBfdm0uX3MoX3ZtLmRheXMpICsgXCIgZGF5cyBub3RpZmljYXRpb25zIGxvZ1wiKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF92bS5ub3RpZmljYXRpb25zICYmIE9iamVjdC5rZXlzKF92bS5ub3RpZmljYXRpb25zKS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX2MoXCJ0YWJsZVwiLCB7IGF0dHJzOiB7IGlkOiBcInRhc2tzX3RibFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX20oMiksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwidGJvZHlcIixcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLm5vdGlmaWNhdGlvbnMsIGZ1bmN0aW9uIChuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXCJ0clwiLCB7IGtleTogbi5pZCB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLm1vbWVudChuLmNyZWF0ZWRfYXQpLmZvcm1hdChcIllZWVktTU0tRERcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ubW9tZW50KG4uY3JlYXRlZF9hdCkuZm9ybWF0KFwiSEg6bW06c3NcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLmNvbnRhY3QuZmlyc3RuYW1lKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLmNvbnRhY3Quc3VybmFtZSkpXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW192bS5fdihfdm0uX3Mobi5jb250YWN0LmVtYWlsKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKG4udGFza19oaXN0b3J5LnN0YXR1cyA9PSAxID8gXCJVUFwiIDogXCJET1dOXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW192bS5fdihfdm0uX3Mobi5zdGF0dXMudG9VcHBlckNhc2UoKSkpXSksXG4gICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX2MoXCJwXCIsIHsgc3RhdGljQ2xhc3M6IFwibm8tZGF0YVwiIH0sIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIk5vIG5vdGlmaWNhdGlvbiB0byBkaXNwbGF5IGhlcmVcIiksXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgXSksXG4gICAgICAgIF0pXG4gICAgICA6IF92bS5fZSgpLFxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtcbiAgZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwicFwiLCBbXG4gICAgICBfYyhcImlcIiwgW192bS5fdihcIlNob3dpbmcgb25seSByZWNvcmRzIHdoZXJlIHN0YXR1cyBoYXMgY2hhbmdlZFwiKV0pLFxuICAgIF0pXG4gIH0sXG4gIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcInRoZWFkXCIsIFtcbiAgICAgIF9jKFwidHJcIiwgW1xuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiRGF0ZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiVGltZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiKlwiIH0gfSwgW192bS5fdihcIk91dHB1dFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiRHVyYXRpb25cIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIlN0YXR1c1wiKV0pLFxuICAgICAgXSksXG4gICAgXSlcbiAgfSxcbiAgZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwidGhlYWRcIiwgW1xuICAgICAgX2MoXCJ0clwiLCBbXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxMCVcIiB9IH0sIFtfdm0uX3YoXCJEYXRlXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxMCVcIiB9IH0sIFtfdm0uX3YoXCJUaW1lXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxNVwiIH0gfSwgW192bS5fdihcIkZpcnN0bmFtZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTUlXCIgfSB9LCBbX3ZtLl92KFwiTGFzdG5hbWVcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjMwJVwiIH0gfSwgW192bS5fdihcIkVtYWlsXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxMCVcIiB9IH0sIFtfdm0uX3YoXCJUeXBlXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxMCVcIiB9IH0sIFtfdm0uX3YoXCJTdGF0dXNcIildKSxcbiAgICAgIF0pLFxuICAgIF0pXG4gIH0sXG5dXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=template&id=a378bf18&scoped=true&\n"); /***/ }), diff --git a/resources/sass/app.scss b/resources/sass/app.scss index 74791c6..291d381 100644 --- a/resources/sass/app.scss +++ b/resources/sass/app.scss @@ -111,41 +111,48 @@ html { } table { - border: 1px solid #ABC; - font-size: 14px; - border-spacing : 0; - border-collapse : collapse; + border: 1px solid #ABC; + font-size: 14px; + border-spacing : 0; + border-collapse : collapse; - th { - background-color: #e6EEEE; - border: 1px solid #9ccece; - padding: 0.3rem; + th { + background-color: #e6EEEE; + border: 1px solid #9ccece; + padding: 0.3rem; - } + } - td { - color: #3D3D3D; - padding: 0.3rem; - background-color: #FFF; - border: 1px solid #9ccece; - text-align: center; + td { + color: #3D3D3D; + padding: 0.3rem; + background-color: #FFF; + border: 1px solid #9ccece; + text-align: center; + vertical-align: middle; + + img { vertical-align: middle; - - img { - vertical-align: middle; - } - - &.right { - text-align: right; - } } - tasks_tbl, contacts_tbl { - width: 100%; + &.right { + text-align: right; } + } + + tasks_tbl, contacts_tbl { + width: 100%; + } + } - + .no-data { + text-align: center; + font-style: italic; + margin-bottom: 1.3rem; + font-size: .9rem; + color: #727272; + } .quick-view { diff --git a/resources/views/components/quickview.vue b/resources/views/components/quickview.vue index f5e4541..876ce3f 100644 --- a/resources/views/components/quickview.vue +++ b/resources/views/components/quickview.vue @@ -5,7 +5,7 @@
No chart to display here
No chart to display here
Showing only records where status has changed
No history to display here
Date | -Time | -Firstname | -Lastname | -Date | +Time | +Firstname | +Lastname | +Type | Status | {{ n.contact.firstname }} | {{ n.contact.surname }} | {{ n.contact.email }} | -{{ n.status }} | +{{ n.task_history.status == 1 ? 'UP' : 'DOWN' }} | +{{ n.status.toUpperCase() }} |
---|
No notification to display here