"use strict";
(self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_shared_views_m"],{
/***/ "./src/shared/views/main/user/form.tsx":
/*!*********************************************!*\
!*** ./src/shared/views/main/user/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_modal__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js");
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js");
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_upload__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/upload */ "../../../node_modules/antd/lib/upload/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_6__ = __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_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _services_user_core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/user/core/actions */ "./src/services/user/core/actions.ts");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../shared/core/base/services */ "./src/shared/core/base/services.ts");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UploadOutlined.js");
/* harmony import */ var antd_es_mentions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! antd/es/mentions */ "../../../node_modules/antd/lib/mentions/index.js");
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 _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, 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 asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
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 NewEditUserPage = function NewEditUserPage() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_4__.useNavigate)();
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(function (state) {
return state.user;
}),
user = _useSelector.user,
registerErrorMessage = _useSelector.registerErrorMessage,
userUpdatePending = _useSelector.userUpdatePending;
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_0__.useState)(''),
_useState2 = _slicedToArray(_useState, 2),
photoUrl = _useState2[0],
setPhotoUrl = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState4 = _slicedToArray(_useState3, 2),
previewVisible = _useState4[0],
setPreviewVisible = _useState4[1];
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState6 = _slicedToArray(_useState5, 2),
previewTitle = _useState6[0],
setPreviewTitle = _useState6[1];
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
_useState8 = _slicedToArray(_useState7, 2),
previewContent = _useState8[0],
setPreviewContent = _useState8[1];
var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
_useState10 = _slicedToArray(_useState9, 2),
photoList = _useState10[0],
setPhotoList = _useState10[1];
var _useSelector2 = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(function (state) {
return state;
}),
auth = _useSelector2.auth; // Get user role
var currentUser = auth.currentUser;
var isAdmin = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "super_admin"; // Check if user is admin
var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState12 = _slicedToArray(_useState11, 2),
isClick = _useState12[0],
setIsClick = _useState12[1];
// π Fetch data when editing or reset form when adding
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
if (id) {
dispatch((0,_services_user_core_actions__WEBPACK_IMPORTED_MODULE_1__.userDetailAction)(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_0__.useEffect)(function () {
if (id && user) {
form.setFieldsValue({
first_name: user.first_name || '',
last_name: user.last_name || '',
username: user.username || '',
email: user.email || '',
phone: user.phone || '',
role: user.role || '',
telegram_id: user.telegram_id || '',
photo_url: user.photo_url || '',
grad_type: user.grad_type || '',
status: user.status || ''
});
setPhotoUrl(user.photo_url || '');
}
}, [user, form, id]);
// π Show success or error alerts
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
if (!userUpdatePending && isClick) {
if (registerErrorMessage) {
antd_es_message__WEBPACK_IMPORTED_MODULE_6__["default"].error(registerErrorMessage);
} else {
antd_es_message__WEBPACK_IMPORTED_MODULE_6__["default"].success(id ? 'Updated successfully!' : 'Created successfully!');
navigate('/users');
}
}
}, [userUpdatePending, registerErrorMessage, id, isClick, navigate]);
// Common helper function for file uploads
var handleFileChange = /*#__PURE__*/function () {
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(file, fieldName, form) {
var formData, response;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (isAdmin) {
_context.next = 2;
break;
}
return _context.abrupt("return");
case 2:
if (file) {
_context.next = 5;
break;
}
console.error("".concat(fieldName, " Upload Error: No file selected."));
return _context.abrupt("return");
case 5:
_context.prev = 5;
formData = new FormData();
formData.append("file", file);
_context.next = 10;
return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_2__.postUpload)(formData);
case 10:
response = _context.sent;
if (response !== null && response !== void 0 && response.url) {
form.setFieldsValue(_defineProperty({}, fieldName, response.url));
}
_context.next = 17;
break;
case 14:
_context.prev = 14;
_context.t0 = _context["catch"](5);
console.error("".concat(fieldName, " Upload Error:"), _context.t0);
case 17:
case "end":
return _context.stop();
}
}, _callee, null, [[5, 14]]);
}));
return function handleFileChange(_x, _x2, _x3) {
return _ref.apply(this, arguments);
};
}();
var handlePhotoUploadChange = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(photoFile) {
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
if (isAdmin) {
_context2.next = 2;
break;
}
return _context2.abrupt("return");
case 2:
_context2.next = 4;
return handleFileChange(photoFile, "photo_url", form);
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function handlePhotoUploadChange(_x4) {
return _ref2.apply(this, arguments);
};
}();
var handleFileChangeNew = /*#__PURE__*/function () {
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(fileList, setFileList, fieldName) {
var updatedFileList, formData, response, doneFileList, errorFileList;
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
// updatedFileList: mark all files as "uploading"
updatedFileList = fileList.map(function (file) {
return _objectSpread(_objectSpread({}, file), {}, {
status: "uploading" // inferred as the literal "uploading"
});
});
setFileList(updatedFileList);
_context3.prev = 2;
formData = new FormData();
updatedFileList.forEach(function (file) {
if (file.originFileObj) {
formData.append("file", file.originFileObj);
}
});
_context3.next = 7;
return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_2__.postUpload)(formData);
case 7:
response = _context3.sent;
if (response.url) {
form.setFieldsValue(_defineProperty({}, fieldName, response.url));
// doneFileList: mark all files as "done" on successful upload
doneFileList = updatedFileList.map(function (file) {
return _objectSpread(_objectSpread({}, file), {}, {
status: "done"
});
});
setFileList(doneFileList);
}
_context3.next = 16;
break;
case 11:
_context3.prev = 11;
_context3.t0 = _context3["catch"](2);
console.error("".concat(fieldName, " Upload Error:"), _context3.t0);
// errorFileList: mark all files as "error" on failure
errorFileList = updatedFileList.map(function (file) {
return _objectSpread(_objectSpread({}, file), {}, {
status: "error"
});
});
setFileList(errorFileList);
case 16:
case "end":
return _context3.stop();
}
}, _callee3, null, [[2, 11]]);
}));
return function handleFileChangeNew(_x5, _x6, _x7) {
return _ref3.apply(this, arguments);
};
}();
var handlePhotoUploadChangeNew = /*#__PURE__*/function () {
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref4) {
var fileList;
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
fileList = _ref4.fileList;
_context4.next = 3;
return handleFileChangeNew(fileList, setPhotoList, "photo_url");
case 3:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function handlePhotoUploadChangeNew(_x8) {
return _ref5.apply(this, arguments);
};
}();
var beforeUpload = function beforeUpload(file) {
var isImage = file.type.startsWith("image/");
if (!isImage) {
antd_es_message__WEBPACK_IMPORTED_MODULE_6__["default"].error("You can only upload image files (JPG/PNG)!");
}
return isImage;
};
// π Handle form submit
var onFinish = function onFinish(values) {
if (id) {
dispatch((0,_services_user_core_actions__WEBPACK_IMPORTED_MODULE_1__.updateUserAction)({
id: Number(id),
data: values
}));
form.resetFields();
} else {
dispatch((0,_services_user_core_actions__WEBPACK_IMPORTED_MODULE_1__.createUserAction)({
data: values
}));
form.resetFields(); // Reset form after successful creation
}
setIsClick(true);
};
var handlePreview = function handlePreview(url, title) {
setPreviewTitle(title);
setPreviewContent(/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
style: {
width: '70%',
margin: 'auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", {
src: url,
alt: title,
style: {
width: '100%'
}
})));
setPreviewVisible(true);
};
var uploadButton = function uploadButton(url, setUrl, label, fieldName) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
style: {
position: 'relative',
display: 'inline-block'
}
}, url ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
style: {
cursor: 'pointer'
},
onClick: function onClick() {
return handlePreview(url, label);
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", {
src: url,
alt: label,
style: {
width: '100%',
maxHeight: '300px',
borderRadius: '8px',
display: 'block'
}
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null),
size: "small",
style: {
position: 'absolute',
bottom: 12,
right: 8,
background: '#1890ff',
color: '#fff'
},
onClick: function onClick() {
var _document$getElementB;
return (_document$getElementB = document.getElementById("upload-".concat(label))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.click();
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
id: "upload-".concat(label),
type: "file",
style: {
display: 'none'
},
onChange: function onChange(e) {
var file = e.target.files[0];
if (file) {
// You can add your logic here for different file handling
handlePhotoUploadChange(file);
setUrl(URL.createObjectURL(file));
}
}
})) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_upload__WEBPACK_IMPORTED_MODULE_9__["default"], {
listType: "picture",
fileList: photoList,
onChange: handlePhotoUploadChangeNew,
beforeUpload: beforeUpload,
showUploadList: {
showPreviewIcon: true,
showRemoveIcon: true
},
className: "w-full custom-upload"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null))));
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, id ? 'ααααααα’αααααααΎααααΆαα' : 'ααααααααααΈα’αααααααΎααααΆαα'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___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_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_11__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u179A\u17BC\u1794\u1790\u178F",
name: "photo_url"
}, uploadButton(photoUrl, setPhotoUrl, 'ααΌααα', 'photo_url'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 18
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_11__["default"], {
gutter: [12, 0]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1793\u17B6\u1798\u1781\u17D2\u179B\u17BD\u1793",
name: "first_name",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_13__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1793\u17B6\u1798\u178F\u17D2\u179A\u1780\u17BC\u179B",
name: "last_name",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_13__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1788\u17D2\u1798\u17C4\u17C7\u17A2\u17D2\u1793\u1780\u1794\u17D2\u179A\u17BE\u1794\u17D2\u179A\u17B6\u179F\u17CB",
name: "username",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_13__["default"], null)))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_11__["default"], {
gutter: [12, 0]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u17A2\u17CA\u17B8\u1798\u17C2\u179B",
name: "email",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_13__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u179B\u17C1\u1781\u1791\u17BC\u179A\u179F\u17D0\u1796\u17D2\u1791",
name: "phone",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_13__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u178F\u17BD\u1793\u17B6\u1791\u17B8",
name: "role",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_mentions__WEBPACK_IMPORTED_MODULE_15__.Option, {
value: "super_admin"
}, "Super admin"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_mentions__WEBPACK_IMPORTED_MODULE_15__.Option, {
value: "admin"
}, "Admin"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_mentions__WEBPACK_IMPORTED_MODULE_15__.Option, {
value: "user"
}, "User"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_mentions__WEBPACK_IMPORTED_MODULE_15__.Option, {
value: "reporter"
}, "Reporter"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_11__["default"], {
gutter: [12, 0]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u178F\u17C1\u179B\u17C1\u1780\u17D2\u179A\u17B6\u1798\u200B ID",
name: "telegram_id",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_13__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1794\u17D2\u179A\u1797\u17C1\u1791",
name: "grad_type",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_mentions__WEBPACK_IMPORTED_MODULE_15__.Option, {
value: "password"
}, "Password"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_mentions__WEBPACK_IMPORTED_MODULE_15__.Option, {
value: "telegram"
}, "Telegram")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u179F\u17D2\u1790\u17B6\u1793\u1797\u17B6\u1796",
name: "status",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_mentions__WEBPACK_IMPORTED_MODULE_15__.Option, {
value: "ACTIVE"
}, "Active"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_mentions__WEBPACK_IMPORTED_MODULE_15__.Option, {
value: "DISABLE"
}, "Disable"))))), !id && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_11__["default"], {
gutter: [12, 0]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1796\u17B6\u1780\u17D2\u1799\u179F\u1798\u17D2\u1784\u17B6\u178F\u17CB",
name: "password",
rules: [{
required: false
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_13__["default"], {
type: "password"
})))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_11__["default"], {
gutter: [12, 12],
justify: "end"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), {
type: "primary",
block: true,
htmlType: "submit",
loading: userUpdatePending
}, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_12__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), {
htmlType: "button",
onClick: function onClick() {
return navigate('/users');
}
}, "Cancel")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_modal__WEBPACK_IMPORTED_MODULE_16__["default"], {
visible: previewVisible,
title: previewTitle,
footer: null,
onCancel: function onCancel() {
return setPreviewVisible(false);
}
}, previewContent)));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditUserPage);
/***/ }),
/***/ "./src/shared/views/main/user/index.tsx":
/*!**********************************************!*\
!*** ./src/shared/views/main/user/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_13__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var antd_es_image__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/image */ "../../../node_modules/antd/lib/image/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx");
/* 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/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js");
/* harmony import */ var _services_user_core_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../services/user/core/actions */ "./src/services/user/core/actions.ts");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_3__);
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 UserList = function UserList() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_5__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
selectedRows = _useState2[0],
setSelectedRows = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState4 = _slicedToArray(_useState3, 2),
searchText = _useState4[0],
setSearchText = _useState4[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(function (state) {
return state.user;
}),
users = _useSelector.users,
usersPending = _useSelector.usersPending;
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
dispatch((0,_services_user_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchUsers)());
}, [dispatch]);
var handleEdit = function handleEdit(id) {
dispatch((0,_services_user_core_actions__WEBPACK_IMPORTED_MODULE_2__.userDetailAction)(id));
navigate("/users/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
sweetalert2__WEBPACK_IMPORTED_MODULE_3___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_3___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_3___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_user_core_actions__WEBPACK_IMPORTED_MODULE_2__.deleteUserAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_user_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchUsers)());
});
sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_3___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: 'first_name',
key: 'first_name',
responsive: ['sm']
}, {
title: 'ααΆααααααΌα',
dataIndex: 'last_name',
key: 'last_name',
responsive: ['sm']
}, {
title: 'αααααα’αααααααΎααααΆαα',
dataIndex: 'username',
key: 'username',
responsive: ['sm']
}, {
title: 'α’ααΈααα',
dataIndex: 'email',
key: 'email',
responsive: ['sm']
}, {
title: 'αααααΌαααααα',
dataIndex: 'phone',
key: 'phone',
responsive: ['sm']
}, {
title: 'αα½ααΆααΈ',
dataIndex: 'role',
key: 'role',
responsive: ['sm']
}, {
title: 'ααααααααΆαβ ID',
dataIndex: 'telegram_id',
key: 'telegram_id',
responsive: ['sm']
}, {
title: 'ααΌααα',
dataIndex: 'photo_url',
key: 'photo_url',
responsive: ['sm'],
render: function render(text) {
return text ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_image__WEBPACK_IMPORTED_MODULE_6__["default"], {
width: 50,
src: text,
alt: "Photo",
style: {
borderRadius: 5,
border: '1px solid #ddd'
}
}) : 'No Image';
}
}, {
title: 'αααααα',
dataIndex: 'grad_type',
key: 'grad_type',
responsive: ['sm']
}, {
title: 'ααααΆαααΆα',
dataIndex: 'status',
key: 'status',
responsive: ['sm']
}, {
title: 'Action',
key: 'action',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
size: "middle"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___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_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null),
danger: true,
onClick: function onClick() {
return handleDelete(record.id);
}
}));
}
}];
var filteredData = (users || []).filter(function (it) {
var _it$email, _it$username, _it$role, _it$first_name, _it$last_name, _it$phone, _it$telegram_id, _it$grad_type, _it$status;
var search = searchText.toLowerCase();
return ((_it$email = it.email) === null || _it$email === void 0 ? void 0 : _it$email.toLowerCase().includes(search)) || ((_it$username = it.username) === null || _it$username === void 0 ? void 0 : _it$username.toLowerCase().includes(search)) || ((_it$role = it.role) === null || _it$role === void 0 ? void 0 : _it$role.toLowerCase().includes(search)) || ((_it$first_name = it.first_name) === null || _it$first_name === void 0 ? void 0 : _it$first_name.toLowerCase().includes(search)) || ((_it$last_name = it.last_name) === null || _it$last_name === void 0 ? void 0 : _it$last_name.toLowerCase().includes(search)) || ((_it$phone = it.phone) === null || _it$phone === void 0 ? void 0 : _it$phone.toLowerCase().includes(search)) || ((_it$telegram_id = it.telegram_id) === null || _it$telegram_id === void 0 ? void 0 : _it$telegram_id.toLowerCase().includes(search)) || ((_it$grad_type = it.grad_type) === null || _it$grad_type === void 0 ? void 0 : _it$grad_type.toLowerCase().includes(search)) || ((_it$status = it.status) === null || _it$status === void 0 ? void 0 : _it$status.toLowerCase().includes(search));
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
style: {
overflowX: 'auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17D2\u1793\u1780\u1794\u17D2\u179A\u17BE\u1794\u17D2\u179A\u17B6\u179F\u17CB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
style: {
display: 'flex',
justifyContent: 'space-between',
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px',
flexWrap: 'wrap'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_11__["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_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
onClick: handleSearch,
type: "primary"
}, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
onClick: handleReset
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["default"], null),
type: "primary",
onClick: function onClick() {
return navigate("/users/form");
}
}, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_13__["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.first_name
}, it);
}),
pagination: {
pageSize: 10,
showSizeChanger: true
},
scroll: {
x: 'max-content'
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__["default"], {
visible: usersPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UserList);
/***/ }),
/***/ "./src/shared/views/main/volunteer/approved.tsx":
/*!******************************************************!*\
!*** ./src/shared/views/main/volunteer/approved.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_21__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_tag__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd/es/tag */ "../../../node_modules/antd/lib/tag/index.js");
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js");
/* harmony import */ var antd_es_image__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd/es/image */ "../../../node_modules/antd/lib/image/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/volunteer/core/actions */ "./src/services/volunteer/core/actions.ts");
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* 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 _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FilePdfOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileExcelOutlined.js");
/* harmony import */ var xlsx__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! xlsx */ "../../../node_modules/xlsx/xlsx.mjs");
/* harmony import */ var jspdf_autotable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jspdf-autotable */ "../../../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js");
/* harmony import */ var jspdf_autotable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jspdf_autotable__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var jspdf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! jspdf */ "../../../node_modules/jspdf/dist/jspdf.es.min.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var notiflix__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! notiflix */ "../../../node_modules/notiflix/dist/notiflix-aio-3.2.8.min.js");
/* harmony import */ var notiflix__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(notiflix__WEBPACK_IMPORTED_MODULE_6__);
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 _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
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 confirm = antd_es_modal__WEBPACK_IMPORTED_MODULE_7__["default"].confirm;
var statusColors = {
Register: 'blue',
Shortlist: 'gold',
Interview: 'purple',
Participants: 'green',
Reserve: 'cyan',
Failed: 'red',
Resignation: 'orange',
Disqualification: 'volcano'
};
var ApprovedVoluneers = function ApprovedVoluneers(_ref) {
var _volunteers$data, _volunteers$meta;
var status = _ref.status;
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_8__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
selectedRows = _useState2[0],
setSelectedRows = _useState2[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_8__.useSelector)(function (state) {
return state.volunteer;
}),
volunteers = _useSelector.volunteers,
volunteerPending = _useSelector.volunteerPending,
dashboard = _useSelector.dashboard;
var _useSelector2 = (0,react_redux__WEBPACK_IMPORTED_MODULE_8__.useSelector)(function (state) {
return state;
}),
auth = _useSelector2.auth;
var currentUser = auth.currentUser;
var isAdmin = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "super_admin"; // Check user role
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),
_useState4 = _slicedToArray(_useState3, 2),
currentPage = _useState4[0],
setCurrentPage = _useState4[1];
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(10),
_useState6 = _slicedToArray(_useState5, 2),
pageSize = _useState6[0],
setPageSize = _useState6[1];
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(""),
_useState8 = _slicedToArray(_useState7, 2),
search = _useState8[0],
setSearch = _useState8[1];
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVolunteers)({
volunteer_status: status,
page: currentPage,
pageSize: pageSize,
search: search
}));
}, [dispatch, status, currentPage, pageSize, search]);
var handleSearch = function handleSearch(e) {
setSearch(e.target.value);
};
var resetSearch = function resetSearch() {
setSearch("");
};
var handleEdit = function handleEdit(id) {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__.volunteerDetailAction)(id));
navigate("/volunteer/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
if (!isAdmin) return; // Restrict access to non-admins
sweetalert2__WEBPACK_IMPORTED_MODULE_5___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_5___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_5___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_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__.deleteVolunteerAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_5___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVolunteers)({
volunteer_status: status,
page: currentPage,
pageSize: pageSize
}));
});
sweetalert2__WEBPACK_IMPORTED_MODULE_5___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_5___default().close();
});
}
});
};
var statusOptions = ["Register", "Shortlist", "Interview", "Participants", "Reserve", "Failed", "Resignation", "Disqualification"];
// Handle status change and fetch updated list
var handleStatusChange = function handleStatusChange(volunteerId, newStatus) {
if (!isAdmin) return; // Restrict access to non-admins
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__.updateVolunteerAction)({
id: volunteerId,
data: {
volunteer_status: newStatus
}
})).then(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVolunteers)({
volunteer_status: status,
page: currentPage,
pageSize: pageSize
})); // Fetch updated list after change
notiflix__WEBPACK_IMPORTED_MODULE_6___default().Notify.success("Status updated to \"".concat(newStatus, "\""));
})["catch"](function () {
notiflix__WEBPACK_IMPORTED_MODULE_6___default().Notify.failure("Failed to update status. Try again.");
});
};
var handleTableChange = function handleTableChange(pagination) {
setCurrentPage(pagination.current);
setPageSize(pagination.pageSize);
};
var columns = [{
title: 'β',
dataIndex: 'index',
key: 'index',
responsive: ['sm']
}, {
title: 'αααααΌα',
key: 'code',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_10__["default"], {
size: "small"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), {
type: "link",
onClick: function onClick() {
return handleEdit(record.id);
}
}, record.code));
}
}, {
title: 'ααΌαααΆααα·αααααα',
dataIndex: 'combined',
key: 'combined',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
style: {
display: 'flex',
alignItems: 'center',
gap: 10
}
}, record.photo ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_image__WEBPACK_IMPORTED_MODULE_12__["default"], {
width: 50,
src: record.photo,
alt: "Photo",
style: {
borderRadius: 5,
border: '1px solid #ddd'
}
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, "No Image"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, record.name));
}
}, {
title: 'αααααΌαααααα',
dataIndex: 'phone_number',
key: 'phone_number',
responsive: ['md'],
ellipsis: true
}, {
title: 'ααα',
dataIndex: 'gender',
key: 'gender',
responsive: ['sm'],
ellipsis: true
}, {
title: 'ααααααΆαα’αααΈααΆαααΆααααΆααα',
dataIndex: 'application_info',
key: 'application_info',
responsive: ['md'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", null, "\u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD:"), " ", record.volunteer_event_name || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", null, "\u1780\u17D2\u179A\u17BB\u1798\u1780\u17B6\u179A\u1784\u17B6\u179A:"), " ", record.interested_team_name || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", null, "\u17A2\u17CA\u17B8\u1798\u17C2\u179B:"), " ", record.email || '-'));
}
}, {
title: "Action",
key: "action",
responsive: ["xs", "sm", "md", "lg"],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_10__["default"], {
size: "small"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tag__WEBPACK_IMPORTED_MODULE_13__["default"], {
color: statusColors[record.volunteer_status] || "default",
style: {
padding: "3px 6px",
borderRadius: "6px",
display: "flex",
alignItems: "center"
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_14__["default"], {
size: "small" // β
Makes the dropdown smaller
,
value: record.volunteer_status || "Register",
bordered: false // β
Removes border for a cleaner look
,
dropdownStyle: {
fontSize: "12px"
} // β
Ensures smaller text in dropdown
,
style: {
minWidth: 100,
backgroundColor: "transparent",
fontSize: "12px" // β
Makes text smaller
},
onChange: function onChange(newStatus) {
return handleStatusChange(record.id, newStatus);
}
}, statusOptions.map(function (status) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_14__["default"].Option, {
key: status,
value: status
}, status);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_15__["default"], null),
type: "primary",
size: "small" // β
Makes button smaller
,
onClick: function onClick() {
return handleEdit(record.id);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_16__["default"], null),
danger: true,
size: "small" // β
Makes button smaller
,
onClick: function onClick() {
return handleDelete(record.id);
}
}));
}
}, {
title: 'α’ααααααααΆαααααα',
dataIndex: 'upload_id_card',
key: 'upload_id_card',
responsive: ['lg'],
render: function render(text) {
return text ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_image__WEBPACK_IMPORTED_MODULE_12__["default"], {
width: 50,
src: text,
alt: "ID Card",
style: {
borderRadius: 5,
border: '1px solid #ddd'
}
}) : 'No Image';
}
}];
// π EXPORT TO EXCEL FUNCTION
var exportToExcel = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
var _allDashboard$payload, _allvolunteers$payloa;
var allDashboard, allvolunteers, _allvolunteers$payloa2, ws, wb;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (isAdmin) {
_context.next = 2;
break;
}
return _context.abrupt("return");
case 2:
_context.next = 4;
return dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDashboardAction)());
case 4:
allDashboard = _context.sent;
_context.next = 7;
return dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVolunteers)({
volunteer_status: status,
page: 1,
pageSize: (allDashboard === null || allDashboard === void 0 || (_allDashboard$payload = allDashboard.payload) === null || _allDashboard$payload === void 0 ? void 0 : _allDashboard$payload.count_volunteers) || 2000
}));
case 7:
allvolunteers = _context.sent;
if (allvolunteers && (allvolunteers === null || allvolunteers === void 0 || (_allvolunteers$payloa = allvolunteers.payload) === null || _allvolunteers$payloa === void 0 ? void 0 : _allvolunteers$payloa.data.length) > 0) {
ws = xlsx__WEBPACK_IMPORTED_MODULE_17__.utils.json_to_sheet(allvolunteers === null || allvolunteers === void 0 || (_allvolunteers$payloa2 = allvolunteers.payload) === null || _allvolunteers$payloa2 === void 0 ? void 0 : _allvolunteers$payloa2.data.map(function (it, index) {
return {
'#': index + 1,
'αααααΌα': it.code,
'ααααα (Khmer)': "".concat(it.last_name_khmer, " ").concat(it.first_name_khmer),
'ααααα (Latin)': "".concat(it.last_name_latin, " ").concat(it.first_name_latin),
'ααααααααΎα': it.date_of_birth,
'ααα': it.gender,
'αααααΆαα·': it.nationality,
'αααααΌαααααα': it.phone_number,
'α’ααΈααα': it.email,
'α’αΆααααααΆα': it.current_address,
'ααααα': it.province_id,
'α’αΆααΈα': it.occupation_name,
'ααααΆααααα·ααααΆ': it.education_institution_name,
'ααα αα’αΆα': it.t_shirt_size,
'α’αΆα αΆα': it.food_name,
'αααα αΆα’αΆα αΆα': it.is_food_allergy ? 'Yes' : 'No',
'α’αΆα αΆααααααα’αα': it.food_allergies,
'αααααααα·ααΆαααΆα': it.disability_type_name,
'αααα»ααααα
αΆααα’αΆαααααα': it.interested_team_name,
'ααααΉαααα·ααΆααα': it.volunteer_event_name,
'αααααα±ααΆα': it.opportunity_source_name,
'ααααααααα»ααααααΆα': it.training_session_name,
'ααααΆαααΆα': it.volunteer_status,
'Created At': it.created_at,
// β
Add Direct Image URLs
'ααΌαααΆα': it.photo ? it.photo : 'No Image',
'α’ααααααααΆαααααα': it.upload_id_card ? it.upload_id_card : 'No Image',
// β
Add Downloadable CV Link
'CV': it.upload_cv ? "=HYPERLINK(\"".concat(it.upload_cv, "\", \"Download CV\")") : 'No CV'
};
}));
wb = xlsx__WEBPACK_IMPORTED_MODULE_17__.utils.book_new();
xlsx__WEBPACK_IMPORTED_MODULE_17__.utils.book_append_sheet(wb, ws, 'Volunteers');
// β
Ensure the CV link format is properly applied
ws['!cols'] = [{
wch: 10
}, {
wch: 20
}, {
wch: 25
}, {
wch: 25
}, {
wch: 15
}, {
wch: 10
}, {
wch: 20
}, {
wch: 20
}, {
wch: 30
}, {
wch: 20
}, {
wch: 20
}, {
wch: 25
}, {
wch: 15
}, {
wch: 10
}, {
wch: 10
}, {
wch: 10
}, {
wch: 15
}, {
wch: 15
}, {
wch: 20
}, {
wch: 20
}, {
wch: 20
}, {
wch: 20
}, {
wch: 25
}];
xlsx__WEBPACK_IMPORTED_MODULE_17__.writeFile(wb, 'Volunteers.xlsx');
}
case 9:
case "end":
return _context.stop();
}
}, _callee);
}));
return function exportToExcel() {
return _ref2.apply(this, arguments);
};
}();
// π EXPORT TO PDF FUNCTION
var exportToPDF = function exportToPDF() {
if (!isAdmin) return; // Restrict access to non-admins
var doc = new jspdf__WEBPACK_IMPORTED_MODULE_4__["default"]();
doc.text('Volunteer List', 14, 10);
var tableData = volunteers.data.map(function (it, index) {
return [index + 1, it.code, "".concat(it.last_name_khmer, " ").concat(it.first_name_khmer), "".concat(it.last_name_latin, " ").concat(it.first_name_latin), it.date_of_birth, it.gender, it.nationality, it.phone_number, it.email, it.current_address,
// it.province_name,
it.occupation_name, it.education_institution_name, it.t_shirt_size, it.food_name, it.is_food_allergy ? 'Yes' : 'No', it.food_allergies, it.disability_type_name, it.interested_team_name, it.volunteer_event_name, it.opportunity_source_name, it.training_session_name, it.volunteer_status, it.created_at];
});
jspdf_autotable__WEBPACK_IMPORTED_MODULE_3___default()(doc, {
head: [['#', 'αααααΌα', 'ααααα (Khmer)', 'ααααα (Latin)', 'ααααααααΎα', 'ααα', 'αααααΆαα·', 'αααααΌαααααα', 'α’ααΈααα', 'α’αΆααααααΆα', 'ααααα', 'α’αΆααΈα', 'ααααΆααααα·ααααΆ', 'ααα αα’αΆα', 'α’αΆα αΆα', 'αααα αΆα’αΆα αΆα', 'α’αΆα αΆααααααα’αα', 'αααααααα·ααΆαααΆα', 'αααα»α', 'ααααΉαααα·ααΆααα', 'αααααα±ααΆα', 'αααα', 'ααααΆαααΆα', 'Created At']],
body: tableData,
styles: {
fontSize: 8
},
headStyles: {
fillColor: [22, 160, 133]
}
});
doc.save('Volunteers.pdf');
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
style: {
overflowX: 'auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
style: {
display: 'flex',
justifyContent: 'space-between',
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px',
flexWrap: 'wrap'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_10__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", ((_volunteers$data = volunteers.data) === null || _volunteers$data === void 0 ? void 0 : _volunteers$data.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_18__["default"], {
placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...",
value: search,
onChange: handleSearch,
style: {
width: 200
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), {
onClick: resetSearch
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_10__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), null, "\u1794\u17C6\u179A\u17BB\u1784"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), {
danger: true
}, "\u1792\u17D2\u179B\u17B6\u1780\u17CB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), {
danger: true
}, "\u179F\u17BB\u17C6\u1788\u1794\u17CB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), {
type: "default",
style: {
borderColor: "red",
color: "red",
backgroundColor: "white"
},
onClick: exportToPDF
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_19__["default"], {
style: {
color: "red"
}
}), " PDF"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), {
type: "default",
style: {
borderColor: "green",
color: "green",
backgroundColor: "white"
},
onClick: exportToExcel
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_20__["default"], {
style: {
color: "green"
}
}), " Excel"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_21__["default"], {
rowSelection: {
type: 'checkbox',
onChange: function onChange(_, selectedRows) {
return setSelectedRows(selectedRows);
}
},
columns: columns,
dataSource: ((volunteers === null || volunteers === void 0 ? void 0 : volunteers.data) || []).map(function (it, index) {
return _objectSpread({
key: it.id,
index: index + 1,
name: "".concat(it.last_name_latin, " ").concat(it.first_name_latin)
}, it);
}),
loading: volunteerPending,
pagination: {
current: currentPage,
pageSize: pageSize,
total: (volunteers === null || volunteers === void 0 || (_volunteers$meta = volunteers.meta) === null || _volunteers$meta === void 0 ? void 0 : _volunteers$meta.total) || 0,
showSizeChanger: true
},
onChange: handleTableChange,
rowKey: "id",
scroll: {
x: 'max-content'
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_2__["default"], {
visible: volunteerPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ApprovedVoluneers);
/***/ }),
/***/ "./src/shared/views/main/volunteer/form.tsx":
/*!**************************************************!*\
!*** ./src/shared/views/main/volunteer/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 react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_volunteer_register_components_form__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/volunteer/register/components/form */ "./src/services/volunteer/register/components/form.tsx");
var searchParams = new URLSearchParams(location.search);
var id = searchParams.get('id');
var NewEditVolunteerPage = function NewEditVolunteerPage() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_volunteer_register_components_form__WEBPACK_IMPORTED_MODULE_1__["default"], {
id: id
});
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditVolunteerPage);
/***/ }),
/***/ "./src/shared/views/main/volunteer/index.tsx":
/*!***************************************************!*\
!*** ./src/shared/views/main/volunteer/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_tabs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/tabs */ "../../../node_modules/antd/lib/tabs/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _approved__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./approved */ "./src/shared/views/main/volunteer/approved.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 VolunteerList = function VolunteerList() {
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState2 = _slicedToArray(_useState, 2),
status = _useState2[0],
setStatus = _useState2[1];
var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_2__.useLocation)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_2__.useNavigate)();
var query = new URLSearchParams(location.search);
var statusField = query.get('status');
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
if (statusField) {
setStatus(statusField);
}
}, [statusField]); // Added dependency
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_3__["default"], {
activeKey: status,
onChange: function onChange(key) {
setStatus(key);
query.set('status', key);
navigate({
pathname: location.pathname,
search: query.toString()
});
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_3__["default"].TabPane, {
tab: "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17D2\u1793\u1780\u1785\u17BB\u17C7\u1788\u17D2\u1798\u17C4\u17C7\u179F\u17D2\u1798\u17D0\u1782\u17D2\u179A\u1785\u17B7\u178F\u17D2\u178F",
key: ""
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_3__["default"].TabPane, {
tab: "\u1794\u1789\u17D2\u1787\u17B8\u179F\u1798\u17D2\u179A\u17B6\u17C6",
key: "Shortlist"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_3__["default"].TabPane, {
tab: "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17D2\u1793\u1780\u178F\u17D2\u179A\u17BC\u179C\u179F\u1798\u17D2\u1797\u17B6\u179F\u1793\u17CD",
key: "Interview"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_3__["default"].TabPane, {
tab: "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17D2\u1793\u1780\u1787\u17B6\u1794\u17CB",
key: "Participants"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_3__["default"].TabPane, {
tab: "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17D2\u1793\u1780\u1794\u17C6\u179A\u17BB\u1784",
key: "Reserve"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_3__["default"].TabPane, {
tab: "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17D2\u1793\u1780\u1792\u17D2\u179B\u17B6\u1780\u17CB",
key: "Failed"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_3__["default"].TabPane, {
tab: "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17D2\u1793\u1780\u179F\u17BB\u17C6\u1788\u1794\u17CB",
key: "Resignation"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_3__["default"].TabPane, {
tab: "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17D2\u1793\u1780\u1798\u17B7\u1793\u1791\u17B6\u1793\u17CB\u1798\u17B6\u1793\u179B\u1780\u17D2\u1781\u178E\u17C8\u1782\u17D2\u179A\u1794\u17CB\u1782\u17D2\u179A\u17B6\u1793\u17CB",
key: "Disqualification"
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_approved__WEBPACK_IMPORTED_MODULE_1__["default"], {
status: status
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerList);
/***/ }),
/***/ "./src/shared/views/main/volunteer_event/form.tsx":
/*!********************************************************!*\
!*** ./src/shared/views/main/volunteer_event/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_10__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js");
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/volunteer_event/core/actions */ "./src/services/volunteer_event/core/actions.ts");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__ = __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 NewEditVolunteerEventPage = function NewEditVolunteerEventPage() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useNavigate)();
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(function (state) {
return state.volunteerEvent;
}),
volunteerEvent = _useSelector.volunteerEvent,
registerErrorMessage = _useSelector.registerErrorMessage,
volunteerEventUpdatePending = _useSelector.volunteerEventUpdatePending;
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_4__["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_0__.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_0__.useEffect)(function () {
if (id) {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_1__.volunteerEventDetailAction)(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_0__.useEffect)(function () {
if (id && volunteerEvent) {
form.setFieldsValue({
name: volunteerEvent.name || '',
description: volunteerEvent.description || ''
});
}
}, [volunteerEvent, form, id]);
// π Show success or error alerts
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
if (!volunteerEventUpdatePending && isClick) {
if (registerErrorMessage) {
antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].error(registerErrorMessage);
} else {
antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].success(id ? 'Updated successfully!' : 'Created successfully!');
navigate('/volunteer-events');
}
}
}, [volunteerEventUpdatePending, registerErrorMessage, id, isClick, navigate]);
// π Handle form submit
var onFinish = function onFinish(values) {
if (id) {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_1__.updateVolunteerEventAction)({
id: Number(id),
data: values
}));
form.resetFields();
} else {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_1__.createVolunteerEventAction)({
data: values
}));
form.resetFields(); // Reset form after successful creation
}
setIsClick(true);
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, id ? 'ααααααααααΉαααα·ααΆααααααααααα
α·ααα' : 'ααααααααααΈααααΉαααα·ααΆααααααααααα
α·ααα'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"], {
form: form,
layout: "vertical",
onFinish: onFinish,
style: {
maxWidth: '100%',
margin: '0 auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_6__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, {
label: "\u1788\u17D2\u1798\u17C4\u17C7",
name: "name",
rules: [{
required: true,
message: 'Please enter a name'
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_8__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, {
label: "\u1794\u179A\u17B7\u1799\u17B6\u1799",
name: "description"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__["default"], {
rows: 3
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_6__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_10___default()), {
type: "primary",
block: true,
htmlType: "submit",
loading: volunteerEventUpdatePending
}, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_10___default()), {
htmlType: "button",
onClick: function onClick() {
return navigate('/volunteer-events');
}
}, "Cancel"))))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditVolunteerEventPage);
/***/ }),
/***/ "./src/shared/views/main/volunteer_event/index.tsx":
/*!*********************************************************!*\
!*** ./src/shared/views/main/volunteer_event/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_12__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__ = __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/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js");
/* harmony import */ var _services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../services/volunteer_event/core/actions */ "./src/services/volunteer_event/core/actions.ts");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_3__);
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 VolunteerEventList = function VolunteerEventList() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_5__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
selectedRows = _useState2[0],
setSelectedRows = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState4 = _slicedToArray(_useState3, 2),
searchText = _useState4[0],
setSearchText = _useState4[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(function (state) {
return state.volunteerEvent;
}),
volunteerEvents = _useSelector.volunteerEvents,
volunteerEventsPending = _useSelector.volunteerEventsPending;
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchVolunteerEvents)());
}, [dispatch]);
var handleEdit = function handleEdit(id) {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_2__.volunteerEventDetailAction)(id));
navigate("/volunteer-events/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
sweetalert2__WEBPACK_IMPORTED_MODULE_3___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_3___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_3___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_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_2__.deleteVolunteerEventAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchVolunteerEvents)());
});
sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_3___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_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], {
size: "middle"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null),
type: "primary",
onClick: function onClick() {
return handleEdit(record.id);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null),
danger: true,
onClick: function onClick() {
return handleDelete(record.id);
}
}));
}
}];
var filteredData = (volunteerEvents || []).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_0___default().createElement("div", {
style: {
overflowX: 'auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD\u179F\u17D2\u1798\u17D0\u1782\u17D2\u179A\u1785\u17B7\u178F\u17D2\u178F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
style: {
display: 'flex',
justifyContent: 'space-between',
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px',
flexWrap: 'wrap'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_10__["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_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), {
onClick: handleSearch,
type: "primary"
}, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), {
onClick: handleReset
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__["default"], null),
type: "primary",
onClick: function onClick() {
return navigate("/volunteer-events/form");
}
}, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_12__["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_0___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__["default"], {
visible: volunteerEventsPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerEventList);
/***/ }),
/***/ "./src/shared/views/not-found/not-found.tsx":
/*!**************************************************!*\
!*** ./src/shared/views/not-found/not-found.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 react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
var NotFound = function NotFound() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h1", null, "404 - Page Not Found");
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NotFound);
/***/ }),
/***/ "./src/shared/views/volunteer/volunteer-register.tsx":
/*!***********************************************************!*\
!*** ./src/shared/views/volunteer/volunteer-register.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 react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_volunteer_register_components_register__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/volunteer/register/components/register */ "./src/services/volunteer/register/components/register.tsx");
var VolunteerRegisterForm = function VolunteerRegisterForm() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
className: "form-container"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_volunteer_register_components_register__WEBPACK_IMPORTED_MODULE_1__["default"], null));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerRegisterForm);
/***/ })
},
/******/ __webpack_require__ => { // webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
/******/ __webpack_require__.O(0, ["vendors-node_modules_ant-design_colors_es_index_js-node_modules_ant-design_cssinjs-utils_es_i-f02ac1","vendors-node_modules_ant-design_icons_BarsOutlined_js-node_modules_ant-design_icons_CalendarO-104113","vendors-node_modules_antd_lib__util_ActionButton_js-node_modules_antd_lib__util_ContextIsolat-4f337b","vendors-node_modules_antd_lib_app_context_js-node_modules_antd_lib_avatar_index_js-node_modul-2c5175","vendors-node_modules_antd_lib_col_index_js-node_modules_antd_lib_color-picker_components_Colo-c1ac4b","vendors-node_modules_antd_lib_empty_index_js-node_modules_antd_lib_form_hooks_useVariants_js--bb653c","vendors-node_modules_antd_lib_image_index_js-node_modules_antd_lib_input_index_js-node_module-8dc24f","vendors-node_modules_antd_lib_locale_ar_EG_js-node_modules_antd_lib_locale_az_AZ_js-node_modu-7ec6c3","vendors-node_modules_antd_lib_locale_kmr_IQ_js-node_modules_antd_lib_locale_kn_IN_js-node_mod-2ac214","vendors-node_modules_antd_lib_mentions_index_js-node_modules_antd_lib_menu_index_js-node_modu-4846ff","vendors-node_modules_antd_lib_modal_index_js-node_modules_antd_lib_pagination_index_js-node_m-c8b342","vendors-node_modules_antd_lib_row_index_js-node_modules_antd_lib_select_index_js-node_modules-4f326d","vendors-node_modules_antd_lib_space_index_js-node_modules_antd_lib_spin_index_js-node_modules-a04737","vendors-node_modules_antd_lib_style_motion_index_js-node_modules_antd_lib_style_placementArro-594611","vendors-node_modules_antd_lib_tabs_index_js-node_modules_antd_lib_tag_index_js","vendors-node_modules_antd_lib_time-picker_locale_ar_EG_js-node_modules_antd_lib_time-picker_l-060d59","vendors-node_modules_antd_lib_tree_index_js-node_modules_antd_lib_typography_index_js-node_mo-2046af","vendors-node_modules_babel_runtime_helpers_asyncToGenerator_js-node_modules_babel_runtime_hel-9561f1","vendors-node_modules_copy-to-clipboard_index_js-node_modules_css-loader_dist_runtime_api_js-n-d316ab","vendors-node_modules_emotion_hash_dist_hash_browser_esm_js-node_modules_emotion_unitless_dist-aeedfc","vendors-node_modules_fflate_esm_browser_js-node_modules_jspdf-autotable_dist_jspdf_plugin_aut-58966d","vendors-node_modules_jspdf_dist_jspdf_es_min_js","vendors-node_modules_lodash_every_js-node_modules_lodash_find_js-node_modules_lodash_flatMap_-dd541c","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-c27f65","vendors-node_modules_moment_locale_gu_js-node_modules_moment_locale_he_js-node_modules_moment-f09aae","vendors-node_modules_moment_locale_nl-be_js-node_modules_moment_locale_nl_js-node_modules_mom-aa5e01","vendors-node_modules_moment_locale_tzl_js-node_modules_moment_locale_tzm-latn_js-node_modules-ad9985","vendors-node_modules_moment_moment_js","vendors-node_modules_notiflix_dist_notiflix-aio-3_2_8_min_js-node_modules_object-assign_index_js","vendors-node_modules_rc-component_async-validator_es_index_js-node_modules_rc-component_color-4d25ef","vendors-node_modules_rc-dropdown_es_index_js-node_modules_rc-field-form_es_index_js","vendors-node_modules_rc-image_es_index_js-node_modules_rc-input_lib_utils_commonUtils_js-node-8cf92a","vendors-node_modules_rc-overflow_es_index_js-node_modules_rc-pagination_es_index_js-node_modu-6a88db","vendors-node_modules_rc-picker_es_index_js","vendors-node_modules_rc-picker_es_utils_dateUtil_js-node_modules_rc-picker_es_utils_miscUtil_-e20299","vendors-node_modules_rc-progress_es_index_js-node_modules_rc-resize-observer_es_index_js-node-08f4a6","vendors-node_modules_rc-steps_es_index_js-node_modules_rc-table_es_index_js-node_modules_rc-t-ed5418","vendors-node_modules_rc-textarea_es_index_js-node_modules_rc-tooltip_es_index_js-node_modules-ae4019","vendors-node_modules_rc-tree_lib_util_js-node_modules_rc-tree_lib_utils_conductUtil_js-node_m-312df7","vendors-node_modules_rc-virtual-list_es_index_js","vendors-node_modules_react-dom_cjs_react-dom_development_js","vendors-node_modules_react-dom_client_js-node_modules_react-is_index_js-node_modules_react-ph-987385","vendors-node_modules_react-phone-hooks_locale_js","vendors-node_modules_react-router-dom_dist_index_js","vendors-node_modules_react-smooth_es6_index_js","vendors-node_modules_react-transition-group_esm_Transition_js-node_modules_react-transition-g-8c83ea","vendors-node_modules_recharts-scale_es6_index_js-node_modules_recharts_es6_cartesian_Bar_js-n-5ba3ae","vendors-node_modules_recharts_es6_chart_BarChart_js-node_modules_recharts_es6_chart_PieChart_js","vendors-node_modules_recharts_es6_component_Cell_js-node_modules_recharts_es6_component_Curso-e8e03b","vendors-node_modules_recharts_es6_polar_Pie_js-node_modules_recharts_es6_polar_PolarAngleAxis-559055","vendors-node_modules_recharts_es6_util_BarUtils_js-node_modules_recharts_es6_util_CssPrefixUt-0883c9","vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_modern_mjs","vendors-node_modules_remix-run_router_dist_router_js","vendors-node_modules_resize-observer-polyfill_dist_ResizeObserver_es_js-node_modules_schedule-417b7d","vendors-node_modules_sweetalert2_dist_sweetalert2_all_js-node_modules_toggle-selection_index_-23f96a","vendors-node_modules_xlsx_xlsx_mjs","main-n","main-src_services_oc","main-src_services_p","main-src_services_volunteer_c","main-src_shared_a","main-src_shared_views_main_i"], () => (__webpack_exec__("./src/index.tsx")));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX3ZpZXdzX20udm9sdW50ZWVyYXBpLjRlNGZlYzI0Y2RmOTBjY2EyOTY2LmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrQ0FDQSxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsQ0FBQSxTQUFBQyxDQUFBLEVBQUFELENBQUEsT0FBQUUsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLFNBQUEsRUFBQUMsQ0FBQSxHQUFBSCxDQUFBLENBQUFJLGNBQUEsRUFBQUMsQ0FBQSxHQUFBSixNQUFBLENBQUFLLGNBQUEsY0FBQVAsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsSUFBQUQsQ0FBQSxDQUFBRCxDQUFBLElBQUFFLENBQUEsQ0FBQU8sS0FBQSxLQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxhQUFBLHVCQUFBQyxDQUFBLEdBQUFOLENBQUEsQ0FBQU8sV0FBQSw4QkFBQUMsT0FBQWpCLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFDLE1BQUEsQ0FBQUssY0FBQSxDQUFBUCxDQUFBLEVBQUFELENBQUEsSUFBQVMsS0FBQSxFQUFBUCxDQUFBLEVBQUFpQixVQUFBLE1BQUFDLFlBQUEsTUFBQUMsUUFBQSxTQUFBcEIsQ0FBQSxDQUFBRCxDQUFBLFdBQUFrQixNQUFBLG1CQUFBakIsQ0FBQSxJQUFBaUIsTUFBQSxZQUFBQSxPQUFBakIsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsV0FBQUQsQ0FBQSxDQUFBRCxDQUFBLElBQUFFLENBQUEsZ0JBQUFvQixLQUFBckIsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsRUFBQUcsQ0FBQSxRQUFBSyxDQUFBLEdBQUFWLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxT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QUFFbVIsRUFBRSxDQUFDblI7TUFBSSxHQUNWbVIsRUFBRTtJQUFBLENBQ0wsQ0FBRTtJQUNKc0IsVUFBVSxFQUFFO01BQUVDLFFBQVEsRUFBRSxFQUFFO01BQUVDLGVBQWUsRUFBRTtJQUFLLENBQUU7SUFDcERDLE1BQU0sRUFBRTtNQUFFQyxDQUFDLEVBQUU7SUFBYztFQUFFLENBQzlCLENBQUMsZUFDRmxRLDBEQUFBLENBQUMyTCx5RUFBYTtJQUFDSCxPQUFPLEVBQUVpTjtFQUF1QixDQUFFLENBQzlDLENBQUM7QUFFVixDQUFDO0FBRUQsaUVBQWVGLGtCQUFrQjs7Ozs7Ozs7Ozs7Ozs7OztBQ3pJUDtBQUUxQixJQUFNSSxRQUFrQixHQUFHLFNBQXJCQSxRQUFrQkEsQ0FBQSxFQUFTO0VBQy9CLG9CQUFPM1ksMERBQUEsYUFBSSxzQkFBd0IsQ0FBQztBQUN0QyxDQUFDO0FBRUQsaUVBQWUyWSxRQUFROzs7Ozs7Ozs7Ozs7Ozs7OztBQ05HO0FBQzBEO0FBR3BGLElBQU1FLHFCQUErQixHQUFHLFNBQWxDQSxxQkFBK0JBLENBQUEsRUFBUztFQUU1QyxvQkFDRTdZLDBEQUFBO0lBQUt1SyxTQUFTLEVBQUM7RUFBZ0IsZ0JBQzdCdkssMERBQUEsQ0FBQzRZLHdGQUFZLE1BQUMsQ0FDWCxDQUFDO0FBRVYsQ0FBQztBQUVELGlFQUFlQyxxQkFBcUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL3VzZXIvZm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi91c2VyL2luZGV4LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL3ZvbHVudGVlci9hcHByb3ZlZC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi92b2x1bnRlZXIvZm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi92b2x1bnRlZXIvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vdm9sdW50ZWVyX2V2ZW50L2Zvcm0udHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vdm9sdW50ZWVyX2V2ZW50L2luZGV4LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9ub3QtZm91bmQvbm90LWZvdW5kLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy92b2x1bnRlZXIvdm9sdW50ZWVyLXJlZ2lzdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0sIElucHV0LCBCdXR0b24sIFJvdywgQ29sLCBtZXNzYWdlLCBNb2RhbCwgVXBsb2FkLCBVcGxvYWRGaWxlLCBVcGxvYWRQcm9wcywgU2VsZWN0IH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVVc2VyQWN0aW9uLCB1c2VyRGV0YWlsQWN0aW9uLCB1cGRhdGVVc2VyQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdXNlci9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHBvc3RVcGxvYWQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcbmltcG9ydCB7IFBsdXNPdXRsaW5lZCwgVXBsb2FkT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICdhbnRkL2VzL21lbnRpb25zJztcblxuY29uc3QgTmV3RWRpdFVzZXJQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHsgdXNlciwgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHVzZXJVcGRhdGVQZW5kaW5nIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUudXNlclxuICApO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcbiAgY29uc3QgW3Bob3RvVXJsLCBzZXRQaG90b1VybF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtwcmV2aWV3VmlzaWJsZSwgc2V0UHJldmlld1Zpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbcHJldmlld1RpdGxlLCBzZXRQcmV2aWV3VGl0bGVdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCBbcHJldmlld0NvbnRlbnQsIHNldFByZXZpZXdDb250ZW50XSA9IHVzZVN0YXRlPGFueT4obnVsbCk7XG4gIGNvbnN0IFtwaG90b0xpc3QsIHNldFBob3RvTGlzdF0gPSB1c2VTdGF0ZTxVcGxvYWRGaWxlW10+KFtdKTtcbiAgY29uc3QgeyBhdXRoIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUpOyAvLyBHZXQgdXNlciByb2xlXG4gIGNvbnN0IHsgY3VycmVudFVzZXIgfSA9IGF1dGg7XG4gIGNvbnN0IGlzQWRtaW4gPSBjdXJyZW50VXNlcj8ucm9sZSA9PT0gXCJzdXBlcl9hZG1pblwiOyAvLyBDaGVjayBpZiB1c2VyIGlzIGFkbWluXG5cbiAgY29uc3QgW2lzQ2xpY2ssIHNldElzQ2xpY2tdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIC8vIPCfkYkgRmV0Y2ggZGF0YSB3aGVuIGVkaXRpbmcgb3IgcmVzZXQgZm9ybSB3aGVuIGFkZGluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgZGlzcGF0Y2godXNlckRldGFpbEFjdGlvbihOdW1iZXIoaWQpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBmaWVsZHMgd2hlbiBhZGRpbmcgYSBuZXcgaXRlbVxuICAgIH1cbiAgfSwgW2Rpc3BhdGNoLCBpZCwgZm9ybV0pO1xuXG4gIC8vIPCfkYkgUG9wdWxhdGUgZm9ybSB3aXRoIGZldGNoZWQgZGF0YVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCAmJiB1c2VyKSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHtcbiAgICAgICAgZmlyc3RfbmFtZTogdXNlci5maXJzdF9uYW1lIHx8ICcnLFxuICAgICAgICBsYXN0X25hbWU6IHVzZXIubGFzdF9uYW1lIHx8ICcnLFxuICAgICAgICB1c2VybmFtZTogdXNlci51c2VybmFtZSB8fCAnJyxcbiAgICAgICAgZW1haWw6IHVzZXIuZW1haWwgfHwgJycsXG4gICAgICAgIHBob25lOiB1c2VyLnBob25lIHx8ICcnLFxuICAgICAgICByb2xlOiB1c2VyLnJvbGUgfHwgJycsXG4gICAgICAgIHRlbGVncmFtX2lkOiB1c2VyLnRlbGVncmFtX2lkIHx8ICcnLFxuICAgICAgICBwaG90b191cmw6IHVzZXIucGhvdG9fdXJsIHx8ICcnLFxuICAgICAgICBncmFkX3R5cGU6IHVzZXIuZ3JhZF90eXBlIHx8ICcnLFxuICAgICAgICBzdGF0dXM6IHVzZXIuc3RhdHVzIHx8ICcnLFxuICAgICAgfSk7XG5cbiAgICAgIHNldFBob3RvVXJsKHVzZXIucGhvdG9fdXJsIHx8ICcnKTtcbiAgICB9XG4gIH0sIFt1c2VyLCBmb3JtLCBpZF0pO1xuXG4gIC8vIPCfkYkgU2hvdyBzdWNjZXNzIG9yIGVycm9yIGFsZXJ0c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghdXNlclVwZGF0ZVBlbmRpbmcgJiYgaXNDbGljaykge1xuICAgICAgaWYgKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKSB7XG4gICAgICAgIG1lc3NhZ2UuZXJyb3IocmVnaXN0ZXJFcnJvck1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGlkID8gJ1VwZGF0ZWQgc3VjY2Vzc2Z1bGx5IScgOiAnQ3JlYXRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICAgIG5hdmlnYXRlKCcvdXNlcnMnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFt1c2VyVXBkYXRlUGVuZGluZywgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIGlkLCBpc0NsaWNrLCBuYXZpZ2F0ZV0pO1xuXG5cbiAgLy8gQ29tbW9uIGhlbHBlciBmdW5jdGlvbiBmb3IgZmlsZSB1cGxvYWRzXG4gIGNvbnN0IGhhbmRsZUZpbGVDaGFuZ2UgPSBhc3luYyAoXG4gICAgZmlsZTogRmlsZSxcbiAgICBmaWVsZE5hbWU6IHN0cmluZyxcbiAgICBmb3JtOiBhbnlcbiAgKSA9PiB7XG4gICAgaWYgKCFpc0FkbWluKSByZXR1cm47IC8vIFJlc3RyaWN0IGVkaXQgYWNjZXNzXG4gICAgaWYgKCFmaWxlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGAke2ZpZWxkTmFtZX0gVXBsb2FkIEVycm9yOiBObyBmaWxlIHNlbGVjdGVkLmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKFwiZmlsZVwiLCBmaWxlKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0VXBsb2FkKGZvcm1EYXRhKTtcblxuICAgICAgaWYgKHJlc3BvbnNlPy51cmwpIHtcbiAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IFtmaWVsZE5hbWVdOiByZXNwb25zZS51cmwgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYCR7ZmllbGROYW1lfSBVcGxvYWQgRXJyb3I6YCwgZXJyb3IpO1xuICAgIH1cbiAgfTtcbiAgY29uc3QgaGFuZGxlUGhvdG9VcGxvYWRDaGFuZ2UgPSBhc3luYyAocGhvdG9GaWxlOiBGaWxlKSA9PiB7XG4gICAgaWYgKCFpc0FkbWluKSByZXR1cm47IC8vIFJlc3RyaWN0IGVkaXQgYWNjZXNzXG4gICAgYXdhaXQgaGFuZGxlRmlsZUNoYW5nZShwaG90b0ZpbGUsIFwicGhvdG9fdXJsXCIsIGZvcm0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUZpbGVDaGFuZ2VOZXcgPSBhc3luYyAoXG4gICAgZmlsZUxpc3Q6IFVwbG9hZEZpbGVbXSxcbiAgICBzZXRGaWxlTGlzdDogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248VXBsb2FkRmlsZVtdPj4sXG4gICAgZmllbGROYW1lOiBzdHJpbmdcbiAgKSA9PiB7XG4gICAgLy8gdXBkYXRlZEZpbGVMaXN0OiBtYXJrIGFsbCBmaWxlcyBhcyBcInVwbG9hZGluZ1wiXG4gICAgY29uc3QgdXBkYXRlZEZpbGVMaXN0ID0gZmlsZUxpc3QubWFwKChmaWxlKTogVXBsb2FkRmlsZSA9PiAoe1xuICAgICAgLi4uZmlsZSxcbiAgICAgIHN0YXR1czogXCJ1cGxvYWRpbmdcIiwgLy8gaW5mZXJyZWQgYXMgdGhlIGxpdGVyYWwgXCJ1cGxvYWRpbmdcIlxuICAgIH0pKTtcbiAgICBzZXRGaWxlTGlzdCh1cGRhdGVkRmlsZUxpc3QpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICB1cGRhdGVkRmlsZUxpc3QuZm9yRWFjaCgoZmlsZSkgPT4ge1xuICAgICAgICBpZiAoZmlsZS5vcmlnaW5GaWxlT2JqKSB7XG4gICAgICAgICAgZm9ybURhdGEuYXBwZW5kKFwiZmlsZVwiLCBmaWxlLm9yaWdpbkZpbGVPYmopO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0VXBsb2FkKGZvcm1EYXRhKTtcbiAgICAgIGlmIChyZXNwb25zZS51cmwpIHtcbiAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IFtmaWVsZE5hbWVdOiByZXNwb25zZS51cmwgfSk7XG4gICAgICAgIC8vIGRvbmVGaWxlTGlzdDogbWFyayBhbGwgZmlsZXMgYXMgXCJkb25lXCIgb24gc3VjY2Vzc2Z1bCB1cGxvYWRcbiAgICAgICAgY29uc3QgZG9uZUZpbGVMaXN0ID0gdXBkYXRlZEZpbGVMaXN0Lm1hcCgoZmlsZSk6IFVwbG9hZEZpbGUgPT4gKHtcbiAgICAgICAgICAuLi5maWxlLFxuICAgICAgICAgIHN0YXR1czogXCJkb25lXCIsXG4gICAgICAgIH0pKTtcbiAgICAgICAgc2V0RmlsZUxpc3QoZG9uZUZpbGVMaXN0KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgJHtmaWVsZE5hbWV9IFVwbG9hZCBFcnJvcjpgLCBlcnJvcik7XG4gICAgICAvLyBlcnJvckZpbGVMaXN0OiBtYXJrIGFsbCBmaWxlcyBhcyBcImVycm9yXCIgb24gZmFpbHVyZVxuICAgICAgY29uc3QgZXJyb3JGaWxlTGlzdCA9IHVwZGF0ZWRGaWxlTGlzdC5tYXAoKGZpbGUpOiBVcGxvYWRGaWxlID0+ICh7XG4gICAgICAgIC4uLmZpbGUsXG4gICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxuICAgICAgfSkpO1xuICAgICAgc2V0RmlsZUxpc3QoZXJyb3JGaWxlTGlzdCk7XG4gICAgfVxuICB9O1xuXG5cbiAgY29uc3QgaGFuZGxlUGhvdG9VcGxvYWRDaGFuZ2VOZXc6IFVwbG9hZFByb3BzW1wib25DaGFuZ2VcIl0gPSBhc3luYyAoeyBmaWxlTGlzdCB9KSA9PiB7XG4gICAgYXdhaXQgaGFuZGxlRmlsZUNoYW5nZU5ldyhmaWxlTGlzdCwgc2V0UGhvdG9MaXN0LCBcInBob3RvX3VybFwiKTtcbiAgfTtcblxuICBjb25zdCBiZWZvcmVVcGxvYWQgPSAoZmlsZTogYW55KSA9PiB7XG4gICAgY29uc3QgaXNJbWFnZSA9IGZpbGUudHlwZS5zdGFydHNXaXRoKFwiaW1hZ2UvXCIpO1xuICAgIGlmICghaXNJbWFnZSkge1xuICAgICAgbWVzc2FnZS5lcnJvcihcIllvdSBjYW4gb25seSB1cGxvYWQgaW1hZ2UgZmlsZXMgKEpQRy9QTkcpIVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzSW1hZ2U7XG4gIH07XG5cbiAgLy8g8J+RiSBIYW5kbGUgZm9ybSBzdWJtaXRcbiAgY29uc3Qgb25GaW5pc2ggPSAodmFsdWVzOiBVc2VyKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVVc2VyQWN0aW9uKHsgaWQ6IE51bWJlcihpZCksIGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKGNyZWF0ZVVzZXJBY3Rpb24oeyBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpOyAvLyBSZXNldCBmb3JtIGFmdGVyIHN1Y2Nlc3NmdWwgY3JlYXRpb25cbiAgICB9XG4gICAgc2V0SXNDbGljayh0cnVlKTtcbiAgfTtcblxuXG4gIGNvbnN0IGhhbmRsZVByZXZpZXcgPSAodXJsOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRQcmV2aWV3VGl0bGUodGl0bGUpO1xuICAgIHNldFByZXZpZXdDb250ZW50KDxkaXYgc3R5bGU9e3sgd2lkdGg6ICc3MCUnLCBtYXJnaW46ICdhdXRvJyB9fT48aW1nIHNyYz17dXJsfSBhbHQ9e3RpdGxlfSBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19IC8+PC9kaXY+KTtcbiAgICBzZXRQcmV2aWV3VmlzaWJsZSh0cnVlKTtcbiAgfTtcblxuICBjb25zdCB1cGxvYWRCdXR0b24gPSAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgc2V0VXJsOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxzdHJpbmc+PixcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIGZpZWxkTmFtZTogc3RyaW5nXG4gICkgPT4gKFxuICAgIDxkaXYgc3R5bGU9e3sgcG9zaXRpb246ICdyZWxhdGl2ZScsIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snIH19PlxuICAgICAge3VybCA/IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGN1cnNvcjogJ3BvaW50ZXInIH19IG9uQ2xpY2s9eygpID0+IGhhbmRsZVByZXZpZXcodXJsLCBsYWJlbCl9PlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBzcmM9e3VybH1cbiAgICAgICAgICAgICAgYWx0PXtsYWJlbH1cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG1heEhlaWdodDogJzMwMHB4JyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc4cHgnLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGljb249ezxQbHVzT3V0bGluZWQgLz59XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgc3R5bGU9e3sgcG9zaXRpb246ICdhYnNvbHV0ZScsIGJvdHRvbTogMTIsIHJpZ2h0OiA4LCBiYWNrZ3JvdW5kOiAnIzE4OTBmZicsIGNvbG9yOiAnI2ZmZicgfX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGB1cGxvYWQtJHtsYWJlbH1gKT8uY2xpY2soKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgaWQ9e2B1cGxvYWQtJHtsYWJlbH1gfVxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogJ25vbmUnIH19XG4gICAgICAgICAgICBvbkNoYW5nZT17KGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlID0gZS50YXJnZXQuZmlsZXNbMF07XG4gICAgICAgICAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgICAgICAgICAgLy8gWW91IGNhbiBhZGQgeW91ciBsb2dpYyBoZXJlIGZvciBkaWZmZXJlbnQgZmlsZSBoYW5kbGluZ1xuICAgICAgICAgICAgICAgIGhhbmRsZVBob3RvVXBsb2FkQ2hhbmdlKGZpbGUpO1xuICAgICAgICAgICAgICAgIHNldFVybChVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFVwbG9hZFxuICAgICAgICAgICAgbGlzdFR5cGU9XCJwaWN0dXJlXCJcbiAgICAgICAgICAgIGZpbGVMaXN0PXtwaG90b0xpc3R9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlUGhvdG9VcGxvYWRDaGFuZ2VOZXd9XG4gICAgICAgICAgICBiZWZvcmVVcGxvYWQ9e2JlZm9yZVVwbG9hZH1cbiAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0PXt7IHNob3dQcmV2aWV3SWNvbjogdHJ1ZSwgc2hvd1JlbW92ZUljb246IHRydWUgfX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCBjdXN0b20tdXBsb2FkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8VXBsb2FkT3V0bGluZWQgLz5cbiAgICAgICAgICA8L1VwbG9hZD5cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMj57aWQgPyAn4Z6A4Z+C4Z6U4Z+S4Z6a4Z+C4Z6i4Z+S4Z6T4Z6A4Z6U4Z+S4Z6a4Z6+4Z6U4Z+S4Z6a4Z624Z6f4Z+LJyA6ICfhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5LhnpjhnrjhnqLhn5LhnpPhnoDhnpThn5Lhnprhnr7hnpThn5Lhnprhnrbhnp/hn4snfTwvaDI+XG4gICAgICA8Rm9ybSBmb3JtPXtmb3JtfSBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiIG9uRmluaXNoPXtvbkZpbmlzaH0gc3R5bGU9e3sgbWF4V2lkdGg6ICcxMDAlJywgbWFyZ2luOiAnMCBhdXRvJyB9fT5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGemuGevOGelOGekOGej1wiIG5hbWU9XCJwaG90b191cmxcIj5cbiAgICAgICAgICAgICAge3VwbG9hZEJ1dHRvbihwaG90b1VybCwgc2V0UGhvdG9VcmwsICfhnprhnrzhnpThnpDhno8nLCAncGhvdG9fdXJsJyl9XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezE4fT5cbiAgICAgICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDBdfT5cbiAgICAgICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6T4Z624Z6Y4Z6B4Z+S4Z6b4Z694Z6TXCIgbmFtZT1cImZpcnN0X25hbWVcIiBydWxlcz17W3sgcmVxdWlyZWQ6IGZhbHNlIH1dfT5cbiAgICAgICAgICAgICAgICAgIDxJbnB1dCAvPlxuICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6T4Z624Z6Y4Z6P4Z+S4Z6a4Z6A4Z684Z6bXCIgbmFtZT1cImxhc3RfbmFtZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogZmFsc2UgfV19PlxuICAgICAgICAgICAgICAgICAgPElucHV0IC8+XG4gICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4fhnqLhn5LhnpPhnoDhnpThn5Lhnprhnr7hnpThn5Lhnprhnrbhnp/hn4tcIiBuYW1lPVwidXNlcm5hbWVcIiBydWxlcz17W3sgcmVxdWlyZWQ6IGZhbHNlIH1dfT5cbiAgICAgICAgICAgICAgICAgIDxJbnB1dCAvPlxuICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMF19PlxuICAgICAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnqLhn4rhnrjhnpjhn4LhnptcIiBuYW1lPVwiZW1haWxcIiBydWxlcz17W3sgcmVxdWlyZWQ6IGZhbHNlIH1dfT5cbiAgICAgICAgICAgICAgICAgIDxJbnB1dCAvPlxuICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6b4Z+B4Z6B4Z6R4Z684Z6a4Z6f4Z+Q4Z6W4Z+S4Z6RXCIgbmFtZT1cInBob25lXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiBmYWxzZSB9XX0+XG4gICAgICAgICAgICAgICAgICA8SW5wdXQgLz5cbiAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgICAgIDxDb2wgc3Bhbj17OH0+XG4gICAgICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGej+GeveGek+GetuGekeGeuFwiIG5hbWU9XCJyb2xlXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiBmYWxzZSB9XX0+XG4gICAgICAgICAgICAgICAgICA8U2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPVwic3VwZXJfYWRtaW5cIj5TdXBlciBhZG1pbjwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPVwiYWRtaW5cIj5BZG1pbjwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPVwidXNlclwiPlVzZXI8L09wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiB2YWx1ZT1cInJlcG9ydGVyXCI+UmVwb3J0ZXI8L09wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMF19PlxuICAgICAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhno/hn4Hhnpvhn4HhnoDhn5LhnprhnrbhnpjigIsgSURcIiBuYW1lPVwidGVsZWdyYW1faWRcIiBydWxlcz17W3sgcmVxdWlyZWQ6IGZhbHNlIH1dfT5cbiAgICAgICAgICAgICAgICAgIDxJbnB1dCAvPlxuICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6U4Z+S4Z6a4Z6X4Z+B4Z6RXCIgbmFtZT1cImdyYWRfdHlwZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogZmFsc2UgfV19PlxuICAgICAgICAgICAgICAgICAgPFNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiB2YWx1ZT1cInBhc3N3b3JkXCI+UGFzc3dvcmQ8L09wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiB2YWx1ZT1cInRlbGVncmFtXCI+VGVsZWdyYW08L09wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6f4Z+S4Z6Q4Z624Z6T4Z6X4Z624Z6WXCIgbmFtZT1cInN0YXR1c1wiIHJ1bGVzPXtbeyByZXF1aXJlZDogZmFsc2UgfV19PlxuICAgICAgICAgICAgICAgICAgPFNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiB2YWx1ZT1cIkFDVElWRVwiPkFjdGl2ZTwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPVwiRElTQUJMRVwiPkRpc2FibGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgICAgeyFpZCAmJlxuICAgICAgICAgICAgICA8Um93IGd1dHRlcj17WzEyLCAwXX0+XG4gICAgICAgICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpbhnrbhnoDhn5Lhnpnhnp/hnpjhn5LhnoThnrbhno/hn4tcIiBuYW1lPVwicGFzc3dvcmRcIiBydWxlcz17W3sgcmVxdWlyZWQ6IGZhbHNlIH1dfT5cbiAgICAgICAgICAgICAgICAgICAgPElucHV0IHR5cGU9J3Bhc3N3b3JkJyAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPGJyIC8+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0ganVzdGlmeT0nZW5kJz5cbiAgICAgICAgICA8Q29sIHNwYW49ezN9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGJsb2NrIGh0bWxUeXBlPVwic3VibWl0XCIgbG9hZGluZz17dXNlclVwZGF0ZVBlbmRpbmd9PlxuICAgICAgICAgICAgICAgIFN1Ym1pdFxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17M30+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8QnV0dG9uIGh0bWxUeXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gbmF2aWdhdGUoJy91c2VycycpfT5cbiAgICAgICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgPE1vZGFsIHZpc2libGU9e3ByZXZpZXdWaXNpYmxlfSB0aXRsZT17cHJldmlld1RpdGxlfSBmb290ZXI9e251bGx9IG9uQ2FuY2VsPXsoKSA9PiBzZXRQcmV2aWV3VmlzaWJsZShmYWxzZSl9PlxuICAgICAgICAgIHtwcmV2aWV3Q29udGVudH1cbiAgICAgICAgPC9Nb2RhbD5cbiAgICAgIDwvRm9ybT5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5ld0VkaXRVc2VyUGFnZTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBJbWFnZSwgSW5wdXQsIFNwYWNlLCBUYWJsZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vcmVkdXgvc3RvcmUnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBMb2FkaW5nRGlhbG9nIGZyb20gJy4uLy4uLy4uL2NvbnRhaW5lci9kaWFsb2dzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IERlbGV0ZU91dGxpbmVkLCBFZGl0T3V0bGluZWQsIFBsdXNPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCB7IGRlbGV0ZVVzZXJBY3Rpb24sIHVzZXJEZXRhaWxBY3Rpb24sIGZldGNoVXNlcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy91c2VyL2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbmNvbnN0IFVzZXJMaXN0ID0gKCkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgW3NlbGVjdGVkUm93cywgc2V0U2VsZWN0ZWRSb3dzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbc2VhcmNoVGV4dCwgc2V0U2VhcmNoVGV4dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IHsgdXNlcnMsIHVzZXJzUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLnVzZXIpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hVc2VycygpKTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cbiAgY29uc3QgaGFuZGxlRWRpdCA9IChpZDogYW55KSA9PiB7XG4gICAgZGlzcGF0Y2godXNlckRldGFpbEFjdGlvbihpZCkpO1xuICAgIG5hdmlnYXRlKGAvdXNlcnMvZm9ybT9pZD0ke2lkfWApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IChpZDogYW55KSA9PiB7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgICB0ZXh0OiAnWW91IHdvblxcJ3QgYmUgYWJsZSB0byByZXZlcnQgdGhpcyEnLFxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXG4gICAgICBodG1sOiBgXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjb25maXJtLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY29uZmlybSBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNkMzM7XCI+RGVsZXRlPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNhbmNlbC1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNhbmNlbCBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMzMDg1ZDY7XCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYCxcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NvbmZpcm0tZGVsZXRlJyk7XG4gICAgICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NhbmNlbC1kZWxldGUnKTtcblxuICAgICAgICBjb25maXJtQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBkaXNwYXRjaChkZWxldGVVc2VyQWN0aW9uKGlkKSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBTd2FsLmZpcmUoJ0RlbGV0ZWQhJywgJ1RoZSBpdGVtIGhhcyBiZWVuIGRlbGV0ZWQuJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKGZldGNoVXNlcnMoKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjYW5jZWxCdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9ICgpID0+IHtcbiAgICAvLyBUcmlnZ2VycyBzZWFyY2ggYnkgc2V0dGluZyBzdGF0ZVxuICAgIHNldFNlYXJjaFRleHQoc2VhcmNoVGV4dC50cmltKCkpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVJlc2V0ID0gKCkgPT4ge1xuICAgIC8vIENsZWFycyBpbnB1dCBhbmQgc2hvd3MgYWxsIGRhdGFcbiAgICBzZXRTZWFyY2hUZXh0KCcnKTtcbiAgfTtcblxuICBjb25zdCBjb2x1bW5zID0gW1xuICAgIHsgdGl0bGU6ICfhnpvhn4HhnoHhnprhn4DhnoQnLCBkYXRhSW5kZXg6ICdpbmRleCcsIGtleTogJ2luZGV4JywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAgeyB0aXRsZTogJ+Gek+GetuGemOGegeGfkuGem+GeveGekycsIGRhdGFJbmRleDogJ2ZpcnN0X25hbWUnLCBrZXk6ICdmaXJzdF9uYW1lJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAgeyB0aXRsZTogJ+Gek+GetuGemOGej+GfkuGemuGegOGevOGemycsIGRhdGFJbmRleDogJ2xhc3RfbmFtZScsIGtleTogJ2xhc3RfbmFtZScsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnojhn5Lhnpjhn4Thn4fhnqLhn5LhnpPhnoDhnpThn5Lhnprhnr7hnpThn5Lhnprhnrbhnp/hn4snLCBkYXRhSW5kZXg6ICd1c2VybmFtZScsIGtleTogJ3VzZXJuYW1lJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAgeyB0aXRsZTogJ+GeouGfiuGeuOGemOGfguGemycsIGRhdGFJbmRleDogJ2VtYWlsJywga2V5OiAnZW1haWwnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6b4Z+B4Z6B4Z6R4Z684Z6a4Z6f4Z+Q4Z6W4Z+S4Z6RJywgZGF0YUluZGV4OiAncGhvbmUnLCBrZXk6ICdwaG9uZScsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhno/hnr3hnpPhnrbhnpHhnrgnLCBkYXRhSW5kZXg6ICdyb2xlJywga2V5OiAncm9sZScsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhno/hn4Hhnpvhn4HhnoDhn5LhnprhnrbhnpjigIsgSUQnLCBkYXRhSW5kZXg6ICd0ZWxlZ3JhbV9pZCcsIGtleTogJ3RlbGVncmFtX2lkJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAgeyB0aXRsZTogJ+GemuGevOGelOGekOGejycsIGRhdGFJbmRleDogJ3Bob3RvX3VybCcsIGtleTogJ3Bob3RvX3VybCcsIHJlc3BvbnNpdmU6IFsnc20nXSwgXG4gICAgICByZW5kZXI6ICh0ZXh0OiBhbnkpID0+XG4gICAgICAgIHRleHQgPyA8SW1hZ2Ugd2lkdGg9ezUwfSBzcmM9e3RleHR9IGFsdD1cIlBob3RvXCIgc3R5bGU9e3sgYm9yZGVyUmFkaXVzOiA1LCBib3JkZXI6ICcxcHggc29saWQgI2RkZCcgfX0gLz4gOiAnTm8gSW1hZ2UnLCBcbiAgICB9LFxuICAgIHsgdGl0bGU6ICfhnpThn5Lhnprhnpfhn4HhnpEnLCBkYXRhSW5kZXg6ICdncmFkX3R5cGUnLCBrZXk6ICdncmFkX3R5cGUnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6f4Z+S4Z6Q4Z624Z6T4Z6X4Z624Z6WJywgZGF0YUluZGV4OiAnc3RhdHVzJywga2V5OiAnc3RhdHVzJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdBY3Rpb24nLFxuICAgICAga2V5OiAnYWN0aW9uJyxcbiAgICAgIHJlc3BvbnNpdmU6IFsneHMnLCAnc20nLCAnbWQnLCAnbGcnXSxcbiAgICAgIHJlbmRlcjogKF86IHN0cmluZywgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJtaWRkbGVcIj5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxFZGl0T3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfSAvPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PERlbGV0ZU91dGxpbmVkIC8+fSBkYW5nZXIgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlKHJlY29yZC5pZCl9IC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgZmlsdGVyZWREYXRhID0gKHVzZXJzIHx8IFtdKS5maWx0ZXIoKGl0KSA9PiB7XG4gICAgY29uc3Qgc2VhcmNoID0gc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGl0LmVtYWlsPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgIGl0LnVzZXJuYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgIGl0LnJvbGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKSB8fFxuICAgICAgaXQuZmlyc3RfbmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gpIHx8XG4gICAgICBpdC5sYXN0X25hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKSB8fFxuICAgICAgaXQucGhvbmU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKSB8fFxuICAgICAgaXQudGVsZWdyYW1faWQ/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKSB8fFxuICAgICAgaXQuZ3JhZF90eXBlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgIGl0LnN0YXR1cz8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gpXG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IG92ZXJmbG93WDogJ2F1dG8nIH19PlxuICAgICAgPGgyPuGelOGeieGfkuGeh+GeuOGeouGfkuGek+GegOGelOGfkuGemuGevuGelOGfkuGemuGetuGen+GfizwvaDI+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgcGFkZGluZzogJzEwcHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjZjVmNWY1JyxcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8c3Bhbj7hnp/hnprhnrvhnpQ6IHtmaWx0ZXJlZERhdGE/Lmxlbmd0aCB8fCAwfTwvc3Bhbj5cbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi4Z6f4Z+S4Z6c4Z+C4Z6E4Z6a4Z6ALi4uXCJcbiAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAyMDAgfX1cbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hUZXh0fVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRTZWFyY2hUZXh0KGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlU2VhcmNofSB0eXBlPVwicHJpbWFyeVwiPuGeheGemOGfkuGemuGfhOGfhzwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlUmVzZXR9PuGegOGfhuGejuGej+Gfi+GeoeGevuGehOGenOGet+GeiTwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxQbHVzT3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gbmF2aWdhdGUoYC91c2Vycy9mb3JtYCl9PuGelOGek+GfkuGekOGfguGemOGekOGfkuGemOGeuDwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgPC9kaXY+XG4gICAgICA8VGFibGVcbiAgICAgICAgcm93U2VsZWN0aW9uPXt7XG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICBvbkNoYW5nZTogKF8sIHNlbGVjdGVkUm93cykgPT4gc2V0U2VsZWN0ZWRSb3dzKHNlbGVjdGVkUm93cyksXG4gICAgICAgIH19XG4gICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgIGRhdGFTb3VyY2U9e2ZpbHRlcmVkRGF0YS5tYXAoKGl0LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICBrZXk6IGl0LmlkLFxuICAgICAgICAgIGluZGV4OiBpbmRleCArIDEsXG4gICAgICAgICAgbmFtZTogaXQuZmlyc3RfbmFtZSxcbiAgICAgICAgICAuLi5pdCxcbiAgICAgICAgfSkpfVxuICAgICAgICBwYWdpbmF0aW9uPXt7IHBhZ2VTaXplOiAxMCwgc2hvd1NpemVDaGFuZ2VyOiB0cnVlIH19XG4gICAgICAgIHNjcm9sbD17eyB4OiAnbWF4LWNvbnRlbnQnIH19XG4gICAgICAvPlxuICAgICAgPExvYWRpbmdEaWFsb2cgdmlzaWJsZT17dXNlcnNQZW5kaW5nfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVXNlckxpc3Q7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiwgSW5wdXQsIFNwYWNlLCBUYWJsZSwgSW1hZ2UsIE1vZGFsLCBUeXBvZ3JhcGh5LCBUYWcsIFNlbGVjdCwgUGFnaW5hdGlvbiB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgZGVsZXRlVm9sdW50ZWVyQWN0aW9uLCBmZXRjaERhc2hib2FyZEFjdGlvbiwgZmV0Y2hWb2x1bnRlZXJzLCB1cGRhdGVWb2x1bnRlZXJBY3Rpb24sIHZvbHVudGVlckRldGFpbEFjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlci9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvcmVkdXgvc3RvcmUnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBMb2FkaW5nRGlhbG9nIGZyb20gJy4uLy4uLy4uL2NvbnRhaW5lci9kaWFsb2dzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IERlbGV0ZU91dGxpbmVkLCBFZGl0T3V0bGluZWQsIEZpbGVFeGNlbE91dGxpbmVkLCBGaWxlUGRmT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xuaW1wb3J0ICdqc3BkZi1hdXRvdGFibGUnO1xuaW1wb3J0IGpzUERGIGZyb20gJ2pzcGRmJztcbmltcG9ydCBhdXRvVGFibGUgZnJvbSAnanNwZGYtYXV0b3RhYmxlJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcbmltcG9ydCBOb3RpZmxpeCBmcm9tICdub3RpZmxpeCc7XG5cblxuY29uc3QgeyBjb25maXJtIH0gPSBNb2RhbDtcblxuY29uc3Qgc3RhdHVzQ29sb3JzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBSZWdpc3RlcjogJ2JsdWUnLFxuICBTaG9ydGxpc3Q6ICdnb2xkJyxcbiAgSW50ZXJ2aWV3OiAncHVycGxlJyxcbiAgUGFydGljaXBhbnRzOiAnZ3JlZW4nLFxuICBSZXNlcnZlOiAnY3lhbicsXG4gIEZhaWxlZDogJ3JlZCcsXG4gIFJlc2lnbmF0aW9uOiAnb3JhbmdlJyxcbiAgRGlzcXVhbGlmaWNhdGlvbjogJ3ZvbGNhbm8nLFxufTtcblxuaW50ZXJmYWNlIEFwcHJvdmVkVm9sdW5lZXJzUHJvcHMge1xuICBzdGF0dXM6IHN0cmluZztcbn1cblxuY29uc3QgQXBwcm92ZWRWb2x1bmVlcnMgPSAoeyBzdGF0dXMgfTogQXBwcm92ZWRWb2x1bmVlcnNQcm9wcykgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgW3NlbGVjdGVkUm93cywgc2V0U2VsZWN0ZWRSb3dzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCB7IHZvbHVudGVlcnMsIHZvbHVudGVlclBlbmRpbmcsIGRhc2hib2FyZCB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLnZvbHVudGVlcik7XG4gIGNvbnN0IHsgYXV0aCB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBjdXJyZW50VXNlciB9ID0gYXV0aDtcbiAgY29uc3QgaXNBZG1pbiA9IGN1cnJlbnRVc2VyPy5yb2xlID09PSBcInN1cGVyX2FkbWluXCI7IC8vIENoZWNrIHVzZXIgcm9sZVxuXG4gIGNvbnN0IFtjdXJyZW50UGFnZSwgc2V0Q3VycmVudFBhZ2VdID0gdXNlU3RhdGUoMSk7XG4gIGNvbnN0IFtwYWdlU2l6ZSwgc2V0UGFnZVNpemVdID0gdXNlU3RhdGUoMTApO1xuICBjb25zdCBbc2VhcmNoLCBzZXRTZWFyY2hdID0gdXNlU3RhdGUoXCJcIik7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaFZvbHVudGVlcnMoeyB2b2x1bnRlZXJfc3RhdHVzOiBzdGF0dXMsIHBhZ2U6IGN1cnJlbnRQYWdlLCBwYWdlU2l6ZSwgc2VhcmNoIH0pKTtcbiAgfSwgW2Rpc3BhdGNoLCBzdGF0dXMsIGN1cnJlbnRQYWdlLCBwYWdlU2l6ZSwgc2VhcmNoXSk7XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgc2V0U2VhcmNoKGUudGFyZ2V0LnZhbHVlKTtcbiAgfTtcbiAgY29uc3QgcmVzZXRTZWFyY2ggPSAoKSA9PiB7XG4gICAgc2V0U2VhcmNoKFwiXCIpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUVkaXQgPSAoaWQ6IGFueSkgPT4ge1xuICAgIGRpc3BhdGNoKHZvbHVudGVlckRldGFpbEFjdGlvbihpZCkpO1xuICAgIG5hdmlnYXRlKGAvdm9sdW50ZWVyL2Zvcm0/aWQ9JHtpZH1gKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZWxldGUgPSAoaWQ6IGFueSkgPT4ge1xuICAgIGlmICghaXNBZG1pbikgcmV0dXJuOyAvLyBSZXN0cmljdCBhY2Nlc3MgdG8gbm9uLWFkbWluc1xuICAgIFN3YWwuZmlyZSh7XG4gICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZT8nLFxuICAgICAgdGV4dDogJ1lvdSB3b25cXCd0IGJlIGFibGUgdG8gcmV2ZXJ0IHRoaXMhJyxcbiAgICAgIGljb246ICd3YXJuaW5nJyxcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgaHRtbDogYFxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMjBweDtcIj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY29uZmlybS1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNvbmZpcm0gc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzO1wiPkRlbGV0ZTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjYW5jZWwtZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jYW5jZWwgc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMzA4NWQ2O1wiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGAsXG4gICAgICBkaWRPcGVuOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1CdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjb25maXJtLWRlbGV0ZScpO1xuICAgICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjYW5jZWwtZGVsZXRlJyk7XG5cbiAgICAgICAgY29uZmlybUJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgZGlzcGF0Y2goZGVsZXRlVm9sdW50ZWVyQWN0aW9uKGlkKSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBTd2FsLmZpcmUoJ0RlbGV0ZWQhJywgJ1RoZSBpdGVtIGhhcyBiZWVuIGRlbGV0ZWQuJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKGZldGNoVm9sdW50ZWVycyh7IHZvbHVudGVlcl9zdGF0dXM6IHN0YXR1cywgcGFnZTogY3VycmVudFBhZ2UsIHBhZ2VTaXplOiBwYWdlU2l6ZSB9KSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjYW5jZWxCdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHN0YXR1c09wdGlvbnMgPSBbXG4gICAgXCJSZWdpc3RlclwiLFxuICAgIFwiU2hvcnRsaXN0XCIsXG4gICAgXCJJbnRlcnZpZXdcIixcbiAgICBcIlBhcnRpY2lwYW50c1wiLFxuICAgIFwiUmVzZXJ2ZVwiLFxuICAgIFwiRmFpbGVkXCIsXG4gICAgXCJSZXNpZ25hdGlvblwiLFxuICAgIFwiRGlzcXVhbGlmaWNhdGlvblwiLFxuICBdO1xuXG5cbiAgLy8gSGFuZGxlIHN0YXR1cyBjaGFuZ2UgYW5kIGZldGNoIHVwZGF0ZWQgbGlzdFxuICBjb25zdCBoYW5kbGVTdGF0dXNDaGFuZ2UgPSAodm9sdW50ZWVySWQ6IHN0cmluZywgbmV3U3RhdHVzOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIWlzQWRtaW4pIHJldHVybjsgLy8gUmVzdHJpY3QgYWNjZXNzIHRvIG5vbi1hZG1pbnNcbiAgICBkaXNwYXRjaCh1cGRhdGVWb2x1bnRlZXJBY3Rpb24oeyBpZDogdm9sdW50ZWVySWQsIGRhdGE6IHsgdm9sdW50ZWVyX3N0YXR1czogbmV3U3RhdHVzIH0gfSkpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoKGZldGNoVm9sdW50ZWVycyh7IHZvbHVudGVlcl9zdGF0dXM6IHN0YXR1cywgcGFnZTogY3VycmVudFBhZ2UsIHBhZ2VTaXplOiBwYWdlU2l6ZSB9KSk7IC8vIEZldGNoIHVwZGF0ZWQgbGlzdCBhZnRlciBjaGFuZ2VcbiAgICAgICAgTm90aWZsaXguTm90aWZ5LnN1Y2Nlc3MoYFN0YXR1cyB1cGRhdGVkIHRvIFwiJHtuZXdTdGF0dXN9XCJgKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICBOb3RpZmxpeC5Ob3RpZnkuZmFpbHVyZShcIkZhaWxlZCB0byB1cGRhdGUgc3RhdHVzLiBUcnkgYWdhaW4uXCIpO1xuICAgICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGFibGVDaGFuZ2UgPSAocGFnaW5hdGlvbjogYW55KSA9PiB7XG4gICAgc2V0Q3VycmVudFBhZ2UocGFnaW5hdGlvbi5jdXJyZW50KTtcbiAgICBzZXRQYWdlU2l6ZShwYWdpbmF0aW9uLnBhZ2VTaXplKTtcbiAgfTtcblxuICBjb25zdCBjb2x1bW5zID0gW1xuICAgIHsgdGl0bGU6ICfihJYnLCBkYXRhSW5kZXg6ICdpbmRleCcsIGtleTogJ2luZGV4JywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICfhnpvhn4HhnoHhnoDhnrzhnoonLFxuICAgICAga2V5OiAnY29kZScsXG4gICAgICByZXNwb25zaXZlOiBbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJ10sXG4gICAgICByZW5kZXI6IChfOiBzdHJpbmcsIHJlY29yZDogYW55KSA9PiAoXG4gICAgICAgIDxTcGFjZSBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJsaW5rXCIgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfT5cbiAgICAgICAgICAgIHtyZWNvcmQuY29kZX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ+GemuGevOGelOGel+GetuGeluGek+Get+GehOGeiOGfkuGemOGfhOGfhycsXG4gICAgICBkYXRhSW5kZXg6ICdjb21iaW5lZCcsXG4gICAgICBrZXk6ICdjb21iaW5lZCcsXG4gICAgICByZXNwb25zaXZlOiBbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJ10sXG4gICAgICByZW5kZXI6IChfOiBhbnksIHJlY29yZDogYW55KSA9PiAoXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAxMCB9fT5cbiAgICAgICAgICB7cmVjb3JkLnBob3RvID8gKFxuICAgICAgICAgICAgPEltYWdlIHdpZHRoPXs1MH0gc3JjPXtyZWNvcmQucGhvdG99IGFsdD1cIlBob3RvXCIgc3R5bGU9e3sgYm9yZGVyUmFkaXVzOiA1LCBib3JkZXI6ICcxcHggc29saWQgI2RkZCcgfX0gLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPHNwYW4+Tm8gSW1hZ2U8L3NwYW4+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8c3Bhbj57cmVjb3JkLm5hbWV9PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICksXG4gICAgfSxcbiAgICB7IHRpdGxlOiAn4Z6b4Z+B4Z6B4Z6R4Z684Z6a4Z6f4Z+Q4Z6W4Z+S4Z6RJywgZGF0YUluZGV4OiAncGhvbmVfbnVtYmVyJywga2V5OiAncGhvbmVfbnVtYmVyJywgcmVzcG9uc2l2ZTogWydtZCddLCBlbGxpcHNpczogdHJ1ZSB9LFxuICAgIHsgdGl0bGU6ICfhnpfhn4HhnpEnLCBkYXRhSW5kZXg6ICdnZW5kZXInLCBrZXk6ICdnZW5kZXInLCByZXNwb25zaXZlOiBbJ3NtJ10sIGVsbGlwc2lzOiB0cnVlIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICfhnpbhn5Dhno/hn4zhnpjhnrbhnpPhnqLhn4bhnpbhnrjhnoDhnrbhnprhnorhnrbhnoDhn4vhnpbhnrbhnoDhn5LhnpknLFxuICAgICAgZGF0YUluZGV4OiAnYXBwbGljYXRpb25faW5mbycsXG4gICAgICBrZXk6ICdhcHBsaWNhdGlvbl9pbmZvJyxcbiAgICAgIHJlc3BvbnNpdmU6IFsnbWQnXSxcbiAgICAgIHJlbmRlcjogKF86IGFueSwgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHN0cm9uZz7hnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn406PC9zdHJvbmc+IHtyZWNvcmQudm9sdW50ZWVyX2V2ZW50X25hbWUgfHwgJy0nfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3Ryb25nPuGegOGfkuGemuGeu+GemOGegOGetuGemuGehOGetuGemjo8L3N0cm9uZz4ge3JlY29yZC5pbnRlcmVzdGVkX3RlYW1fbmFtZSB8fCAnLSd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzdHJvbmc+4Z6i4Z+K4Z644Z6Y4Z+C4Z6bOjwvc3Ryb25nPiB7cmVjb3JkLmVtYWlsIHx8ICctJ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwiQWN0aW9uXCIsXG4gICAgICBrZXk6IFwiYWN0aW9uXCIsXG4gICAgICByZXNwb25zaXZlOiBbXCJ4c1wiLCBcInNtXCIsIFwibWRcIiwgXCJsZ1wiXSxcbiAgICAgIHJlbmRlcjogKF86IHN0cmluZywgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIHsvKiBTdGF0dXMgRHJvcGRvd24gaW5zaWRlIGEgQ29sb3JlZCBUYWcgKi99XG4gICAgICAgICAgPFRhZ1xuICAgICAgICAgICAgY29sb3I9e3N0YXR1c0NvbG9yc1tyZWNvcmQudm9sdW50ZWVyX3N0YXR1c10gfHwgXCJkZWZhdWx0XCJ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBwYWRkaW5nOiBcIjNweCA2cHhcIixcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjZweFwiLFxuICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIiAvLyDinIUgTWFrZXMgdGhlIGRyb3Bkb3duIHNtYWxsZXJcbiAgICAgICAgICAgICAgdmFsdWU9e3JlY29yZC52b2x1bnRlZXJfc3RhdHVzIHx8IFwiUmVnaXN0ZXJcIn1cbiAgICAgICAgICAgICAgYm9yZGVyZWQ9e2ZhbHNlfSAvLyDinIUgUmVtb3ZlcyBib3JkZXIgZm9yIGEgY2xlYW5lciBsb29rXG4gICAgICAgICAgICAgIGRyb3Bkb3duU3R5bGU9e3sgZm9udFNpemU6IFwiMTJweFwiIH19IC8vIOKchSBFbnN1cmVzIHNtYWxsZXIgdGV4dCBpbiBkcm9wZG93blxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAxMDAsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMTJweFwiLCAvLyDinIUgTWFrZXMgdGV4dCBzbWFsbGVyXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3U3RhdHVzKSA9PiBoYW5kbGVTdGF0dXNDaGFuZ2UocmVjb3JkLmlkLCBuZXdTdGF0dXMpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7c3RhdHVzT3B0aW9ucy5tYXAoKHN0YXR1cykgPT4gKFxuICAgICAgICAgICAgICAgIDxTZWxlY3QuT3B0aW9uIGtleT17c3RhdHVzfSB2YWx1ZT17c3RhdHVzfT5cbiAgICAgICAgICAgICAgICAgIHtzdGF0dXN9XG4gICAgICAgICAgICAgICAgPC9TZWxlY3QuT3B0aW9uPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgIDwvVGFnPlxuXG4gICAgICAgICAgey8qIEVkaXQgQnV0dG9uICovfVxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGljb249ezxFZGl0T3V0bGluZWQgLz59XG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIiAvLyDinIUgTWFrZXMgYnV0dG9uIHNtYWxsZXJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgey8qIERlbGV0ZSBCdXR0b24gKi99XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgaWNvbj17PERlbGV0ZU91dGxpbmVkIC8+fVxuICAgICAgICAgICAgZGFuZ2VyXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIiAvLyDinIUgTWFrZXMgYnV0dG9uIHNtYWxsZXJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShyZWNvcmQuaWQpfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICfhnqLhno/hn5Lhno/hnp/hnonhn5Lhnonhnrbhno7hnpThn5Dhno7hn5Lhno4nLFxuICAgICAgZGF0YUluZGV4OiAndXBsb2FkX2lkX2NhcmQnLFxuICAgICAga2V5OiAndXBsb2FkX2lkX2NhcmQnLFxuICAgICAgcmVzcG9uc2l2ZTogWydsZyddLFxuICAgICAgcmVuZGVyOiAodGV4dDogYW55KSA9PlxuICAgICAgICB0ZXh0ID8gPEltYWdlIHdpZHRoPXs1MH0gc3JjPXt0ZXh0fSBhbHQ9XCJJRCBDYXJkXCIgc3R5bGU9e3sgYm9yZGVyUmFkaXVzOiA1LCBib3JkZXI6ICcxcHggc29saWQgI2RkZCcgfX0gLz4gOiAnTm8gSW1hZ2UnLFxuICAgIH0sXG5cblxuICBdO1xuXG4gIC8vIPCfk4wgRVhQT1JUIFRPIEVYQ0VMIEZVTkNUSU9OXG4gIGNvbnN0IGV4cG9ydFRvRXhjZWwgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc0FkbWluKSByZXR1cm47IC8vIFJlc3RyaWN0IGFjY2VzcyB0byBub24tYWRtaW5zXG4gICAgY29uc3QgYWxsRGFzaGJvYXJkID0gYXdhaXQgZGlzcGF0Y2goZmV0Y2hEYXNoYm9hcmRBY3Rpb24oKSk7XG4gICAgY29uc3QgYWxsdm9sdW50ZWVycyA9IGF3YWl0IGRpc3BhdGNoKGZldGNoVm9sdW50ZWVycyh7IHZvbHVudGVlcl9zdGF0dXM6IHN0YXR1cywgcGFnZTogMSwgcGFnZVNpemU6IGFsbERhc2hib2FyZD8ucGF5bG9hZD8uY291bnRfdm9sdW50ZWVycyB8fCAyMDAwIH0pKTtcblxuICAgIGlmIChhbGx2b2x1bnRlZXJzICYmIGFsbHZvbHVudGVlcnM/LnBheWxvYWQ/LmRhdGEubGVuZ3RoPiAwKSB7XG4gICAgICBjb25zdCB3cyA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChcbiAgICAgICAgYWxsdm9sdW50ZWVycz8ucGF5bG9hZD8uZGF0YS5tYXAoKGl0LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAnIyc6IGluZGV4ICsgMSxcbiAgICAgICAgICAn4Z6b4Z+B4Z6B4Z6A4Z684Z6KJzogaXQuY29kZSxcbiAgICAgICAgICAn4Z6I4Z+S4Z6Y4Z+E4Z+HIChLaG1lciknOiBgJHtpdC5sYXN0X25hbWVfa2htZXJ9ICR7aXQuZmlyc3RfbmFtZV9raG1lcn1gLFxuICAgICAgICAgICfhnojhn5Lhnpjhn4Thn4cgKExhdGluKSc6IGAke2l0Lmxhc3RfbmFtZV9sYXRpbn0gJHtpdC5maXJzdF9uYW1lX2xhdGlufWAsXG4gICAgICAgICAgJ+GekOGfkuGehOGfg+GegOGfhuGejuGevuGejyc6IGl0LmRhdGVfb2ZfYmlydGgsXG4gICAgICAgICAgJ+Gel+GfgeGekSc6IGl0LmdlbmRlcixcbiAgICAgICAgICAn4Z6f4Z6J4Z+S4Z6H4Z624Z6P4Z63JzogaXQubmF0aW9uYWxpdHksXG4gICAgICAgICAgJ+Gem+GfgeGegeGekeGevOGemuGen+GfkOGeluGfkuGekSc6IGl0LnBob25lX251bWJlcixcbiAgICAgICAgICAn4Z6i4Z+K4Z644Z6Y4Z+C4Z6bJzogaXQuZW1haWwsXG4gICAgICAgICAgJ+GeouGetuGen+GemeGeiuGfkuGei+GetuGekyc6IGl0LmN1cnJlbnRfYWRkcmVzcyxcbiAgICAgICAgICAn4Z6B4Z+B4Z6P4Z+S4Z6PJzogaXQucHJvdmluY2VfaWQsXG4gICAgICAgICAgJ+GeouGetuGeh+GeuOGelic6IGl0Lm9jY3VwYXRpb25fbmFtZSxcbiAgICAgICAgICAn4Z6f4Z+S4Z6Q4Z624Z6U4Z+Q4Z6T4Z6f4Z634Z6A4Z+S4Z6f4Z62JzogaXQuZWR1Y2F0aW9uX2luc3RpdHV0aW9uX25hbWUsXG4gICAgICAgICAgJ+GekeGfhuGeoOGfhuGeouGetuGenCc6IGl0LnRfc2hpcnRfc2l6ZSxcbiAgICAgICAgICAn4Z6i4Z624Z6g4Z624Z6aJzogaXQuZm9vZF9uYW1lLFxuICAgICAgICAgICfhnpThnonhn5LhnqDhnrbhnqLhnrbhnqDhnrbhnponOiBpdC5pc19mb29kX2FsbGVyZ3kgPyAnWWVzJyA6ICdObycsXG4gICAgICAgICAgJ+GeouGetuGeoOGetuGemuGeiuGfguGem+GeleGfkuGeouGfguGegCc6IGl0LmZvb2RfYWxsZXJnaWVzLFxuICAgICAgICAgICfhnpThn5Lhnprhnpfhn4HhnpHhnpbhnrfhnoDhnrbhnprhnpfhnrbhnpYnOiBpdC5kaXNhYmlsaXR5X3R5cGVfbmFtZSxcbiAgICAgICAgICAn4Z6A4Z+S4Z6a4Z674Z6Y4Z6K4Z+C4Z6b4Z6F4Z624Z6U4Z+L4Z6i4Z624Z6a4Z6Y4Z+S4Z6Y4Z6O4Z+NJzogaXQuaW50ZXJlc3RlZF90ZWFtX25hbWUsXG4gICAgICAgICAgJ+GeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjSc6IGl0LnZvbHVudGVlcl9ldmVudF9uYW1lLFxuICAgICAgICAgICfhnpThn5LhnprhnpfhnpbhnrHhnoDhnrbhnp8nOiBpdC5vcHBvcnR1bml0eV9zb3VyY2VfbmFtZSxcbiAgICAgICAgICAn4Z6c4Z6C4Z+S4Z6C4Z6U4Z6O4Z+S4Z6P4Z674Z+H4Z6U4Z6O4Z+S4Z6P4Z624Z6bJzogaXQudHJhaW5pbmdfc2Vzc2lvbl9uYW1lLFxuICAgICAgICAgICfhnp/hn5LhnpDhnrbhnpPhnpfhnrbhnpYnOiBpdC52b2x1bnRlZXJfc3RhdHVzLFxuICAgICAgICAgICdDcmVhdGVkIEF0JzogaXQuY3JlYXRlZF9hdCxcblxuICAgICAgICAgIC8vIOKchSBBZGQgRGlyZWN0IEltYWdlIFVSTHNcbiAgICAgICAgICAn4Z6a4Z684Z6U4Z6X4Z624Z6WJzogaXQucGhvdG8gPyBpdC5waG90byA6ICdObyBJbWFnZScsXG4gICAgICAgICAgJ+GeouGej+GfkuGej+Gen+GeieGfkuGeieGetuGejuGelOGfkOGejuGfkuGejic6IGl0LnVwbG9hZF9pZF9jYXJkID8gaXQudXBsb2FkX2lkX2NhcmQgOiAnTm8gSW1hZ2UnLFxuXG4gICAgICAgICAgLy8g4pyFIEFkZCBEb3dubG9hZGFibGUgQ1YgTGlua1xuICAgICAgICAgICdDVic6IGl0LnVwbG9hZF9jdiA/IGA9SFlQRVJMSU5LKFwiJHtpdC51cGxvYWRfY3Z9XCIsIFwiRG93bmxvYWQgQ1ZcIilgIDogJ05vIENWJ1xuICAgICAgICB9KSlcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHdiID0gWExTWC51dGlscy5ib29rX25ldygpO1xuICAgICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsICdWb2x1bnRlZXJzJyk7XG5cbiAgICAgIC8vIOKchSBFbnN1cmUgdGhlIENWIGxpbmsgZm9ybWF0IGlzIHByb3Blcmx5IGFwcGxpZWRcbiAgICAgIHdzWychY29scyddID0gW3sgd2NoOiAxMCB9LCB7IHdjaDogMjAgfSwgeyB3Y2g6IDI1IH0sIHsgd2NoOiAyNSB9LCB7IHdjaDogMTUgfSwgeyB3Y2g6IDEwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjAgfSwgeyB3Y2g6IDMwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjAgfSwgeyB3Y2g6IDI1IH0sIHsgd2NoOiAxNSB9LCB7IHdjaDogMTAgfSwgeyB3Y2g6IDEwIH0sIHsgd2NoOiAxMCB9LCB7IHdjaDogMTUgfSwgeyB3Y2g6IDE1IH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjAgfSwgeyB3Y2g6IDIwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjUgfV07XG5cbiAgICAgIFhMU1gud3JpdGVGaWxlKHdiLCAnVm9sdW50ZWVycy54bHN4Jyk7XG4gICAgfVxuICB9O1xuXG5cbiAgLy8g8J+TjCBFWFBPUlQgVE8gUERGIEZVTkNUSU9OXG4gIGNvbnN0IGV4cG9ydFRvUERGID0gKCkgPT4ge1xuICAgIGlmICghaXNBZG1pbikgcmV0dXJuOyAvLyBSZXN0cmljdCBhY2Nlc3MgdG8gbm9uLWFkbWluc1xuICAgIGNvbnN0IGRvYyA9IG5ldyBqc1BERigpO1xuICAgIGRvYy50ZXh0KCdWb2x1bnRlZXIgTGlzdCcsIDE0LCAxMCk7XG5cbiAgICBjb25zdCB0YWJsZURhdGEgPSB2b2x1bnRlZXJzLmRhdGEubWFwKChpdCwgaW5kZXgpID0+IFtcbiAgICAgIGluZGV4ICsgMSxcbiAgICAgIGl0LmNvZGUsXG4gICAgICBgJHtpdC5sYXN0X25hbWVfa2htZXJ9ICR7aXQuZmlyc3RfbmFtZV9raG1lcn1gLFxuICAgICAgYCR7aXQubGFzdF9uYW1lX2xhdGlufSAke2l0LmZpcnN0X25hbWVfbGF0aW59YCxcbiAgICAgIGl0LmRhdGVfb2ZfYmlydGgsXG4gICAgICBpdC5nZW5kZXIsXG4gICAgICBpdC5uYXRpb25hbGl0eSxcbiAgICAgIGl0LnBob25lX251bWJlcixcbiAgICAgIGl0LmVtYWlsLFxuICAgICAgaXQuY3VycmVudF9hZGRyZXNzLFxuICAgICAgLy8gaXQucHJvdmluY2VfbmFtZSxcbiAgICAgIGl0Lm9jY3VwYXRpb25fbmFtZSxcbiAgICAgIGl0LmVkdWNhdGlvbl9pbnN0aXR1dGlvbl9uYW1lLFxuICAgICAgaXQudF9zaGlydF9zaXplLFxuICAgICAgaXQuZm9vZF9uYW1lLFxuICAgICAgaXQuaXNfZm9vZF9hbGxlcmd5ID8gJ1llcycgOiAnTm8nLFxuICAgICAgaXQuZm9vZF9hbGxlcmdpZXMsXG4gICAgICBpdC5kaXNhYmlsaXR5X3R5cGVfbmFtZSxcbiAgICAgIGl0LmludGVyZXN0ZWRfdGVhbV9uYW1lLFxuICAgICAgaXQudm9sdW50ZWVyX2V2ZW50X25hbWUsXG4gICAgICBpdC5vcHBvcnR1bml0eV9zb3VyY2VfbmFtZSxcbiAgICAgIGl0LnRyYWluaW5nX3Nlc3Npb25fbmFtZSxcbiAgICAgIGl0LnZvbHVudGVlcl9zdGF0dXMsXG4gICAgICBpdC5jcmVhdGVkX2F0LFxuICAgIF0pO1xuXG4gICAgYXV0b1RhYmxlKGRvYywge1xuICAgICAgaGVhZDogW1xuICAgICAgICBbXG4gICAgICAgICAgJyMnLCAn4Z6b4Z+B4Z6B4Z6A4Z684Z6KJywgJ+GeiOGfkuGemOGfhOGfhyAoS2htZXIpJywgJ+GeiOGfkuGemOGfhOGfhyAoTGF0aW4pJywgJ+GekOGfkuGehOGfg+GegOGfhuGejuGevuGejycsICfhnpfhn4HhnpEnLFxuICAgICAgICAgICfhnp/hnonhn5Lhnofhnrbhno/hnrcnLCAn4Z6b4Z+B4Z6B4Z6R4Z684Z6a4Z6f4Z+Q4Z6W4Z+S4Z6RJywgJ+GeouGfiuGeuOGemOGfguGemycsICfhnqLhnrbhnp/hnpnhnorhn5LhnovhnrbhnpMnLCAn4Z6B4Z+B4Z6P4Z+S4Z6PJywgJ+GeouGetuGeh+GeuOGelicsXG4gICAgICAgICAgJ+Gen+GfkuGekOGetuGelOGfkOGek+Gen+Get+GegOGfkuGen+GeticsICfhnpHhn4bhnqDhn4bhnqLhnrbhnpwnLCAn4Z6i4Z624Z6g4Z624Z6aJywgJ+GelOGeieGfkuGeoOGetuGeouGetuGeoOGetuGemicsICfhnqLhnrbhnqDhnrbhnprhnorhn4LhnpvhnpXhn5LhnqLhn4LhnoAnLFxuICAgICAgICAgICfhnpThn5Lhnprhnpfhn4HhnpHhnpbhnrfhnoDhnrbhnprhnpfhnrbhnpYnLCAn4Z6A4Z+S4Z6a4Z674Z6YJywgJ+GeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjScsICfhnpThn5LhnprhnpfhnpbhnrHhnoDhnrbhnp8nLCAn4Z6c4Z6C4Z+S4Z6CJywgJ+Gen+GfkuGekOGetuGek+Gel+GetuGelicsICdDcmVhdGVkIEF0J1xuICAgICAgICBdXG4gICAgICBdLFxuICAgICAgYm9keTogdGFibGVEYXRhLFxuICAgICAgc3R5bGVzOiB7IGZvbnRTaXplOiA4IH0sXG4gICAgICBoZWFkU3R5bGVzOiB7IGZpbGxDb2xvcjogWzIyLCAxNjAsIDEzM10gfSxcbiAgICB9KTtcblxuICAgIGRvYy5zYXZlKCdWb2x1bnRlZXJzLnBkZicpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBvdmVyZmxvd1g6ICdhdXRvJyB9fT5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogJyNmNWY1ZjUnLFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEwcHgnLFxuICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgIDxzcGFuPuGen+GemuGeu+GelDoge3ZvbHVudGVlcnMuZGF0YT8ubGVuZ3RoIHx8IDB9PC9zcGFuPlxuICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuGen+GfkuGenOGfguGehOGemuGegC4uLlwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNofVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVNlYXJjaH1cbiAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAyMDAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17cmVzZXRTZWFyY2h9PuGegOGfhuGejuGej+Gfi+GeoeGevuGehOGenOGet+GeiTwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8QnV0dG9uPuGelOGfhuGemuGeu+GehDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gZGFuZ2VyPuGekuGfkuGem+GetuGegOGfizwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gZGFuZ2VyPuGen+Geu+GfhuGeiOGelOGfizwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgIHN0eWxlPXt7IGJvcmRlckNvbG9yOiBcInJlZFwiLCBjb2xvcjogXCJyZWRcIiwgYmFja2dyb3VuZENvbG9yOiBcIndoaXRlXCIgfX1cbiAgICAgICAgICAgIG9uQ2xpY2s9e2V4cG9ydFRvUERGfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGaWxlUGRmT3V0bGluZWQgc3R5bGU9e3sgY29sb3I6IFwicmVkXCIgfX0gLz4gUERGXG4gICAgICAgICAgPC9CdXR0b24+XG5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICBzdHlsZT17eyBib3JkZXJDb2xvcjogXCJncmVlblwiLCBjb2xvcjogXCJncmVlblwiLCBiYWNrZ3JvdW5kQ29sb3I6IFwid2hpdGVcIiB9fVxuICAgICAgICAgICAgb25DbGljaz17ZXhwb3J0VG9FeGNlbH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8RmlsZUV4Y2VsT3V0bGluZWQgc3R5bGU9e3sgY29sb3I6IFwiZ3JlZW5cIiB9fSAvPiBFeGNlbFxuICAgICAgICAgIDwvQnV0dG9uPlxuXG5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPFRhYmxlXG4gICAgICAgIHJvd1NlbGVjdGlvbj17e1xuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgb25DaGFuZ2U6IChfLCBzZWxlY3RlZFJvd3MpID0+IHNldFNlbGVjdGVkUm93cyhzZWxlY3RlZFJvd3MpLFxuICAgICAgICB9fVxuICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICBkYXRhU291cmNlPXsodm9sdW50ZWVycz8uZGF0YSB8fCBbXSkubWFwKChpdCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAga2V5OiBpdC5pZCxcbiAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgIG5hbWU6IGAke2l0Lmxhc3RfbmFtZV9sYXRpbn0gJHtpdC5maXJzdF9uYW1lX2xhdGlufWAsXG4gICAgICAgICAgLi4uaXQsXG4gICAgICAgIH0pKX1cbiAgICAgICAgbG9hZGluZz17dm9sdW50ZWVyUGVuZGluZ31cbiAgICAgICAgcGFnaW5hdGlvbj17e1xuICAgICAgICAgIGN1cnJlbnQ6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgICB0b3RhbDogdm9sdW50ZWVycz8ubWV0YT8udG90YWwgfHwgMCxcbiAgICAgICAgICBzaG93U2l6ZUNoYW5nZXI6IHRydWUsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUYWJsZUNoYW5nZX1cbiAgICAgICAgcm93S2V5PVwiaWRcIlxuICAgICAgICBzY3JvbGw9e3sgeDogJ21heC1jb250ZW50JyB9fVxuICAgICAgLz5cbiAgICAgIDxMb2FkaW5nRGlhbG9nIHZpc2libGU9e3ZvbHVudGVlclBlbmRpbmd9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBcHByb3ZlZFZvbHVuZWVyczsiLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgVm9sdW50ZWVyRm9ybSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL3JlZ2lzdGVyL2NvbXBvbmVudHMvZm9ybVwiO1xuIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiBjb25zdCBpZDogYW55ID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcbmNvbnN0IE5ld0VkaXRWb2x1bnRlZXJQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8Vm9sdW50ZWVyRm9ybSBpZD17aWR9IC8+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgTmV3RWRpdFZvbHVudGVlclBhZ2U7IiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUYWJzIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBBcHByb3ZlZFZvbHVuZWVycyBmcm9tICcuL2FwcHJvdmVkJztcblxuY29uc3QgVm9sdW50ZWVyTGlzdCA9ICgpID0+IHtcbiAgY29uc3QgW3N0YXR1cywgc2V0U3RhdHVzXSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICBjb25zdCBzdGF0dXNGaWVsZCA9IHF1ZXJ5LmdldCgnc3RhdHVzJyk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc3RhdHVzRmllbGQpIHtcbiAgICAgIHNldFN0YXR1cyhzdGF0dXNGaWVsZCk7XG4gICAgfVxuICB9LCBbc3RhdHVzRmllbGRdKTsgLy8gQWRkZWQgZGVwZW5kZW5jeVxuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxUYWJzXG4gICAgICAgIGFjdGl2ZUtleT17c3RhdHVzfVxuICAgICAgICBvbkNoYW5nZT17KGtleSkgPT4ge1xuICAgICAgICAgIHNldFN0YXR1cyhrZXkpO1xuICAgICAgICAgIHF1ZXJ5LnNldCgnc3RhdHVzJywga2V5KTtcbiAgICAgICAgICBuYXZpZ2F0ZSh7XG4gICAgICAgICAgICBwYXRobmFtZTogbG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICAgICAgICBzZWFyY2g6IHF1ZXJ5LnRvU3RyaW5nKCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxUYWJzLlRhYlBhbmUgdGFiPVwi4Z6U4Z6J4Z+S4Z6H4Z644Z6i4Z+S4Z6T4Z6A4Z6F4Z674Z+H4Z6I4Z+S4Z6Y4Z+E4Z+H4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6PXCIga2V5PVwiXCIgLz5cbiAgICAgICAgPFRhYnMuVGFiUGFuZSB0YWI9XCLhnpThnonhn5Lhnofhnrjhnp/hnpjhn5Lhnprhnrbhn4ZcIiBrZXk9XCJTaG9ydGxpc3RcIiAvPlxuICAgICAgICA8VGFicy5UYWJQYW5lIHRhYj1cIuGelOGeieGfkuGeh+GeuOGeouGfkuGek+GegOGej+GfkuGemuGevOGenOGen+GemOGfkuGel+GetuGen+Gek+GfjVwiIGtleT1cIkludGVydmlld1wiIC8+XG4gICAgICAgIDxUYWJzLlRhYlBhbmUgdGFiPVwi4Z6U4Z6J4Z+S4Z6H4Z644Z6i4Z+S4Z6T4Z6A4Z6H4Z624Z6U4Z+LXCIga2V5PVwiUGFydGljaXBhbnRzXCIgLz5cbiAgICAgICAgPFRhYnMuVGFiUGFuZSB0YWI9XCLhnpThnonhn5LhnofhnrjhnqLhn5LhnpPhnoDhnpThn4bhnprhnrvhnoRcIiBrZXk9XCJSZXNlcnZlXCIgLz5cbiAgICAgICAgPFRhYnMuVGFiUGFuZSB0YWI9XCLhnpThnonhn5LhnofhnrjhnqLhn5LhnpPhnoDhnpLhn5LhnpvhnrbhnoDhn4tcIiBrZXk9XCJGYWlsZWRcIiAvPlxuICAgICAgICA8VGFicy5UYWJQYW5lIHRhYj1cIuGelOGeieGfkuGeh+GeuOGeouGfkuGek+GegOGen+Geu+GfhuGeiOGelOGfi1wiIGtleT1cIlJlc2lnbmF0aW9uXCIgLz5cbiAgICAgICAgPFRhYnMuVGFiUGFuZSB0YWI9XCLhnpThnonhn5LhnofhnrjhnqLhn5LhnpPhnoDhnpjhnrfhnpPhnpHhnrbhnpPhn4vhnpjhnrbhnpPhnpvhnoDhn5LhnoHhno7hn4jhnoLhn5LhnprhnpThn4vhnoLhn5LhnprhnrbhnpPhn4tcIiBrZXk9XCJEaXNxdWFsaWZpY2F0aW9uXCIgLz5cbiAgICAgIDwvVGFicz5cblxuICAgICAgPEFwcHJvdmVkVm9sdW5lZXJzIHN0YXR1cz17c3RhdHVzfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVm9sdW50ZWVyTGlzdDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybSwgSW5wdXQsIEJ1dHRvbiwgUm93LCBDb2wsIG1lc3NhZ2UgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFZvbHVudGVlckV2ZW50IH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVWb2x1bnRlZXJFdmVudEFjdGlvbiwgdm9sdW50ZWVyRXZlbnREZXRhaWxBY3Rpb24sIHVwZGF0ZVZvbHVudGVlckV2ZW50QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyX2V2ZW50L2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IFRleHRBcmVhIGZyb20gJ2FudGQvZXMvaW5wdXQvVGV4dEFyZWEnO1xuXG5jb25zdCBOZXdFZGl0Vm9sdW50ZWVyRXZlbnRQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHsgdm9sdW50ZWVyRXZlbnQsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCB2b2x1bnRlZXJFdmVudFVwZGF0ZVBlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS52b2x1bnRlZXJFdmVudFxuICApO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcblxuICBjb25zdCBbaXNDbGljaywgc2V0SXNDbGlja10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8g8J+RiSBGZXRjaCBkYXRhIHdoZW4gZWRpdGluZyBvciByZXNldCBmb3JtIHdoZW4gYWRkaW5nXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh2b2x1bnRlZXJFdmVudERldGFpbEFjdGlvbihOdW1iZXIoaWQpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBmaWVsZHMgd2hlbiBhZGRpbmcgYSBuZXcgaXRlbVxuICAgIH1cbiAgfSwgW2Rpc3BhdGNoLCBpZCwgZm9ybV0pO1xuXG4gIC8vIPCfkYkgUG9wdWxhdGUgZm9ybSB3aXRoIGZldGNoZWQgZGF0YVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCAmJiB2b2x1bnRlZXJFdmVudCkge1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7XG4gICAgICAgIG5hbWU6IHZvbHVudGVlckV2ZW50Lm5hbWUgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB2b2x1bnRlZXJFdmVudC5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3ZvbHVudGVlckV2ZW50LCBmb3JtLCBpZF0pO1xuXG4gIC8vIPCfkYkgU2hvdyBzdWNjZXNzIG9yIGVycm9yIGFsZXJ0c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghdm9sdW50ZWVyRXZlbnRVcGRhdGVQZW5kaW5nICYmIGlzQ2xpY2spIHtcbiAgICAgIGlmIChyZWdpc3RlckVycm9yTWVzc2FnZSkge1xuICAgICAgICBtZXNzYWdlLmVycm9yKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhpZCA/ICdVcGRhdGVkIHN1Y2Nlc3NmdWxseSEnIDogJ0NyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgICBuYXZpZ2F0ZSgnL3ZvbHVudGVlci1ldmVudHMnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFt2b2x1bnRlZXJFdmVudFVwZGF0ZVBlbmRpbmcsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBpZCwgaXNDbGljaywgbmF2aWdhdGVdKTtcblxuICAvLyDwn5GJIEhhbmRsZSBmb3JtIHN1Ym1pdFxuICBjb25zdCBvbkZpbmlzaCA9ICh2YWx1ZXM6IFZvbHVudGVlckV2ZW50KSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVWb2x1bnRlZXJFdmVudEFjdGlvbih7IGlkOiBOdW1iZXIoaWQpLCBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChjcmVhdGVWb2x1bnRlZXJFdmVudEFjdGlvbih7IGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gYWZ0ZXIgc3VjY2Vzc2Z1bCBjcmVhdGlvblxuICAgIH1cbiAgICBzZXRJc0NsaWNrKHRydWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMj57aWQgPyAn4Z6A4Z+C4Z6U4Z+S4Z6a4Z+C4Z6W4Z+S4Z6a4Z654Z6P4Z+S4Z6P4Z634Z6A4Z624Z6a4Z6O4Z+N4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6PJyA6ICfhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5Lhnpjhnrjhnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn43hnp/hn5Lhnpjhn5DhnoLhn5LhnprhnoXhnrfhno/hn5Lhno8nfTwvaDI+XG4gICAgICA8Rm9ybSBmb3JtPXtmb3JtfSBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiIG9uRmluaXNoPXtvbkZpbmlzaH0gc3R5bGU9e3sgbWF4V2lkdGg6ICcxMDAlJywgbWFyZ2luOiAnMCBhdXRvJyB9fT5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4dcIiBuYW1lPVwibmFtZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ1BsZWFzZSBlbnRlciBhIG5hbWUnIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpThnprhnrfhnpnhnrbhnplcIiBuYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPFRleHRBcmVhIHJvd3M9ezN9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInByaW1hcnlcIiBibG9jayBodG1sVHlwZT1cInN1Ym1pdFwiIGxvYWRpbmc9e3ZvbHVudGVlckV2ZW50VXBkYXRlUGVuZGluZ30+XG4gICAgICAgICAgICAgICAgU3VibWl0XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gaHRtbFR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZSgnL3ZvbHVudGVlci1ldmVudHMnKX0+XG4gICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Gb3JtPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmV3RWRpdFZvbHVudGVlckV2ZW50UGFnZTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBJbnB1dCwgU3BhY2UsIFRhYmxlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi4vLi4vLi4vY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgRGVsZXRlT3V0bGluZWQsIEVkaXRPdXRsaW5lZCwgUGx1c091dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHsgZGVsZXRlVm9sdW50ZWVyRXZlbnRBY3Rpb24sIHZvbHVudGVlckV2ZW50RGV0YWlsQWN0aW9uLCBmZXRjaFZvbHVudGVlckV2ZW50cyB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlcl9ldmVudC9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5jb25zdCBWb2x1bnRlZXJFdmVudExpc3QgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBbc2VsZWN0ZWRSb3dzLCBzZXRTZWxlY3RlZFJvd3NdID0gdXNlU3RhdGU8YW55PihbXSk7XG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgeyB2b2x1bnRlZXJFdmVudHMsIHZvbHVudGVlckV2ZW50c1BlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS52b2x1bnRlZXJFdmVudCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaFZvbHVudGVlckV2ZW50cygpKTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cbiAgY29uc3QgaGFuZGxlRWRpdCA9IChpZDogYW55KSA9PiB7XG4gICAgZGlzcGF0Y2godm9sdW50ZWVyRXZlbnREZXRhaWxBY3Rpb24oaWQpKTtcbiAgICBuYXZpZ2F0ZShgL3ZvbHVudGVlci1ldmVudHMvZm9ybT9pZD0ke2lkfWApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IChpZDogYW55KSA9PiB7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgICB0ZXh0OiAnWW91IHdvblxcJ3QgYmUgYWJsZSB0byByZXZlcnQgdGhpcyEnLFxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXG4gICAgICBodG1sOiBgXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjb25maXJtLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY29uZmlybSBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNkMzM7XCI+RGVsZXRlPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNhbmNlbC1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNhbmNlbCBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMzMDg1ZDY7XCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYCxcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NvbmZpcm0tZGVsZXRlJyk7XG4gICAgICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NhbmNlbC1kZWxldGUnKTtcblxuICAgICAgICBjb25maXJtQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBkaXNwYXRjaChkZWxldGVWb2x1bnRlZXJFdmVudEFjdGlvbihpZCkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgU3dhbC5maXJlKCdEZWxldGVkIScsICdUaGUgaXRlbSBoYXMgYmVlbiBkZWxldGVkLicsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICBkaXNwYXRjaChmZXRjaFZvbHVudGVlckV2ZW50cygpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbmNlbEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gKCkgPT4ge1xuICAgIC8vIFRyaWdnZXJzIHNlYXJjaCBieSBzZXR0aW5nIHN0YXRlXG4gICAgc2V0U2VhcmNoVGV4dChzZWFyY2hUZXh0LnRyaW0oKSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXQgPSAoKSA9PiB7XG4gICAgLy8gQ2xlYXJzIGlucHV0IGFuZCBzaG93cyBhbGwgZGF0YVxuICAgIHNldFNlYXJjaFRleHQoJycpO1xuICB9O1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAgeyB0aXRsZTogJ+Gem+GfgeGegeGemuGfgOGehCcsIGRhdGFJbmRleDogJ2luZGV4Jywga2V5OiAnaW5kZXgnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6I4Z+S4Z6Y4Z+E4Z+HJywgZGF0YUluZGV4OiAnbmFtZScsIGtleTogJ25hbWUnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6U4Z6a4Z634Z6Z4Z624Z6ZJywgZGF0YUluZGV4OiAnZGVzY3JpcHRpb24nLCBrZXk6ICdkZXNjcmlwdGlvbicsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnQWN0aW9uJyxcbiAgICAgIGtleTogJ2FjdGlvbicsXG4gICAgICByZXNwb25zaXZlOiBbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJ10sXG4gICAgICByZW5kZXI6IChfOiBzdHJpbmcsIHJlY29yZDogYW55KSA9PiAoXG4gICAgICAgIDxTcGFjZSBzaXplPVwibWlkZGxlXCI+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8RWRpdE91dGxpbmVkIC8+fSB0eXBlPVwicHJpbWFyeVwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX0gLz5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxEZWxldGVPdXRsaW5lZCAvPn0gZGFuZ2VyIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShyZWNvcmQuaWQpfSAvPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgKSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IGZpbHRlcmVkRGF0YSA9ICh2b2x1bnRlZXJFdmVudHMgfHwgW10pLmZpbHRlcigoaXQpID0+XG4gICAgaXQubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IG92ZXJmbG93WDogJ2F1dG8nIH19PlxuICAgICAgPGgyPuGelOGeieGfkuGeh+GeuOGeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjeGen+GfkuGemOGfkOGeguGfkuGemuGeheGet+Gej+GfkuGejzwvaDI+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgcGFkZGluZzogJzEwcHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjZjVmNWY1JyxcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8c3Bhbj7hnp/hnprhnrvhnpQ6IHtmaWx0ZXJlZERhdGE/Lmxlbmd0aCB8fCAwfTwvc3Bhbj5cbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi4Z6f4Z+S4Z6c4Z+C4Z6E4Z6a4Z6ALi4uXCJcbiAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAyMDAgfX1cbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hUZXh0fVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRTZWFyY2hUZXh0KGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlU2VhcmNofSB0eXBlPVwicHJpbWFyeVwiPuGeheGemOGfkuGemuGfhOGfhzwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlUmVzZXR9PuGegOGfhuGejuGej+Gfi+GeoeGevuGehOGenOGet+GeiTwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxQbHVzT3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gbmF2aWdhdGUoYC92b2x1bnRlZXItZXZlbnRzL2Zvcm1gKX0+4Z6U4Z6T4Z+S4Z6Q4Z+C4Z6Y4Z6Q4Z+S4Z6Y4Z64PC9CdXR0b24+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxUYWJsZVxuICAgICAgICByb3dTZWxlY3Rpb249e3tcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIG9uQ2hhbmdlOiAoXywgc2VsZWN0ZWRSb3dzKSA9PiBzZXRTZWxlY3RlZFJvd3Moc2VsZWN0ZWRSb3dzKSxcbiAgICAgICAgfX1cbiAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgZGF0YVNvdXJjZT17ZmlsdGVyZWREYXRhLm1hcCgoaXQsIGluZGV4KSA9PiAoe1xuICAgICAgICAgIGtleTogaXQuaWQsXG4gICAgICAgICAgaW5kZXg6IGluZGV4ICsgMSxcbiAgICAgICAgICBuYW1lOiBpdC5uYW1lLFxuICAgICAgICAgIC4uLml0LFxuICAgICAgICB9KSl9XG4gICAgICAgIHBhZ2luYXRpb249e3sgcGFnZVNpemU6IDEwLCBzaG93U2l6ZUNoYW5nZXI6IHRydWUgfX1cbiAgICAgICAgc2Nyb2xsPXt7IHg6ICdtYXgtY29udGVudCcgfX1cbiAgICAgIC8+XG4gICAgICA8TG9hZGluZ0RpYWxvZyB2aXNpYmxlPXt2b2x1bnRlZXJFdmVudHNQZW5kaW5nfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVm9sdW50ZWVyRXZlbnRMaXN0O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgTm90Rm91bmQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuICByZXR1cm4gPGgxPjQwNCAtIFBhZ2UgTm90IEZvdW5kPC9oMT47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb3RGb3VuZDtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVnaXN0ZXJGb3JtIGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlci9yZWdpc3Rlci9jb21wb25lbnRzL3JlZ2lzdGVyJztcblxuXG5jb25zdCBWb2x1bnRlZXJSZWdpc3RlckZvcm06IFJlYWN0LkZDID0gKCkgPT4ge1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWNvbnRhaW5lclwiPlxuICAgICAgPFJlZ2lzdGVyRm9ybS8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBWb2x1bnRlZXJSZWdpc3RlckZvcm07XG4iXSwibmFtZXMiOlsiX3JlZ2VuZXJhdG9yUnVudGltZSIsImUiLCJ0IiwiciIsIk9iamVjdCIsInByb3RvdHlwZSIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsIm8iLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiaSIsIlN5bWJvbCIsImEiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiY2FsbCIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsIl90eXBlb2YiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9kZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImlzQXJyYXkiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwidXNlRGlzcGF0Y2giLCJ1c2VTZWxlY3RvciIsImNyZWF0ZVVzZXJBY3Rpb24iLCJ1c2VyRGV0YWlsQWN0aW9uIiwidXBkYXRlVXNlckFjdGlvbiIsInVzZU5hdmlnYXRlIiwicG9zdFVwbG9hZCIsIlBsdXNPdXRsaW5lZCIsIlVwbG9hZE91dGxpbmVkIiwiT3B0aW9uIiwiTmV3RWRpdFVzZXJQYWdlIiwiZGlzcGF0Y2giLCJuYXZpZ2F0ZSIsIl91c2VTZWxlY3RvciIsInN0YXRlIiwidXNlciIsInJlZ2lzdGVyRXJyb3JNZXNzYWdlIiwidXNlclVwZGF0ZVBlbmRpbmciLCJfRm9ybSR1c2VGb3JtIiwiX0Zvcm0iLCJ1c2VGb3JtIiwiX0Zvcm0kdXNlRm9ybTIiLCJmb3JtIiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJpZCIsImdldCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJwaG90b1VybCIsInNldFBob3RvVXJsIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJwcmV2aWV3VmlzaWJsZSIsInNldFByZXZpZXdWaXNpYmxlIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJwcmV2aWV3VGl0bGUiLCJzZXRQcmV2aWV3VGl0bGUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInByZXZpZXdDb250ZW50Iiwic2V0UHJldmlld0NvbnRlbnQiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJwaG90b0xpc3QiLCJzZXRQaG90b0xpc3QiLCJfdXNlU2VsZWN0b3IyIiwiYXV0aCIsImN1cnJlbnRVc2VyIiwiaXNBZG1pbiIsInJvbGUiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiaXNDbGljayIsInNldElzQ2xpY2siLCJyZXNldEZpZWxkcyIsInNldEZpZWxkc1ZhbHVlIiwiZmlyc3RfbmFtZSIsImxhc3RfbmFtZSIsInVzZXJuYW1lIiwiZW1haWwiLCJwaG9uZSIsInRlbGVncmFtX2lkIiwicGhvdG9fdXJsIiwiZ3JhZF90eXBlIiwic3RhdHVzIiwiX21lc3NhZ2UiLCJlcnJvciIsInN1Y2Nlc3MiLCJoYW5kbGVGaWxlQ2hhbmdlIiwiX3JlZiIsIl9jYWxsZWUiLCJmaWxlIiwiZmllbGROYW1lIiwiZm9ybURhdGEiLCJyZXNwb25zZSIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJjb25zb2xlIiwiY29uY2F0IiwiRm9ybURhdGEiLCJhcHBlbmQiLCJ1cmwiLCJ0MCIsIl94IiwiX3gyIiwiX3gzIiwiaGFuZGxlUGhvdG9VcGxvYWRDaGFuZ2UiLCJfcmVmMiIsIl9jYWxsZWUyIiwicGhvdG9GaWxlIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwiX3g0IiwiaGFuZGxlRmlsZUNoYW5nZU5ldyIsIl9yZWYzIiwiX2NhbGxlZTMiLCJmaWxlTGlzdCIsInNldEZpbGVMaXN0IiwidXBkYXRlZEZpbGVMaXN0IiwiZG9uZUZpbGVMaXN0IiwiZXJyb3JGaWxlTGlzdCIsIl9jYWxsZWUzJCIsIl9jb250ZXh0MyIsIm1hcCIsIl9vYmplY3RTcHJlYWQiLCJvcmlnaW5GaWxlT2JqIiwiX3g1IiwiX3g2IiwiX3g3IiwiaGFuZGxlUGhvdG9VcGxvYWRDaGFuZ2VOZXciLCJfcmVmNSIsIl9jYWxsZWU0IiwiX3JlZjQiLCJfY2FsbGVlNCQiLCJfY29udGV4dDQiLCJfeDgiLCJiZWZvcmVVcGxvYWQiLCJpc0ltYWdlIiwic3RhcnRzV2l0aCIsIm9uRmluaXNoIiwiZGF0YSIsImhhbmRsZVByZXZpZXciLCJ0aXRsZSIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsIndpZHRoIiwibWFyZ2luIiwic3JjIiwiYWx0IiwidXBsb2FkQnV0dG9uIiwic2V0VXJsIiwibGFiZWwiLCJwb3NpdGlvbiIsImRpc3BsYXkiLCJGcmFnbWVudCIsImN1cnNvciIsIm9uQ2xpY2siLCJtYXhIZWlnaHQiLCJib3JkZXJSYWRpdXMiLCJfQnV0dG9uIiwiaWNvbiIsInNpemUiLCJib3R0b20iLCJyaWdodCIsImJhY2tncm91bmQiLCJjb2xvciIsIl9kb2N1bWVudCRnZXRFbGVtZW50QiIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJjbGljayIsIm9uQ2hhbmdlIiwidGFyZ2V0IiwiZmlsZXMiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJfVXBsb2FkIiwibGlzdFR5cGUiLCJzaG93VXBsb2FkTGlzdCIsInNob3dQcmV2aWV3SWNvbiIsInNob3dSZW1vdmVJY29uIiwiY2xhc3NOYW1lIiwibGF5b3V0IiwibWF4V2lkdGgiLCJfUm93IiwiZ3V0dGVyIiwiX0NvbCIsInNwYW4iLCJJdGVtIiwicnVsZXMiLCJyZXF1aXJlZCIsIl9JbnB1dCIsIl9TZWxlY3QiLCJqdXN0aWZ5IiwiYmxvY2siLCJodG1sVHlwZSIsImxvYWRpbmciLCJfTW9kYWwiLCJ2aXNpYmxlIiwiZm9vdGVyIiwib25DYW5jZWwiLCJMb2FkaW5nRGlhbG9nIiwiRGVsZXRlT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJkZWxldGVVc2VyQWN0aW9uIiwiZmV0Y2hVc2VycyIsIlN3YWwiLCJVc2VyTGlzdCIsInNlbGVjdGVkUm93cyIsInNldFNlbGVjdGVkUm93cyIsInNlYXJjaFRleHQiLCJzZXRTZWFyY2hUZXh0IiwidXNlcnMiLCJ1c2Vyc1BlbmRpbmciLCJoYW5kbGVFZGl0IiwiaGFuZGxlRGVsZXRlIiwiZmlyZSIsInRleHQiLCJzaG93Q29uZmlybUJ1dHRvbiIsInNob3dDYW5jZWxCdXR0b24iLCJodG1sIiwiZGlkT3BlbiIsIl9Td2FsJGdldFBvcHVwIiwiX1N3YWwkZ2V0UG9wdXAyIiwiY29uZmlybUJ1dHRvbiIsImdldFBvcHVwIiwicXVlcnlTZWxlY3RvciIsImNhbmNlbEJ1dHRvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJjbG9zZSIsImhhbmRsZVNlYXJjaCIsInRyaW0iLCJoYW5kbGVSZXNldCIsImNvbHVtbnMiLCJkYXRhSW5kZXgiLCJrZXkiLCJyZXNwb25zaXZlIiwicmVuZGVyIiwiX0ltYWdlIiwiYm9yZGVyIiwiXyIsInJlY29yZCIsIl9TcGFjZSIsImRhbmdlciIsImZpbHRlcmVkRGF0YSIsImZpbHRlciIsIml0IiwiX2l0JGVtYWlsIiwiX2l0JHVzZXJuYW1lIiwiX2l0JHJvbGUiLCJfaXQkZmlyc3RfbmFtZSIsIl9pdCRsYXN0X25hbWUiLCJfaXQkcGhvbmUiLCJfaXQkdGVsZWdyYW1faWQiLCJfaXQkZ3JhZF90eXBlIiwiX2l0JHN0YXR1cyIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJvdmVyZmxvd1giLCJqdXN0aWZ5Q29udGVudCIsInBhZGRpbmciLCJtYXJnaW5Cb3R0b20iLCJmbGV4V3JhcCIsInBsYWNlaG9sZGVyIiwiX1RhYmxlIiwicm93U2VsZWN0aW9uIiwiZGF0YVNvdXJjZSIsImluZGV4IiwicGFnaW5hdGlvbiIsInBhZ2VTaXplIiwic2hvd1NpemVDaGFuZ2VyIiwic2Nyb2xsIiwieCIsImRlbGV0ZVZvbHVudGVlckFjdGlvbiIsImZldGNoRGFzaGJvYXJkQWN0aW9uIiwiZmV0Y2hWb2x1bnRlZXJzIiwidXBkYXRlVm9sdW50ZWVyQWN0aW9uIiwidm9sdW50ZWVyRGV0YWlsQWN0aW9uIiwiRmlsZUV4Y2VsT3V0bGluZWQiLCJGaWxlUGRmT3V0bGluZWQiLCJYTFNYIiwianNQREYiLCJhdXRvVGFibGUiLCJOb3RpZmxpeCIsImNvbmZpcm0iLCJzdGF0dXNDb2xvcnMiLCJSZWdpc3RlciIsIlNob3J0bGlzdCIsIkludGVydmlldyIsIlBhcnRpY2lwYW50cyIsIlJlc2VydmUiLCJGYWlsZWQiLCJSZXNpZ25hdGlvbiIsIkRpc3F1YWxpZmljYXRpb24iLCJBcHByb3ZlZFZvbHVuZWVycyIsIl92b2x1bnRlZXJzJGRhdGEiLCJfdm9sdW50ZWVycyRtZXRhIiwidm9sdW50ZWVyIiwidm9sdW50ZWVycyIsInZvbHVudGVlclBlbmRpbmciLCJkYXNoYm9hcmQiLCJjdXJyZW50UGFnZSIsInNldEN1cnJlbnRQYWdlIiwic2V0UGFnZVNpemUiLCJzZXRTZWFyY2giLCJ2b2x1bnRlZXJfc3RhdHVzIiwicGFnZSIsInJlc2V0U2VhcmNoIiwic3RhdHVzT3B0aW9ucyIsImhhbmRsZVN0YXR1c0NoYW5nZSIsInZvbHVudGVlcklkIiwibmV3U3RhdHVzIiwiTm90aWZ5IiwiZmFpbHVyZSIsImhhbmRsZVRhYmxlQ2hhbmdlIiwiY3VycmVudCIsImNvZGUiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwicGhvdG8iLCJlbGxpcHNpcyIsInZvbHVudGVlcl9ldmVudF9uYW1lIiwiaW50ZXJlc3RlZF90ZWFtX25hbWUiLCJfVGFnIiwiYm9yZGVyZWQiLCJkcm9wZG93blN0eWxlIiwiZm9udFNpemUiLCJtaW5XaWR0aCIsImJhY2tncm91bmRDb2xvciIsImV4cG9ydFRvRXhjZWwiLCJfYWxsRGFzaGJvYXJkJHBheWxvYWQiLCJfYWxsdm9sdW50ZWVycyRwYXlsb2EiLCJhbGxEYXNoYm9hcmQiLCJhbGx2b2x1bnRlZXJzIiwiX2FsbHZvbHVudGVlcnMkcGF5bG9hMiIsIndzIiwid2IiLCJwYXlsb2FkIiwiY291bnRfdm9sdW50ZWVycyIsInV0aWxzIiwianNvbl90b19zaGVldCIsImxhc3RfbmFtZV9raG1lciIsImZpcnN0X25hbWVfa2htZXIiLCJsYXN0X25hbWVfbGF0aW4iLCJmaXJzdF9uYW1lX2xhdGluIiwiZGF0ZV9vZl9iaXJ0aCIsImdlbmRlciIsIm5hdGlvbmFsaXR5IiwicGhvbmVfbnVtYmVyIiwiY3VycmVudF9hZGRyZXNzIiwicHJvdmluY2VfaWQiLCJvY2N1cGF0aW9uX25hbWUiLCJlZHVjYXRpb25faW5zdGl0dXRpb25fbmFtZSIsInRfc2hpcnRfc2l6ZSIsImZvb2RfbmFtZSIsImlzX2Zvb2RfYWxsZXJneSIsImZvb2RfYWxsZXJnaWVzIiwiZGlzYWJpbGl0eV90eXBlX25hbWUiLCJvcHBvcnR1bml0eV9zb3VyY2VfbmFtZSIsInRyYWluaW5nX3Nlc3Npb25fbmFtZSIsImNyZWF0ZWRfYXQiLCJ1cGxvYWRfaWRfY2FyZCIsInVwbG9hZF9jdiIsImJvb2tfbmV3IiwiYm9va19hcHBlbmRfc2hlZXQiLCJ3Y2giLCJ3cml0ZUZpbGUiLCJleHBvcnRUb1BERiIsImRvYyIsInRhYmxlRGF0YSIsImhlYWQiLCJib2R5Iiwic3R5bGVzIiwiaGVhZFN0eWxlcyIsImZpbGxDb2xvciIsInNhdmUiLCJib3JkZXJDb2xvciIsInRvdGFsIiwibWV0YSIsInJvd0tleSIsIlZvbHVudGVlckZvcm0iLCJOZXdFZGl0Vm9sdW50ZWVyUGFnZSIsInVzZUxvY2F0aW9uIiwiVm9sdW50ZWVyTGlzdCIsInNldFN0YXR1cyIsInF1ZXJ5Iiwic3RhdHVzRmllbGQiLCJfVGFicyIsImFjdGl2ZUtleSIsInNldCIsInBhdGhuYW1lIiwiVGFiUGFuZSIsInRhYiIsImNyZWF0ZVZvbHVudGVlckV2ZW50QWN0aW9uIiwidm9sdW50ZWVyRXZlbnREZXRhaWxBY3Rpb24iLCJ1cGRhdGVWb2x1bnRlZXJFdmVudEFjdGlvbiIsIlRleHRBcmVhIiwiTmV3RWRpdFZvbHVudGVlckV2ZW50UGFnZSIsInZvbHVudGVlckV2ZW50Iiwidm9sdW50ZWVyRXZlbnRVcGRhdGVQZW5kaW5nIiwiZGVzY3JpcHRpb24iLCJtZXNzYWdlIiwicm93cyIsImRlbGV0ZVZvbHVudGVlckV2ZW50QWN0aW9uIiwiZmV0Y2hWb2x1bnRlZXJFdmVudHMiLCJWb2x1bnRlZXJFdmVudExpc3QiLCJ2b2x1bnRlZXJFdmVudHMiLCJ2b2x1bnRlZXJFdmVudHNQZW5kaW5nIiwiX2l0JG5hbWUiLCJOb3RGb3VuZCIsIlJlZ2lzdGVyRm9ybSIsIlZvbHVudGVlclJlZ2lzdGVyRm9ybSJdLCJzb3VyY2VSb290IjoiIn0=