"use strict";
(self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_shared_views_main_d"],{
/***/ "./src/shared/views/main/disability_type/form.tsx":
/*!********************************************************!*\
!*** ./src/shared/views/main/disability_type/form.tsx ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js");
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../services/disability_type/core/actions */ "./src/services/disability_type/core/actions.ts");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js");
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var NewEditDisabilityTypePage = function NewEditDisabilityTypePage() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useSelector)(function (state) {
return state.disabilityType;
}),
disabilityType = _useSelector.disabilityType,
registerErrorMessage = _useSelector.registerErrorMessage,
disabilityTypeUpdatePending = _useSelector.disabilityTypeUpdatePending;
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var searchParams = new URLSearchParams(location.search);
var id = searchParams.get('id');
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false),
_useState2 = _slicedToArray(_useState, 2),
isClick = _useState2[0],
setIsClick = _useState2[1];
// π Fetch data when editing or reset form when adding
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (id) {
dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_8__.disabilityTypeDetailAction)(Number(id)));
} else {
form.resetFields(); // Reset form fields when adding a new item
}
}, [dispatch, id, form]);
// π Populate form with fetched data
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (id && disabilityType) {
form.setFieldsValue({
name: disabilityType.name || '',
description: disabilityType.description || ''
});
}
}, [disabilityType, form, id]);
// π Show success or error alerts
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (!disabilityTypeUpdatePending && isClick) {
if (registerErrorMessage) {
antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].error(registerErrorMessage);
} else {
antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].success(id ? 'Updated successfully!' : 'Created successfully!');
navigate('/disability-types');
}
}
}, [disabilityTypeUpdatePending, registerErrorMessage, id, isClick, navigate]);
// π Handle form submit
var onFinish = function onFinish(values) {
if (id) {
dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_8__.updateDisabilityTypeAction)({
id: Number(id),
data: values
}));
form.resetFields();
} else {
dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_8__.createDisabilityTypeAction)({
data: values
}));
form.resetFields(); // Reset form after successful creation
}
setIsClick(true);
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((react__WEBPACK_IMPORTED_MODULE_6___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement("h2", null, id ? 'αααααααααααααα·ααΆαααΆα' : 'ααααααααααΈαααααααα·ααΆαααΆα'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"], {
form: form,
layout: "vertical",
onFinish: onFinish,
style: {
maxWidth: '100%',
margin: '0 auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1788\u17D2\u1798\u17C4\u17C7",
name: "name",
rules: [{
required: true,
message: 'Please enter a name'
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_3__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1794\u179A\u17B7\u1799\u17B6\u1799",
name: "description"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__["default"], {
rows: 3
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), {
type: "primary",
block: true,
htmlType: "submit",
loading: disabilityTypeUpdatePending
}, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), {
htmlType: "button",
onClick: function onClick() {
return navigate('/disability-types');
}
}, "Cancel"))))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditDisabilityTypePage);
/***/ }),
/***/ "./src/shared/views/main/disability_type/index.tsx":
/*!*********************************************************!*\
!*** ./src/shared/views/main/disability_type/index.tsx ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js");
/* harmony import */ var _services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../services/disability_type/core/actions */ "./src/services/disability_type/core/actions.ts");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_12__);
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var DisabilityTypeList = function DisabilityTypeList() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_6__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
selectedRows = _useState2[0],
setSelectedRows = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(''),
_useState4 = _slicedToArray(_useState3, 2),
searchText = _useState4[0],
setSearchText = _useState4[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(function (state) {
return state.disabilityType;
}),
disabilityTypes = _useSelector.disabilityTypes,
disabilityTypesPending = _useSelector.disabilityTypesPending;
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchDisabilityTypes)());
}, [dispatch]);
var handleEdit = function handleEdit(id) {
dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__.disabilityTypeDetailAction)(id));
navigate("/disability-types/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire({
title: 'Are you sure?',
text: 'You won\'t be able to revert this!',
icon: 'warning',
showConfirmButton: false,
showCancelButton: false,
html: "\n
\n \n \n
\n ",
didOpen: function didOpen() {
var _Swal$getPopup, _Swal$getPopup2;
var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete');
confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () {
dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__.deleteDisabilityTypeAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchDisabilityTypes)());
});
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close();
});
}
});
};
var handleSearch = function handleSearch() {
// Triggers search by setting state
setSearchText(searchText.trim());
};
var handleReset = function handleReset() {
// Clears input and shows all data
setSearchText('');
};
var columns = [{
title: 'αααααα',
dataIndex: 'index',
key: 'index',
responsive: ['sm']
}, {
title: 'ααααα',
dataIndex: 'name',
key: 'name',
responsive: ['sm']
}, {
title: 'ααα·ααΆα',
dataIndex: 'description',
key: 'description',
responsive: ['sm']
}, {
title: 'Action',
key: 'action',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
size: "middle"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null),
type: "primary",
onClick: function onClick() {
return handleEdit(record.id);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null),
danger: true,
onClick: function onClick() {
return handleDelete(record.id);
}
}));
}
}];
var filteredData = (disabilityTypes || []).filter(function (it) {
var _it$name;
return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase());
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", {
style: {
overflowX: 'auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u1794\u17D2\u179A\u1797\u17C1\u1791\u1796\u17B7\u1780\u17B6\u179A\u1797\u17B6\u1796"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", {
style: {
display: 'flex',
justifyContent: 'space-between',
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px',
flexWrap: 'wrap'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_1__["default"], {
placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...",
style: {
width: 200
},
value: searchText,
onChange: function onChange(e) {
return setSearchText(e.target.value);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
onClick: handleSearch,
type: "primary"
}, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
onClick: handleReset
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null),
type: "primary",
onClick: function onClick() {
return navigate("/disability-types/form");
}
}, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_0__["default"], {
rowSelection: {
type: 'checkbox',
onChange: function onChange(_, selectedRows) {
return setSelectedRows(selectedRows);
}
},
columns: columns,
dataSource: filteredData.map(function (it, index) {
return _objectSpread({
key: it.id,
index: index + 1,
name: it.name
}, it);
}),
pagination: {
pageSize: 10,
showSizeChanger: true
},
scroll: {
x: 'max-content'
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__["default"], {
visible: disabilityTypesPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DisabilityTypeList);
/***/ }),
/***/ "./src/shared/views/main/education_institution/form.tsx":
/*!**************************************************************!*\
!*** ./src/shared/views/main/education_institution/form.tsx ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js");
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../services/education_institution/core/actions */ "./src/services/education_institution/core/actions.ts");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js");
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var NewEditEducationInstitutionPage = function NewEditEducationInstitutionPage() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useSelector)(function (state) {
return state.educationInstitution;
}),
educationInstitution = _useSelector.educationInstitution,
registerErrorMessage = _useSelector.registerErrorMessage,
educationInstitutionUpdatePending = _useSelector.educationInstitutionUpdatePending;
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var searchParams = new URLSearchParams(location.search);
var id = searchParams.get('id');
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false),
_useState2 = _slicedToArray(_useState, 2),
isClick = _useState2[0],
setIsClick = _useState2[1];
// π Fetch data when editing or reset form when adding
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (id) {
dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_8__.educationInstitutionDetailAction)(Number(id)));
} else {
form.resetFields(); // Reset form fields when adding a new item
}
}, [dispatch, id, form]);
// π Populate form with fetched data
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (id && educationInstitution) {
form.setFieldsValue({
name: educationInstitution.name || '',
description: educationInstitution.description || ''
});
}
}, [educationInstitution, form, id]);
// π Show success or error alerts
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (!educationInstitutionUpdatePending && isClick) {
if (registerErrorMessage) {
antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].error(registerErrorMessage);
} else {
antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].success(id ? 'Updated successfully!' : 'Created successfully!');
navigate('/education-institutions');
}
}
}, [educationInstitutionUpdatePending, registerErrorMessage, id, isClick, navigate]);
// π Handle form submit
var onFinish = function onFinish(values) {
if (id) {
dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_8__.updateEducationInstitutionAction)({
id: Number(id),
data: values
}));
form.resetFields();
} else {
dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_8__.createEducationInstitutionAction)({
data: values
}));
form.resetFields(); // Reset form after successful creation
}
setIsClick(true);
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((react__WEBPACK_IMPORTED_MODULE_6___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement("h2", null, id ? 'ααααααααααΆαααα’αααα' : 'ααααααααααΈααααΆαααα’αααα'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"], {
form: form,
layout: "vertical",
onFinish: onFinish,
style: {
maxWidth: '100%',
margin: '0 auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1788\u17D2\u1798\u17C4\u17C7",
name: "name",
rules: [{
required: true,
message: 'Please enter a name'
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_3__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1794\u179A\u17B7\u1799\u17B6\u1799",
name: "description"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__["default"], {
rows: 3
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), {
type: "primary",
block: true,
htmlType: "submit",
loading: educationInstitutionUpdatePending
}, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), {
htmlType: "button",
onClick: function onClick() {
return navigate('/education-institutions');
}
}, "Cancel"))))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditEducationInstitutionPage);
/***/ }),
/***/ "./src/shared/views/main/education_institution/index.tsx":
/*!***************************************************************!*\
!*** ./src/shared/views/main/education_institution/index.tsx ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js");
/* harmony import */ var _services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../services/education_institution/core/actions */ "./src/services/education_institution/core/actions.ts");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_12__);
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var EducationInstitutionList = function EducationInstitutionList() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_6__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
selectedRows = _useState2[0],
setSelectedRows = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(''),
_useState4 = _slicedToArray(_useState3, 2),
searchText = _useState4[0],
setSearchText = _useState4[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(function (state) {
return state.educationInstitution;
}),
educationInstitutions = _useSelector.educationInstitutions,
educationInstitutionsPending = _useSelector.educationInstitutionsPending;
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchEducationInstitutions)());
}, [dispatch]);
var handleEdit = function handleEdit(id) {
dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__.educationInstitutionDetailAction)(id));
navigate("/education-institutions/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire({
title: 'Are you sure?',
text: 'You won\'t be able to revert this!',
icon: 'warning',
showConfirmButton: false,
showCancelButton: false,
html: "\n \n \n \n
\n ",
didOpen: function didOpen() {
var _Swal$getPopup, _Swal$getPopup2;
var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete');
confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () {
dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__.deleteEducationInstitutionAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchEducationInstitutions)());
});
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close();
});
}
});
};
var handleSearch = function handleSearch() {
// Triggers search by setting state
setSearchText(searchText.trim());
};
var handleReset = function handleReset() {
// Clears input and shows all data
setSearchText('');
};
var columns = [{
title: 'αααααα',
dataIndex: 'index',
key: 'index',
responsive: ['sm']
}, {
title: 'ααααα',
dataIndex: 'name',
key: 'name',
responsive: ['sm']
}, {
title: 'ααα·ααΆα',
dataIndex: 'description',
key: 'description',
responsive: ['sm']
}, {
title: 'Action',
key: 'action',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
size: "middle"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null),
type: "primary",
onClick: function onClick() {
return handleEdit(record.id);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null),
danger: true,
onClick: function onClick() {
return handleDelete(record.id);
}
}));
}
}];
var filteredData = (educationInstitutions || []).filter(function (it) {
var _it$name;
return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase());
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", {
style: {
overflowX: 'auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u179F\u17D2\u1790\u17B6\u1794\u17D0\u1793\u17A2\u1794\u17CB\u179A\u17C6"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", {
style: {
display: 'flex',
justifyContent: 'space-between',
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px',
flexWrap: 'wrap'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_1__["default"], {
placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...",
style: {
width: 200
},
value: searchText,
onChange: function onChange(e) {
return setSearchText(e.target.value);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
onClick: handleSearch,
type: "primary"
}, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
onClick: handleReset
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null),
type: "primary",
onClick: function onClick() {
return navigate("/education-institutions/form");
}
}, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_0__["default"], {
rowSelection: {
type: 'checkbox',
onChange: function onChange(_, selectedRows) {
return setSelectedRows(selectedRows);
}
},
columns: columns,
dataSource: filteredData.map(function (it, index) {
return _objectSpread({
key: it.id,
index: index + 1,
name: it.name
}, it);
}),
pagination: {
pageSize: 10,
showSizeChanger: true
},
scroll: {
x: 'max-content'
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__["default"], {
visible: educationInstitutionsPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EducationInstitutionList);
/***/ }),
/***/ "./src/shared/views/main/food/form.tsx":
/*!*********************************************!*\
!*** ./src/shared/views/main/food/form.tsx ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js");
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _services_food_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../services/food/core/actions */ "./src/services/food/core/actions.ts");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js");
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var NewEditFoodPage = function NewEditFoodPage() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useSelector)(function (state) {
return state.food;
}),
food = _useSelector.food,
registerErrorMessage = _useSelector.registerErrorMessage,
foodUpdatePending = _useSelector.foodUpdatePending;
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var searchParams = new URLSearchParams(location.search);
var id = searchParams.get('id');
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false),
_useState2 = _slicedToArray(_useState, 2),
isClick = _useState2[0],
setIsClick = _useState2[1];
// π Fetch data when editing or reset form when adding
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (id) {
dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_8__.foodDetailAction)(Number(id)));
} else {
form.resetFields(); // Reset form fields when adding a new item
}
}, [dispatch, id, form]);
// π Populate form with fetched data
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (id && food) {
form.setFieldsValue({
name: food.name || '',
description: food.description || ''
});
}
}, [food, form, id]);
// π Show success or error alerts
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (!foodUpdatePending && isClick) {
if (registerErrorMessage) {
antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].error(registerErrorMessage);
} else {
antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].success(id ? 'Updated successfully!' : 'Created successfully!');
navigate('/foods');
}
}
}, [foodUpdatePending, registerErrorMessage, id, isClick, navigate]);
// π Handle form submit
var onFinish = function onFinish(values) {
if (id) {
dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_8__.updateFoodAction)({
id: Number(id),
data: values
}));
form.resetFields();
} else {
dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_8__.createFoodAction)({
data: values
}));
form.resetFields(); // Reset form after successful creation
}
setIsClick(true);
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((react__WEBPACK_IMPORTED_MODULE_6___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement("h2", null, id ? 'ααααααα’αΆα αΆα' : 'ααααααααααΈα’αΆα αΆα'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"], {
form: form,
layout: "vertical",
onFinish: onFinish,
style: {
maxWidth: '100%',
margin: '0 auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1788\u17D2\u1798\u17C4\u17C7",
name: "name",
rules: [{
required: true,
message: 'Please enter a name'
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_3__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1794\u179A\u17B7\u1799\u17B6\u1799",
name: "description"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__["default"], {
rows: 3
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), {
type: "primary",
block: true,
htmlType: "submit",
loading: foodUpdatePending
}, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), {
htmlType: "button",
onClick: function onClick() {
return navigate('/foods');
}
}, "Cancel"))))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditFoodPage);
/***/ }),
/***/ "./src/shared/views/main/food/index.tsx":
/*!**********************************************!*\
!*** ./src/shared/views/main/food/index.tsx ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js");
/* harmony import */ var _services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../services/food/core/actions */ "./src/services/food/core/actions.ts");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_12__);
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var FoodList = function FoodList() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_6__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
selectedRows = _useState2[0],
setSelectedRows = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(''),
_useState4 = _slicedToArray(_useState3, 2),
searchText = _useState4[0],
setSearchText = _useState4[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(function (state) {
return state.food;
}),
foods = _useSelector.foods,
foodsPending = _useSelector.foodsPending;
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchFoods)());
}, [dispatch]);
var handleEdit = function handleEdit(id) {
dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__.foodDetailAction)(id));
navigate("/foods/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire({
title: 'Are you sure?',
text: 'You won\'t be able to revert this!',
icon: 'warning',
showConfirmButton: false,
showCancelButton: false,
html: "\n \n \n \n
\n ",
didOpen: function didOpen() {
var _Swal$getPopup, _Swal$getPopup2;
var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete');
confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () {
dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__.deleteFoodAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchFoods)());
});
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close();
});
}
});
};
var handleSearch = function handleSearch() {
// Triggers search by setting state
setSearchText(searchText.trim());
};
var handleReset = function handleReset() {
// Clears input and shows all data
setSearchText('');
};
var columns = [{
title: 'αααααα',
dataIndex: 'index',
key: 'index',
responsive: ['sm']
}, {
title: 'ααααα',
dataIndex: 'name',
key: 'name',
responsive: ['sm']
}, {
title: 'ααα·ααΆα',
dataIndex: 'description',
key: 'description',
responsive: ['sm']
}, {
title: 'Action',
key: 'action',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
size: "middle"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null),
type: "primary",
onClick: function onClick() {
return handleEdit(record.id);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null),
danger: true,
onClick: function onClick() {
return handleDelete(record.id);
}
}));
}
}];
var filteredData = (foods || []).filter(function (it) {
var _it$name;
return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase());
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", {
style: {
overflowX: 'auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17B6\u17A0\u17B6\u179A"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", {
style: {
display: 'flex',
justifyContent: 'space-between',
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px',
flexWrap: 'wrap'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_1__["default"], {
placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...",
style: {
width: 200
},
value: searchText,
onChange: function onChange(e) {
return setSearchText(e.target.value);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
onClick: handleSearch,
type: "primary"
}, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
onClick: handleReset
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null),
type: "primary",
onClick: function onClick() {
return navigate("/foods/form");
}
}, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_0__["default"], {
rowSelection: {
type: 'checkbox',
onChange: function onChange(_, selectedRows) {
return setSelectedRows(selectedRows);
}
},
columns: columns,
dataSource: filteredData.map(function (it, index) {
return _objectSpread({
key: it.id,
index: index + 1,
name: it.name
}, it);
}),
pagination: {
pageSize: 10,
showSizeChanger: true
},
scroll: {
x: 'max-content'
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__["default"], {
visible: foodsPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FoodList);
/***/ }),
/***/ "./src/shared/views/main/home/index.tsx":
/*!**********************************************!*\
!*** ./src/shared/views/main/home/index.tsx ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js");
/* harmony import */ var antd_es_statistic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/statistic */ "../../../node_modules/antd/lib/statistic/index.js");
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/breadcrumb */ "../../../node_modules/antd/lib/breadcrumb/index.js");
/* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/index.js");
/* harmony import */ var antd_es_typography__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/typography */ "../../../node_modules/antd/lib/typography/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../services/volunteer/core/actions */ "./src/services/volunteer/core/actions.ts");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/CalendarOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileExcelOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/TeamOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Legend.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Tooltip.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/ResponsiveContainer.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Cell.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/polar/Pie.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/CartesianGrid.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/Bar.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/XAxis.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/YAxis.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/chart/BarChart.js");
/* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/chart/PieChart.js");
/* harmony import */ var xlsx__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! xlsx */ "../../../node_modules/xlsx/xlsx.mjs");
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
// β
Import XLSX for Excel export
var Title = antd_es_typography__WEBPACK_IMPORTED_MODULE_7__["default"].Title;
var Content = antd_es_layout__WEBPACK_IMPORTED_MODULE_6__["default"].Content;
var COLORS = ['#0088FE', '#00C49F', '#FFBB28', '#FF8042', '#A28DFF', '#FF4560', '#775DD0', '#F86624'];
var STAT_COLORS = ['#FF5733', '#0073e6', '#2ECC71', '#1E90FF', '#FF69B4', '#FFA500', '#F0BBF0FF'];
var DashboardHome = function DashboardHome() {
var _dashboard$count_user, _dashboard$count_volu, _dashboard$count_volu2;
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_9__.useSelector)(function (state) {
return state.volunteer;
}),
dashboard = _useSelector.dashboard;
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_9__.useDispatch)();
(0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_10__.fetchDashboardAction)());
}, [dispatch]);
var chartData = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_status) || {}).map(function (_ref) {
var _ref2 = _slicedToArray(_ref, 2),
key = _ref2[0],
value = _ref2[1];
return {
name: key.replace("count_", "").replace("_", " "),
value: value
};
});
var chatVolunteerProvince = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_provinces) || {}).map(function (_ref3) {
var _ref4 = _slicedToArray(_ref3, 2),
key = _ref4[0],
value = _ref4[1];
return {
name: key.split("/").pop().trim(),
value: value
};
});
var chatVolunteerGender = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_genders) || {}).map(function (_ref5) {
var _ref6 = _slicedToArray(_ref5, 2),
key = _ref6[0],
value = _ref6[1];
return {
name: key.replace("count_", "").replace("_", " "),
value: value
};
});
var chatVolunteerTshirt = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_shirt_sizes) || {}).map(function (_ref7) {
var _ref8 = _slicedToArray(_ref7, 2),
key = _ref8[0],
value = _ref8[1];
return {
name: key,
value: value
};
});
// count_volunteer_occupations
var chatVolunteerOccupations = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_occupations) || {}).map(function (_ref9) {
var _ref0 = _slicedToArray(_ref9, 2),
key = _ref0[0],
value = _ref0[1];
return {
name: key,
value: value
};
});
// count_volunteer_education_institutions
var chatVolunteerEducationInst = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_education_institutions) || {}).map(function (_ref1) {
var _ref10 = _slicedToArray(_ref1, 2),
key = _ref10[0],
value = _ref10[1];
return {
name: key,
value: value
};
});
// count_interested_team
var chatVolunteerInterestedTeam = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_interested_team) || {}).map(function (_ref11) {
var _ref12 = _slicedToArray(_ref11, 2),
key = _ref12[0],
value = _ref12[1];
return {
name: key,
value: value
};
});
// β
Function to Export All Data to Excel
var exportToExcel = function exportToExcel() {
var wb = xlsx__WEBPACK_IMPORTED_MODULE_26__.utils.book_new();
// Create individual sheets for each dataset
var sheets = {
"Volunteer Status": chartData,
"Volunteer by Province": chatVolunteerProvince,
"Volunteer Gender": chatVolunteerGender,
"Volunteer T-Shirt Size": chatVolunteerTshirt,
"Volunteer Occupations": chatVolunteerOccupations,
"Education Institutions": chatVolunteerEducationInst,
"Team": chatVolunteerInterestedTeam
};
Object.entries(sheets).forEach(function (_ref13) {
var _ref14 = _slicedToArray(_ref13, 2),
sheetName = _ref14[0],
data = _ref14[1];
var ws = xlsx__WEBPACK_IMPORTED_MODULE_26__.utils.json_to_sheet(data);
xlsx__WEBPACK_IMPORTED_MODULE_26__.utils.book_append_sheet(wb, ws, sheetName);
});
// β
Generate and Download the Excel File
xlsx__WEBPACK_IMPORTED_MODULE_26__.writeFile(wb, "Volunteer_Dashboard_Report.xlsx");
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
padding: '16px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_5__["default"], {
style: {
marginBottom: '12px',
display: 'flex',
justifyContent: 'space-between',
alignItems: 'center'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, "Dashboard")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(Content, {
style: {
background: '#fff',
padding: '16px',
borderRadius: '8px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], {
justify: "space-between",
align: "middle",
style: {
marginBottom: "16px"
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(Title, {
level: 4,
style: {
margin: 0
}
}, "Dashboard Overview")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
type: "primary",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["default"], null),
onClick: exportToExcel,
style: {
display: "flex",
alignItems: "center",
gap: "8px"
}
}, "Export to Excel"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], {
gutter: [8, 8]
}, [{
title: 'Total Volunteers',
value: dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteers,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["default"], null),
color: STAT_COLORS[0]
}, {
title: 'Total Events',
value: 1,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__["default"], null),
color: STAT_COLORS[1]
}, {
title: 'Total Admin Users',
value: dashboard === null || dashboard === void 0 || (_dashboard$count_user = dashboard.count_user_roles) === null || _dashboard$count_user === void 0 ? void 0 : _dashboard$count_user.count_super_admin,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null),
color: STAT_COLORS[2]
},
// { title: 'Total Users', value: dashboard?.count_user_roles?.count_user, icon: , color: STAT_COLORS[3] },
{
title: 'Male Volunteers',
value: dashboard === null || dashboard === void 0 || (_dashboard$count_volu = dashboard.count_volunteer_genders) === null || _dashboard$count_volu === void 0 ? void 0 : _dashboard$count_volu.count_male,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null),
color: STAT_COLORS[4]
}, {
title: 'Female Volunteers',
value: dashboard === null || dashboard === void 0 || (_dashboard$count_volu2 = dashboard.count_volunteer_genders) === null || _dashboard$count_volu2 === void 0 ? void 0 : _dashboard$count_volu2.count_female,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null),
color: STAT_COLORS[5]
}
// { title: 'Total Training Sessions', value: dashboard?.count_training_sessions, icon: , color: STAT_COLORS[6] },
].map(function (stat, index) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], {
xs: 24,
sm: 24,
md: 6,
key: index
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], {
style: {
backgroundColor: stat.color,
color: '#fff',
minHeight: 160
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_statistic__WEBPACK_IMPORTED_MODULE_1__["default"], {
title: stat.title,
value: stat.value,
prefix: stat.icon,
valueStyle: {
color: '#fff'
}
})));
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], {
xs: 24,
lg: 24
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", {
className: "text-xl font-bold mb-2"
}, "Volunteer Status Breakdown"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, {
width: "100%",
height: 250
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.BarChart, {
data: chartData,
margin: {
top: 10,
right: 20,
left: 10,
bottom: 5
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.CartesianGrid, {
strokeDasharray: "3 3"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.XAxis, {
dataKey: "name",
tick: {
fontSize: 10
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.YAxis, {
allowDecimals: false
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Bar, {
dataKey: "value",
fill: "#3b82f6",
barSize: 30
})))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], {
xs: 24,
lg: 24
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", {
className: "text-xl font-bold mb-2"
}, "Volunteer Team"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, {
width: "100%",
height: 250
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.BarChart, {
data: chatVolunteerInterestedTeam,
margin: {
top: 10,
right: 20,
left: 10,
bottom: 5
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.CartesianGrid, {
strokeDasharray: "3 3"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.XAxis, {
dataKey: "name",
tick: {
fontSize: 10
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.YAxis, {
allowDecimals: false
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Bar, {
dataKey: "value",
fill: "#3b82f6",
barSize: 30
})))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], {
xs: 24,
lg: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", {
className: "text-xl font-bold mb-2"
}, "Volunteer Status Breakdown"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, {
width: "100%",
height: 250
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Pie, {
data: chartData,
dataKey: "value",
nameKey: "name",
cx: "50%",
cy: "50%",
outerRadius: 80,
label: true
}, chartData.map(function (_, index) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.Cell, {
key: "cell-".concat(index),
fill: COLORS[index % COLORS.length]
});
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_15__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null)))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], {
xs: 24,
lg: 24
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", {
className: "text-xl font-bold mb-2"
}, "Volunteer by Province"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, {
width: "100%",
height: 250
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.BarChart, {
data: chatVolunteerProvince,
margin: {
top: 10,
right: 20,
left: 10,
bottom: 5
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.CartesianGrid, {
strokeDasharray: "3 3"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.XAxis, {
dataKey: "name",
tick: {
fontSize: 10
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.YAxis, {
allowDecimals: false
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Bar, {
dataKey: "value",
fill: "#3b82f6",
barSize: 30
}))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], {
xs: 24,
lg: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", {
className: "text-xl font-bold mb-2"
}, "Volunteer Gender"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, {
width: "100%",
height: 250
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Pie, {
data: chatVolunteerGender,
dataKey: "value",
nameKey: "name",
cx: "50%",
cy: "50%",
outerRadius: 80,
label: true
}, chatVolunteerGender.map(function (_, index) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.Cell, {
key: "cell-".concat(index),
fill: COLORS[index % COLORS.length]
});
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_15__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], {
xs: 24,
lg: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", {
className: "text-xl font-bold mb-2"
}, "Volunteer T-Shirt Size"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, {
width: "100%",
height: 250
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Pie, {
data: chatVolunteerTshirt,
dataKey: "value",
nameKey: "name",
cx: "50%",
cy: "50%",
outerRadius: 80,
label: true
}, chatVolunteerTshirt.map(function (_, index) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.Cell, {
key: "cell-".concat(index),
fill: COLORS[index % COLORS.length]
});
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_15__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], {
xs: 24,
lg: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", {
className: "text-xl font-bold mb-2"
}, "Volunteer Occupation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, {
width: "100%",
height: 250
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Pie, {
data: chatVolunteerOccupations,
dataKey: "value",
nameKey: "name",
cx: "50%",
cy: "50%",
outerRadius: 80,
label: true
}, chatVolunteerOccupations.map(function (_, index) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.Cell, {
key: "cell-".concat(index),
fill: COLORS[index % COLORS.length]
});
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_15__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], {
xs: 24,
lg: 24
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", {
className: "text-xl font-bold mb-2"
}, "Volunteer Education Institude"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, {
width: "100%",
height: 250
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.BarChart, {
data: chatVolunteerEducationInst,
margin: {
top: 10,
right: 20,
left: 10,
bottom: 5
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.CartesianGrid, {
strokeDasharray: "3 3"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.XAxis, {
dataKey: "name",
tick: {
fontSize: 10
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.YAxis, {
allowDecimals: false
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Bar, {
dataKey: "value",
fill: "#3b82f6",
barSize: 30
}))))))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DashboardHome);
/***/ }),
/***/ "./src/shared/views/main/home/main.tsx":
/*!*********************************************!*\
!*** ./src/shared/views/main/home/main.tsx ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_drawer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/drawer */ "../../../node_modules/antd/lib/drawer/index.js");
/* harmony import */ var antd_es_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/menu */ "../../../node_modules/antd/lib/menu/index.js");
/* harmony import */ var antd_es_avatar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/avatar */ "../../../node_modules/antd/lib/avatar/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/AppstoreOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/BookOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/BuildOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/BulbOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/CarOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DashboardOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EnvironmentOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileAddOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/GlobalOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/LogoutOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/MenuOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/NotificationOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/SettingOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/ShopOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/SketchOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/TeamOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js");
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router-dom/dist/index.js");
/* harmony import */ var _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../../../services/authentication/login/core/reducer */ "./src/services/authentication/login/core/reducer.ts");
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! . */ "./src/shared/views/main/home/index.tsx");
/* harmony import */ var _components_footer_footer_component__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../../components/footer/footer-component */ "./src/shared/components/footer/footer-component.tsx");
/* harmony import */ var _assets_logos_logo_png__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../../assets/logos/logo.png */ "./src/shared/assets/logos/logo.png");
/* harmony import */ var _volunteer__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../volunteer */ "./src/shared/views/main/volunteer/index.tsx");
/* harmony import */ var _volunteer_form__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../volunteer/form */ "./src/shared/views/main/volunteer/form.tsx");
/* harmony import */ var _disability_type__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../disability_type */ "./src/shared/views/main/disability_type/index.tsx");
/* harmony import */ var _disability_type_form__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../disability_type/form */ "./src/shared/views/main/disability_type/form.tsx");
/* harmony import */ var _education_institution_form__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../education_institution/form */ "./src/shared/views/main/education_institution/form.tsx");
/* harmony import */ var _education_institution__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../education_institution */ "./src/shared/views/main/education_institution/index.tsx");
/* harmony import */ var _food__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../food */ "./src/shared/views/main/food/index.tsx");
/* harmony import */ var _food_form__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../food/form */ "./src/shared/views/main/food/form.tsx");
/* harmony import */ var _interested_team__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../interested_team */ "./src/shared/views/main/interested_team/index.tsx");
/* harmony import */ var _interested_team_form__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../interested_team/form */ "./src/shared/views/main/interested_team/form.tsx");
/* harmony import */ var _language__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../language */ "./src/shared/views/main/language/index.tsx");
/* harmony import */ var _language_form__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../language/form */ "./src/shared/views/main/language/form.tsx");
/* harmony import */ var _occupation__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../occupation */ "./src/shared/views/main/occupation/index.tsx");
/* harmony import */ var _occupation_form__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../occupation/form */ "./src/shared/views/main/occupation/form.tsx");
/* harmony import */ var _opportunity_source__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../opportunity_source */ "./src/shared/views/main/opportunity_source/index.tsx");
/* harmony import */ var _opportunity_source_form__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../opportunity_source/form */ "./src/shared/views/main/opportunity_source/form.tsx");
/* harmony import */ var _province__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../province */ "./src/shared/views/main/province/index.tsx");
/* harmony import */ var _province_form__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../province/form */ "./src/shared/views/main/province/form.tsx");
/* harmony import */ var _skill__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../skill */ "./src/shared/views/main/skill/index.tsx");
/* harmony import */ var _skill_form__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../skill/form */ "./src/shared/views/main/skill/form.tsx");
/* harmony import */ var _terms_condition__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ../terms_condition */ "./src/shared/views/main/terms_condition/index.tsx");
/* harmony import */ var _terms_condition_form__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ../terms_condition/form */ "./src/shared/views/main/terms_condition/form.tsx");
/* harmony import */ var _training_session__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ../training_session */ "./src/shared/views/main/training_session/index.tsx");
/* harmony import */ var _training_session_form__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ../training_session/form */ "./src/shared/views/main/training_session/form.tsx");
/* harmony import */ var _volunteer_event__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../volunteer_event */ "./src/shared/views/main/volunteer_event/index.tsx");
/* harmony import */ var _volunteer_event_form__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../volunteer_event/form */ "./src/shared/views/main/volunteer_event/form.tsx");
/* harmony import */ var _user__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../user */ "./src/shared/views/main/user/index.tsx");
/* harmony import */ var _user_form__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../user/form */ "./src/shared/views/main/user/form.tsx");
/* harmony import */ var _offer_program_form__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../offer_program/form */ "./src/shared/views/main/offer_program/form.tsx");
/* harmony import */ var _offer_program__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../offer_program */ "./src/shared/views/main/offer_program/index.tsx");
/* harmony import */ var _travel_day__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../travel_day */ "./src/shared/views/main/travel_day/index.tsx");
/* harmony import */ var _travel_day_form__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../travel_day/form */ "./src/shared/views/main/travel_day/form.tsx");
/* harmony import */ var _notification_index__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../notification/index */ "./src/shared/views/main/notification/index.tsx");
/* harmony import */ var _user_attendance_index__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../user_attendance/index */ "./src/shared/views/main/user_attendance/index.tsx");
/* harmony import */ var _user_attendance_form__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../user_attendance/form */ "./src/shared/views/main/user_attendance/form.tsx");
/* harmony import */ var _family_survey_FamilySurveyForm__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../../family_survey/FamilySurveyForm */ "./src/shared/views/family_survey/FamilySurveyForm.tsx");
/* harmony import */ var _family_survey_index__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../../family_survey/index */ "./src/shared/views/family_survey/index.tsx");
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var Header = antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"].Header,
Content = antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"].Content,
Sider = antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"].Sider;
// Menu Configuration
var menus = [{
key: "/",
title: "Dashboard",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__["default"], null),
to: "/"
}, {
key: "/volunteers",
title: "α’ααααααααααα
α·ααα",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_6__["default"], null),
to: "/volunteers"
}, {
key: "/volunteer/upload-csv",
title: "Import Volunteers",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null),
to: "/volunteer/upload-csv"
}, {
key: "/volunteer/update-team-csv",
title: "Assign to Teams",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_21__["default"], null),
to: "/volunteer/update-team-csv"
}, {
key: "/volunteer/update-identity-csv",
title: "Update Identity",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_22__["default"], null),
to: "/volunteer/update-identity-csv"
}, {
key: "/user-attendances",
title: "User Attendances",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_21__["default"], null),
to: "/user-attendances"
}, {
key: "/family-survey",
title: "Family Survey",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_21__["default"], null),
to: "/family-survey"
}, {
key: "settings",
title: "ααΆαααααα",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_18__["default"], null),
children: [{
key: '/users',
title: 'αααααααααα’αααααααΎααααΆαα',
to: '/users',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_22__["default"], null)
}, {
key: '/disability-types',
title: 'αααααααα·ααΆαααΆα',
to: '/disability-types',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_22__["default"], null)
}, {
key: '/education-institutions',
title: 'ααααΆαααα’αααα',
to: '/education-institutions',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_7__["default"], null)
}, {
key: '/foods',
title: 'α’αΆα αΆα',
to: '/foods',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_19__["default"], null)
}, {
key: '/interested-teams',
title: 'αααα»α',
to: '/interested-teams',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_21__["default"], null)
}, {
key: '/languages',
title: 'ααΆααΆ',
to: '/languages',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["default"], null)
}, {
key: '/occupations',
title: 'αα»αααα',
to: '/occupations',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null)
}, {
key: '/opportunity-sources',
title: 'αααααα±ααΆα',
to: '/opportunity-sources',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_22__["default"], null)
}, {
key: '/provinces',
title: 'ααααα/αααα»α',
to: '/provinces',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["default"], null)
}, {
key: '/skills',
title: 'ααααΆα',
to: '/skills',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_20__["default"], null)
}, {
key: '/terms-conditions',
title: 'αααααααα',
to: '/terms-conditions',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_18__["default"], null)
}, {
key: '/training-sessions',
title: 'ααααααααα»ααααααΆα',
to: '/training-sessions',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null)
}, {
key: '/volunteer-events',
title: 'ααααΉαααα·ααΆααααααααααα
α·ααα',
to: '/volunteer-events',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_6__["default"], null)
}, {
key: '/offer-programs',
title: 'ααααααΈααΈαααααααΌα',
to: '/offer-programs',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_6__["default"], null)
}, {
key: '/travel-days',
title: 'ααααααααΎααααΎα',
to: '/travel-days',
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null)
}]
}, {
key: "notification",
title: "ααΆαααΌαααααΉα",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_17__["default"], null),
to: "/notification"
}];
// First, let's define user role types and permissions
var USER_ROLES = {
SUPER_ADMIN: "super_admin",
ADMIN: "admin",
REPORTER: "reporter",
USER: "user"
};
// Modify menu visibility based on role
var getAuthorizedMenus = function getAuthorizedMenus(role) {
// Handle undefined role case
if (!role) return [];
switch (role) {
case USER_ROLES.SUPER_ADMIN:
return menus;
case USER_ROLES.REPORTER:
return menus.filter(function (menu) {
return menu.key === "/family-survey";
});
case USER_ROLES.ADMIN:
return menus.filter(function (menu) {
return menu.key === "/volunteers" || menu.key === "/user-attendances";
});
default:
return menus.filter(function (menu) {
return menu.key === "/volunteers";
});
}
};
var Main = function Main() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_23__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_24__.useNavigate)();
var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_24__.useLocation)();
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_23__.useSelector)(function (state) {
return state;
}),
auth = _useSelector.auth;
var currentUser = auth.currentUser;
var userRole = currentUser === null || currentUser === void 0 ? void 0 : currentUser.role;
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(location.pathname),
_useState2 = _slicedToArray(_useState, 2),
activeMenuKey = _useState2[0],
setActiveMenuKey = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),
_useState4 = _slicedToArray(_useState3, 2),
collapsed = _useState4[0],
setCollapsed = _useState4[1];
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),
_useState6 = _slicedToArray(_useState5, 2),
drawerVisible = _useState6[0],
setDrawerVisible = _useState6[1];
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)([]),
_useState8 = _slicedToArray(_useState7, 2),
filteredMenus = _useState8[0],
setFilteredMenus = _useState8[1];
var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(true),
_useState0 = _slicedToArray(_useState9, 2),
isLoading = _useState0[0],
setIsLoading = _useState0[1];
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
setActiveMenuKey(location.pathname);
}, [location]);
// Update useEffect to handle menu updates
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
if (userRole) {
var authorizedMenus = getAuthorizedMenus(userRole);
setFilteredMenus(authorizedMenus);
setIsLoading(false);
}
}, [userRole]); // Depend on userRole changes
var handleLogout = function handleLogout() {
dispatch((0,_services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_26__.logout)());
navigate("/login");
};
console.log("Current User:", currentUser === null || currentUser === void 0 ? void 0 : currentUser.role);
// Check if user has admin access
var canAccessAdminRoutes = userRole === USER_ROLES.SUPER_ADMIN;
var canAccessReporterRoutes = userRole === USER_ROLES.REPORTER;
var canAccessBasicRoutes = userRole === USER_ROLES.USER || userRole === USER_ROLES.ADMIN;
if (isLoading) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"], {
style: {
minHeight: "100vh"
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", {
style: {
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '100vh'
}
}, "Loading..."));
}
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"], {
style: {
minHeight: "100vh"
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(Header, {
style: {
position: "fixed",
top: 0,
left: 0,
right: 0,
width: "100%",
zIndex: 1000,
height: 65,
background: "#318ADEFF",
display: "flex",
alignItems: "center",
padding: "0 20px",
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.15)"
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
type: "text",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_16__["default"], null),
onClick: function onClick() {
return setDrawerVisible(true);
},
style: {
marginRight: 10,
display: 'none'
},
className: "mobile-menu-button"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", {
style: {
flex: 1,
display: 'flex',
alignItems: 'center'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("img", {
src: _assets_logos_logo_png__WEBPACK_IMPORTED_MODULE_29__,
style: {
width: 45,
marginRight: 16
},
alt: "Logo"
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", {
style: {
display: 'flex',
alignItems: 'center'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_avatar__WEBPACK_IMPORTED_MODULE_2__["default"], {
src: currentUser.photo_url,
size: "large"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", {
style: {
fontWeight: 'bold',
color: '#fff',
marginRight: '16px',
marginLeft: 16
}
}, currentUser !== null && currentUser !== void 0 && currentUser.username ? currentUser.username.split('-').pop() : 'Guest'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", {
style: {
fontSize: 12,
color: '#fff',
marginRight: '16px'
}
}, (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) || 'Addministrator')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"], {
theme: "dark",
mode: "horizontal",
style: {
background: 'transparent',
borderBottom: 'none'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {
key: "logout",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_15__["default"], null),
onClick: handleLogout
}, "Logout"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"], {
style: {
marginTop: 65
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(Sider, {
collapsible: true,
collapsed: collapsed,
onCollapse: setCollapsed,
width: 200,
style: {
background: "#fff",
overflow: "auto",
height: "100vh",
position: "fixed",
left: 0,
top: 65
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"], {
mode: "inline",
selectedKeys: [activeMenuKey],
style: {
height: "100%"
}
}, filteredMenus.map(function (menu) {
return menu.children ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].SubMenu, {
key: menu.key,
icon: menu.icon,
title: menu.title
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", {
style: {
maxHeight: '60vh',
overflowY: 'auto'
}
}, menu.children.map(function (submenu) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {
key: submenu.key,
icon: submenu.icon
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Link, {
to: submenu.to
}, submenu.title));
}))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {
key: menu.key,
icon: menu.icon
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Link, {
to: menu.to
}, menu.title));
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_drawer__WEBPACK_IMPORTED_MODULE_0__["default"], {
title: "Menu",
placement: "left",
closable: true,
onClose: function onClose() {
return setDrawerVisible(false);
},
open: drawerVisible,
bodyStyle: {
padding: 0
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"], {
mode: "inline",
selectedKeys: [activeMenuKey],
style: {
height: "100%"
}
}, filteredMenus.map(function (menu) {
return menu.children ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].SubMenu, {
key: menu.key,
icon: menu.icon,
title: menu.title
}, menu.children.map(function (submenu) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {
key: submenu.key
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Link, {
to: submenu.to
}, submenu.title));
})) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, {
key: menu.key,
icon: menu.icon
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Link, {
to: menu.to
}, menu.title));
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"], {
style: {
marginLeft: collapsed ? 80 : 200,
padding: "24px"
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(Content, {
style: {
background: "#fff",
padding: "24px",
minHeight: "calc(100vh - 65px)"
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Routes, null, canAccessReporterRoutes && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement((react__WEBPACK_IMPORTED_MODULE_5___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/family-survey",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_family_survey_index__WEBPACK_IMPORTED_MODULE_66__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/family-survey/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_family_survey_FamilySurveyForm__WEBPACK_IMPORTED_MODULE_65__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Navigate, {
to: "/family-survey",
replace: true
})
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "*",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Navigate, {
to: "/family-survey",
replace: true
})
})), (canAccessAdminRoutes || canAccessBasicRoutes) && !canAccessReporterRoutes && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement((react__WEBPACK_IMPORTED_MODULE_5___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/volunteers",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_volunteer__WEBPACK_IMPORTED_MODULE_30__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/volunteer/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_volunteer_form__WEBPACK_IMPORTED_MODULE_31__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/user-attendances",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_user_attendance_index__WEBPACK_IMPORTED_MODULE_63__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/user-attendances/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_user_attendance_form__WEBPACK_IMPORTED_MODULE_64__["default"], null)
})), canAccessAdminRoutes && !canAccessReporterRoutes && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement((react__WEBPACK_IMPORTED_MODULE_5___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(___WEBPACK_IMPORTED_MODULE_27__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/notification",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_notification_index__WEBPACK_IMPORTED_MODULE_62__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/users",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_user__WEBPACK_IMPORTED_MODULE_56__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/users/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_user_form__WEBPACK_IMPORTED_MODULE_57__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/disability-types",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_disability_type__WEBPACK_IMPORTED_MODULE_32__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/disability-types/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_disability_type_form__WEBPACK_IMPORTED_MODULE_33__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/education-institutions",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_education_institution__WEBPACK_IMPORTED_MODULE_35__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/education-institutions/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_education_institution_form__WEBPACK_IMPORTED_MODULE_34__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/foods",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_food__WEBPACK_IMPORTED_MODULE_36__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/foods/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_food_form__WEBPACK_IMPORTED_MODULE_37__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/interested-teams",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_interested_team__WEBPACK_IMPORTED_MODULE_38__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/interested-teams/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_interested_team_form__WEBPACK_IMPORTED_MODULE_39__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/languages",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_language__WEBPACK_IMPORTED_MODULE_40__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/languages/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_language_form__WEBPACK_IMPORTED_MODULE_41__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/occupations",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_occupation__WEBPACK_IMPORTED_MODULE_42__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/occupations/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_occupation_form__WEBPACK_IMPORTED_MODULE_43__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/opportunity-sources",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_opportunity_source__WEBPACK_IMPORTED_MODULE_44__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/opportunity-sources/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_opportunity_source_form__WEBPACK_IMPORTED_MODULE_45__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/provinces",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_province__WEBPACK_IMPORTED_MODULE_46__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/provinces/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_province_form__WEBPACK_IMPORTED_MODULE_47__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/skills",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_skill__WEBPACK_IMPORTED_MODULE_48__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/skills/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_skill_form__WEBPACK_IMPORTED_MODULE_49__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/terms-conditions",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_terms_condition__WEBPACK_IMPORTED_MODULE_50__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/terms-conditions/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_terms_condition_form__WEBPACK_IMPORTED_MODULE_51__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/training-sessions",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_training_session__WEBPACK_IMPORTED_MODULE_52__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/training-sessions/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_training_session_form__WEBPACK_IMPORTED_MODULE_53__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/volunteer-events",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_volunteer_event__WEBPACK_IMPORTED_MODULE_54__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/volunteer-events/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_volunteer_event_form__WEBPACK_IMPORTED_MODULE_55__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/offer-programs",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_offer_program__WEBPACK_IMPORTED_MODULE_59__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/offer-programs/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_offer_program_form__WEBPACK_IMPORTED_MODULE_58__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/travel-days",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_travel_day__WEBPACK_IMPORTED_MODULE_60__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, {
path: "/travel-days/form",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_travel_day_form__WEBPACK_IMPORTED_MODULE_61__["default"], null)
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_components_footer_footer_component__WEBPACK_IMPORTED_MODULE_28__["default"], null))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Main);
/***/ })
}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX3ZpZXdzX21haW5fZC52b2x1bnRlZXJhcGkuODU4NDQzMGU5OWQ2YWIzMGUxMDQuYnVuZGxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW1EO0FBR0k7QUFFZ0c7QUFDeEc7QUFDRDtBQUU5QyxJQUFNVSx5QkFBbUMsR0FBRyxTQUF0Q0EseUJBQW1DQSxDQUFBLEVBQVM7RUFDaEQsSUFBTUMsUUFBUSxHQUFHUix3REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBTVMsUUFBUSxHQUFHSiw2REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBQUssWUFBQSxHQUE4RVQsd0RBQVcsQ0FDdkYsVUFBQ1UsS0FBZ0I7TUFBQSxPQUFLQSxLQUFLLENBQUNDLGNBQWM7SUFBQSxDQUM1QyxDQUFDO0lBRk9BLGNBQWMsR0FBQUYsWUFBQSxDQUFkRSxjQUFjO0lBQUVDLG9CQUFvQixHQUFBSCxZQUFBLENBQXBCRyxvQkFBb0I7SUFBRUMsMkJBQTJCLEdBQUFKLFlBQUEsQ0FBM0JJLDJCQUEyQjtFQUd6RSxJQUFBQyxhQUFBLEdBQWVDLG9EQUFBLENBQUtDLE9BQU8sQ0FBQyxDQUFDO0lBQUFDLGNBQUEsR0FBQUMsY0FBQSxDQUFBSixhQUFBO0lBQXRCSyxJQUFJLEdBQUFGLGNBQUE7RUFFWCxJQUFNRyxZQUFZLEdBQUcsSUFBSUMsZUFBZSxDQUFDQyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUN6RCxJQUFNQyxFQUFFLEdBQUdKLFlBQVksQ0FBQ0ssR0FBRyxDQUFDLElBQUksQ0FBQztFQUVqQyxJQUFBQyxTQUFBLEdBQThCNUIsK0NBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTZCLFVBQUEsR0FBQVQsY0FBQSxDQUFBUSxTQUFBO0lBQXRDRSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBOztFQUUxQjtFQUNBOUIsZ0RBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTJCLEVBQUUs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LGVBQzNFL1UsMERBQUEsQ0FBQ2lULG9EQUFLO0lBQUMrRyxJQUFJLEVBQUMsY0FBYztJQUFDQyxPQUFPLGVBQUVqYSwwREFBQSxDQUFDaVYsb0RBQWEsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUN6RGpWLDBEQUFBLENBQUNpVCxvREFBSztJQUFDK0csSUFBSSxFQUFDLG1CQUFtQjtJQUFDQyxPQUFPLGVBQUVqYSwwREFBQSxDQUFDa1YseURBQW9CLE1BQUU7RUFBRSxDQUFFLENBR3BFLENBRUUsQ0FDRCxDQUFDLGVBQ1ZsViwwREFBQSxDQUFDdVQsNEVBQWUsTUFBRSxDQUNaLENBQ0YsQ0FDRixDQUFDO0FBRWIsQ0FBQztBQUVELGlFQUFlOEMsSUFBSSxFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9kaXNhYmlsaXR5X3R5cGUvZm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9kaXNhYmlsaXR5X3R5cGUvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2Zvcm0udHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2luZGV4LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2Zvb2QvZm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9mb29kL2luZGV4LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2hvbWUvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vaG9tZS9tYWluLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0sIElucHV0LCBCdXR0b24sIFJvdywgQ29sLCBtZXNzYWdlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvcmVkdXgvc3RvcmUnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgRGlzYWJpbGl0eVR5cGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLCBkaXNhYmlsaXR5VHlwZURldGFpbEFjdGlvbiwgdXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9kaXNhYmlsaXR5X3R5cGUvY29yZS9hY3Rpb25zJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgVGV4dEFyZWEgZnJvbSAnYW50ZC9lcy9pbnB1dC9UZXh0QXJlYSc7XG5cbmNvbnN0IE5ld0VkaXREaXNhYmlsaXR5VHlwZVBhZ2U6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgeyBkaXNhYmlsaXR5VHlwZSwgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIGRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmRpc2FiaWxpdHlUeXBlXG4gICk7XG4gIGNvbnN0IFtmb3JtXSA9IEZvcm0udXNlRm9ybSgpO1xuXG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgY29uc3QgaWQgPSBzZWFyY2hQYXJhbXMuZ2V0KCdpZCcpO1xuXG4gIGNvbnN0IFtpc0NsaWNrLCBzZXRJc0NsaWNrXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAvLyDwn5GJIEZldGNoIGRhdGEgd2hlbiBlZGl0aW5nIG9yIHJlc2V0IGZvcm0gd2hlbiBhZGRpbmdcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKGRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uKE51bWJlcihpZCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpOyAvLyBSZXNldCBmb3JtIGZpZWxkcyB3aGVuIGFkZGluZyBhIG5ldyBpdGVtXG4gICAgfVxuICB9LCBbZGlzcGF0Y2gsIGlkLCBmb3JtXSk7XG5cbiAgLy8g8J+RiSBQb3B1bGF0ZSBmb3JtIHdpdGggZmV0Y2hlZCBkYXRhXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkICYmIGRpc2FiaWxpdHlUeXBlKSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHtcbiAgICAgICAgbmFtZTogZGlzYWJpbGl0eVR5cGUubmFtZSB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IGRpc2FiaWxpdHlUeXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZGlzYWJpbGl0eVR5cGUsIGZvcm0sIGlkXSk7XG5cbiAgLy8g8J+RiSBTaG93IHN1Y2Nlc3Mgb3IgZXJyb3IgYWxlcnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFkaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgJiYgaXNDbGljaykge1xuICAgICAgaWYgKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKSB7XG4gICAgICAgIG1lc3NhZ2UuZXJyb3IocmVnaXN0ZXJFcnJvck1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGlkID8gJ1VwZGF0ZWQgc3VjY2Vzc2Z1bGx5IScgOiAnQ3JlYXRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICAgIG5hdmlnYXRlKCcvZGlzYWJpbGl0eS10eXBlcycpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2Rpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZywgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIGlkLCBpc0NsaWNrLCBuYXZpZ2F0ZV0pO1xuXG4gIC8vIPCfkYkgSGFuZGxlIGZvcm0gc3VibWl0XG4gIGNvbnN0IG9uRmluaXNoID0gKHZhbHVlczogRGlzYWJpbGl0eVR5cGUpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKHVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uKHsgaWQ6IE51bWJlcihpZCksIGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKGNyZWF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uKHsgZGF0YTogdmFsdWVzIH0pKTtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBhZnRlciBzdWNjZXNzZnVsIGNyZWF0aW9uXG4gICAgfVxuICAgIHNldElzQ2xpY2sodHJ1ZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGgyPntpZCA/ICfhnoDhn4LhnpThn5Lhnprhn4LhnpThn5Lhnprhnpfhn4HhnpHhnpbhnrfhnoDhnrbhnprhnpfhnrbhnpYnIDogJ+GelOGek+GfkuGekOGfguGemOGekOGfkuGemOGeuOGelOGfkuGemuGel+GfgeGekeGeluGet+GegOGetuGemuGel+GetuGelid9PC9oMj5cbiAgICAgIDxGb3JtIGZvcm09e2Zvcm19IGxheW91dD1cInZlcnRpY2FsXCIgb25GaW5pc2g9e29uRmluaXNofSBzdHlsZT17eyBtYXhXaWR0aDogJzEwMCUnLCBtYXJnaW46ICcwIGF1dG8nIH19PlxuICAgICAgICA8Um93IGd1dHRlcj17WzEyLCAxMl19PlxuICAgICAgICAgIDxDb2wgc3Bhbj17MTJ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGeiOGfkuGemOGfhOGfh1wiIG5hbWU9XCJuYW1lXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAnUGxlYXNlIGVudGVyIGEgbmFtZScgfV19PlxuICAgICAgICAgICAgICA8SW5wdXQgLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17MTJ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGelOGemuGet+GemeGetuGemVwiIG5hbWU9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICA8VGV4dEFyZWEgcm93cz17M30gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezN9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGJsb2NrIGh0bWxUeXBlPVwic3VibWl0XCIgbG9hZGluZz17ZGlzYWJpbGl0eVR5cGVVcGRhdGVQZW5kaW5nfT5cbiAgICAgICAgICAgICAgICBTdWJtaXRcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezN9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiBodG1sVHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlKCcvZGlzYWJpbGl0eS10eXBlcycpfT5cbiAgICAgICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0Zvcm0+XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOZXdFZGl0RGlzYWJpbGl0eVR5cGVQYWdlO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIElucHV0LCBTcGFjZSwgVGFibGUgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi4vLi4vLi4vY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgRGVsZXRlT3V0bGluZWQsIEVkaXRPdXRsaW5lZCwgUGx1c091dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHsgZGVsZXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24sIGRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uLCBmZXRjaERpc2FiaWxpdHlUeXBlcyB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5jb25zdCBEaXNhYmlsaXR5VHlwZUxpc3QgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBbc2VsZWN0ZWRSb3dzLCBzZXRTZWxlY3RlZFJvd3NdID0gdXNlU3RhdGU8YW55PihbXSk7XG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgeyBkaXNhYmlsaXR5VHlwZXMsIGRpc2FiaWxpdHlUeXBlc1BlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5kaXNhYmlsaXR5VHlwZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaERpc2FiaWxpdHlUeXBlcygpKTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cbiAgY29uc3QgaGFuZGxlRWRpdCA9IChpZDogYW55KSA9PiB7XG4gICAgZGlzcGF0Y2goZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24oaWQpKTtcbiAgICBuYXZpZ2F0ZShgL2Rpc2FiaWxpdHktdHlwZXMvZm9ybT9pZD0ke2lkfWApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IChpZDogYW55KSA9PiB7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgICB0ZXh0OiAnWW91IHdvblxcJ3QgYmUgYWJsZSB0byByZXZlcnQgdGhpcyEnLFxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXG4gICAgICBodG1sOiBgXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjb25maXJtLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY29uZmlybSBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNkMzM7XCI+RGVsZXRlPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNhbmNlbC1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNhbmNlbCBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMzMDg1ZDY7XCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYCxcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NvbmZpcm0tZGVsZXRlJyk7XG4gICAgICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NhbmNlbC1kZWxldGUnKTtcblxuICAgICAgICBjb25maXJtQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBkaXNwYXRjaChkZWxldGVEaXNhYmlsaXR5VHlwZUFjdGlvbihpZCkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgU3dhbC5maXJlKCdEZWxldGVkIScsICdUaGUgaXRlbSBoYXMgYmVlbiBkZWxldGVkLicsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICBkaXNwYXRjaChmZXRjaERpc2FiaWxpdHlUeXBlcygpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbmNlbEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gKCkgPT4ge1xuICAgIC8vIFRyaWdnZXJzIHNlYXJjaCBieSBzZXR0aW5nIHN0YXRlXG4gICAgc2V0U2VhcmNoVGV4dChzZWFyY2hUZXh0LnRyaW0oKSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXQgPSAoKSA9PiB7XG4gICAgLy8gQ2xlYXJzIGlucHV0IGFuZCBzaG93cyBhbGwgZGF0YVxuICAgIHNldFNlYXJjaFRleHQoJycpO1xuICB9O1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAgeyB0aXRsZTogJ+Gem+GfgeGegeGemuGfgOGehCcsIGRhdGFJbmRleDogJ2luZGV4Jywga2V5OiAnaW5kZXgnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6I4Z+S4Z6Y4Z+E4Z+HJywgZGF0YUluZGV4OiAnbmFtZScsIGtleTogJ25hbWUnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6U4Z6a4Z634Z6Z4Z624Z6ZJywgZGF0YUluZGV4OiAnZGVzY3JpcHRpb24nLCBrZXk6ICdkZXNjcmlwdGlvbicsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnQWN0aW9uJyxcbiAgICAgIGtleTogJ2FjdGlvbicsXG4gICAgICByZXNwb25zaXZlOiBbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJ10sXG4gICAgICByZW5kZXI6IChfOiBzdHJpbmcsIHJlY29yZDogYW55KSA9PiAoXG4gICAgICAgIDxTcGFjZSBzaXplPVwibWlkZGxlXCI+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8RWRpdE91dGxpbmVkIC8+fSB0eXBlPVwicHJpbWFyeVwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX0gLz5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxEZWxldGVPdXRsaW5lZCAvPn0gZGFuZ2VyIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShyZWNvcmQuaWQpfSAvPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgKSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IGZpbHRlcmVkRGF0YSA9IChkaXNhYmlsaXR5VHlwZXMgfHwgW10pLmZpbHRlcigoaXQpID0+XG4gICAgaXQubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IG92ZXJmbG93WDogJ2F1dG8nIH19PlxuICAgICAgPGgyPuGelOGeieGfkuGeh+GeuOGelOGfkuGemuGel+GfgeGekeGeluGet+GegOGetuGemuGel+GetuGeljwvaDI+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgcGFkZGluZzogJzEwcHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjZjVmNWY1JyxcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8c3Bhbj7hnp/hnprhnrvhnpQ6IHtmaWx0ZXJlZERhdGE/Lmxlbmd0aCB8fCAwfTwvc3Bhbj5cbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi4Z6f4Z+S4Z6c4Z+C4Z6E4Z6a4Z6ALi4uXCJcbiAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAyMDAgfX1cbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hUZXh0fVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRTZWFyY2hUZXh0KGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlU2VhcmNofSB0eXBlPVwicHJpbWFyeVwiPuGeheGemOGfkuGemuGfhOGfhzwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlUmVzZXR9PuGegOGfhuGejuGej+Gfi+GeoeGevuGehOGenOGet+GeiTwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxQbHVzT3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gbmF2aWdhdGUoYC9kaXNhYmlsaXR5LXR5cGVzL2Zvcm1gKX0+4Z6U4Z6T4Z+S4Z6Q4Z+C4Z6Y4Z6Q4Z+S4Z6Y4Z64PC9CdXR0b24+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxUYWJsZVxuICAgICAgICByb3dTZWxlY3Rpb249e3tcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIG9uQ2hhbmdlOiAoXywgc2VsZWN0ZWRSb3dzKSA9PiBzZXRTZWxlY3RlZFJvd3Moc2VsZWN0ZWRSb3dzKSxcbiAgICAgICAgfX1cbiAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgZGF0YVNvdXJjZT17ZmlsdGVyZWREYXRhLm1hcCgoaXQsIGluZGV4KSA9PiAoe1xuICAgICAgICAgIGtleTogaXQuaWQsXG4gICAgICAgICAgaW5kZXg6IGluZGV4ICsgMSxcbiAgICAgICAgICBuYW1lOiBpdC5uYW1lLFxuICAgICAgICAgIC4uLml0LFxuICAgICAgICB9KSl9XG4gICAgICAgIHBhZ2luYXRpb249e3sgcGFnZVNpemU6IDEwLCBzaG93U2l6ZUNoYW5nZXI6IHRydWUgfX1cbiAgICAgICAgc2Nyb2xsPXt7IHg6ICdtYXgtY29udGVudCcgfX1cbiAgICAgIC8+XG4gICAgICA8TG9hZGluZ0RpYWxvZyB2aXNpYmxlPXtkaXNhYmlsaXR5VHlwZXNQZW5kaW5nfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlzYWJpbGl0eVR5cGVMaXN0O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtLCBJbnB1dCwgQnV0dG9uLCBSb3csIENvbCwgbWVzc2FnZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vcmVkdXgvc3RvcmUnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgRWR1Y2F0aW9uSW5zdGl0dXRpb24gfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uLCBlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbiwgdXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9lZHVjYXRpb25faW5zdGl0dXRpb24vY29yZS9hY3Rpb25zJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgVGV4dEFyZWEgZnJvbSAnYW50ZC9lcy9pbnB1dC9UZXh0QXJlYSc7XG5cbmNvbnN0IE5ld0VkaXRFZHVjYXRpb25JbnN0aXR1dGlvblBhZ2U6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgeyBlZHVjYXRpb25JbnN0aXR1dGlvbiwgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIGVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uXG4gICk7XG4gIGNvbnN0IFtmb3JtXSA9IEZvcm0udXNlRm9ybSgpO1xuXG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgY29uc3QgaWQgPSBzZWFyY2hQYXJhbXMuZ2V0KCdpZCcpO1xuXG4gIGNvbnN0IFtpc0NsaWNrLCBzZXRJc0NsaWNrXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAvLyDwn5GJIEZldGNoIGRhdGEgd2hlbiBlZGl0aW5nIG9yIHJlc2V0IGZvcm0gd2hlbiBhZGRpbmdcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uKE51bWJlcihpZCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpOyAvLyBSZXNldCBmb3JtIGZpZWxkcyB3aGVuIGFkZGluZyBhIG5ldyBpdGVtXG4gICAgfVxuICB9LCBbZGlzcGF0Y2gsIGlkLCBmb3JtXSk7XG5cbiAgLy8g8J+RiSBQb3B1bGF0ZSBmb3JtIHdpdGggZmV0Y2hlZCBkYXRhXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkICYmIGVkdWNhdGlvbkluc3RpdHV0aW9uKSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHtcbiAgICAgICAgbmFtZTogZWR1Y2F0aW9uSW5zdGl0dXRpb24ubmFtZSB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IGVkdWNhdGlvbkluc3RpdHV0aW9uLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZWR1Y2F0aW9uSW5zdGl0dXRpb24sIGZvcm0sIGlkXSk7XG5cbiAgLy8g8J+RiSBTaG93IHN1Y2Nlc3Mgb3IgZXJyb3IgYWxlcnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlZHVjYXRpb25JbnN0aXR1dGlvblVwZGF0ZVBlbmRpbmcgJiYgaXNDbGljaykge1xuICAgICAgaWYgKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKSB7XG4gICAgICAgIG1lc3NhZ2UuZXJyb3IocmVnaXN0ZXJFcnJvck1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGlkID8gJ1VwZGF0ZWQgc3VjY2Vzc2Z1bGx5IScgOiAnQ3JlYXRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICAgIG5hdmlnYXRlKCcvZWR1Y2F0aW9uLWluc3RpdHV0aW9ucycpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZywgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIGlkLCBpc0NsaWNrLCBuYXZpZ2F0ZV0pO1xuXG4gIC8vIPCfkYkgSGFuZGxlIGZvcm0gc3VibWl0XG4gIGNvbnN0IG9uRmluaXNoID0gKHZhbHVlczogRWR1Y2F0aW9uSW5zdGl0dXRpb24pID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uKHsgaWQ6IE51bWJlcihpZCksIGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKGNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uKHsgZGF0YTogdmFsdWVzIH0pKTtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBhZnRlciBzdWNjZXNzZnVsIGNyZWF0aW9uXG4gICAgfVxuICAgIHNldElzQ2xpY2sodHJ1ZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGgyPntpZCA/ICfhnoDhn4LhnpThn5Lhnprhn4Lhnp/hn5LhnpDhnrbhnpThn5DhnpPhnqLhnpThn4vhnprhn4YnIDogJ+GelOGek+GfkuGekOGfguGemOGekOGfkuGemOGeuOGen+GfkuGekOGetuGelOGfkOGek+GeouGelOGfi+GemuGfhid9PC9oMj5cbiAgICAgIDxGb3JtIGZvcm09e2Zvcm19IGxheW91dD1cInZlcnRpY2FsXCIgb25GaW5pc2g9e29uRmluaXNofSBzdHlsZT17eyBtYXhXaWR0aDogJzEwMCUnLCBtYXJnaW46ICcwIGF1dG8nIH19PlxuICAgICAgICA8Um93IGd1dHRlcj17WzEyLCAxMl19PlxuICAgICAgICAgIDxDb2wgc3Bhbj17MTJ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGeiOGfkuGemOGfhOGfh1wiIG5hbWU9XCJuYW1lXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAnUGxlYXNlIGVudGVyIGEgbmFtZScgfV19PlxuICAgICAgICAgICAgICA8SW5wdXQgLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17MTJ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGelOGemuGet+GemeGetuGemVwiIG5hbWU9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICA8VGV4dEFyZWEgcm93cz17M30gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezN9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGJsb2NrIGh0bWxUeXBlPVwic3VibWl0XCIgbG9hZGluZz17ZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nfT5cbiAgICAgICAgICAgICAgICBTdWJtaXRcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezN9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiBodG1sVHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlKCcvZWR1Y2F0aW9uLWluc3RpdHV0aW9ucycpfT5cbiAgICAgICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0Zvcm0+XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOZXdFZGl0RWR1Y2F0aW9uSW5zdGl0dXRpb25QYWdlO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIElucHV0LCBTcGFjZSwgVGFibGUgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuLi8uLi8uLi9jb250YWluZXIvZGlhbG9ncy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBEZWxldGVPdXRsaW5lZCwgRWRpdE91dGxpbmVkLCBQbHVzT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiwgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb24sIGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbmNvbnN0IEVkdWNhdGlvbkluc3RpdHV0aW9uTGlzdCA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IFtzZWxlY3RlZFJvd3MsIHNldFNlbGVjdGVkUm93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3QgW3NlYXJjaFRleHQsIHNldFNlYXJjaFRleHRdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCB7IGVkdWNhdGlvbkluc3RpdHV0aW9ucywgZWR1Y2F0aW9uSW5zdGl0dXRpb25zUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zKCkpO1xuICB9LCBbZGlzcGF0Y2hdKTtcblxuICBjb25zdCBoYW5kbGVFZGl0ID0gKGlkOiBhbnkpID0+IHtcbiAgICBkaXNwYXRjaChlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbihpZCkpO1xuICAgIG5hdmlnYXRlKGAvZWR1Y2F0aW9uLWluc3RpdHV0aW9ucy9mb3JtP2lkPSR7aWR9YCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlID0gKGlkOiBhbnkpID0+IHtcbiAgICBTd2FsLmZpcmUoe1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmU/JyxcbiAgICAgIHRleHQ6ICdZb3Ugd29uXFwndCBiZSBhYmxlIHRvIHJldmVydCB0aGlzIScsXG4gICAgICBpY29uOiAnd2FybmluZycsXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZSxcbiAgICAgIGh0bWw6IGBcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDEwcHg7IG1hcmdpbi10b3A6IDIwcHg7XCI+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNvbmZpcm0tZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jb25maXJtIHN3YWwyLXN0eWxlZFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2QzMztcIj5EZWxldGU8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY2FuY2VsLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY2FuY2VsIHN3YWwyLXN0eWxlZFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzMwODVkNjtcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgLFxuICAgICAgZGlkT3BlbjogKCkgPT4ge1xuICAgICAgICBjb25zdCBjb25maXJtQnV0dG9uID0gU3dhbC5nZXRQb3B1cCgpPy5xdWVyeVNlbGVjdG9yKCcjY29uZmlybS1kZWxldGUnKTtcbiAgICAgICAgY29uc3QgY2FuY2VsQnV0dG9uID0gU3dhbC5nZXRQb3B1cCgpPy5xdWVyeVNlbGVjdG9yKCcjY2FuY2VsLWRlbGV0ZScpO1xuXG4gICAgICAgIGNvbmZpcm1CdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIGRpc3BhdGNoKGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uKGlkKSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBTd2FsLmZpcmUoJ0RlbGV0ZWQhJywgJ1RoZSBpdGVtIGhhcyBiZWVuIGRlbGV0ZWQuJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zKCkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY2FuY2VsQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTZWFyY2ggPSAoKSA9PiB7XG4gICAgLy8gVHJpZ2dlcnMgc2VhcmNoIGJ5IHNldHRpbmcgc3RhdGVcbiAgICBzZXRTZWFyY2hUZXh0KHNlYXJjaFRleHQudHJpbSgpKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVSZXNldCA9ICgpID0+IHtcbiAgICAvLyBDbGVhcnMgaW5wdXQgYW5kIHNob3dzIGFsbCBkYXRhXG4gICAgc2V0U2VhcmNoVGV4dCgnJyk7XG4gIH07XG5cbiAgY29uc3QgY29sdW1ucyA9IFtcbiAgICB7IHRpdGxlOiAn4Z6b4Z+B4Z6B4Z6a4Z+A4Z6EJywgZGF0YUluZGV4OiAnaW5kZXgnLCBrZXk6ICdpbmRleCcsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnojhn5Lhnpjhn4Thn4cnLCBkYXRhSW5kZXg6ICduYW1lJywga2V5OiAnbmFtZScsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnpThnprhnrfhnpnhnrbhnpknLCBkYXRhSW5kZXg6ICdkZXNjcmlwdGlvbicsIGtleTogJ2Rlc2NyaXB0aW9uJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdBY3Rpb24nLFxuICAgICAga2V5OiAnYWN0aW9uJyxcbiAgICAgIHJlc3BvbnNpdmU6IFsneHMnLCAnc20nLCAnbWQnLCAnbGcnXSxcbiAgICAgIHJlbmRlcjogKF86IHN0cmluZywgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJtaWRkbGVcIj5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxFZGl0T3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfSAvPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PERlbGV0ZU91dGxpbmVkIC8+fSBkYW5nZXIgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlKHJlY29yZC5pZCl9IC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgZmlsdGVyZWREYXRhID0gKGVkdWNhdGlvbkluc3RpdHV0aW9ucyB8fCBbXSkuZmlsdGVyKChpdCkgPT5cbiAgICBpdC5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSlcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgb3ZlcmZsb3dYOiAnYXV0bycgfX0+XG4gICAgICA8aDI+4Z6U4Z6J4Z+S4Z6H4Z644Z6f4Z+S4Z6Q4Z624Z6U4Z+Q4Z6T4Z6i4Z6U4Z+L4Z6a4Z+GPC9oMj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogJyNmNWY1ZjUnLFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEwcHgnLFxuICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgIDxzcGFuPuGen+GemuGeu+GelDoge2ZpbHRlcmVkRGF0YT8ubGVuZ3RoIHx8IDB9PC9zcGFuPlxuICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLhnp/hn5Lhnpzhn4LhnoThnprhnoAuLi5cIlxuICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IDIwMCB9fVxuICAgICAgICAgICAgdmFsdWU9e3NlYXJjaFRleHR9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldFNlYXJjaFRleHQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTZWFyY2h9IHR5cGU9XCJwcmltYXJ5XCI+4Z6F4Z6Y4Z+S4Z6a4Z+E4Z+HPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVSZXNldH0+4Z6A4Z+G4Z6O4Z6P4Z+L4Z6h4Z6+4Z6E4Z6c4Z634Z6JPC9CdXR0b24+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PFBsdXNPdXRsaW5lZCAvPn0gdHlwZT1cInByaW1hcnlcIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZShgL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvZm9ybWApfT7hnpThnpPhn5LhnpDhn4LhnpjhnpDhn5Lhnpjhnrg8L0J1dHRvbj5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPFRhYmxlXG4gICAgICAgIHJvd1NlbGVjdGlvbj17e1xuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgb25DaGFuZ2U6IChfLCBzZWxlY3RlZFJvd3MpID0+IHNldFNlbGVjdGVkUm93cyhzZWxlY3RlZFJvd3MpLFxuICAgICAgICB9fVxuICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICBkYXRhU291cmNlPXtmaWx0ZXJlZERhdGEubWFwKChpdCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAga2V5OiBpdC5pZCxcbiAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgIG5hbWU6IGl0Lm5hbWUsXG4gICAgICAgICAgLi4uaXQsXG4gICAgICAgIH0pKX1cbiAgICAgICAgcGFnaW5hdGlvbj17eyBwYWdlU2l6ZTogMTAsIHNob3dTaXplQ2hhbmdlcjogdHJ1ZSB9fVxuICAgICAgICBzY3JvbGw9e3sgeDogJ21heC1jb250ZW50JyB9fVxuICAgICAgLz5cbiAgICAgIDxMb2FkaW5nRGlhbG9nIHZpc2libGU9e2VkdWNhdGlvbkluc3RpdHV0aW9uc1BlbmRpbmd9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFZHVjYXRpb25JbnN0aXR1dGlvbkxpc3Q7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0sIElucHV0LCBCdXR0b24sIFJvdywgQ29sLCBtZXNzYWdlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBGb29kIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVGb29kQWN0aW9uLCBmb29kRGV0YWlsQWN0aW9uLCB1cGRhdGVGb29kQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZm9vZC9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBUZXh0QXJlYSBmcm9tICdhbnRkL2VzL2lucHV0L1RleHRBcmVhJztcblxuY29uc3QgTmV3RWRpdEZvb2RQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHsgZm9vZCwgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIGZvb2RVcGRhdGVQZW5kaW5nIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuZm9vZFxuICApO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcblxuICBjb25zdCBbaXNDbGljaywgc2V0SXNDbGlja10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8g8J+RiSBGZXRjaCBkYXRhIHdoZW4gZWRpdGluZyBvciByZXNldCBmb3JtIHdoZW4gYWRkaW5nXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaChmb29kRGV0YWlsQWN0aW9uKE51bWJlcihpZCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpOyAvLyBSZXNldCBmb3JtIGZpZWxkcyB3aGVuIGFkZGluZyBhIG5ldyBpdGVtXG4gICAgfVxuICB9LCBbZGlzcGF0Y2gsIGlkLCBmb3JtXSk7XG5cbiAgLy8g8J+RiSBQb3B1bGF0ZSBmb3JtIHdpdGggZmV0Y2hlZCBkYXRhXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkICYmIGZvb2QpIHtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoe1xuICAgICAgICBuYW1lOiBmb29kLm5hbWUgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBmb29kLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZm9vZCwgZm9ybSwgaWRdKTtcblxuICAvLyDwn5GJIFNob3cgc3VjY2VzcyBvciBlcnJvciBhbGVydHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWZvb2RVcGRhdGVQZW5kaW5nICYmIGlzQ2xpY2spIHtcbiAgICAgIGlmIChyZWdpc3RlckVycm9yTWVzc2FnZSkge1xuICAgICAgICBtZXNzYWdlLmVycm9yKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhpZCA/ICdVcGRhdGVkIHN1Y2Nlc3NmdWxseSEnIDogJ0NyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgICBuYXZpZ2F0ZSgnL2Zvb2RzJyk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZm9vZFVwZGF0ZVBlbmRpbmcsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBpZCwgaXNDbGljaywgbmF2aWdhdGVdKTtcblxuICAvLyDwn5GJIEhhbmRsZSBmb3JtIHN1Ym1pdFxuICBjb25zdCBvbkZpbmlzaCA9ICh2YWx1ZXM6IEZvb2QpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKHVwZGF0ZUZvb2RBY3Rpb24oeyBpZDogTnVtYmVyKGlkKSwgZGF0YTogdmFsdWVzIH0pKTtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goY3JlYXRlRm9vZEFjdGlvbih7IGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gYWZ0ZXIgc3VjY2Vzc2Z1bCBjcmVhdGlvblxuICAgIH1cbiAgICBzZXRJc0NsaWNrKHRydWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMj57aWQgPyAn4Z6A4Z+C4Z6U4Z+S4Z6a4Z+C4Z6i4Z624Z6g4Z624Z6aJyA6ICfhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5LhnpjhnrjhnqLhnrbhnqDhnrbhnponfTwvaDI+XG4gICAgICA8Rm9ybSBmb3JtPXtmb3JtfSBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiIG9uRmluaXNoPXtvbkZpbmlzaH0gc3R5bGU9e3sgbWF4V2lkdGg6ICcxMDAlJywgbWFyZ2luOiAnMCBhdXRvJyB9fT5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4dcIiBuYW1lPVwibmFtZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ1BsZWFzZSBlbnRlciBhIG5hbWUnIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpThnprhnrfhnpnhnrbhnplcIiBuYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPFRleHRBcmVhIHJvd3M9ezN9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInByaW1hcnlcIiBibG9jayBodG1sVHlwZT1cInN1Ym1pdFwiIGxvYWRpbmc9e2Zvb2RVcGRhdGVQZW5kaW5nfT5cbiAgICAgICAgICAgICAgICBTdWJtaXRcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezN9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiBodG1sVHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlKCcvZm9vZHMnKX0+XG4gICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Gb3JtPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmV3RWRpdEZvb2RQYWdlO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIElucHV0LCBTcGFjZSwgVGFibGUgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuLi8uLi8uLi9jb250YWluZXIvZGlhbG9ncy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBEZWxldGVPdXRsaW5lZCwgRWRpdE91dGxpbmVkLCBQbHVzT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBkZWxldGVGb29kQWN0aW9uLCBmb29kRGV0YWlsQWN0aW9uLCBmZXRjaEZvb2RzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZm9vZC9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5jb25zdCBGb29kTGlzdCA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IFtzZWxlY3RlZFJvd3MsIHNldFNlbGVjdGVkUm93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3QgW3NlYXJjaFRleHQsIHNldFNlYXJjaFRleHRdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCB7IGZvb2RzLCBmb29kc1BlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5mb29kKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoRm9vZHMoKSk7XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIGNvbnN0IGhhbmRsZUVkaXQgPSAoaWQ6IGFueSkgPT4ge1xuICAgIGRpc3BhdGNoKGZvb2REZXRhaWxBY3Rpb24oaWQpKTtcbiAgICBuYXZpZ2F0ZShgL2Zvb2RzL2Zvcm0/aWQ9JHtpZH1gKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZWxldGUgPSAoaWQ6IGFueSkgPT4ge1xuICAgIFN3YWwuZmlyZSh7XG4gICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZT8nLFxuICAgICAgdGV4dDogJ1lvdSB3b25cXCd0IGJlIGFibGUgdG8gcmV2ZXJ0IHRoaXMhJyxcbiAgICAgIGljb246ICd3YXJuaW5nJyxcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgaHRtbDogYFxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMjBweDtcIj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY29uZmlybS1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNvbmZpcm0gc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzO1wiPkRlbGV0ZTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjYW5jZWwtZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jYW5jZWwgc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMzA4NWQ2O1wiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGAsXG4gICAgICBkaWRPcGVuOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1CdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjb25maXJtLWRlbGV0ZScpO1xuICAgICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjYW5jZWwtZGVsZXRlJyk7XG5cbiAgICAgICAgY29uZmlybUJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgZGlzcGF0Y2goZGVsZXRlRm9vZEFjdGlvbihpZCkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgU3dhbC5maXJlKCdEZWxldGVkIScsICdUaGUgaXRlbSBoYXMgYmVlbiBkZWxldGVkLicsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICBkaXNwYXRjaChmZXRjaEZvb2RzKCkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY2FuY2VsQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTZWFyY2ggPSAoKSA9PiB7XG4gICAgLy8gVHJpZ2dlcnMgc2VhcmNoIGJ5IHNldHRpbmcgc3RhdGVcbiAgICBzZXRTZWFyY2hUZXh0KHNlYXJjaFRleHQudHJpbSgpKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVSZXNldCA9ICgpID0+IHtcbiAgICAvLyBDbGVhcnMgaW5wdXQgYW5kIHNob3dzIGFsbCBkYXRhXG4gICAgc2V0U2VhcmNoVGV4dCgnJyk7XG4gIH07XG5cbiAgY29uc3QgY29sdW1ucyA9IFtcbiAgICB7IHRpdGxlOiAn4Z6b4Z+B4Z6B4Z6a4Z+A4Z6EJywgZGF0YUluZGV4OiAnaW5kZXgnLCBrZXk6ICdpbmRleCcsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnojhn5Lhnpjhn4Thn4cnLCBkYXRhSW5kZXg6ICduYW1lJywga2V5OiAnbmFtZScsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnpThnprhnrfhnpnhnrbhnpknLCBkYXRhSW5kZXg6ICdkZXNjcmlwdGlvbicsIGtleTogJ2Rlc2NyaXB0aW9uJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdBY3Rpb24nLFxuICAgICAga2V5OiAnYWN0aW9uJyxcbiAgICAgIHJlc3BvbnNpdmU6IFsneHMnLCAnc20nLCAnbWQnLCAnbGcnXSxcbiAgICAgIHJlbmRlcjogKF86IHN0cmluZywgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJtaWRkbGVcIj5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxFZGl0T3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfSAvPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PERlbGV0ZU91dGxpbmVkIC8+fSBkYW5nZXIgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlKHJlY29yZC5pZCl9IC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgZmlsdGVyZWREYXRhID0gKGZvb2RzIHx8IFtdKS5maWx0ZXIoKGl0KSA9PlxuICAgIGl0Lm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBvdmVyZmxvd1g6ICdhdXRvJyB9fT5cbiAgICAgIDxoMj7hnpThnonhn5LhnofhnrjhnqLhnrbhnqDhnrbhnpo8L2gyPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y1ZjVmNScsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTBweCcsXG4gICAgICAgICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFNwYWNlIHdyYXA+XG4gICAgICAgICAgPHNwYW4+4Z6f4Z6a4Z674Z6UOiB7ZmlsdGVyZWREYXRhPy5sZW5ndGggfHwgMH08L3NwYW4+XG4gICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuGen+GfkuGenOGfguGehOGemuGegC4uLlwiXG4gICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogMjAwIH19XG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVGV4dH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0U2VhcmNoVGV4dChlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVNlYXJjaH0gdHlwZT1cInByaW1hcnlcIj7hnoXhnpjhn5Lhnprhn4Thn4c8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVJlc2V0fT7hnoDhn4bhno7hno/hn4vhnqHhnr7hnoThnpzhnrfhnok8L0J1dHRvbj5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgICAgPFNwYWNlIHdyYXA+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8UGx1c091dGxpbmVkIC8+fSB0eXBlPVwicHJpbWFyeVwiIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlKGAvZm9vZHMvZm9ybWApfT7hnpThnpPhn5LhnpDhn4LhnpjhnpDhn5Lhnpjhnrg8L0J1dHRvbj5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPFRhYmxlXG4gICAgICAgIHJvd1NlbGVjdGlvbj17e1xuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgb25DaGFuZ2U6IChfLCBzZWxlY3RlZFJvd3MpID0+IHNldFNlbGVjdGVkUm93cyhzZWxlY3RlZFJvd3MpLFxuICAgICAgICB9fVxuICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICBkYXRhU291cmNlPXtmaWx0ZXJlZERhdGEubWFwKChpdCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAga2V5OiBpdC5pZCxcbiAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgIG5hbWU6IGl0Lm5hbWUsXG4gICAgICAgICAgLi4uaXQsXG4gICAgICAgIH0pKX1cbiAgICAgICAgcGFnaW5hdGlvbj17eyBwYWdlU2l6ZTogMTAsIHNob3dTaXplQ2hhbmdlcjogdHJ1ZSB9fVxuICAgICAgICBzY3JvbGw9e3sgeDogJ21heC1jb250ZW50JyB9fVxuICAgICAgLz5cbiAgICAgIDxMb2FkaW5nRGlhbG9nIHZpc2libGU9e2Zvb2RzUGVuZGluZ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZvb2RMaXN0O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZVwiO1xuaW1wb3J0IHsgZmV0Y2hEYXNoYm9hcmRBY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IHsgTGF5b3V0LCBCcmVhZGNydW1iLCBSb3csIENvbCwgQ2FyZCwgU3RhdGlzdGljLCBCdXR0b24sIFR5cG9ncmFwaHkgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgVXNlck91dGxpbmVkLCBDYWxlbmRhck91dGxpbmVkLCBUZWFtT3V0bGluZWQsIEZpbGVFeGNlbE91dGxpbmVkIH0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XG5pbXBvcnQgeyBCYXJDaGFydCwgWEF4aXMsIFlBeGlzLCBUb29sdGlwIGFzIFJlY2hhcnRzVG9vbHRpcCwgQmFyLCBSZXNwb25zaXZlQ29udGFpbmVyLCBDYXJ0ZXNpYW5HcmlkLCBQaWVDaGFydCwgUGllLCBDZWxsLCBMZWdlbmQgfSBmcm9tIFwicmVjaGFydHNcIjtcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSBcInhsc3hcIjsgLy8g4pyFIEltcG9ydCBYTFNYIGZvciBFeGNlbCBleHBvcnRcblxuY29uc3QgeyBUaXRsZSB9ID0gVHlwb2dyYXBoeTtcbmNvbnN0IHsgQ29udGVudCB9ID0gTGF5b3V0O1xuXG5jb25zdCBDT0xPUlMgPSBbJyMwMDg4RkUnLCAnIzAwQzQ5RicsICcjRkZCQjI4JywgJyNGRjgwNDInLCAnI0EyOERGRicsICcjRkY0NTYwJywgJyM3NzVERDAnLCAnI0Y4NjYyNCddO1xuY29uc3QgU1RBVF9DT0xPUlMgPSBbJyNGRjU3MzMnLCAnIzAwNzNlNicsICcjMkVDQzcxJywgJyMxRTkwRkYnLCAnI0ZGNjlCNCcsICcjRkZBNTAwJywgJyNGMEJCRjBGRiddO1xuXG5jb25zdCBEYXNoYm9hcmRIb21lOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgeyBkYXNoYm9hcmQgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS52b2x1bnRlZXIpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaERhc2hib2FyZEFjdGlvbigpKTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cbiAgY29uc3QgY2hhcnREYXRhID0gT2JqZWN0LmVudHJpZXMoZGFzaGJvYXJkPy5jb3VudF92b2x1bnRlZXJfc3RhdHVzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBuYW1lOiBrZXkucmVwbGFjZShcImNvdW50X1wiLCBcIlwiKS5yZXBsYWNlKFwiX1wiLCBcIiBcIiksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICBjb25zdCBjaGF0Vm9sdW50ZWVyUHJvdmluY2UgPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9wcm92aW5jZXMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleS5zcGxpdChcIi9cIikucG9wKCkudHJpbSgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgY29uc3QgY2hhdFZvbHVudGVlckdlbmRlciA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX2dlbmRlcnMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleS5yZXBsYWNlKFwiY291bnRfXCIsIFwiXCIpLnJlcGxhY2UoXCJfXCIsIFwiIFwiKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIGNvbnN0IGNoYXRWb2x1bnRlZXJUc2hpcnQgPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9zaGlydF9zaXplcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgbmFtZToga2V5LFxuICAgIHZhbHVlLFxuICB9KSk7XG5cblxuICAvLyBjb3VudF92b2x1bnRlZXJfb2NjdXBhdGlvbnNcblxuXG4gIGNvbnN0IGNoYXRWb2x1bnRlZXJPY2N1cGF0aW9ucyA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX29jY3VwYXRpb25zIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBuYW1lOiBrZXksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICAvLyBjb3VudF92b2x1bnRlZXJfZWR1Y2F0aW9uX2luc3RpdHV0aW9uc1xuICBjb25zdCBjaGF0Vm9sdW50ZWVyRWR1Y2F0aW9uSW5zdCA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX2VkdWNhdGlvbl9pbnN0aXR1dGlvbnMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIC8vIGNvdW50X2ludGVyZXN0ZWRfdGVhbVxuICBjb25zdCBjaGF0Vm9sdW50ZWVySW50ZXJlc3RlZFRlYW0gPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X2ludGVyZXN0ZWRfdGVhbSB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgbmFtZToga2V5LFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgLy8g4pyFIEZ1bmN0aW9uIHRvIEV4cG9ydCBBbGwgRGF0YSB0byBFeGNlbFxuICBjb25zdCBleHBvcnRUb0V4Y2VsID0gKCkgPT4ge1xuICAgIGNvbnN0IHdiID0gWExTWC51dGlscy5ib29rX25ldygpO1xuXG4gICAgLy8gQ3JlYXRlIGluZGl2aWR1YWwgc2hlZXRzIGZvciBlYWNoIGRhdGFzZXRcbiAgICBjb25zdCBzaGVldHMgPSB7XG4gICAgICBcIlZvbHVudGVlciBTdGF0dXNcIjogY2hhcnREYXRhLFxuICAgICAgXCJWb2x1bnRlZXIgYnkgUHJvdmluY2VcIjogY2hhdFZvbHVudGVlclByb3ZpbmNlLFxuICAgICAgXCJWb2x1bnRlZXIgR2VuZGVyXCI6IGNoYXRWb2x1bnRlZXJHZW5kZXIsXG4gICAgICBcIlZvbHVudGVlciBULVNoaXJ0IFNpemVcIjogY2hhdFZvbHVudGVlclRzaGlydCxcbiAgICAgIFwiVm9sdW50ZWVyIE9jY3VwYXRpb25zXCI6IGNoYXRWb2x1bnRlZXJPY2N1cGF0aW9ucyxcbiAgICAgIFwiRWR1Y2F0aW9uIEluc3RpdHV0aW9uc1wiOiBjaGF0Vm9sdW50ZWVyRWR1Y2F0aW9uSW5zdCxcbiAgICAgIFwiVGVhbVwiOiBjaGF0Vm9sdW50ZWVySW50ZXJlc3RlZFRlYW0sXG4gICAgfTtcblxuICAgIE9iamVjdC5lbnRyaWVzKHNoZWV0cykuZm9yRWFjaCgoW3NoZWV0TmFtZSwgZGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IHdzID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGRhdGEpO1xuICAgICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsIHNoZWV0TmFtZSk7XG4gICAgfSk7XG5cbiAgICAvLyDinIUgR2VuZXJhdGUgYW5kIERvd25sb2FkIHRoZSBFeGNlbCBGaWxlXG4gICAgWExTWC53cml0ZUZpbGUod2IsIFwiVm9sdW50ZWVyX0Rhc2hib2FyZF9SZXBvcnQueGxzeFwiKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxMYXlvdXQgc3R5bGU9e3sgcGFkZGluZzogJzE2cHgnIH19PlxuICAgICAgPEJyZWFkY3J1bWIgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnMTJweCcsIGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG5cbiAgICAgICAgPEJyZWFkY3J1bWIuSXRlbT5EYXNoYm9hcmQ8L0JyZWFkY3J1bWIuSXRlbT5cblxuICAgICAgPC9CcmVhZGNydW1iPlxuXG4gICAgICA8Q29udGVudCBzdHlsZT17eyBiYWNrZ3JvdW5kOiAnI2ZmZicsIHBhZGRpbmc6ICcxNnB4JywgYm9yZGVyUmFkaXVzOiAnOHB4JyB9fT5cbiAgICAgICAgPFJvdyBqdXN0aWZ5PVwic3BhY2UtYmV0d2VlblwiIGFsaWduPVwibWlkZGxlXCIgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiBcIjE2cHhcIiB9fT5cbiAgICAgICAgICA8Q29sPlxuICAgICAgICAgICAgPFRpdGxlIGxldmVsPXs0fSBzdHlsZT17eyBtYXJnaW46IDAgfX0+RGFzaGJvYXJkIE92ZXJ2aWV3PC9UaXRsZT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIGljb249ezxGaWxlRXhjZWxPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgICAgb25DbGljaz17ZXhwb3J0VG9FeGNlbH1cbiAgICAgICAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsIGdhcDogXCI4cHhcIiB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBFeHBvcnQgdG8gRXhjZWxcbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuXG5cblxuXG5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1s4LCA4XX0+XG4gICAgICAgICAge1tcbiAgICAgICAgICAgIHsgdGl0bGU6ICdUb3RhbCBWb2x1bnRlZXJzJywgdmFsdWU6IGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVycywgaWNvbjogPFVzZXJPdXRsaW5lZCAvPiwgY29sb3I6IFNUQVRfQ09MT1JTWzBdIH0sXG4gICAgICAgICAgICB7IHRpdGxlOiAnVG90YWwgRXZlbnRzJywgdmFsdWU6IDEsIGljb246IDxDYWxlbmRhck91dGxpbmVkIC8+LCBjb2xvcjogU1RBVF9DT0xPUlNbMV0gfSxcbiAgICAgICAgICAgIHsgdGl0bGU6ICdUb3RhbCBBZG1pbiBVc2VycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3VzZXJfcm9sZXM/LmNvdW50X3N1cGVyX2FkbWluLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+LCBjb2xvcjogU1RBVF9DT0xPUlNbMl0gfSxcbiAgICAgICAgICAgIC8vIHsgdGl0bGU6ICdUb3RhbCBVc2VycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3VzZXJfcm9sZXM/LmNvdW50X3VzZXIsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1szXSB9LFxuICAgICAgICAgICAgeyB0aXRsZTogJ01hbGUgVm9sdW50ZWVycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9nZW5kZXJzPy5jb3VudF9tYWxlLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+LCBjb2xvcjogU1RBVF9DT0xPUlNbNF0gfSxcbiAgICAgICAgICAgIHsgdGl0bGU6ICdGZW1hbGUgVm9sdW50ZWVycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9nZW5kZXJzPy5jb3VudF9mZW1hbGUsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1s1XSB9LFxuICAgICAgICAgICAgLy8geyB0aXRsZTogJ1RvdGFsIFRyYWluaW5nIFNlc3Npb25zJywgdmFsdWU6IGRhc2hib2FyZD8uY291bnRfdHJhaW5pbmdfc2Vzc2lvbnMsIGljb246IDxSZWFkT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1s2XSB9LFxuICAgICAgICAgIF0ubWFwKChzdGF0LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsyNH0gbWQ9ezZ9IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICA8Q2FyZCBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHN0YXQuY29sb3IsIGNvbG9yOiAnI2ZmZicsIG1pbkhlaWdodDogMTYwIH19PlxuICAgICAgICAgICAgICAgIDxTdGF0aXN0aWMgdGl0bGU9e3N0YXQudGl0bGV9IHZhbHVlPXtzdGF0LnZhbHVlfSBwcmVmaXg9e3N0YXQuaWNvbn0gdmFsdWVTdHlsZT17eyBjb2xvcjogJyNmZmYnIH19IC8+XG4gICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgICkpfVxuXG4gICAgICAgIDwvUm93PlxuICAgICAgICA8Um93PlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MjR9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIFN0YXR1cyBCcmVha2Rvd248L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPEJhckNoYXJ0IGRhdGE9e2NoYXJ0RGF0YX0gbWFyZ2luPXt7IHRvcDogMTAsIHJpZ2h0OiAyMCwgbGVmdDogMTAsIGJvdHRvbTogNSB9fT5cbiAgICAgICAgICAgICAgICAgIDxDYXJ0ZXNpYW5HcmlkIHN0cm9rZURhc2hhcnJheT1cIjMgM1wiIC8+XG4gICAgICAgICAgICAgICAgICA8WEF4aXMgZGF0YUtleT1cIm5hbWVcIiB0aWNrPXt7IGZvbnRTaXplOiAxMCB9fSAvPlxuICAgICAgICAgICAgICAgICAgPFlBeGlzIGFsbG93RGVjaW1hbHM9e2ZhbHNlfSAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgICAgPEJhciBkYXRhS2V5PVwidmFsdWVcIiBmaWxsPVwiIzNiODJmNlwiIGJhclNpemU9ezMwfSAvPlxuICAgICAgICAgICAgICAgIDwvQmFyQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIHsvKiB2b2x1bnRlZXIgYnkgZ3JvdXAgKi99XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbCB4cz17MjR9IGxnPXsyNH0+XG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIG1iLTJcIj5Wb2x1bnRlZXIgVGVhbTwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8QmFyQ2hhcnQgZGF0YT17Y2hhdFZvbHVudGVlckludGVyZXN0ZWRUZWFtfSBtYXJnaW49e3sgdG9wOiAxMCwgcmlnaHQ6IDIwLCBsZWZ0OiAxMCwgYm90dG9tOiA1IH19PlxuICAgICAgICAgICAgICAgICAgPENhcnRlc2lhbkdyaWQgc3Ryb2tlRGFzaGFycmF5PVwiMyAzXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxYQXhpcyBkYXRhS2V5PVwibmFtZVwiIHRpY2s9e3sgZm9udFNpemU6IDEwIH19IC8+XG4gICAgICAgICAgICAgICAgICA8WUF4aXMgYWxsb3dEZWNpbWFscz17ZmFsc2V9IC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgICA8QmFyIGRhdGFLZXk9XCJ2YWx1ZVwiIGZpbGw9XCIjM2I4MmY2XCIgYmFyU2l6ZT17MzB9IC8+XG4gICAgICAgICAgICAgICAgPC9CYXJDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdz5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezEyfT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBTdGF0dXMgQnJlYWtkb3duPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxQaWVDaGFydD5cbiAgICAgICAgICAgICAgICAgIDxQaWUgZGF0YT17Y2hhcnREYXRhfSBkYXRhS2V5PVwidmFsdWVcIiBuYW1lS2V5PVwibmFtZVwiIGN4PVwiNTAlXCIgY3k9XCI1MCVcIiBvdXRlclJhZGl1cz17ODB9IGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7Y2hhcnREYXRhLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBrZXk9e2BjZWxsLSR7aW5kZXh9YH0gZmlsbD17Q09MT1JTW2luZGV4ICUgQ09MT1JTLmxlbmd0aF19IC8+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9QaWU+XG4gICAgICAgICAgICAgICAgICA8TGVnZW5kIC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgPC9QaWVDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdz5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezI0fT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBieSBQcm92aW5jZTwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8QmFyQ2hhcnQgZGF0YT17Y2hhdFZvbHVudGVlclByb3ZpbmNlfSBtYXJnaW49e3sgdG9wOiAxMCwgcmlnaHQ6IDIwLCBsZWZ0OiAxMCwgYm90dG9tOiA1IH19PlxuICAgICAgICAgICAgICAgICAgPENhcnRlc2lhbkdyaWQgc3Ryb2tlRGFzaGFycmF5PVwiMyAzXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxYQXhpcyBkYXRhS2V5PVwibmFtZVwiIHRpY2s9e3sgZm9udFNpemU6IDEwIH19IC8+XG4gICAgICAgICAgICAgICAgICA8WUF4aXMgYWxsb3dEZWNpbWFscz17ZmFsc2V9IC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgICA8QmFyIGRhdGFLZXk9XCJ2YWx1ZVwiIGZpbGw9XCIjM2I4MmY2XCIgYmFyU2l6ZT17MzB9IC8+XG4gICAgICAgICAgICAgICAgPC9CYXJDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MTJ9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIEdlbmRlcjwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8UGllQ2hhcnQ+XG4gICAgICAgICAgICAgICAgICA8UGllIGRhdGE9e2NoYXRWb2x1bnRlZXJHZW5kZXJ9IGRhdGFLZXk9XCJ2YWx1ZVwiIG5hbWVLZXk9XCJuYW1lXCIgY3g9XCI1MCVcIiBjeT1cIjUwJVwiIG91dGVyUmFkaXVzPXs4MH0gbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtjaGF0Vm9sdW50ZWVyR2VuZGVyLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBrZXk9e2BjZWxsLSR7aW5kZXh9YH0gZmlsbD17Q09MT1JTW2luZGV4ICUgQ09MT1JTLmxlbmd0aF19IC8+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9QaWU+XG4gICAgICAgICAgICAgICAgICA8TGVnZW5kIC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgPC9QaWVDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuXG4gICAgICAgICAgey8qIC8vIHRfc2hpcnRfc2l6ZSAqL31cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezEyfT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBULVNoaXJ0IFNpemU8L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPFBpZUNoYXJ0PlxuICAgICAgICAgICAgICAgICAgPFBpZSBkYXRhPXtjaGF0Vm9sdW50ZWVyVHNoaXJ0fSBkYXRhS2V5PVwidmFsdWVcIiBuYW1lS2V5PVwibmFtZVwiIGN4PVwiNTAlXCIgY3k9XCI1MCVcIiBvdXRlclJhZGl1cz17ODB9IGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7Y2hhdFZvbHVudGVlclRzaGlydC5tYXAoKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPENlbGwga2V5PXtgY2VsbC0ke2luZGV4fWB9IGZpbGw9e0NPTE9SU1tpbmRleCAlIENPTE9SUy5sZW5ndGhdfSAvPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgIDwvUGllPlxuICAgICAgICAgICAgICAgICAgPExlZ2VuZCAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgIDwvUGllQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cblxuICAgICAgICAgIHsvKiAvLyBvY2N1cGF0aW9uICovfVxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MTJ9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIE9jY3VwYXRpb248L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPFBpZUNoYXJ0PlxuICAgICAgICAgICAgICAgICAgPFBpZSBkYXRhPXtjaGF0Vm9sdW50ZWVyT2NjdXBhdGlvbnN9IGRhdGFLZXk9XCJ2YWx1ZVwiIG5hbWVLZXk9XCJuYW1lXCIgY3g9XCI1MCVcIiBjeT1cIjUwJVwiIG91dGVyUmFkaXVzPXs4MH0gbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtjaGF0Vm9sdW50ZWVyT2NjdXBhdGlvbnMubWFwKChfLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxDZWxsIGtleT17YGNlbGwtJHtpbmRleH1gfSBmaWxsPXtDT0xPUlNbaW5kZXggJSBDT0xPUlMubGVuZ3RoXX0gLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1BpZT5cbiAgICAgICAgICAgICAgICAgIDxMZWdlbmQgLz5cbiAgICAgICAgICAgICAgICAgIDxSZWNoYXJ0c1Rvb2x0aXAgLz5cbiAgICAgICAgICAgICAgICA8L1BpZUNoYXJ0PlxuICAgICAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9Db2w+XG5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezI0fT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBFZHVjYXRpb24gSW5zdGl0dWRlPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxCYXJDaGFydCBkYXRhPXtjaGF0Vm9sdW50ZWVyRWR1Y2F0aW9uSW5zdH0gbWFyZ2luPXt7IHRvcDogMTAsIHJpZ2h0OiAyMCwgbGVmdDogMTAsIGJvdHRvbTogNSB9fT5cbiAgICAgICAgICAgICAgICAgIDxDYXJ0ZXNpYW5HcmlkIHN0cm9rZURhc2hhcnJheT1cIjMgM1wiIC8+XG4gICAgICAgICAgICAgICAgICA8WEF4aXMgZGF0YUtleT1cIm5hbWVcIiB0aWNrPXt7IGZvbnRTaXplOiAxMCB9fSAvPlxuICAgICAgICAgICAgICAgICAgPFlBeGlzIGFsbG93RGVjaW1hbHM9e2ZhbHNlfSAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgICAgPEJhciBkYXRhS2V5PVwidmFsdWVcIiBmaWxsPVwiIzNiODJmNlwiIGJhclNpemU9ezMwfSAvPlxuICAgICAgICAgICAgICAgIDwvQmFyQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0NvbnRlbnQ+XG4gICAgPC9MYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEYXNoYm9hcmRIb21lO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIEFwcHN0b3JlT3V0bGluZWQsXG4gIERhc2hib2FyZE91dGxpbmVkLFxuICBMb2dvdXRPdXRsaW5lZCxcbiAgTWVudU91dGxpbmVkLFxuICBTZXR0aW5nT3V0bGluZWQsXG4gIEVudmlyb25tZW50T3V0bGluZWQsXG4gIFVzZXJPdXRsaW5lZCxcbiAgQm9va091dGxpbmVkLFxuICBTaG9wT3V0bGluZWQsXG4gIFRlYW1PdXRsaW5lZCxcbiAgR2xvYmFsT3V0bGluZWQsXG4gIEJ1aWxkT3V0bGluZWQsXG4gIFNrZXRjaE91dGxpbmVkLFxuICBCdWxiT3V0bGluZWQsXG4gIENhck91dGxpbmVkLFxuICBOb3RpZmljYXRpb25PdXRsaW5lZCxcbiAgRmlsZUFkZE91dGxpbmVkLFxufSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBMYXlvdXQsIE1lbnUsIEJ1dHRvbiwgRHJhd2VyLCBBdmF0YXIgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IExpbmssIFJvdXRlLCBSb3V0ZXMsIHVzZUxvY2F0aW9uLCB1c2VOYXZpZ2F0ZSwgTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IGxvZ291dCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgSG9tZVBhZ2UgZnJvbSAnLic7XG5pbXBvcnQgRm9vdGVyQ29tcG9uZW50IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1jb21wb25lbnQnO1xuaW1wb3J0IGxvZ28gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xvZ29zL2xvZ28ucG5nJztcbmltcG9ydCBWb2x1bnRlZXJMaXN0IGZyb20gJy4uL3ZvbHVudGVlcic7XG5pbXBvcnQgTmV3RWRpdFZvbHVudGVlclBhZ2UgZnJvbSAnLi4vdm9sdW50ZWVyL2Zvcm0nO1xuaW1wb3J0IERpc2FiaWxpdHlUeXBlTGlzdCBmcm9tICcuLi9kaXNhYmlsaXR5X3R5cGUnO1xuaW1wb3J0IE5ld0VkaXREaXNhYmlsaXR5VHlwZVBhZ2UgZnJvbSAnLi4vZGlzYWJpbGl0eV90eXBlL2Zvcm0nO1xuaW1wb3J0IE5ld0VkaXRFZHVjYXRpb25JbnN0aXR1dGlvblBhZ2UgZnJvbSAnLi4vZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2Zvcm0nO1xuaW1wb3J0IEVkdWNhdGlvbkluc3RpdHV0aW9uTGlzdCBmcm9tICcuLi9lZHVjYXRpb25faW5zdGl0dXRpb24nO1xuaW1wb3J0IEZvb2RMaXN0IGZyb20gJy4uL2Zvb2QnO1xuaW1wb3J0IE5ld0VkaXRGb29kUGFnZSBmcm9tICcuLi9mb29kL2Zvcm0nO1xuaW1wb3J0IEludGVyZXN0ZWRUZWFtTGlzdCBmcm9tICcuLi9pbnRlcmVzdGVkX3RlYW0nO1xuaW1wb3J0IE5ld0VkaXRJbnRlcmVzdGVkVGVhbVBhZ2UgZnJvbSAnLi4vaW50ZXJlc3RlZF90ZWFtL2Zvcm0nO1xuaW1wb3J0IExhbmd1YWdlTGlzdCBmcm9tICcuLi9sYW5ndWFnZSc7XG5pbXBvcnQgTmV3RWRpdExhbmd1YWdlUGFnZSBmcm9tICcuLi9sYW5ndWFnZS9mb3JtJztcbmltcG9ydCBPY2N1cGF0aW9uTGlzdCBmcm9tICcuLi9vY2N1cGF0aW9uJztcbmltcG9ydCBOZXdFZGl0T2NjdXBhdGlvblBhZ2UgZnJvbSAnLi4vb2NjdXBhdGlvbi9mb3JtJztcbmltcG9ydCBPcHBvcnR1bml0eVNvdXJjZUxpc3QgZnJvbSAnLi4vb3Bwb3J0dW5pdHlfc291cmNlJztcbmltcG9ydCBOZXdFZGl0T3Bwb3J0dW5pdHlTb3VyY2VQYWdlIGZyb20gJy4uL29wcG9ydHVuaXR5X3NvdXJjZS9mb3JtJztcbmltcG9ydCBQcm92aW5jZUxpc3QgZnJvbSAnLi4vcHJvdmluY2UnO1xuaW1wb3J0IE5ld0VkaXRQcm92aW5jZVBhZ2UgZnJvbSAnLi4vcHJvdmluY2UvZm9ybSc7XG5pbXBvcnQgU2tpbGxMaXN0IGZyb20gJy4uL3NraWxsJztcbmltcG9ydCBOZXdFZGl0U2tpbGxQYWdlIGZyb20gJy4uL3NraWxsL2Zvcm0nO1xuaW1wb3J0IFRlcm1zQ29uZGl0aW9uTGlzdCBmcm9tICcuLi90ZXJtc19jb25kaXRpb24nO1xuaW1wb3J0IE5ld0VkaXRUZXJtc0NvbmRpdGlvblBhZ2UgZnJvbSAnLi4vdGVybXNfY29uZGl0aW9uL2Zvcm0nO1xuaW1wb3J0IFRyYWluaW5nU2Vzc2lvbkxpc3QgZnJvbSAnLi4vdHJhaW5pbmdfc2Vzc2lvbic7XG5pbXBvcnQgTmV3RWRpdFRyYWluaW5nU2Vzc2lvblBhZ2UgZnJvbSAnLi4vdHJhaW5pbmdfc2Vzc2lvbi9mb3JtJztcbmltcG9ydCBWb2x1bnRlZXJFdmVudExpc3QgZnJvbSAnLi4vdm9sdW50ZWVyX2V2ZW50JztcbmltcG9ydCBOZXdFZGl0Vm9sdW50ZWVyRXZlbnRQYWdlIGZyb20gJy4uL3ZvbHVudGVlcl9ldmVudC9mb3JtJztcbmltcG9ydCBVc2VyTGlzdCBmcm9tIFwiLi4vdXNlclwiO1xuaW1wb3J0IE5ld0VkaXRVc2VyUGFnZSBmcm9tIFwiLi4vdXNlci9mb3JtXCI7XG5pbXBvcnQgTmV3RWRpdE9mZmVyUHJvZ3JhbVBhZ2UgZnJvbSBcIi4uL29mZmVyX3Byb2dyYW0vZm9ybVwiO1xuaW1wb3J0IE9mZmVyUHJvZ3JhbUxpc3QgZnJvbSBcIi4uL29mZmVyX3Byb2dyYW1cIjtcbmltcG9ydCBUcmF2ZWxEYXlMaXN0IGZyb20gXCIuLi90cmF2ZWxfZGF5XCI7XG5pbXBvcnQgTmV3RWRpdFRyYXZlbERheVBhZ2UgZnJvbSBcIi4uL3RyYXZlbF9kYXkvZm9ybVwiO1xuaW1wb3J0IE5vdGlmaWNhdGlvblBhZ2UgZnJvbSBcIi4uL25vdGlmaWNhdGlvbi9pbmRleFwiO1xuaW1wb3J0IFVwbG9hZENTVlBhZ2UgZnJvbSBcIi4uL3ZvbHVudGVlci91cGxvYWRfY3N2XCI7XG5pbXBvcnQgVXBkYXRlVGVhbUNzdlBhZ2UgZnJvbSBcIi4uL3ZvbHVudGVlci91cGRhdGVfdGVhbV9jc3ZcIjtcbmltcG9ydCBVcGRhdGVJZGVudGl0eUNzdlBhZ2UgZnJvbSBcIi4uL3ZvbHVudGVlci91cGRhdGVfaWRlbnRpdHlfY3N2XCI7XG5pbXBvcnQgVXNlckF0dGVuZGFuY2VMaXN0IGZyb20gXCIuLi91c2VyX2F0dGVuZGFuY2UvaW5kZXhcIjtcbmltcG9ydCBOZXdFZGl0VXNlckF0dGVuZGFuY2VQYWdlIGZyb20gXCIuLi91c2VyX2F0dGVuZGFuY2UvZm9ybVwiO1xuaW1wb3J0IEZhbWlseVN1cnZleUZvcm0gZnJvbSBcIi4uLy4uL2ZhbWlseV9zdXJ2ZXkvRmFtaWx5U3VydmV5Rm9ybVwiO1xuaW1wb3J0IEZhbWlseUFwcHJvdmVkTGlzdCBmcm9tIFwiLi4vLi4vZmFtaWx5X3N1cnZleS9pbmRleFwiO1xuXG5jb25zdCB7IEhlYWRlciwgQ29udGVudCwgU2lkZXIgfSA9IExheW91dDtcblxuLy8gTWVudSBDb25maWd1cmF0aW9uXG5pbnRlcmZhY2UgTWVudUl0ZW0ge1xuICBrZXk6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgaWNvbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdG8/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogTWVudUl0ZW1bXTtcbn1cblxuY29uc3QgbWVudXM6IE1lbnVJdGVtW10gPSBbXG4gIHsga2V5OiBcIi9cIiwgdGl0bGU6IFwiRGFzaGJvYXJkXCIsIGljb246IDxEYXNoYm9hcmRPdXRsaW5lZCAvPiwgdG86IFwiL1wiIH0sXG4gIHsga2V5OiBcIi92b2x1bnRlZXJzXCIsIHRpdGxlOiBcIuGeouGfkuGek+GegOGen+GfkuGemOGfkOGeguGfkuGemuGeheGet+Gej+GfkuGej1wiLCBpY29uOiA8QXBwc3RvcmVPdXRsaW5lZCAvPiwgdG86IFwiL3ZvbHVudGVlcnNcIiB9LFxuICB7IGtleTogXCIvdm9sdW50ZWVyL3VwbG9hZC1jc3ZcIiwgdGl0bGU6IFwiSW1wb3J0IFZvbHVudGVlcnNcIiwgaWNvbjogPEZpbGVBZGRPdXRsaW5lZCAvPiwgdG86IFwiL3ZvbHVudGVlci91cGxvYWQtY3N2XCIgfSxcbiAgeyBrZXk6IFwiL3ZvbHVudGVlci91cGRhdGUtdGVhbS1jc3ZcIiwgdGl0bGU6IFwiQXNzaWduIHRvIFRlYW1zXCIsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIHRvOiBcIi92b2x1bnRlZXIvdXBkYXRlLXRlYW0tY3N2XCIgfSxcbiAgeyBrZXk6IFwiL3ZvbHVudGVlci91cGRhdGUtaWRlbnRpdHktY3N2XCIsIHRpdGxlOiBcIlVwZGF0ZSBJZGVudGl0eVwiLCBpY29uOiA8VXNlck91dGxpbmVkIC8+LCB0bzogXCIvdm9sdW50ZWVyL3VwZGF0ZS1pZGVudGl0eS1jc3ZcIiB9LFxuICB7IGtleTogXCIvdXNlci1hdHRlbmRhbmNlc1wiLCB0aXRsZTogXCJVc2VyIEF0dGVuZGFuY2VzXCIsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIHRvOiBcIi91c2VyLWF0dGVuZGFuY2VzXCIgfSxcbiAgeyBrZXk6IFwiL2ZhbWlseS1zdXJ2ZXlcIiwgdGl0bGU6IFwiRmFtaWx5IFN1cnZleVwiLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+LCB0bzogXCIvZmFtaWx5LXN1cnZleVwiIH0sXG4gIHtcbiAgICBrZXk6IFwic2V0dGluZ3NcIixcbiAgICB0aXRsZTogXCLhnoDhnrbhnprhnoDhn4bhno7hno/hn4tcIixcbiAgICBpY29uOiA8U2V0dGluZ091dGxpbmVkIC8+LFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7IGtleTogJy91c2VycycsIHRpdGxlOiAn4Z6C4Z+S4Z6a4Z6U4Z+L4Z6C4Z+S4Z6a4Z6E4Z6i4Z+S4Z6T4Z6A4Z6U4Z+S4Z6a4Z6+4Z6U4Z+S4Z6a4Z624Z6f4Z+LJywgdG86ICcvdXNlcnMnLCBpY29uOiA8VXNlck91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9kaXNhYmlsaXR5LXR5cGVzJywgdGl0bGU6ICfhnpThn5Lhnprhnpfhn4HhnpHhnpbhnrfhnoDhnrbhnprhnpfhnrbhnpYnLCB0bzogJy9kaXNhYmlsaXR5LXR5cGVzJywgaWNvbjogPFVzZXJPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvZWR1Y2F0aW9uLWluc3RpdHV0aW9ucycsIHRpdGxlOiAn4Z6f4Z+S4Z6Q4Z624Z6U4Z+Q4Z6T4Z6i4Z6U4Z+L4Z6a4Z+GJywgdG86ICcvZWR1Y2F0aW9uLWluc3RpdHV0aW9ucycsIGljb246IDxCb29rT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL2Zvb2RzJywgdGl0bGU6ICfhnqLhnrbhnqDhnrbhnponLCB0bzogJy9mb29kcycsIGljb246IDxTaG9wT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL2ludGVyZXN0ZWQtdGVhbXMnLCB0aXRsZTogJ+GegOGfkuGemuGeu+GemCcsIHRvOiAnL2ludGVyZXN0ZWQtdGVhbXMnLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9sYW5ndWFnZXMnLCB0aXRsZTogJ+Gel+GetuGen+GeticsIHRvOiAnL2xhbmd1YWdlcycsIGljb246IDxHbG9iYWxPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvb2NjdXBhdGlvbnMnLCB0aXRsZTogJ+GemOGeu+GegeGemuGelOGemicsIHRvOiAnL29jY3VwYXRpb25zJywgaWNvbjogPEJ1aWxkT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL29wcG9ydHVuaXR5LXNvdXJjZXMnLCB0aXRsZTogJ+GelOGfkuGemuGel+GeluGeseGegOGetuGenycsIHRvOiAnL29wcG9ydHVuaXR5LXNvdXJjZXMnLCBpY29uOiA8VXNlck91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9wcm92aW5jZXMnLCB0aXRsZTogJ+GegeGfgeGej+GfkuGejy/hnoDhn5LhnprhnrvhnoQnLCB0bzogJy9wcm92aW5jZXMnLCBpY29uOiA8RW52aXJvbm1lbnRPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvc2tpbGxzJywgdGl0bGU6ICfhnofhn4bhnpPhnrbhnoknLCB0bzogJy9za2lsbHMnLCBpY29uOiA8U2tldGNoT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL3Rlcm1zLWNvbmRpdGlvbnMnLCB0aXRsZTogJ+Gem+GegOGfkuGegeGegeGejuGfkuGejCcsIHRvOiAnL3Rlcm1zLWNvbmRpdGlvbnMnLCBpY29uOiA8U2V0dGluZ091dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy90cmFpbmluZy1zZXNzaW9ucycsIHRpdGxlOiAn4Z6c4Z6C4Z+S4Z6C4Z6U4Z6O4Z+S4Z6P4Z674Z+H4Z6U4Z6O4Z+S4Z6P4Z624Z6bJywgdG86ICcvdHJhaW5pbmctc2Vzc2lvbnMnLCBpY29uOiA8QnVsYk91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy92b2x1bnRlZXItZXZlbnRzJywgdGl0bGU6ICfhnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn43hnp/hn5Lhnpjhn5DhnoLhn5LhnprhnoXhnrfhno/hn5Lhno8nLCB0bzogJy92b2x1bnRlZXItZXZlbnRzJywgaWNvbjogPEFwcHN0b3JlT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL29mZmVyLXByb2dyYW1zJywgdGl0bGU6ICfhnoDhnpjhn5LhnpjhnpzhnrjhnpLhnrjhnpXhn5Lhnorhnpvhn4vhnofhnrzhnpMnLCB0bzogJy9vZmZlci1wcm9ncmFtcycsIGljb246IDxBcHBzdG9yZU91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy90cmF2ZWwtZGF5cycsIHRpdGxlOiAn4Z6Q4Z+S4Z6E4Z+D4Z6S4Z+S4Z6c4Z6+4Z6K4Z+G4Z6O4Z6+4Z6aJywgdG86ICcvdHJhdmVsLWRheXMnLCBpY29uOiA8Q2FyT3V0bGluZWQgLz4gfSxcbiAgICBdXG4gIH0sXG4gIHtcbiAgICBrZXk6IFwibm90aWZpY2F0aW9uXCIsXG4gICAgdGl0bGU6IFwi4Z6f4Z624Z6a4Z6H4Z684Z6T4Z6K4Z+G4Z6O4Z654Z6EXCIsXG4gICAgaWNvbjogPE5vdGlmaWNhdGlvbk91dGxpbmVkIC8+LFxuICAgIHRvOiBcIi9ub3RpZmljYXRpb25cIlxuICB9XG5dO1xuXG4vLyBGaXJzdCwgbGV0J3MgZGVmaW5lIHVzZXIgcm9sZSB0eXBlcyBhbmQgcGVybWlzc2lvbnNcbmNvbnN0IFVTRVJfUk9MRVMgPSB7XG4gIFNVUEVSX0FETUlOOiBcInN1cGVyX2FkbWluXCIsXG4gIEFETUlOOiBcImFkbWluXCIsXG4gIFJFUE9SVEVSOiBcInJlcG9ydGVyXCIsXG4gIFVTRVI6IFwidXNlclwiXG59IGFzIGNvbnN0O1xuXG4vLyBNb2RpZnkgbWVudSB2aXNpYmlsaXR5IGJhc2VkIG9uIHJvbGVcbmNvbnN0IGdldEF1dGhvcml6ZWRNZW51cyA9IChyb2xlPzogc3RyaW5nKSA9PiB7XG4gIC8vIEhhbmRsZSB1bmRlZmluZWQgcm9sZSBjYXNlXG4gIGlmICghcm9sZSkgcmV0dXJuIFtdO1xuICBcbiAgc3dpdGNoIChyb2xlKSB7XG4gICAgY2FzZSBVU0VSX1JPTEVTLlNVUEVSX0FETUlOOlxuICAgICAgcmV0dXJuIG1lbnVzO1xuICAgIGNhc2UgVVNFUl9ST0xFUy5SRVBPUlRFUjpcbiAgICAgIHJldHVybiBtZW51cy5maWx0ZXIobWVudSA9PlxuICAgICAgICBtZW51LmtleSA9PT0gXCIvZmFtaWx5LXN1cnZleVwiXG4gICAgICApO1xuICAgIGNhc2UgVVNFUl9ST0xFUy5BRE1JTjpcbiAgICAgIHJldHVybiBtZW51cy5maWx0ZXIobWVudSA9PlxuICAgICAgICBtZW51LmtleSA9PT0gXCIvdm9sdW50ZWVyc1wiIHx8XG4gICAgICAgIG1lbnUua2V5ID09PSBcIi91c2VyLWF0dGVuZGFuY2VzXCJcbiAgICAgICk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBtZW51cy5maWx0ZXIobWVudSA9PiBtZW51LmtleSA9PT0gXCIvdm9sdW50ZWVyc1wiKTtcbiAgfVxufTtcblxuY29uc3QgTWFpbjogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gIGNvbnN0IHsgYXV0aCB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBjdXJyZW50VXNlciB9ID0gYXV0aDtcbiAgY29uc3QgdXNlclJvbGUgPSBjdXJyZW50VXNlcj8ucm9sZTtcblxuICBjb25zdCBbYWN0aXZlTWVudUtleSwgc2V0QWN0aXZlTWVudUtleV0gPSB1c2VTdGF0ZShsb2NhdGlvbi5wYXRobmFtZSk7XG4gIGNvbnN0IFtjb2xsYXBzZWQsIHNldENvbGxhcHNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtkcmF3ZXJWaXNpYmxlLCBzZXREcmF3ZXJWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2ZpbHRlcmVkTWVudXMsIHNldEZpbHRlcmVkTWVudXNdID0gdXNlU3RhdGU8dHlwZW9mIG1lbnVzPihbXSk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEFjdGl2ZU1lbnVLZXkobG9jYXRpb24ucGF0aG5hbWUpO1xuICB9LCBbbG9jYXRpb25dKTtcblxuICAvLyBVcGRhdGUgdXNlRWZmZWN0IHRvIGhhbmRsZSBtZW51IHVwZGF0ZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodXNlclJvbGUpIHtcbiAgICAgIGNvbnN0IGF1dGhvcml6ZWRNZW51cyA9IGdldEF1dGhvcml6ZWRNZW51cyh1c2VyUm9sZSk7XG4gICAgICBzZXRGaWx0ZXJlZE1lbnVzKGF1dGhvcml6ZWRNZW51cyk7XG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW3VzZXJSb2xlXSk7IC8vIERlcGVuZCBvbiB1c2VyUm9sZSBjaGFuZ2VzXG5cbiAgY29uc3QgaGFuZGxlTG9nb3V0ID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKGxvZ291dCgpKTtcbiAgICBuYXZpZ2F0ZShcIi9sb2dpblwiKTtcbiAgfTtcbiAgY29uc29sZS5sb2coXCJDdXJyZW50IFVzZXI6XCIsIGN1cnJlbnRVc2VyPy5yb2xlKTtcbiAgLy8gQ2hlY2sgaWYgdXNlciBoYXMgYWRtaW4gYWNjZXNzXG4gIGNvbnN0IGNhbkFjY2Vzc0FkbWluUm91dGVzID0gdXNlclJvbGUgPT09IFVTRVJfUk9MRVMuU1VQRVJfQURNSU47XG4gIGNvbnN0IGNhbkFjY2Vzc1JlcG9ydGVyUm91dGVzID0gdXNlclJvbGUgPT09IFVTRVJfUk9MRVMuUkVQT1JURVI7XG4gIGNvbnN0IGNhbkFjY2Vzc0Jhc2ljUm91dGVzID0gdXNlclJvbGUgPT09IFVTRVJfUk9MRVMuVVNFUiB8fCB1c2VyUm9sZSA9PT0gVVNFUl9ST0xFUy5BRE1JTjtcblxuICBpZiAoaXNMb2FkaW5nKSB7XG4gICAgcmV0dXJuIDxMYXlvdXQgc3R5bGU9e3sgbWluSGVpZ2h0OiBcIjEwMHZoXCIgfX0+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgaGVpZ2h0OiAnMTAwdmgnIH19PlxuICAgICAgICBMb2FkaW5nLi4uXG4gICAgICA8L2Rpdj5cbiAgICA8L0xheW91dD47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxMYXlvdXQgc3R5bGU9e3sgbWluSGVpZ2h0OiBcIjEwMHZoXCIgfX0+XG4gICAgICB7LyogRml4ZWQgSGVhZGVyICovfVxuICAgICAgPEhlYWRlclxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHBvc2l0aW9uOiBcImZpeGVkXCIsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICBoZWlnaHQ6IDY1LFxuICAgICAgICAgIGJhY2tncm91bmQ6IFwiIzMxOEFERUZGXCIsXG4gICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICBwYWRkaW5nOiBcIjAgMjBweFwiLFxuICAgICAgICAgIGJveFNoYWRvdzogXCIwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KVwiLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGljb249ezxNZW51T3V0bGluZWQgLz59XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0RHJhd2VyVmlzaWJsZSh0cnVlKX1cbiAgICAgICAgICBzdHlsZT17eyBtYXJnaW5SaWdodDogMTAsIGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgICAgIGNsYXNzTmFtZT1cIm1vYmlsZS1tZW51LWJ1dHRvblwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZmxleDogMSwgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgICAgICA8aW1nIHNyYz17bG9nb30gc3R5bGU9e3sgd2lkdGg6IDQ1LCBtYXJnaW5SaWdodDogMTYgfX0gYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG4gICAgICAgICAgPEF2YXRhclxuICAgICAgICAgICAgc3JjPXtjdXJyZW50VXNlci5waG90b191cmx9XG4gICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgIC8+XG5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRXZWlnaHQ6ICdib2xkJywgY29sb3I6ICcjZmZmJywgbWFyZ2luUmlnaHQ6ICcxNnB4JywgbWFyZ2luTGVmdDogMTYgfX0+XG4gICAgICAgICAgICB7Y3VycmVudFVzZXI/LnVzZXJuYW1lID8gY3VycmVudFVzZXIudXNlcm5hbWUuc3BsaXQoJy0nKS5wb3AoKSA6ICdHdWVzdCd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogMTIsIGNvbG9yOiAnI2ZmZicsIG1hcmdpblJpZ2h0OiAnMTZweCcgfX0+XG4gICAgICAgICAgICB7Y3VycmVudFVzZXI/LnJvbGUgfHwgJ0FkZG1pbmlzdHJhdG9yJ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxNZW51IHRoZW1lPVwiZGFya1wiIG1vZGU9XCJob3Jpem9udGFsXCIgc3R5bGU9e3sgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JywgYm9yZGVyQm90dG9tOiAnbm9uZScgfX0+XG4gICAgICAgICAgPE1lbnUuSXRlbSBrZXk9XCJsb2dvdXRcIiBpY29uPXs8TG9nb3V0T3V0bGluZWQgLz59IG9uQ2xpY2s9e2hhbmRsZUxvZ291dH0+XG4gICAgICAgICAgICBMb2dvdXRcbiAgICAgICAgICA8L01lbnUuSXRlbT5cbiAgICAgICAgPC9NZW51PlxuICAgICAgPC9IZWFkZXI+XG5cbiAgICAgIDxMYXlvdXQgc3R5bGU9e3sgbWFyZ2luVG9wOiA2NSB9fT5cblxuICAgICAgICB7LyogU2lkZWJhciAqL31cbiAgICAgICAgPFNpZGVyIGNvbGxhcHNpYmxlIGNvbGxhcHNlZD17Y29sbGFwc2VkfSBvbkNvbGxhcHNlPXtzZXRDb2xsYXBzZWR9IHdpZHRoPXsyMDB9IHN0eWxlPXt7IGJhY2tncm91bmQ6IFwiI2ZmZlwiLCBvdmVyZmxvdzogXCJhdXRvXCIsIGhlaWdodDogXCIxMDB2aFwiLCBwb3NpdGlvbjogXCJmaXhlZFwiLCBsZWZ0OiAwLCB0b3A6IDY1IH19PlxuICAgICAgICAgIDxNZW51IG1vZGU9XCJpbmxpbmVcIiBzZWxlY3RlZEtleXM9e1thY3RpdmVNZW51S2V5XX0gc3R5bGU9e3sgaGVpZ2h0OiBcIjEwMCVcIiB9fT5cbiAgICAgICAgICAgIHtmaWx0ZXJlZE1lbnVzLm1hcChtZW51ID0+XG4gICAgICAgICAgICAgIG1lbnUuY2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgICAgPE1lbnUuU3ViTWVudSBrZXk9e21lbnUua2V5fSBpY29uPXttZW51Lmljb259IHRpdGxlPXttZW51LnRpdGxlfT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgbWF4SGVpZ2h0OiAnNjB2aCcsIG92ZXJmbG93WTogJ2F1dG8nIH19PlxuICAgICAgICAgICAgICAgICAgICB7bWVudS5jaGlsZHJlbi5tYXAoc3VibWVudSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPE1lbnUuSXRlbSBrZXk9e3N1Ym1lbnUua2V5fSBpY29uPXtzdWJtZW51Lmljb259PlxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgdG89e3N1Ym1lbnUudG99PntzdWJtZW51LnRpdGxlfTwvTGluaz5cbiAgICAgICAgICAgICAgICAgICAgICA8L01lbnUuSXRlbT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L01lbnUuU3ViTWVudT5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8TWVudS5JdGVtIGtleT17bWVudS5rZXl9IGljb249e21lbnUuaWNvbn0+XG4gICAgICAgICAgICAgICAgICA8TGluayB0bz17bWVudS50b30+e21lbnUudGl0bGV9PC9MaW5rPlxuICAgICAgICAgICAgICAgIDwvTWVudS5JdGVtPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvTWVudT5cbiAgICAgICAgPC9TaWRlcj5cblxuICAgICAgICB7LyogRHJhd2VyIGZvciBNb2JpbGUgTWVudSAqL31cbiAgICAgICAgey8qIERyYXdlciBmb3IgTW9iaWxlIE1lbnUgKi99XG4gICAgICAgIDxEcmF3ZXIgdGl0bGU9XCJNZW51XCIgcGxhY2VtZW50PVwibGVmdFwiIGNsb3NhYmxlIG9uQ2xvc2U9eygpID0+IHNldERyYXdlclZpc2libGUoZmFsc2UpfSBvcGVuPXtkcmF3ZXJWaXNpYmxlfSBib2R5U3R5bGU9e3sgcGFkZGluZzogMCB9fT5cbiAgICAgICAgICA8TWVudSBtb2RlPVwiaW5saW5lXCIgc2VsZWN0ZWRLZXlzPXtbYWN0aXZlTWVudUtleV19IHN0eWxlPXt7IGhlaWdodDogXCIxMDAlXCIgfX0+XG4gICAgICAgICAgICB7ZmlsdGVyZWRNZW51cy5tYXAobWVudSA9PlxuICAgICAgICAgICAgICBtZW51LmNoaWxkcmVuID8gKFxuICAgICAgICAgICAgICAgIDxNZW51LlN1Yk1lbnUga2V5PXttZW51LmtleX0gaWNvbj17bWVudS5pY29ufSB0aXRsZT17bWVudS50aXRsZX0+XG4gICAgICAgICAgICAgICAgICB7bWVudS5jaGlsZHJlbi5tYXAoc3VibWVudSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxNZW51Lkl0ZW0ga2V5PXtzdWJtZW51LmtleX0+XG4gICAgICAgICAgICAgICAgICAgICAgPExpbmsgdG89e3N1Ym1lbnUudG99PntzdWJtZW51LnRpdGxlfTwvTGluaz5cbiAgICAgICAgICAgICAgICAgICAgPC9NZW51Lkl0ZW0+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L01lbnUuU3ViTWVudT5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8TWVudS5JdGVtIGtleT17bWVudS5rZXl9IGljb249e21lbnUuaWNvbn0+XG4gICAgICAgICAgICAgICAgICA8TGluayB0bz17bWVudS50b30+e21lbnUudGl0bGV9PC9MaW5rPlxuICAgICAgICAgICAgICAgIDwvTWVudS5JdGVtPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvTWVudT5cbiAgICAgICAgPC9EcmF3ZXI+XG5cblxuICAgICAgICB7LyogTWFpbiBDb250ZW50ICovfVxuICAgICAgICA8TGF5b3V0IHN0eWxlPXt7IG1hcmdpbkxlZnQ6IGNvbGxhcHNlZCA/IDgwIDogMjAwLCBwYWRkaW5nOiBcIjI0cHhcIiB9fT5cbiAgICAgICAgICA8Q29udGVudCBzdHlsZT17eyBiYWNrZ3JvdW5kOiBcIiNmZmZcIiwgcGFkZGluZzogXCIyNHB4XCIsIG1pbkhlaWdodDogXCJjYWxjKDEwMHZoIC0gNjVweClcIiB9fT5cbiAgICAgICAgICAgIDxSb3V0ZXM+XG4gICAgICAgICAgICAgIHsvKiBSZXBvcnRlciBzcGVjaWZpYyByb3V0ZXMgLSBzaG91bGQgYmUgY2hlY2tlZCBmaXJzdCAqL31cbiAgICAgICAgICAgICAge2NhbkFjY2Vzc1JlcG9ydGVyUm91dGVzICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvZmFtaWx5LXN1cnZleVwiIGVsZW1lbnQ9ezxGYW1pbHlBcHByb3ZlZExpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9mYW1pbHktc3VydmV5L2Zvcm1cIiBlbGVtZW50PXs8RmFtaWx5U3VydmV5Rm9ybSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIHsvKiBSZWRpcmVjdCByZXBvcnRlciB0byBmYW1pbHktc3VydmV5IGlmIHRoZXkgdHJ5IHRvIGFjY2VzcyByb290ICovfVxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvXCIgZWxlbWVudD17PE5hdmlnYXRlIHRvPVwiL2ZhbWlseS1zdXJ2ZXlcIiByZXBsYWNlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgey8qIENhdGNoIGFsbCBvdGhlciByb3V0ZXMgYW5kIHJlZGlyZWN0IHRvIGZhbWlseS1zdXJ2ZXkgKi99XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIipcIiBlbGVtZW50PXs8TmF2aWdhdGUgdG89XCIvZmFtaWx5LXN1cnZleVwiIHJlcGxhY2UgLz59IC8+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgey8qIEFkbWluIGFuZCBiYXNpYyB1c2VyIHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgeyhjYW5BY2Nlc3NBZG1pblJvdXRlcyB8fCBjYW5BY2Nlc3NCYXNpY1JvdXRlcykgJiYgIWNhbkFjY2Vzc1JlcG9ydGVyUm91dGVzICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdm9sdW50ZWVyc1wiIGVsZW1lbnQ9ezxWb2x1bnRlZXJMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdm9sdW50ZWVyL2Zvcm1cIiBlbGVtZW50PXs8TmV3RWRpdFZvbHVudGVlclBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi91c2VyLWF0dGVuZGFuY2VzXCIgZWxlbWVudD17PFVzZXJBdHRlbmRhbmNlTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3VzZXItYXR0ZW5kYW5jZXMvZm9ybVwiIGVsZW1lbnQ9ezxOZXdFZGl0VXNlckF0dGVuZGFuY2VQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHsvKiBTdXBlciBhZG1pbiBvbmx5IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAge2NhbkFjY2Vzc0FkbWluUm91dGVzICYmICFjYW5BY2Nlc3NSZXBvcnRlclJvdXRlcyAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL1wiIGVsZW1lbnQ9ezxIb21lUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL25vdGlmaWNhdGlvblwiIGVsZW1lbnQ9ezxOb3RpZmljYXRpb25QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdXNlcnNcIiBlbGVtZW50PXs8VXNlckxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi91c2Vycy9mb3JtXCIgZWxlbWVudD17PE5ld0VkaXRVc2VyUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2Rpc2FiaWxpdHktdHlwZXNcIiBlbGVtZW50PXs8RGlzYWJpbGl0eVR5cGVMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvZGlzYWJpbGl0eS10eXBlcy9mb3JtXCIgZWxlbWVudD17PE5ld0VkaXREaXNhYmlsaXR5VHlwZVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMnIGVsZW1lbnQ9ezxFZHVjYXRpb25JbnN0aXR1dGlvbkxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRFZHVjYXRpb25JbnN0aXR1dGlvblBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2Zvb2RzJyBlbGVtZW50PXs8Rm9vZExpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2Zvb2RzL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0Rm9vZFBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2ludGVyZXN0ZWQtdGVhbXMnIGVsZW1lbnQ9ezxJbnRlcmVzdGVkVGVhbUxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2ludGVyZXN0ZWQtdGVhbXMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRJbnRlcmVzdGVkVGVhbVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2xhbmd1YWdlcycgZWxlbWVudD17PExhbmd1YWdlTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvbGFuZ3VhZ2VzL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0TGFuZ3VhZ2VQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9vY2N1cGF0aW9ucycgZWxlbWVudD17PE9jY3VwYXRpb25MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9vY2N1cGF0aW9ucy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdE9jY3VwYXRpb25QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9vcHBvcnR1bml0eS1zb3VyY2VzJyBlbGVtZW50PXs8T3Bwb3J0dW5pdHlTb3VyY2VMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9vcHBvcnR1bml0eS1zb3VyY2VzL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0T3Bwb3J0dW5pdHlTb3VyY2VQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9wcm92aW5jZXMnIGVsZW1lbnQ9ezxQcm92aW5jZUxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3Byb3ZpbmNlcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdFByb3ZpbmNlUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvc2tpbGxzJyBlbGVtZW50PXs8U2tpbGxMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9za2lsbHMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRTa2lsbFBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3Rlcm1zLWNvbmRpdGlvbnMnIGVsZW1lbnQ9ezxUZXJtc0NvbmRpdGlvbkxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3Rlcm1zLWNvbmRpdGlvbnMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRUZXJtc0NvbmRpdGlvblBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3RyYWluaW5nLXNlc3Npb25zJyBlbGVtZW50PXs8VHJhaW5pbmdTZXNzaW9uTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdHJhaW5pbmctc2Vzc2lvbnMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRUcmFpbmluZ1Nlc3Npb25QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy92b2x1bnRlZXItZXZlbnRzJyBlbGVtZW50PXs8Vm9sdW50ZWVyRXZlbnRMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy92b2x1bnRlZXItZXZlbnRzL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0Vm9sdW50ZWVyRXZlbnRQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9vZmZlci1wcm9ncmFtcycgZWxlbWVudD17PE9mZmVyUHJvZ3JhbUxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL29mZmVyLXByb2dyYW1zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0T2ZmZXJQcm9ncmFtUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdHJhdmVsLWRheXMnIGVsZW1lbnQ9ezxUcmF2ZWxEYXlMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy90cmF2ZWwtZGF5cy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdFRyYXZlbERheVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICB7LyogPFJvdXRlIHBhdGg9Jy9mYW1pbHktc3VydmV5JyBlbGVtZW50PXs8RmFtaWx5QXBwcm92ZWRMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9mYW1pbHktc3VydmV5L2Zvcm0nIGVsZW1lbnQ9ezxGYW1pbHlTdXJ2ZXlGb3JtIC8+fSAvPiAqL31cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm91dGVzPlxuICAgICAgICAgIDwvQ29udGVudD5cbiAgICAgICAgICA8Rm9vdGVyQ29tcG9uZW50IC8+XG4gICAgICAgIDwvTGF5b3V0PlxuICAgICAgPC9MYXlvdXQ+XG4gICAgPC9MYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNYWluO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ1c2VEaXNwYXRjaCIsInVzZVNlbGVjdG9yIiwiY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24iLCJkaXNhYmlsaXR5VHlwZURldGFpbEFjdGlvbiIsInVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIiwidXNlTmF2aWdhdGUiLCJUZXh0QXJlYSIsIk5ld0VkaXREaXNhYmlsaXR5VHlwZVBhZ2UiLCJkaXNwYXRjaCIsIm5hdmlnYXRlIiwiX3VzZVNlbGVjdG9yIiwic3RhdGUiLCJkaXNhYmlsaXR5VHlwZSIsInJlZ2lzdGVyRXJyb3JNZXNzYWdlIiwiZGlzYWJpbGl0eVR5cGVVcGRhdGVQZW5kaW5nIiwiX0Zvcm0kdXNlRm9ybSIsIl9Gb3JtIiwidXNlRm9ybSIsIl9Gb3JtJHVzZUZvcm0yIiwiX3NsaWNlZFRvQXJyYXkiLCJmb3JtIiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJpZCIsImdldCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpc0NsaWNrIiwic2V0SXNDbGljayIsIk51bWJlciIsInJlc2V0RmllbGRzIiwic2V0RmllbGRzVmFsdWUiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJfbWVzc2FnZSIsImVycm9yIiwic3VjY2VzcyIsIm9uRmluaXNoIiwidmFsdWVzIiwiZGF0YSIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImxheW91dCIsInN0eWxlIiwibWF4V2lkdGgiLCJtYXJnaW4iLCJfUm93IiwiZ3V0dGVyIiwiX0NvbCIsInNwYW4iLCJJdGVtIiwibGFiZWwiLCJydWxlcyIsInJlcXVpcmVkIiwibWVzc2FnZSIsIl9JbnB1dCIsInJvd3MiLCJfQnV0dG9uIiwidHlwZSIsImJsb2NrIiwiaHRtbFR5cGUiLCJsb2FkaW5nIiwib25DbGljayIsIkxvYWRpbmdEaWFsb2ciLCJEZWxldGVPdXRsaW5lZCIsIkVkaXRPdXRsaW5lZCIsIlBsdXNPdXRsaW5lZCIsImRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIiwiZmV0Y2hEaXNhYmlsaXR5VHlwZXMiLCJTd2FsIiwiRGlzYWJpbGl0eVR5cGVMaXN0Iiwic2VsZWN0ZWRSb3dzIiwic2V0U2VsZWN0ZWRSb3dzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWFyY2hUZXh0Iiwic2V0U2VhcmNoVGV4dCIsImRpc2FiaWxpdHlUeXBlcyIsImRpc2FiaWxpdHlUeXBlc1BlbmRpbmciLCJoYW5kbGVFZGl0IiwiY29uY2F0IiwiaGFuZGxlRGVsZXRlIiwiZmlyZSIsInRpdGxlIiwidGV4dCIsImljb24iLCJzaG93Q29uZmlybUJ1dHRvbiIsInNob3dDYW5jZWxCdXR0b24iLCJodG1sIiwiZGlkT3BlbiIsIl9Td2FsJGdldFBvcHVwIiwiX1N3YWwkZ2V0UG9wdXAyIiwiY29uZmlybUJ1dHRvbiIsImdldFBvcHVwIiwicXVlcnlTZWxlY3RvciIsImNhbmNlbEJ1dHRvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0aGVuIiwiY2xvc2UiLCJoYW5kbGVTZWFyY2giLCJ0cmltIiwiaGFuZGxlUmVzZXQiLCJjb2x1bW5zIiwiZGF0YUluZGV4Iiwia2V5IiwicmVzcG9uc2l2ZSIsInJlbmRlciIsIl8iLCJyZWNvcmQiLCJfU3BhY2UiLCJzaXplIiwiZGFuZ2VyIiwiZmlsdGVyZWREYXRhIiwiZmlsdGVyIiwiaXQiLCJfaXQkbmFtZSIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJvdmVyZmxvd1giLCJkaXNwbGF5IiwianVzdGlmeUNvbnRlbnQiLCJwYWRkaW5nIiwiYmFja2dyb3VuZCIsIm1hcmdpbkJvdHRvbSIsImZsZXhXcmFwIiwid3JhcCIsImxlbmd0aCIsInBsYWNlaG9sZGVyIiwid2lkdGgiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiZSIsInRhcmdldCIsIl9UYWJsZSIsInJvd1NlbGVjdGlvbiIsImRhdGFTb3VyY2UiLCJtYXAiLCJpbmRleCIsIl9vYmplY3RTcHJlYWQiLCJwYWdpbmF0aW9uIiwicGFnZVNpemUiLCJzaG93U2l6ZUNoYW5nZXIiLCJzY3JvbGwiLCJ4IiwidmlzaWJsZSIsImNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb24iLCJ1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiIsIk5ld0VkaXRFZHVjYXRpb25JbnN0aXR1dGlvblBhZ2UiLCJlZHVjYXRpb25JbnN0aXR1dGlvbiIsImVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyIsImRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIiwiZmV0Y2hFZHVjYXRpb25JbnN0aXR1dGlvbnMiLCJFZHVjYXRpb25JbnN0aXR1dGlvbkxpc3QiLCJlZHVjYXRpb25JbnN0aXR1dGlvbnMiLCJlZHVjYXRpb25JbnN0aXR1dGlvbnNQZW5kaW5nIiwiY3JlYXRlRm9vZEFjdGlvbiIsImZvb2REZXRhaWxBY3Rpb24iLCJ1cGRhdGVGb29kQWN0aW9uIiwiTmV3RWRpdEZvb2RQYWdlIiwiZm9vZCIsImZvb2RVcGRhdGVQZW5kaW5nIiwiZGVsZXRlRm9vZEFjdGlvbiIsImZldGNoRm9vZHMiLCJGb29kTGlzdCIsImZvb2RzIiwiZm9vZHNQZW5kaW5nIiwiZmV0Y2hEYXNoYm9hcmRBY3Rpb24iLCJVc2VyT3V0bGluZWQiLCJDYWxlbmRhck91dGxpbmVkIiwiVGVhbU91dGxpbmVkIiwiRmlsZUV4Y2VsT3V0bGluZWQiLCJCYXJDaGFydCIsIlhBeGlzIiwiWUF4aXMiLCJUb29sdGlwIiwiUmVjaGFydHNUb29sdGlwIiwiQmFyIiwiUmVzcG9uc2l2ZUNvbnRhaW5lciIsIkNhcnRlc2lhbkdyaWQiLCJQaWVDaGFydCIsIlBpZSIsIkNlbGwiLCJMZWdlbmQiLCJYTFNYIiwiVGl0bGUiLCJfVHlwb2dyYXBoeSIsIkNvbnRlbnQiLCJfTGF5b3V0IiwiQ09MT1JTIiwiU1RBVF9DT0xPUlMiLCJEYXNoYm9hcmRIb21lIiwiX2Rhc2hib2FyZCRjb3VudF91c2VyIiwiX2Rhc2hib2FyZCRjb3VudF92b2x1IiwiX2Rhc2hib2FyZCRjb3VudF92b2x1MiIsInZvbHVudGVlciIsImRhc2hib2FyZCIsImNoYXJ0RGF0YSIsIk9iamVjdCIsImVudHJpZXMiLCJjb3VudF92b2x1bnRlZXJfc3RhdHVzIiwiX3JlZiIsIl9yZWYyIiwicmVwbGFjZSIsImNoYXRWb2x1bnRlZXJQcm92aW5jZSIsImNvdW50X3ZvbHVudGVlcl9wcm92aW5jZXMiLCJfcmVmMyIsIl9yZWY0Iiwic3BsaXQiLCJwb3AiLCJjaGF0Vm9sdW50ZWVyR2VuZGVyIiwiY291bnRfdm9sdW50ZWVyX2dlbmRlcnMiLCJfcmVmNSIsIl9yZWY2IiwiY2hhdFZvbHVudGVlclRzaGlydCIsImNvdW50X3ZvbHVudGVlcl9zaGlydF9zaXplcyIsIl9yZWY3IiwiX3JlZjgiLCJjaGF0Vm9sdW50ZWVyT2NjdXBhdGlvbnMiLCJjb3VudF92b2x1bnRlZXJfb2NjdXBhdGlvbnMiLCJfcmVmOSIsIl9yZWYwIiwiY2hhdFZvbHVudGVlckVkdWNhdGlvbkluc3QiLCJjb3VudF92b2x1bnRlZXJfZWR1Y2F0aW9uX2luc3RpdHV0aW9ucyIsIl9yZWYxIiwiX3JlZjEwIiwiY2hhdFZvbHVudGVlckludGVyZXN0ZWRUZWFtIiwiY291bnRfaW50ZXJlc3RlZF90ZWFtIiwiX3JlZjExIiwiX3JlZjEyIiwiZXhwb3J0VG9FeGNlbCIsIndiIiwidXRpbHMiLCJib29rX25ldyIsInNoZWV0cyIsImZvckVhY2giLCJfcmVmMTMiLCJfcmVmMTQiLCJzaGVldE5hbWUiLCJ3cyIsImpzb25fdG9fc2hlZXQiLCJib29rX2FwcGVuZF9zaGVldCIsIndyaXRlRmlsZSIsIl9CcmVhZGNydW1iIiwiYWxpZ25JdGVtcyIsImJvcmRlclJhZGl1cyIsImp1c3RpZnkiLCJhbGlnbiIsImxldmVsIiwiZ2FwIiwiY291bnRfdm9sdW50ZWVycyIsImNvbG9yIiwiY291bnRfdXNlcl9yb2xlcyIsImNvdW50X3N1cGVyX2FkbWluIiwiY291bnRfbWFsZSIsImNvdW50X2ZlbWFsZSIsInN0YXQiLCJ4cyIsInNtIiwibWQiLCJfQ2FyZCIsImJhY2tncm91bmRDb2xvciIsIm1pbkhlaWdodCIsIl9TdGF0aXN0aWMiLCJwcmVmaXgiLCJ2YWx1ZVN0eWxlIiwibGciLCJjbGFzc05hbWUiLCJoZWlnaHQiLCJ0b3AiLCJyaWdodCIsImxlZnQiLCJib3R0b20iLCJzdHJva2VEYXNoYXJyYXkiLCJkYXRhS2V5IiwidGljayIsImZvbnRTaXplIiwiYWxsb3dEZWNpbWFscyIsImZpbGwiLCJiYXJTaXplIiwibmFtZUtleSIsImN4IiwiY3kiLCJvdXRlclJhZGl1cyIsIkFwcHN0b3JlT3V0bGluZWQiLCJEYXNoYm9hcmRPdXRsaW5lZCIsIkxvZ291dE91dGxpbmVkIiwiTWVudU91dGxpbmVkIiwiU2V0dGluZ091dGxpbmVkIiwiRW52aXJvbm1lbnRPdXRsaW5lZCIsIkJvb2tPdXRsaW5lZCIsIlNob3BPdXRsaW5lZCIsIkdsb2JhbE91dGxpbmVkIiwiQnVpbGRPdXRsaW5lZCIsIlNrZXRjaE91dGxpbmVkIiwiQnVsYk91dGxpbmVkIiwiQ2FyT3V0bGluZWQiLCJOb3RpZmljYXRpb25PdXRsaW5lZCIsIkZpbGVBZGRPdXRsaW5lZCIsIkxpbmsiLCJSb3V0ZSIsIlJvdXRlcyIsInVzZUxvY2F0aW9uIiwiTmF2aWdhdGUiLCJsb2dvdXQiLCJIb21lUGFnZSIsIkZvb3RlckNvbXBvbmVudCIsImxvZ28iLCJWb2x1bnRlZXJMaXN0IiwiTmV3RWRpdFZvbHVudGVlclBhZ2UiLCJJbnRlcmVzdGVkVGVhbUxpc3QiLCJOZXdFZGl0SW50ZXJlc3RlZFRlYW1QYWdlIiwiTGFuZ3VhZ2VMaXN0IiwiTmV3RWRpdExhbmd1YWdlUGFnZSIsIk9jY3VwYXRpb25MaXN0IiwiTmV3RWRpdE9jY3VwYXRpb25QYWdlIiwiT3Bwb3J0dW5pdHlTb3VyY2VMaXN0IiwiTmV3RWRpdE9wcG9ydHVuaXR5U291cmNlUGFnZSIsIlByb3ZpbmNlTGlzdCIsIk5ld0VkaXRQcm92aW5jZVBhZ2UiLCJTa2lsbExpc3QiLCJOZXdFZGl0U2tpbGxQYWdlIiwiVGVybXNDb25kaXRpb25MaXN0IiwiTmV3RWRpdFRlcm1zQ29uZGl0aW9uUGFnZSIsIlRyYWluaW5nU2Vzc2lvbkxpc3QiLCJOZXdFZGl0VHJhaW5pbmdTZXNzaW9uUGFnZSIsIlZvbHVudGVlckV2ZW50TGlzdCIsIk5ld0VkaXRWb2x1bnRlZXJFdmVudFBhZ2UiLCJVc2VyTGlzdCIsIk5ld0VkaXRVc2VyUGFnZSIsIk5ld0VkaXRPZmZlclByb2dyYW1QYWdlIiwiT2ZmZXJQcm9ncmFtTGlzdCIsIlRyYXZlbERheUxpc3QiLCJOZXdFZGl0VHJhdmVsRGF5UGFnZSIsIk5vdGlmaWNhdGlvblBhZ2UiLCJVc2VyQXR0ZW5kYW5jZUxpc3QiLCJOZXdFZGl0VXNlckF0dGVuZGFuY2VQYWdlIiwiRmFtaWx5U3VydmV5Rm9ybSIsIkZhbWlseUFwcHJvdmVkTGlzdCIsIkhlYWRlciIsIlNpZGVyIiwibWVudXMiLCJ0byIsImNoaWxkcmVuIiwiVVNFUl9ST0xFUyIsIlNVUEVSX0FETUlOIiwiQURNSU4iLCJSRVBPUlRFUiIsIlVTRVIiLCJnZXRBdXRob3JpemVkTWVudXMiLCJyb2xlIiwibWVudSIsIk1haW4iLCJhdXRoIiwiY3VycmVudFVzZXIiLCJ1c2VyUm9sZSIsInBhdGhuYW1lIiwiYWN0aXZlTWVudUtleSIsInNldEFjdGl2ZU1lbnVLZXkiLCJjb2xsYXBzZWQiLCJzZXRDb2xsYXBzZWQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImRyYXdlclZpc2libGUiLCJzZXREcmF3ZXJWaXNpYmxlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJmaWx0ZXJlZE1lbnVzIiwic2V0RmlsdGVyZWRNZW51cyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiYXV0aG9yaXplZE1lbnVzIiwiaGFuZGxlTG9nb3V0IiwiY29uc29sZSIsImxvZyIsImNhbkFjY2Vzc0FkbWluUm91dGVzIiwiY2FuQWNjZXNzUmVwb3J0ZXJSb3V0ZXMiLCJjYW5BY2Nlc3NCYXNpY1JvdXRlcyIsInBvc2l0aW9uIiwiekluZGV4IiwiYm94U2hhZG93IiwibWFyZ2luUmlnaHQiLCJmbGV4Iiwic3JjIiwiYWx0IiwiX0F2YXRhciIsInBob3RvX3VybCIsImZvbnRXZWlnaHQiLCJtYXJnaW5MZWZ0IiwidXNlcm5hbWUiLCJfTWVudSIsInRoZW1lIiwibW9kZSIsImJvcmRlckJvdHRvbSIsIm1hcmdpblRvcCIsImNvbGxhcHNpYmxlIiwib25Db2xsYXBzZSIsIm92ZXJmbG93Iiwic2VsZWN0ZWRLZXlzIiwiU3ViTWVudSIsIm1heEhlaWdodCIsIm92ZXJmbG93WSIsInN1Ym1lbnUiLCJfRHJhd2VyIiwicGxhY2VtZW50IiwiY2xvc2FibGUiLCJvbkNsb3NlIiwib3BlbiIsImJvZHlTdHlsZSIsInBhdGgiLCJlbGVtZW50Il0sInNvdXJjZVJvb3QiOiIifQ==