"use strict"; (self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_services_p"],{ /***/ "./src/services/province/core/actions.ts": /*!***********************************************!*\ !*** ./src/services/province/core/actions.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createProvinceAction: () => (/* binding */ createProvinceAction), /* harmony export */ deleteProvinceAction: () => (/* binding */ deleteProvinceAction), /* harmony export */ fetchProvinces: () => (/* binding */ fetchProvinces), /* harmony export */ provinceDetailAction: () => (/* binding */ provinceDetailAction), /* harmony export */ updateProvinceAction: () => (/* binding */ updateProvinceAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/province/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/province/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var fetchProvinces = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.PROVINCES, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.provincesService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch provinces")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var provinceDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.PROVINCE, _services__WEBPACK_IMPORTED_MODULE_2__.provinceDetailService); var createProvinceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.PROVINCE_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createProvinceService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create province")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateProvinceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.PROVINCE_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateProvinceService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update province")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteProvinceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.PROVINCE_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteProvinceService); /***/ }), /***/ "./src/services/province/core/constants.ts": /*!*************************************************!*\ !*** ./src/services/province/core/constants.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ PROVINCE: () => (/* binding */ PROVINCE), /* harmony export */ PROVINCES: () => (/* binding */ PROVINCES), /* harmony export */ PROVINCE_CREATE: () => (/* binding */ PROVINCE_CREATE), /* harmony export */ PROVINCE_DELETE: () => (/* binding */ PROVINCE_DELETE), /* harmony export */ PROVINCE_UPDATE: () => (/* binding */ PROVINCE_UPDATE) /* harmony export */ }); var PROVINCES = 'provinces/fetchAll'; var PROVINCE = 'provinces/fetchByID'; var PROVINCE_CREATE = 'provinces/create'; var PROVINCE_UPDATE = 'provinces/update'; var PROVINCE_DELETE = 'provinces/delete'; /***/ }), /***/ "./src/services/province/core/reducer.ts": /*!***********************************************!*\ !*** ./src/services/province/core/reducer.ts ***! \***********************************************/ /***/ ((__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 */ provinceSlice: () => (/* binding */ provinceSlice), /* harmony export */ setProvince: () => (/* binding */ setProvince), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/province/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/province/core/constants.ts"); /* eslint-disable no-console */ var initialState = { provinces: [], province: null, provincesPending: false, provinceDetailPending: false, provinceCreatePending: false, provinceUpdatePending: false, provinceDeletePending: false, registerErrorMessage: '' }; var provinceSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.PROVINCE, initialState: initialState, reducers: { // Sets the current province setProvince: function setProvince(state, action) { state.province = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle province .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchProvinces.pending, function (state) { state.provincesPending = true; state.registerErrorMessage = ''; }) // Handles rejected provinces fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchProvinces.rejected, function (state, action) { state.provincesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch provinces.'; }) // Handles fulfilled provinces fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchProvinces.fulfilled, function (state, action) { var payload = action.payload; state.provinces = payload; state.provincesPending = false; state.registerErrorMessage = ''; }) // handle province detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.provinceDetailAction.pending, function (state) { state.provinceDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected provinces fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.provinceDetailAction.rejected, function (state, action) { state.provinceDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch provinces.'; }) // Handles fulfilled provinces fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.provinceDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.province = payload; state.provinceDetailPending = false; state.registerErrorMessage = ''; }) // handle province create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createProvinceAction.pending, function (state) { state.provinceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createProvinceAction.rejected, function (state, action) { state.provinceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create provinces.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createProvinceAction.fulfilled, function (state, action) { state.province = action.payload; state.provinceUpdatePending = false; state.registerErrorMessage = ''; }) // handle province update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateProvinceAction.pending, function (state) { state.provinceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateProvinceAction.rejected, function (state, action) { state.provinceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update provinces.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateProvinceAction.fulfilled, function (state, action) { state.province = action.payload; state.provinceUpdatePending = false; state.registerErrorMessage = ''; }) // handle province delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteProvinceAction.pending, function (state) { state.provinceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteProvinceAction.rejected, function (state, action) { state.provinceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete provinces.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteProvinceAction.fulfilled, function (state, action) { state.province = action.payload; state.provinceUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _provinceSlice$action = provinceSlice.actions, setRegisterErrorMessage = _provinceSlice$action.setRegisterErrorMessage, setProvince = _provinceSlice$action.setProvince; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (provinceSlice.reducer); /***/ }), /***/ "./src/services/province/core/services.ts": /*!************************************************!*\ !*** ./src/services/province/core/services.ts ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createProvinceService: () => (/* binding */ createProvinceService), /* harmony export */ deleteProvinceService: () => (/* binding */ deleteProvinceService), /* harmony export */ provinceDetailService: () => (/* binding */ provinceDetailService), /* harmony export */ provincesService: () => (/* binding */ provincesService), /* harmony export */ updateProvinceService: () => (/* binding */ updateProvinceService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var provincesService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.PROVINCE, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function provincesService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var provinceDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.PROVINCE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function provinceDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createProvinceService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.PROVINCE), data)); } }, _callee3); })); return function createProvinceService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateProvinceService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.PROVINCE).concat(id), data)); } }, _callee4); })); return function updateProvinceService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteProvinceService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.PROVINCE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteProvinceService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/skill/core/actions.ts": /*!********************************************!*\ !*** ./src/services/skill/core/actions.ts ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createSkillAction: () => (/* binding */ createSkillAction), /* harmony export */ deleteSkillAction: () => (/* binding */ deleteSkillAction), /* harmony export */ fetchSkills: () => (/* binding */ fetchSkills), /* harmony export */ skillDetailAction: () => (/* binding */ skillDetailAction), /* harmony export */ updateSkillAction: () => (/* binding */ updateSkillAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/skill/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/skill/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var fetchSkills = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.SKILLS, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.skillsService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch skills")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var skillDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.SKILL, _services__WEBPACK_IMPORTED_MODULE_2__.skillDetailService); var createSkillAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.SKILL_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createSkillService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create skill")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateSkillAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.SKILL_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateSkillService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update skill")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteSkillAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.SKILL_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteSkillService); /***/ }), /***/ "./src/services/skill/core/constants.ts": /*!**********************************************!*\ !*** ./src/services/skill/core/constants.ts ***! \**********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ SKILL: () => (/* binding */ SKILL), /* harmony export */ SKILLS: () => (/* binding */ SKILLS), /* harmony export */ SKILL_CREATE: () => (/* binding */ SKILL_CREATE), /* harmony export */ SKILL_DELETE: () => (/* binding */ SKILL_DELETE), /* harmony export */ SKILL_UPDATE: () => (/* binding */ SKILL_UPDATE) /* harmony export */ }); var SKILLS = 'skills/fetchAll'; var SKILL = 'skills/fetchByID'; var SKILL_CREATE = 'skills/create'; var SKILL_UPDATE = 'skills/update'; var SKILL_DELETE = 'skills/delete'; /***/ }), /***/ "./src/services/skill/core/reducer.ts": /*!********************************************!*\ !*** ./src/services/skill/core/reducer.ts ***! \********************************************/ /***/ ((__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 */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage), /* harmony export */ setSkill: () => (/* binding */ setSkill), /* harmony export */ skillSlice: () => (/* binding */ skillSlice) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/skill/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/skill/core/constants.ts"); /* eslint-disable no-console */ var initialState = { skills: [], skill: null, skillsPending: false, skillDetailPending: false, skillCreatePending: false, skillUpdatePending: false, skillDeletePending: false, registerErrorMessage: '' }; var skillSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.SKILL, initialState: initialState, reducers: { // Sets the current skill setSkill: function setSkill(state, action) { state.skill = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle skill .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchSkills.pending, function (state) { state.skillsPending = true; state.registerErrorMessage = ''; }) // Handles rejected skills fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchSkills.rejected, function (state, action) { state.skillsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch skills.'; }) // Handles fulfilled skills fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchSkills.fulfilled, function (state, action) { var payload = action.payload; state.skills = payload; state.skillsPending = false; state.registerErrorMessage = ''; }) // handle skill detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.skillDetailAction.pending, function (state) { state.skillDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected skills fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.skillDetailAction.rejected, function (state, action) { state.skillDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch skills.'; }) // Handles fulfilled skills fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.skillDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.skill = payload; state.skillDetailPending = false; state.registerErrorMessage = ''; }) // handle skill create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createSkillAction.pending, function (state) { state.skillUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createSkillAction.rejected, function (state, action) { state.skillUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create skills.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createSkillAction.fulfilled, function (state, action) { state.skill = action.payload; state.skillUpdatePending = false; state.registerErrorMessage = ''; }) // handle skill update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateSkillAction.pending, function (state) { state.skillUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateSkillAction.rejected, function (state, action) { state.skillUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update skills.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateSkillAction.fulfilled, function (state, action) { state.skill = action.payload; state.skillUpdatePending = false; state.registerErrorMessage = ''; }) // handle skill delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteSkillAction.pending, function (state) { state.skillUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteSkillAction.rejected, function (state, action) { state.skillUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete skills.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteSkillAction.fulfilled, function (state, action) { state.skill = action.payload; state.skillUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _skillSlice$actions = skillSlice.actions, setRegisterErrorMessage = _skillSlice$actions.setRegisterErrorMessage, setSkill = _skillSlice$actions.setSkill; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (skillSlice.reducer); /***/ }), /***/ "./src/services/skill/core/services.ts": /*!*********************************************!*\ !*** ./src/services/skill/core/services.ts ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createSkillService: () => (/* binding */ createSkillService), /* harmony export */ deleteSkillService: () => (/* binding */ deleteSkillService), /* harmony export */ skillDetailService: () => (/* binding */ skillDetailService), /* harmony export */ skillsService: () => (/* binding */ skillsService), /* harmony export */ updateSkillService: () => (/* binding */ updateSkillService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var skillsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SKILL, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function skillsService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var skillDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SKILL).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function skillDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createSkillService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SKILL), data)); } }, _callee3); })); return function createSkillService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateSkillService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SKILL).concat(id), data)); } }, _callee4); })); return function updateSkillService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteSkillService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SKILL).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteSkillService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/terms_condition/core/actions.ts": /*!******************************************************!*\ !*** ./src/services/terms_condition/core/actions.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createTermsConditionAction: () => (/* binding */ createTermsConditionAction), /* harmony export */ deleteTermsConditionAction: () => (/* binding */ deleteTermsConditionAction), /* harmony export */ fetchTermsConditions: () => (/* binding */ fetchTermsConditions), /* harmony export */ termsConditionDetailAction: () => (/* binding */ termsConditionDetailAction), /* harmony export */ updateTermsConditionAction: () => (/* binding */ updateTermsConditionAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/terms_condition/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/terms_condition/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var fetchTermsConditions = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TERMS_CONDITIONS, _services__WEBPACK_IMPORTED_MODULE_2__.termsConditionsService); var termsConditionDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TERMS_CONDITION, _services__WEBPACK_IMPORTED_MODULE_2__.termsConditionDetailService); var createTermsConditionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TERMS_CONDITION_CREATE, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var data, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createTermsConditionService)(data); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to create terms condition")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateTermsConditionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TERMS_CONDITION_UPDATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateTermsConditionService)(id, data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to update terms condition")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteTermsConditionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TERMS_CONDITION_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteTermsConditionService); /***/ }), /***/ "./src/services/terms_condition/core/constants.ts": /*!********************************************************!*\ !*** ./src/services/terms_condition/core/constants.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ TERMS_CONDITION: () => (/* binding */ TERMS_CONDITION), /* harmony export */ TERMS_CONDITIONS: () => (/* binding */ TERMS_CONDITIONS), /* harmony export */ TERMS_CONDITION_CREATE: () => (/* binding */ TERMS_CONDITION_CREATE), /* harmony export */ TERMS_CONDITION_DELETE: () => (/* binding */ TERMS_CONDITION_DELETE), /* harmony export */ TERMS_CONDITION_UPDATE: () => (/* binding */ TERMS_CONDITION_UPDATE) /* harmony export */ }); var TERMS_CONDITIONS = 'terms-conditions/fetchAll'; var TERMS_CONDITION = 'terms-conditions/fetchByID'; var TERMS_CONDITION_CREATE = 'terms-conditions/create'; var TERMS_CONDITION_UPDATE = 'terms-conditions/update'; var TERMS_CONDITION_DELETE = 'terms-conditions/delete'; /***/ }), /***/ "./src/services/terms_condition/core/reducer.ts": /*!******************************************************!*\ !*** ./src/services/terms_condition/core/reducer.ts ***! \******************************************************/ /***/ ((__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 */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage), /* harmony export */ setTermsCondition: () => (/* binding */ setTermsCondition), /* harmony export */ termsConditionSlice: () => (/* binding */ termsConditionSlice) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/terms_condition/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/terms_condition/core/constants.ts"); /* eslint-disable no-console */ var initialState = { termsConditions: [], termsCondition: null, termsConditionsPending: false, termsConditionDetailPending: false, termsConditionCreatePending: false, termsConditionUpdatePending: false, termsConditionDeletePending: false, registerErrorMessage: '' }; var termsConditionSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.TERMS_CONDITION, initialState: initialState, reducers: { // Sets the current termsCondition setTermsCondition: function setTermsCondition(state, action) { state.termsCondition = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle terms condition .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTermsConditions.pending, function (state) { state.termsConditionsPending = true; state.registerErrorMessage = ''; }) // Handles rejected terms conditions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTermsConditions.rejected, function (state, action) { state.termsConditionsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch terms conditions.'; }) // Handles fulfilled terms conditions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTermsConditions.fulfilled, function (state, action) { var payload = action.payload; state.termsConditions = payload; state.termsConditionsPending = false; state.registerErrorMessage = ''; }) // handle terms condition detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.termsConditionDetailAction.pending, function (state) { state.termsConditionDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected terms conditions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.termsConditionDetailAction.rejected, function (state, action) { state.termsConditionDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch terms conditions.'; }) // Handles fulfilled terms conditions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.termsConditionDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.termsCondition = payload; state.termsConditionDetailPending = false; state.registerErrorMessage = ''; }) // handle termsCondition create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createTermsConditionAction.pending, function (state) { state.termsConditionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createTermsConditionAction.rejected, function (state, action) { state.termsConditionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create terms conditions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createTermsConditionAction.fulfilled, function (state, action) { state.termsCondition = action.payload; state.termsConditionUpdatePending = false; state.registerErrorMessage = ''; }) // handle termsCondition update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateTermsConditionAction.pending, function (state) { state.termsConditionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateTermsConditionAction.rejected, function (state, action) { state.termsConditionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update terms conditions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateTermsConditionAction.fulfilled, function (state, action) { state.termsCondition = action.payload; state.termsConditionUpdatePending = false; state.registerErrorMessage = ''; }) // handle termsCondition delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteTermsConditionAction.pending, function (state) { state.termsConditionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteTermsConditionAction.rejected, function (state, action) { state.termsConditionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete terms conditions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteTermsConditionAction.fulfilled, function (state, action) { state.termsCondition = action.payload; state.termsConditionUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _termsConditionSlice$ = termsConditionSlice.actions, setRegisterErrorMessage = _termsConditionSlice$.setRegisterErrorMessage, setTermsCondition = _termsConditionSlice$.setTermsCondition; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (termsConditionSlice.reducer); /***/ }), /***/ "./src/services/terms_condition/core/services.ts": /*!*******************************************************!*\ !*** ./src/services/terms_condition/core/services.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createTermsConditionService: () => (/* binding */ createTermsConditionService), /* harmony export */ deleteTermsConditionService: () => (/* binding */ deleteTermsConditionService), /* harmony export */ termsConditionDetailService: () => (/* binding */ termsConditionDetailService), /* harmony export */ termsConditionsService: () => (/* binding */ termsConditionsService), /* harmony export */ updateTermsConditionService: () => (/* binding */ updateTermsConditionService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var termsConditionsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TERMS_CONDITION); case 1: return _context.a(2, _context.v); } }, _callee); })); return function termsConditionsService() { return _ref.apply(this, arguments); }; }(); var termsConditionDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TERMS_CONDITION).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function termsConditionDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createTermsConditionService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TERMS_CONDITION), data)); } }, _callee3); })); return function createTermsConditionService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateTermsConditionService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TERMS_CONDITION).concat(id), data)); } }, _callee4); })); return function updateTermsConditionService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteTermsConditionService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TERMS_CONDITION).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteTermsConditionService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/training_session/core/actions.ts": /*!*******************************************************!*\ !*** ./src/services/training_session/core/actions.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createTrainingSessionAction: () => (/* binding */ createTrainingSessionAction), /* harmony export */ deleteTrainingSessionAction: () => (/* binding */ deleteTrainingSessionAction), /* harmony export */ fetchTrainingSessions: () => (/* binding */ fetchTrainingSessions), /* harmony export */ trainingSessionDetailAction: () => (/* binding */ trainingSessionDetailAction), /* harmony export */ updateTrainingSessionAction: () => (/* binding */ updateTrainingSessionAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/training_session/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/training_session/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var fetchTrainingSessions = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAINING_SESSIONS, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.trainingSessionsService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch training sessions")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var trainingSessionDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAINING_SESSION, _services__WEBPACK_IMPORTED_MODULE_2__.trainingSessionDetailService); var createTrainingSessionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAINING_SESSION_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createTrainingSessionService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create training session")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateTrainingSessionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAINING_SESSION_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateTrainingSessionService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update training session")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteTrainingSessionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAINING_SESSION_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteTrainingSessionService); /***/ }), /***/ "./src/services/training_session/core/constants.ts": /*!*********************************************************!*\ !*** ./src/services/training_session/core/constants.ts ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ TRAINING_SESSION: () => (/* binding */ TRAINING_SESSION), /* harmony export */ TRAINING_SESSIONS: () => (/* binding */ TRAINING_SESSIONS), /* harmony export */ TRAINING_SESSION_CREATE: () => (/* binding */ TRAINING_SESSION_CREATE), /* harmony export */ TRAINING_SESSION_DELETE: () => (/* binding */ TRAINING_SESSION_DELETE), /* harmony export */ TRAINING_SESSION_UPDATE: () => (/* binding */ TRAINING_SESSION_UPDATE) /* harmony export */ }); var TRAINING_SESSIONS = 'training-sessions/fetchAll'; var TRAINING_SESSION = 'training-sessions/fetchByID'; var TRAINING_SESSION_CREATE = 'training-sessions/create'; var TRAINING_SESSION_UPDATE = 'training-sessions/update'; var TRAINING_SESSION_DELETE = 'training-sessions/delete'; /***/ }), /***/ "./src/services/training_session/core/reducer.ts": /*!*******************************************************!*\ !*** ./src/services/training_session/core/reducer.ts ***! \*******************************************************/ /***/ ((__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 */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage), /* harmony export */ setTrainingSession: () => (/* binding */ setTrainingSession), /* harmony export */ trainingSessionSlice: () => (/* binding */ trainingSessionSlice) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/training_session/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/training_session/core/constants.ts"); /* eslint-disable no-console */ var initialState = { trainingSessions: [], trainingSession: null, trainingSessionsPending: false, trainingSessionDetailPending: false, trainingSessionCreatePending: false, trainingSessionUpdatePending: false, trainingSessionDeletePending: false, registerErrorMessage: '' }; var trainingSessionSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.TRAINING_SESSION, initialState: initialState, reducers: { // Sets the current trainingSession setTrainingSession: function setTrainingSession(state, action) { state.trainingSession = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle training session .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTrainingSessions.pending, function (state) { state.trainingSessionsPending = true; state.registerErrorMessage = ''; }) // Handles rejected training sessions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTrainingSessions.rejected, function (state, action) { state.trainingSessionsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch training sessions.'; }) // Handles fulfilled training sessions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTrainingSessions.fulfilled, function (state, action) { var payload = action.payload; state.trainingSessions = payload; state.trainingSessionsPending = false; state.registerErrorMessage = ''; }) // handle training session detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.trainingSessionDetailAction.pending, function (state) { state.trainingSessionDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected training sessions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.trainingSessionDetailAction.rejected, function (state, action) { state.trainingSessionDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch training sessions.'; }) // Handles fulfilled training sessions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.trainingSessionDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.trainingSession = payload; state.trainingSessionDetailPending = false; state.registerErrorMessage = ''; }) // handle trainingSession create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createTrainingSessionAction.pending, function (state) { state.trainingSessionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createTrainingSessionAction.rejected, function (state, action) { state.trainingSessionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create training sessions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createTrainingSessionAction.fulfilled, function (state, action) { state.trainingSession = action.payload; state.trainingSessionUpdatePending = false; state.registerErrorMessage = ''; }) // handle trainingSession update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateTrainingSessionAction.pending, function (state) { state.trainingSessionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateTrainingSessionAction.rejected, function (state, action) { state.trainingSessionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update training sessions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateTrainingSessionAction.fulfilled, function (state, action) { state.trainingSession = action.payload; state.trainingSessionUpdatePending = false; state.registerErrorMessage = ''; }) // handle trainingSession delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteTrainingSessionAction.pending, function (state) { state.trainingSessionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteTrainingSessionAction.rejected, function (state, action) { state.trainingSessionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete training sessions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteTrainingSessionAction.fulfilled, function (state, action) { state.trainingSession = action.payload; state.trainingSessionUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _trainingSessionSlice = trainingSessionSlice.actions, setRegisterErrorMessage = _trainingSessionSlice.setRegisterErrorMessage, setTrainingSession = _trainingSessionSlice.setTrainingSession; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (trainingSessionSlice.reducer); /***/ }), /***/ "./src/services/training_session/core/services.ts": /*!********************************************************!*\ !*** ./src/services/training_session/core/services.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createTrainingSessionService: () => (/* binding */ createTrainingSessionService), /* harmony export */ deleteTrainingSessionService: () => (/* binding */ deleteTrainingSessionService), /* harmony export */ trainingSessionDetailService: () => (/* binding */ trainingSessionDetailService), /* harmony export */ trainingSessionsService: () => (/* binding */ trainingSessionsService), /* harmony export */ updateTrainingSessionService: () => (/* binding */ updateTrainingSessionService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var trainingSessionsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAINING_SESSION, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function trainingSessionsService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var trainingSessionDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAINING_SESSION).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function trainingSessionDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createTrainingSessionService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAINING_SESSION), data)); } }, _callee3); })); return function createTrainingSessionService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateTrainingSessionService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAINING_SESSION).concat(id), data)); } }, _callee4); })); return function updateTrainingSessionService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteTrainingSessionService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAINING_SESSION).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteTrainingSessionService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/travel_day/core/actions.ts": /*!*************************************************!*\ !*** ./src/services/travel_day/core/actions.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createTravelDayAction: () => (/* binding */ createTravelDayAction), /* harmony export */ deleteTravelDayAction: () => (/* binding */ deleteTravelDayAction), /* harmony export */ fetchTravelDays: () => (/* binding */ fetchTravelDays), /* harmony export */ travelDayDetailAction: () => (/* binding */ travelDayDetailAction), /* harmony export */ updateTravelDayAction: () => (/* binding */ updateTravelDayAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/travel_day/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/travel_day/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var fetchTravelDays = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAVEL_DAYS, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.travelDaysService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch travel days")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var travelDayDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAVEL_DAY, _services__WEBPACK_IMPORTED_MODULE_2__.travelDayDetailService); var createTravelDayAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAVEL_DAY_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createTravelDayService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create travel day")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateTravelDayAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAVEL_DAY_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateTravelDayService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update travel day")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteTravelDayAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRAVEL_DAY_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteTravelDayService); /***/ }), /***/ "./src/services/travel_day/core/constants.ts": /*!***************************************************!*\ !*** ./src/services/travel_day/core/constants.ts ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ TRAVEL_DAY: () => (/* binding */ TRAVEL_DAY), /* harmony export */ TRAVEL_DAYS: () => (/* binding */ TRAVEL_DAYS), /* harmony export */ TRAVEL_DAY_CREATE: () => (/* binding */ TRAVEL_DAY_CREATE), /* harmony export */ TRAVEL_DAY_DELETE: () => (/* binding */ TRAVEL_DAY_DELETE), /* harmony export */ TRAVEL_DAY_UPDATE: () => (/* binding */ TRAVEL_DAY_UPDATE) /* harmony export */ }); var TRAVEL_DAYS = 'travel-days/fetchAll'; var TRAVEL_DAY = 'travel-days/fetchByID'; var TRAVEL_DAY_CREATE = 'travel-days/create'; var TRAVEL_DAY_UPDATE = 'travel-days/update'; var TRAVEL_DAY_DELETE = 'travel-days/delete'; /***/ }), /***/ "./src/services/travel_day/core/reducer.ts": /*!*************************************************!*\ !*** ./src/services/travel_day/core/reducer.ts ***! \*************************************************/ /***/ ((__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 */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage), /* harmony export */ setTravelDay: () => (/* binding */ setTravelDay), /* harmony export */ travelDaySlice: () => (/* binding */ travelDaySlice) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/travel_day/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/travel_day/core/constants.ts"); /* eslint-disable no-console */ var initialState = { travelDays: [], travelDay: null, travelDaysPending: false, travelDayDetailPending: false, travelDayCreatePending: false, travelDayUpdatePending: false, travelDayDeletePending: false, registerErrorMessage: '' }; var travelDaySlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.TRAVEL_DAY, initialState: initialState, reducers: { // Sets the current travelDay setTravelDay: function setTravelDay(state, action) { state.travelDay = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle travel day .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTravelDays.pending, function (state) { state.travelDaysPending = true; state.registerErrorMessage = ''; }) // Handles rejected travel days fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTravelDays.rejected, function (state, action) { state.travelDaysPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch travel days.'; }) // Handles fulfilled travel days fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTravelDays.fulfilled, function (state, action) { var payload = action.payload; state.travelDays = payload; state.travelDaysPending = false; state.registerErrorMessage = ''; }) // handle travel day detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.travelDayDetailAction.pending, function (state) { state.travelDayDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected travel days fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.travelDayDetailAction.rejected, function (state, action) { state.travelDayDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch travel days.'; }) // Handles fulfilled travel days fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.travelDayDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.travelDay = payload; state.travelDayDetailPending = false; state.registerErrorMessage = ''; }) // handle travelDay create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createTravelDayAction.pending, function (state) { state.travelDayUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createTravelDayAction.rejected, function (state, action) { state.travelDayUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create travel days.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createTravelDayAction.fulfilled, function (state, action) { state.travelDay = action.payload; state.travelDayUpdatePending = false; state.registerErrorMessage = ''; }) // handle travelDay update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateTravelDayAction.pending, function (state) { state.travelDayUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateTravelDayAction.rejected, function (state, action) { state.travelDayUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update travel days.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateTravelDayAction.fulfilled, function (state, action) { state.travelDay = action.payload; state.travelDayUpdatePending = false; state.registerErrorMessage = ''; }) // handle travelDay delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteTravelDayAction.pending, function (state) { state.travelDayUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteTravelDayAction.rejected, function (state, action) { state.travelDayUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete travel days.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteTravelDayAction.fulfilled, function (state, action) { state.travelDay = action.payload; state.travelDayUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _travelDaySlice$actio = travelDaySlice.actions, setRegisterErrorMessage = _travelDaySlice$actio.setRegisterErrorMessage, setTravelDay = _travelDaySlice$actio.setTravelDay; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (travelDaySlice.reducer); /***/ }), /***/ "./src/services/travel_day/core/services.ts": /*!**************************************************!*\ !*** ./src/services/travel_day/core/services.ts ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createTravelDayService: () => (/* binding */ createTravelDayService), /* harmony export */ deleteTravelDayService: () => (/* binding */ deleteTravelDayService), /* harmony export */ travelDayDetailService: () => (/* binding */ travelDayDetailService), /* harmony export */ travelDaysService: () => (/* binding */ travelDaysService), /* harmony export */ updateTravelDayService: () => (/* binding */ updateTravelDayService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var travelDaysService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAVEL_DAY, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function travelDaysService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var travelDayDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAVEL_DAY).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function travelDayDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createTravelDayService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAVEL_DAY), data)); } }, _callee3); })); return function createTravelDayService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateTravelDayService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAVEL_DAY).concat(id), data)); } }, _callee4); })); return function updateTravelDayService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteTravelDayService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRAVEL_DAY).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteTravelDayService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/user/core/actions.ts": /*!*******************************************!*\ !*** ./src/services/user/core/actions.ts ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createUserAction: () => (/* binding */ createUserAction), /* harmony export */ deleteUserAction: () => (/* binding */ deleteUserAction), /* harmony export */ fetchUsers: () => (/* binding */ fetchUsers), /* harmony export */ updateUserAction: () => (/* binding */ updateUserAction), /* harmony export */ userDetailAction: () => (/* binding */ userDetailAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/user/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/user/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var fetchUsers = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USERS, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.usersService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch users")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var userDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER, _services__WEBPACK_IMPORTED_MODULE_2__.userDetailService); var createUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createUserService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create user")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateUserService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update user")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteUserService); /***/ }), /***/ "./src/services/user/core/constants.ts": /*!*********************************************!*\ !*** ./src/services/user/core/constants.ts ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ USER: () => (/* binding */ USER), /* harmony export */ USERS: () => (/* binding */ USERS), /* harmony export */ USER_CREATE: () => (/* binding */ USER_CREATE), /* harmony export */ USER_DELETE: () => (/* binding */ USER_DELETE), /* harmony export */ USER_UPDATE: () => (/* binding */ USER_UPDATE) /* harmony export */ }); var USERS = 'users/fetchAll'; var USER = 'users/fetchByID'; var USER_CREATE = 'users/create'; var USER_UPDATE = 'users/update'; var USER_DELETE = 'users/delete'; /***/ }), /***/ "./src/services/user/core/reducer.ts": /*!*******************************************!*\ !*** ./src/services/user/core/reducer.ts ***! \*******************************************/ /***/ ((__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 */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage), /* harmony export */ setUser: () => (/* binding */ setUser), /* harmony export */ userSlice: () => (/* binding */ userSlice) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/user/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/user/core/constants.ts"); /* eslint-disable no-console */ var initialState = { users: [], user: null, usersPending: false, userDetailPending: false, userCreatePending: false, userUpdatePending: false, userDeletePending: false, registerErrorMessage: '' }; var userSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.USER, initialState: initialState, reducers: { // Sets the current user setUser: function setUser(state, action) { state.user = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle user .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchUsers.pending, function (state) { state.usersPending = true; state.registerErrorMessage = ''; }) // Handles rejected users fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchUsers.rejected, function (state, action) { state.usersPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch users.'; }) // Handles fulfilled users fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchUsers.fulfilled, function (state, action) { var payload = action.payload; state.users = payload; state.usersPending = false; state.registerErrorMessage = ''; }) // handle user detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.userDetailAction.pending, function (state) { state.userDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected users fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.userDetailAction.rejected, function (state, action) { state.userDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch users.'; }) // Handles fulfilled users fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.userDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.user = payload; state.userDetailPending = false; state.registerErrorMessage = ''; }) // handle user create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createUserAction.pending, function (state) { state.userUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createUserAction.rejected, function (state, action) { state.userUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create users.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createUserAction.fulfilled, function (state, action) { state.user = action.payload; state.userUpdatePending = false; state.registerErrorMessage = ''; }) // handle user update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateUserAction.pending, function (state) { state.userUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateUserAction.rejected, function (state, action) { state.userUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update users.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateUserAction.fulfilled, function (state, action) { state.user = action.payload; state.userUpdatePending = false; state.registerErrorMessage = ''; }) // handle user delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteUserAction.pending, function (state) { state.userUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteUserAction.rejected, function (state, action) { state.userUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete users.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteUserAction.fulfilled, function (state, action) { state.user = action.payload; state.userUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _userSlice$actions = userSlice.actions, setRegisterErrorMessage = _userSlice$actions.setRegisterErrorMessage, setUser = _userSlice$actions.setUser; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (userSlice.reducer); /***/ }), /***/ "./src/services/user/core/services.ts": /*!********************************************!*\ !*** ./src/services/user/core/services.ts ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createUserService: () => (/* binding */ createUserService), /* harmony export */ deleteUserService: () => (/* binding */ deleteUserService), /* harmony export */ updateUserService: () => (/* binding */ updateUserService), /* harmony export */ userDetailService: () => (/* binding */ userDetailService), /* harmony export */ userTelegramService: () => (/* binding */ userTelegramService), /* harmony export */ usersService: () => (/* binding */ usersService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var usersService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function usersService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var userDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function userDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createUserService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER), data)); } }, _callee3); })); return function createUserService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateUserService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER).concat(id), data)); } }, _callee4); })); return function updateUserService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteUserService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteUserService(_x8) { return _ref5.apply(this, arguments); }; }(); var userTelegramService = /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(id) { return _regenerator().w(function (_context6) { while (1) switch (_context6.n) { case 0: _context6.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.PUBLIC, "telegram/").concat(id)); case 1: return _context6.a(2, _context6.v); } }, _callee6); })); return function userTelegramService(_x9) { return _ref6.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/user_attendance/core/actions.ts": /*!******************************************************!*\ !*** ./src/services/user_attendance/core/actions.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createUserAttendanceAction: () => (/* binding */ createUserAttendanceAction), /* harmony export */ deleteUserAttendanceAction: () => (/* binding */ deleteUserAttendanceAction), /* harmony export */ fetchUserAttendances: () => (/* binding */ fetchUserAttendances), /* harmony export */ updateUserAttendanceAction: () => (/* binding */ updateUserAttendanceAction), /* harmony export */ userAttendanceDetailAction: () => (/* binding */ userAttendanceDetailAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/user_attendance/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/user_attendance/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var fetchUserAttendances = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_ATTENDANCES, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.userAttendancesService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch user attendance")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var userAttendanceDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_ATTENDANCE, _services__WEBPACK_IMPORTED_MODULE_2__.userAttendanceDetailService); var createUserAttendanceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_ATTENDANCE_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createUserAttendanceService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create user attendance")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateUserAttendanceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_ATTENDANCE_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateUserAttendanceService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update user attendance")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteUserAttendanceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_ATTENDANCE_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteUserAttendanceService); /***/ }), /***/ "./src/services/user_attendance/core/constants.ts": /*!********************************************************!*\ !*** ./src/services/user_attendance/core/constants.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ USER_ATTENDANCE: () => (/* binding */ USER_ATTENDANCE), /* harmony export */ USER_ATTENDANCES: () => (/* binding */ USER_ATTENDANCES), /* harmony export */ USER_ATTENDANCE_CREATE: () => (/* binding */ USER_ATTENDANCE_CREATE), /* harmony export */ USER_ATTENDANCE_DELETE: () => (/* binding */ USER_ATTENDANCE_DELETE), /* harmony export */ USER_ATTENDANCE_UPDATE: () => (/* binding */ USER_ATTENDANCE_UPDATE) /* harmony export */ }); var USER_ATTENDANCES = 'user-attendances/fetchAll'; var USER_ATTENDANCE = 'user-attendances/fetchByID'; var USER_ATTENDANCE_CREATE = 'user-attendances/create'; var USER_ATTENDANCE_UPDATE = 'user-attendances/update'; var USER_ATTENDANCE_DELETE = 'user-attendances/delete'; /***/ }), /***/ "./src/services/user_attendance/core/reducer.ts": /*!******************************************************!*\ !*** ./src/services/user_attendance/core/reducer.ts ***! \******************************************************/ /***/ ((__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 */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage), /* harmony export */ setUserAttendance: () => (/* binding */ setUserAttendance), /* harmony export */ userAttendanceSlice: () => (/* binding */ userAttendanceSlice) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/user_attendance/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/user_attendance/core/constants.ts"); /* eslint-disable no-console */ var initialState = { userAttendances: [], userAttendance: null, userAttendancesPending: false, userAttendanceDetailPending: false, userAttendanceCreatePending: false, userAttendanceUpdatePending: false, userAttendanceDeletePending: false, registerErrorMessage: '' }; var userAttendanceSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.USER_ATTENDANCE, initialState: initialState, reducers: { // Sets the current userAttendance setUserAttendance: function setUserAttendance(state, action) { state.userAttendance = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle user attendance .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchUserAttendances.pending, function (state) { state.userAttendancesPending = true; state.registerErrorMessage = ''; }) // Handles rejected user attendances fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchUserAttendances.rejected, function (state, action) { state.userAttendancesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch user attendances.'; }) // Handles fulfilled user attendances fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchUserAttendances.fulfilled, function (state, action) { var payload = action.payload; state.userAttendances = payload; state.userAttendancesPending = false; state.registerErrorMessage = ''; }) // handle user attendance detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.userAttendanceDetailAction.pending, function (state) { state.userAttendanceDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected user attendances fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.userAttendanceDetailAction.rejected, function (state, action) { state.userAttendanceDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch user attendances.'; }) // Handles fulfilled user attendances fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.userAttendanceDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.userAttendance = payload; state.userAttendanceDetailPending = false; state.registerErrorMessage = ''; }) // handle userAttendance create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createUserAttendanceAction.pending, function (state) { state.userAttendanceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createUserAttendanceAction.rejected, function (state, action) { state.userAttendanceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create user attendances.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createUserAttendanceAction.fulfilled, function (state, action) { state.userAttendance = action.payload; state.userAttendanceUpdatePending = false; state.registerErrorMessage = ''; }) // handle userAttendance update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateUserAttendanceAction.pending, function (state) { state.userAttendanceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateUserAttendanceAction.rejected, function (state, action) { state.userAttendanceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update user attendances.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateUserAttendanceAction.fulfilled, function (state, action) { state.userAttendance = action.payload; state.userAttendanceUpdatePending = false; state.registerErrorMessage = ''; }) // handle userAttendance delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteUserAttendanceAction.pending, function (state) { state.userAttendanceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteUserAttendanceAction.rejected, function (state, action) { state.userAttendanceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete user attendances.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteUserAttendanceAction.fulfilled, function (state, action) { state.userAttendance = action.payload; state.userAttendanceUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _userAttendanceSlice$ = userAttendanceSlice.actions, setRegisterErrorMessage = _userAttendanceSlice$.setRegisterErrorMessage, setUserAttendance = _userAttendanceSlice$.setUserAttendance; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (userAttendanceSlice.reducer); /***/ }), /***/ "./src/services/user_attendance/core/services.ts": /*!*******************************************************!*\ !*** ./src/services/user_attendance/core/services.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createUserAttendanceService: () => (/* binding */ createUserAttendanceService), /* harmony export */ deleteUserAttendanceService: () => (/* binding */ deleteUserAttendanceService), /* harmony export */ updateUserAttendanceService: () => (/* binding */ updateUserAttendanceService), /* harmony export */ userAttendanceDetailService: () => (/* binding */ userAttendanceDetailService), /* harmony export */ userAttendancesService: () => (/* binding */ userAttendancesService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, 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); }); }; } var userAttendancesService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER_ATTENDANCE, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function userAttendancesService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var userAttendanceDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER_ATTENDANCE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function userAttendanceDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createUserAttendanceService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER_ATTENDANCE), data)); } }, _callee3); })); return function createUserAttendanceService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateUserAttendanceService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER_ATTENDANCE).concat(id), data)); } }, _callee4); })); return function updateUserAttendanceService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteUserAttendanceService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER_ATTENDANCE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteUserAttendanceService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }) }]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2VydmljZXNfcC52b2x1bnRlZXJhcGkuNWUzZmRiMTQyNjdkMTI3Njg5Y2IuYnVuZGxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUNBLHVLQUFBQSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssV0FBQSw4QkFBQUMsRUFBQU4sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBTSxTQUFBLFlBQUFDLFNBQUEsR0FBQVAsQ0FBQSxHQUFBTyxTQUFBLEVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsQ0FBQUMsU0FBQSxVQUFBSyxtQkFBQSxDQUFBSCxDQUFBLHVCQUFBVixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBRSxDQUFBLEVBQUFDLENBQUEsRUFBQUcsQ0FBQSxFQUFBSSxDQUFBLE1BQUFDLENBQUEsR0FBQVgsQ0FBQSxRQUFBWSxDQUFBLE9BQUFDLENBQUEsS0FBQUYsQ0FBQSxLQUFBYixDQUFBLEtBQUFnQixDQUFBLEVBQUFwQixDQUFBLEVBQUFxQixDQUFBLEVBQUFDLENBQUEsRUFBQU4sQ0FBQSxFQUFBTSxDQUFBLENBQUFDLElBQUEsQ0FBQXZCLENBQUEsTUFBQXNCLENBQUEsV0FBQUEsRUFBQXJCLENBQUEsRUFBQUMsQ0FBQSxXQUFBTSxDQUFBLEdBQUFQLENBQUEsRUFBQVEsQ0FBQSxNQUFBRyxDQUFBLEdBQUFaLENBQUEsRUFBQW1CLENBQUEsQ0FBQWYsQ0FBQSxHQUFBRixDQUFBLEVBQUFtQixDQUFBLGdCQUFBQyxFQUFBcEIsQ0FBQSxFQUFBRSxDQUFBLFNBQUFLLENBQUEsR0FBQVAsQ0FBQSxFQUFBVSxDQUFBLEdB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RW9ILHlFQUFhLElBQUFFLE1BQUEsQ0FBSUwsMERBQUcsQ0FBQytJLGVBQWUsRUFBQTFJLE1BQUEsQ0FBR3hDLEVBQUUsR0FBSVosSUFBSSxDQUFDO01BQUE7SUFBQSxHQUFBcUQsUUFBQTtFQUFBLENBQzFEO0VBQUEsZ0JBRllnSiwyQkFBMkJBLENBQUFwTCxHQUFBLEVBQUFzQyxHQUFBO0lBQUEsT0FBQXpELEtBQUEsQ0FBQWxDLEtBQUEsT0FBQUQsU0FBQTtFQUFBO0FBQUEsR0FFdkM7QUFFTSxJQUFNMk8sMkJBQTJCO0VBQUEsSUFBQXZNLEtBQUEsR0FBQXJDLGlCQUFBLGNBQUFiLFlBQUEsR0FBQUUsQ0FBQSxDQUFHLFNBQUF5RyxTQUFNNUMsRUFBVTtJQUFBLE9BQUEvRCxZQUFBLEdBQUFDLENBQUEsV0FBQTJHLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBNUksQ0FBQTtRQUFBO1VBQUE0SSxTQUFBLENBQUE1SSxDQUFBO1VBQUEsT0FDNUNzSSw0RUFBZ0IsSUFBQUMsTUFBQSxDQUFJTCwwREFBRyxDQUFDK0ksZUFBZSxFQUFBMUksTUFBQSxDQUFHeEMsRUFBRSxDQUFFLENBQUM7UUFBQTtVQUFBLE9BQUE2QyxTQUFBLENBQUEzSCxDQUFBLElBQUEySCxTQUFBLENBQUE1SCxDQUFBO01BQUE7SUFBQSxHQUFBMkgsUUFBQTtFQUFBLENBQzdEO0VBQUEsZ0JBRlk4SSwyQkFBMkJBLENBQUE1SSxHQUFBO0lBQUEsT0FBQTNELEtBQUEsQ0FBQW5DLEtBQUEsT0FBQUQsU0FBQTtFQUFBO0FBQUEsR0FFdkMsQyIsInNvdXJjZXMiOlsid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvcHJvdmluY2UvY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvcHJvdmluY2UvY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9wcm92aW5jZS9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9wcm92aW5jZS9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvc2tpbGwvY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvc2tpbGwvY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9za2lsbC9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9za2lsbC9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvdGVybXNfY29uZGl0aW9uL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL3Rlcm1zX2NvbmRpdGlvbi9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL3Rlcm1zX2NvbmRpdGlvbi9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy90ZXJtc19jb25kaXRpb24vY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL3RyYWluaW5nX3Nlc3Npb24vY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvdHJhaW5pbmdfc2Vzc2lvbi9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL3RyYWluaW5nX3Nlc3Npb24vY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvdHJhaW5pbmdfc2Vzc2lvbi9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvdHJhdmVsX2RheS9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy90cmF2ZWxfZGF5L2NvcmUvY29uc3RhbnRzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvdHJhdmVsX2RheS9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy90cmF2ZWxfZGF5L2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy91c2VyL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL3VzZXIvY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy91c2VyL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL3VzZXIvY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL3VzZXJfYXR0ZW5kYW5jZS9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy91c2VyX2F0dGVuZGFuY2UvY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy91c2VyX2F0dGVuZGFuY2UvY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvdXNlcl9hdHRlbmRhbmNlL2NvcmUvc2VydmljZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQXN5bmNUaHVuayB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgUFJPVklOQ0VTLCBQUk9WSU5DRSwgUFJPVklOQ0VfREVMRVRFLCBQUk9WSU5DRV9DUkVBVEUsIFBST1ZJTkNFX1VQREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHByb3ZpbmNlc1NlcnZpY2UsIHByb3ZpbmNlRGV0YWlsU2VydmljZSwgY3JlYXRlUHJvdmluY2VTZXJ2aWNlLCB1cGRhdGVQcm92aW5jZVNlcnZpY2UsIGRlbGV0ZVByb3ZpbmNlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgUHJvdmluY2UgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFByb3ZpbmNlUGFnaW5hdGlvbiwgUHJvdmluY2VQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbmRleCc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaFByb3ZpbmNlcyA9IGNyZWF0ZUFzeW5jVGh1bms8UHJvdmluY2VQYWdpbmF0aW9uLCBQcm92aW5jZVBhcmFtcz4oXG4gIFBST1ZJTkNFUyxcbiAgYXN5bmMgKHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZX0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwcm92aW5jZXNTZXJ2aWNlKHNlYXJjaCwgcGFnZSwgcGFnZVNpemUpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRldGFpbCB8fCBcIkZhaWxlZCB0byBmZXRjaCBwcm92aW5jZXNcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgcHJvdmluY2VEZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIFBST1ZJTkNFLFxuICBwcm92aW5jZURldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVByb3ZpbmNlQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxQcm92aW5jZSwgeyBkYXRhOiBQcm92aW5jZSB9PihcbiAgUFJPVklOQ0VfQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZVByb3ZpbmNlU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBwcm92aW5jZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVQcm92aW5jZUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8UHJvdmluY2UsIHsgaWQ6IG51bWJlcjsgZGF0YTogUHJvdmluY2UgfT4oXG4gIFBST1ZJTkNFX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlUHJvdmluY2VTZXJ2aWNlKGlkLCBkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIHVwZGF0ZSBwcm92aW5jZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVQcm92aW5jZUFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgUFJPVklOQ0VfREVMRVRFLFxuICBkZWxldGVQcm92aW5jZVNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBQUk9WSU5DRVMgPSAncHJvdmluY2VzL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBQUk9WSU5DRSA9ICdwcm92aW5jZXMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBQUk9WSU5DRV9DUkVBVEUgPSAncHJvdmluY2VzL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgUFJPVklOQ0VfVVBEQVRFID0gJ3Byb3ZpbmNlcy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IFBST1ZJTkNFX0RFTEVURSA9ICdwcm92aW5jZXMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IFByb3ZpbmNlLCBQcm92aW5jZVN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmZXRjaFByb3ZpbmNlcywgdXBkYXRlUHJvdmluY2VBY3Rpb24sIHByb3ZpbmNlRGV0YWlsQWN0aW9uLCBjcmVhdGVQcm92aW5jZUFjdGlvbiwgZGVsZXRlUHJvdmluY2VBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgUFJPVklOQ0UgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogUHJvdmluY2VTdGF0ZSA9IHtcbiAgcHJvdmluY2VzOiBbXSxcbiAgcHJvdmluY2U6IG51bGwsXG4gIHByb3ZpbmNlc1BlbmRpbmc6IGZhbHNlLFxuICBwcm92aW5jZURldGFpbFBlbmRpbmc6IGZhbHNlLFxuICBwcm92aW5jZUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBwcm92aW5jZVVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBwcm92aW5jZURlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgcHJvdmluY2VTbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogUFJPVklOQ0UsXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IHByb3ZpbmNlXG4gICAgc2V0UHJvdmluY2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPFByb3ZpbmNlPikgPT4ge1xuICAgICAgc3RhdGUucHJvdmluY2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgcHJvdmluY2VcbiAgICAgIC5hZGRDYXNlKGZldGNoUHJvdmluY2VzLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5wcm92aW5jZXNQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIHByb3ZpbmNlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hQcm92aW5jZXMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnByb3ZpbmNlc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIHByb3ZpbmNlcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIHByb3ZpbmNlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hQcm92aW5jZXMuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUucHJvdmluY2VzID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUucHJvdmluY2VzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHByb3ZpbmNlIGRldGFpbFxuICAgICAgLmFkZENhc2UocHJvdmluY2VEZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnByb3ZpbmNlRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBwcm92aW5jZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKHByb3ZpbmNlRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5wcm92aW5jZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIHByb3ZpbmNlcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIHByb3ZpbmNlcyBmZXRjaFxuICAgICAgLmFkZENhc2UocHJvdmluY2VEZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUucHJvdmluY2UgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5wcm92aW5jZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBwcm92aW5jZSBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZVByb3ZpbmNlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5wcm92aW5jZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZVByb3ZpbmNlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5wcm92aW5jZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBwcm92aW5jZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVQcm92aW5jZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnByb3ZpbmNlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnByb3ZpbmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHByb3ZpbmNlIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlUHJvdmluY2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnByb3ZpbmNlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlUHJvdmluY2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnByb3ZpbmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIHByb3ZpbmNlcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZVByb3ZpbmNlQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucHJvdmluY2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUucHJvdmluY2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgcHJvdmluY2UgZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVQcm92aW5jZUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucHJvdmluY2VVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVQcm92aW5jZUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucHJvdmluY2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBkZWxldGUgcHJvdmluY2VzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlUHJvdmluY2VBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5wcm92aW5jZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5wcm92aW5jZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldFByb3ZpbmNlIH0gPSBwcm92aW5jZVNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IHByb3ZpbmNlU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IFByb3ZpbmNlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IHByb3ZpbmNlc1NlcnZpY2UgPSBhc3luYyhzZWFyY2g6IHN0cmluZywgcGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKFVSTC5QUk9WSU5DRSwgeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplIH0pXG59XG5cbmV4cG9ydCBjb25zdCBwcm92aW5jZURldGFpbFNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKGAke1VSTC5QUk9WSU5DRX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQcm92aW5jZVNlcnZpY2UgPSBhc3luYyAoZGF0YTogUHJvdmluY2UpOiBQcm9taXNlPFByb3ZpbmNlPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuUFJPVklOQ0V9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlUHJvdmluY2VTZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IFByb3ZpbmNlKTogUHJvbWlzZTxQcm92aW5jZT4gPT4ge1xuICByZXR1cm4gcHV0V2l0aENvbmZpZyhgJHtVUkwuUFJPVklOQ0V9JHtpZH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVQcm92aW5jZVNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PntcbiAgcmV0dXJuIGF3YWl0IHJlbW92ZVdpdGhDb25maWcoYCR7VVJMLlBST1ZJTkNFfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IFNLSUxMUywgU0tJTEwsIFNLSUxMX0RFTEVURSwgU0tJTExfQ1JFQVRFLCBTS0lMTF9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBza2lsbHNTZXJ2aWNlLCBza2lsbERldGFpbFNlcnZpY2UsIGNyZWF0ZVNraWxsU2VydmljZSwgdXBkYXRlU2tpbGxTZXJ2aWNlLCBkZWxldGVTa2lsbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IFNraWxsIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTa2lsbFBhZ2luYXRpb24sIFNraWxsUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hTa2lsbHMgPSBjcmVhdGVBc3luY1RodW5rPFNraWxsUGFnaW5hdGlvbiwgU2tpbGxQYXJhbXM+KFxuICBTS0lMTFMsXG4gIGFzeW5jICh7IHNlYXJjaCwgcGFnZSwgcGFnZVNpemV9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc2tpbGxzU2VydmljZShzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplKTtcbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kZXRhaWwgfHwgXCJGYWlsZWQgdG8gZmV0Y2ggc2tpbGxzXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHNraWxsRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBTS0lMTCxcbiAgc2tpbGxEZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTa2lsbEFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8U2tpbGwsIHsgZGF0YTogU2tpbGwgfT4oXG4gIFNLSUxMX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVTa2lsbFNlcnZpY2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byBjcmVhdGUgc2tpbGxcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlU2tpbGxBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPFNraWxsLCB7IGlkOiBudW1iZXI7IGRhdGE6IFNraWxsIH0+KFxuICBTS0lMTF9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZVNraWxsU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgc2tpbGxcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlU2tpbGxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIFNLSUxMX0RFTEVURSxcbiAgZGVsZXRlU2tpbGxTZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgU0tJTExTID0gJ3NraWxscy9mZXRjaEFsbCc7XG5leHBvcnQgY29uc3QgU0tJTEwgPSAnc2tpbGxzL2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgU0tJTExfQ1JFQVRFID0gJ3NraWxscy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IFNLSUxMX1VQREFURSA9ICdza2lsbHMvdXBkYXRlJztcbmV4cG9ydCBjb25zdCBTS0lMTF9ERUxFVEUgPSAnc2tpbGxzL2RlbGV0ZSc7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBTa2lsbCwgU2tpbGxTdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hTa2lsbHMsIHVwZGF0ZVNraWxsQWN0aW9uLCBza2lsbERldGFpbEFjdGlvbiwgY3JlYXRlU2tpbGxBY3Rpb24sIGRlbGV0ZVNraWxsQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IFNLSUxMIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IFNraWxsU3RhdGUgPSB7XG4gIHNraWxsczogW10sXG4gIHNraWxsOiBudWxsLFxuICBza2lsbHNQZW5kaW5nOiBmYWxzZSxcbiAgc2tpbGxEZXRhaWxQZW5kaW5nOiBmYWxzZSxcbiAgc2tpbGxDcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgc2tpbGxVcGRhdGVQZW5kaW5nOiBmYWxzZSxcbiAgc2tpbGxEZWxldGVQZW5kaW5nOiBmYWxzZSxcbiAgcmVnaXN0ZXJFcnJvck1lc3NhZ2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IHNraWxsU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IFNLSUxMLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBza2lsbFxuICAgIHNldFNraWxsOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxTa2lsbD4pID0+IHtcbiAgICAgIHN0YXRlLnNraWxsID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIHNraWxsXG4gICAgICAuYWRkQ2FzZShmZXRjaFNraWxscy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuc2tpbGxzUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBza2lsbHMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoU2tpbGxzLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5za2lsbHNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBza2lsbHMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBza2lsbHMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoU2tpbGxzLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLnNraWxscyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnNraWxsc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBza2lsbCBkZXRhaWxcbiAgICAgIC5hZGRDYXNlKHNraWxsRGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5za2lsbERldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgc2tpbGxzIGZldGNoXG4gICAgICAuYWRkQ2FzZShza2lsbERldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuc2tpbGxEZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBza2lsbHMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBza2lsbHMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKHNraWxsRGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLnNraWxsID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUuc2tpbGxEZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgc2tpbGwgY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVTa2lsbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuc2tpbGxVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVTa2lsbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuc2tpbGxVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgc2tpbGxzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlU2tpbGxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5za2lsbCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5za2lsbFVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBza2lsbCB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZVNraWxsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5za2lsbFVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZVNraWxsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5za2lsbFVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBza2lsbHMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVTa2lsbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnNraWxsID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnNraWxsVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHNraWxsIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlU2tpbGxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnNraWxsVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlU2tpbGxBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnNraWxsVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIHNraWxscy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZVNraWxsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuc2tpbGwgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuc2tpbGxVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7IHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBzZXRTa2lsbCB9ID0gc2tpbGxTbGljZS5hY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCBza2lsbFNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBTa2lsbCB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBza2lsbHNTZXJ2aWNlID0gYXN5bmMoc2VhcmNoOiBzdHJpbmcsIHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuU0tJTEwsIHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSB9KVxufVxuXG5leHBvcnQgY29uc3Qgc2tpbGxEZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuU0tJTEx9JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlU2tpbGxTZXJ2aWNlID0gYXN5bmMgKGRhdGE6IFNraWxsKTogUHJvbWlzZTxTa2lsbD4gPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoYCR7VVJMLlNLSUxMfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVNraWxsU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBTa2lsbCk6IFByb21pc2U8U2tpbGw+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLlNLSUxMfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlU2tpbGxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5TS0lMTH0ke2lkfWApXG59XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBURVJNU19DT05ESVRJT05TLCBURVJNU19DT05ESVRJT04sIFRFUk1TX0NPTkRJVElPTl9ERUxFVEUsIFRFUk1TX0NPTkRJVElPTl9DUkVBVEUsIFRFUk1TX0NPTkRJVElPTl9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB0ZXJtc0NvbmRpdGlvbnNTZXJ2aWNlLCB0ZXJtc0NvbmRpdGlvbkRldGFpbFNlcnZpY2UsIGNyZWF0ZVRlcm1zQ29uZGl0aW9uU2VydmljZSwgdXBkYXRlVGVybXNDb25kaXRpb25TZXJ2aWNlLCBkZWxldGVUZXJtc0NvbmRpdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IFRlcm1zQ29uZGl0aW9uIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaFRlcm1zQ29uZGl0aW9uczogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgVEVSTVNfQ09ORElUSU9OUyxcbiAgdGVybXNDb25kaXRpb25zU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IHRlcm1zQ29uZGl0aW9uRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBURVJNU19DT05ESVRJT04sXG4gIHRlcm1zQ29uZGl0aW9uRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlVGVybXNDb25kaXRpb25BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPFRlcm1zQ29uZGl0aW9uLCB7IGRhdGE6IFRlcm1zQ29uZGl0aW9uIH0+KFxuICBURVJNU19DT05ESVRJT05fQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZVRlcm1zQ29uZGl0aW9uU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSB0ZXJtcyBjb25kaXRpb25cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlVGVybXNDb25kaXRpb25BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPFRlcm1zQ29uZGl0aW9uLCB7IGlkOiBudW1iZXI7IGRhdGE6IFRlcm1zQ29uZGl0aW9uIH0+KFxuICBURVJNU19DT05ESVRJT05fVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVUZXJtc0NvbmRpdGlvblNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIHRlcm1zIGNvbmRpdGlvblwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVUZXJtc0NvbmRpdGlvbkFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgVEVSTVNfQ09ORElUSU9OX0RFTEVURSxcbiAgZGVsZXRlVGVybXNDb25kaXRpb25TZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgVEVSTVNfQ09ORElUSU9OUyA9ICd0ZXJtcy1jb25kaXRpb25zL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBURVJNU19DT05ESVRJT04gPSAndGVybXMtY29uZGl0aW9ucy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IFRFUk1TX0NPTkRJVElPTl9DUkVBVEUgPSAndGVybXMtY29uZGl0aW9ucy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IFRFUk1TX0NPTkRJVElPTl9VUERBVEUgPSAndGVybXMtY29uZGl0aW9ucy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IFRFUk1TX0NPTkRJVElPTl9ERUxFVEUgPSAndGVybXMtY29uZGl0aW9ucy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgVGVybXNDb25kaXRpb24sIFRlcm1zQ29uZGl0aW9uU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoVGVybXNDb25kaXRpb25zLCB1cGRhdGVUZXJtc0NvbmRpdGlvbkFjdGlvbiwgdGVybXNDb25kaXRpb25EZXRhaWxBY3Rpb24sIGNyZWF0ZVRlcm1zQ29uZGl0aW9uQWN0aW9uLCBkZWxldGVUZXJtc0NvbmRpdGlvbkFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBURVJNU19DT05ESVRJT04gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogVGVybXNDb25kaXRpb25TdGF0ZSA9IHtcbiAgdGVybXNDb25kaXRpb25zOiBbXSxcbiAgdGVybXNDb25kaXRpb246IG51bGwsXG4gIHRlcm1zQ29uZGl0aW9uc1BlbmRpbmc6IGZhbHNlLFxuICB0ZXJtc0NvbmRpdGlvbkRldGFpbFBlbmRpbmc6IGZhbHNlLFxuICB0ZXJtc0NvbmRpdGlvbkNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICB0ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICB0ZXJtc0NvbmRpdGlvbkRlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgdGVybXNDb25kaXRpb25TbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogVEVSTVNfQ09ORElUSU9OLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCB0ZXJtc0NvbmRpdGlvblxuICAgIHNldFRlcm1zQ29uZGl0aW9uOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxUZXJtc0NvbmRpdGlvbj4pID0+IHtcbiAgICAgIHN0YXRlLnRlcm1zQ29uZGl0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIHRlcm1zIGNvbmRpdGlvblxuICAgICAgLmFkZENhc2UoZmV0Y2hUZXJtc0NvbmRpdGlvbnMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnRlcm1zQ29uZGl0aW9uc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgdGVybXMgY29uZGl0aW9ucyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hUZXJtc0NvbmRpdGlvbnMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnRlcm1zQ29uZGl0aW9uc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIHRlcm1zIGNvbmRpdGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCB0ZXJtcyBjb25kaXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaFRlcm1zQ29uZGl0aW9ucy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvbnMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvbnNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgdGVybXMgY29uZGl0aW9uIGRldGFpbFxuICAgICAgLmFkZENhc2UodGVybXNDb25kaXRpb25EZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnRlcm1zQ29uZGl0aW9uRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCB0ZXJtcyBjb25kaXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZSh0ZXJtc0NvbmRpdGlvbkRldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudGVybXNDb25kaXRpb25EZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCB0ZXJtcyBjb25kaXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgdGVybXMgY29uZGl0aW9ucyBmZXRjaFxuICAgICAgLmFkZENhc2UodGVybXNDb25kaXRpb25EZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUudGVybXNDb25kaXRpb24gPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvbkRldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB0ZXJtc0NvbmRpdGlvbiBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZVRlcm1zQ29uZGl0aW9uQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZVRlcm1zQ29uZGl0aW9uQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSB0ZXJtcyBjb25kaXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlVGVybXNDb25kaXRpb25BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvbiA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB0ZXJtc0NvbmRpdGlvbiB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZVRlcm1zQ29uZGl0aW9uQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZVRlcm1zQ29uZGl0aW9uQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSB0ZXJtcyBjb25kaXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlVGVybXNDb25kaXRpb25BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvbiA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB0ZXJtc0NvbmRpdGlvbiBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZVRlcm1zQ29uZGl0aW9uQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZVRlcm1zQ29uZGl0aW9uQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSB0ZXJtcyBjb25kaXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlVGVybXNDb25kaXRpb25BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvbiA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS50ZXJtc0NvbmRpdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldFRlcm1zQ29uZGl0aW9uIH0gPSB0ZXJtc0NvbmRpdGlvblNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IHRlcm1zQ29uZGl0aW9uU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IFRlcm1zQ29uZGl0aW9uIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IHRlcm1zQ29uZGl0aW9uc1NlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLlRFUk1TX0NPTkRJVElPTilcbn1cblxuZXhwb3J0IGNvbnN0IHRlcm1zQ29uZGl0aW9uRGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLlRFUk1TX0NPTkRJVElPTn0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUZXJtc0NvbmRpdGlvblNlcnZpY2UgPSBhc3luYyAoZGF0YTogVGVybXNDb25kaXRpb24pOiBQcm9taXNlPFRlcm1zQ29uZGl0aW9uPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuVEVSTVNfQ09ORElUSU9OfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVRlcm1zQ29uZGl0aW9uU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBUZXJtc0NvbmRpdGlvbik6IFByb21pc2U8VGVybXNDb25kaXRpb24+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLlRFUk1TX0NPTkRJVElPTn0ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZVRlcm1zQ29uZGl0aW9uU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuVEVSTVNfQ09ORElUSU9OfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IFRSQUlOSU5HX1NFU1NJT05TLCBUUkFJTklOR19TRVNTSU9OLCBUUkFJTklOR19TRVNTSU9OX0RFTEVURSwgVFJBSU5JTkdfU0VTU0lPTl9DUkVBVEUsIFRSQUlOSU5HX1NFU1NJT05fVVBEQVRFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdHJhaW5pbmdTZXNzaW9uc1NlcnZpY2UsIHRyYWluaW5nU2Vzc2lvbkRldGFpbFNlcnZpY2UsIGNyZWF0ZVRyYWluaW5nU2Vzc2lvblNlcnZpY2UsIHVwZGF0ZVRyYWluaW5nU2Vzc2lvblNlcnZpY2UsIGRlbGV0ZVRyYWluaW5nU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IFRyYWluaW5nU2Vzc2lvbiB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVHJhaW5pbmdTZXNzaW9uUGFnaW5hdGlvbiwgVHJhaW5pbmdTZXNzaW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hUcmFpbmluZ1Nlc3Npb25zID0gY3JlYXRlQXN5bmNUaHVuazxUcmFpbmluZ1Nlc3Npb25QYWdpbmF0aW9uLCBUcmFpbmluZ1Nlc3Npb25QYXJhbXM+KFxuICBUUkFJTklOR19TRVNTSU9OUyxcbiAgYXN5bmMgKHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZX0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0cmFpbmluZ1Nlc3Npb25zU2VydmljZShzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplKTtcbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kZXRhaWwgfHwgXCJGYWlsZWQgdG8gZmV0Y2ggdHJhaW5pbmcgc2Vzc2lvbnNcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdHJhaW5pbmdTZXNzaW9uRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBUUkFJTklOR19TRVNTSU9OLFxuICB0cmFpbmluZ1Nlc3Npb25EZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUcmFpbmluZ1Nlc3Npb25BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPFRyYWluaW5nU2Vzc2lvbiwgeyBkYXRhOiBUcmFpbmluZ1Nlc3Npb24gfT4oXG4gIFRSQUlOSU5HX1NFU1NJT05fQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZVRyYWluaW5nU2Vzc2lvblNlcnZpY2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byBjcmVhdGUgdHJhaW5pbmcgc2Vzc2lvblwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVUcmFpbmluZ1Nlc3Npb25BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPFRyYWluaW5nU2Vzc2lvbiwgeyBpZDogbnVtYmVyOyBkYXRhOiBUcmFpbmluZ1Nlc3Npb24gfT4oXG4gIFRSQUlOSU5HX1NFU1NJT05fVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVUcmFpbmluZ1Nlc3Npb25TZXJ2aWNlKGlkLCBkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIHVwZGF0ZSB0cmFpbmluZyBzZXNzaW9uXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZVRyYWluaW5nU2Vzc2lvbkFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgVFJBSU5JTkdfU0VTU0lPTl9ERUxFVEUsXG4gIGRlbGV0ZVRyYWluaW5nU2Vzc2lvblNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBUUkFJTklOR19TRVNTSU9OUyA9ICd0cmFpbmluZy1zZXNzaW9ucy9mZXRjaEFsbCc7XG5leHBvcnQgY29uc3QgVFJBSU5JTkdfU0VTU0lPTiA9ICd0cmFpbmluZy1zZXNzaW9ucy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IFRSQUlOSU5HX1NFU1NJT05fQ1JFQVRFID0gJ3RyYWluaW5nLXNlc3Npb25zL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgVFJBSU5JTkdfU0VTU0lPTl9VUERBVEUgPSAndHJhaW5pbmctc2Vzc2lvbnMvdXBkYXRlJztcbmV4cG9ydCBjb25zdCBUUkFJTklOR19TRVNTSU9OX0RFTEVURSA9ICd0cmFpbmluZy1zZXNzaW9ucy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgVHJhaW5pbmdTZXNzaW9uLCBUcmFpbmluZ1Nlc3Npb25TdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hUcmFpbmluZ1Nlc3Npb25zLCB1cGRhdGVUcmFpbmluZ1Nlc3Npb25BY3Rpb24sIHRyYWluaW5nU2Vzc2lvbkRldGFpbEFjdGlvbiwgY3JlYXRlVHJhaW5pbmdTZXNzaW9uQWN0aW9uLCBkZWxldGVUcmFpbmluZ1Nlc3Npb25BY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgVFJBSU5JTkdfU0VTU0lPTiB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBUcmFpbmluZ1Nlc3Npb25TdGF0ZSA9IHtcbiAgdHJhaW5pbmdTZXNzaW9uczogW10sXG4gIHRyYWluaW5nU2Vzc2lvbjogbnVsbCxcbiAgdHJhaW5pbmdTZXNzaW9uc1BlbmRpbmc6IGZhbHNlLFxuICB0cmFpbmluZ1Nlc3Npb25EZXRhaWxQZW5kaW5nOiBmYWxzZSxcbiAgdHJhaW5pbmdTZXNzaW9uQ3JlYXRlUGVuZGluZzogZmFsc2UsXG4gIHRyYWluaW5nU2Vzc2lvblVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICB0cmFpbmluZ1Nlc3Npb25EZWxldGVQZW5kaW5nOiBmYWxzZSxcbiAgcmVnaXN0ZXJFcnJvck1lc3NhZ2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IHRyYWluaW5nU2Vzc2lvblNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBUUkFJTklOR19TRVNTSU9OLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCB0cmFpbmluZ1Nlc3Npb25cbiAgICBzZXRUcmFpbmluZ1Nlc3Npb246IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPFRyYWluaW5nU2Vzc2lvbj4pID0+IHtcbiAgICAgIHN0YXRlLnRyYWluaW5nU2Vzc2lvbiA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG5cbiAgICAvLyBVcGRhdGVzIHRoZSByZWdpc3RlciBlcnJvciBtZXNzYWdlXG4gICAgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcblxuICBleHRyYVJlZHVjZXJzOiAoYnVpbGRlcikgPT4ge1xuICAgIGJ1aWxkZXJcbiAgICAgIC8vIGhhbmRsZSB0cmFpbmluZyBzZXNzaW9uXG4gICAgICAuYWRkQ2FzZShmZXRjaFRyYWluaW5nU2Vzc2lvbnMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnRyYWluaW5nU2Vzc2lvbnNQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIHRyYWluaW5nIHNlc3Npb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaFRyYWluaW5nU2Vzc2lvbnMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnRyYWluaW5nU2Vzc2lvbnNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCB0cmFpbmluZyBzZXNzaW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIHRyYWluaW5nIHNlc3Npb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaFRyYWluaW5nU2Vzc2lvbnMuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9ucyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnRyYWluaW5nU2Vzc2lvbnNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgdHJhaW5pbmcgc2Vzc2lvbiBkZXRhaWxcbiAgICAgIC5hZGRDYXNlKHRyYWluaW5nU2Vzc2lvbkRldGFpbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9uRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCB0cmFpbmluZyBzZXNzaW9ucyBmZXRjaFxuICAgICAgLmFkZENhc2UodHJhaW5pbmdTZXNzaW9uRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50cmFpbmluZ1Nlc3Npb25EZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCB0cmFpbmluZyBzZXNzaW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIHRyYWluaW5nIHNlc3Npb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZSh0cmFpbmluZ1Nlc3Npb25EZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9uID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9uRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHRyYWluaW5nU2Vzc2lvbiBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZVRyYWluaW5nU2Vzc2lvbkFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlVHJhaW5pbmdTZXNzaW9uQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50cmFpbmluZ1Nlc3Npb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgdHJhaW5pbmcgc2Vzc2lvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVUcmFpbmluZ1Nlc3Npb25BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50cmFpbmluZ1Nlc3Npb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHRyYWluaW5nU2Vzc2lvbiB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZVRyYWluaW5nU2Vzc2lvbkFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlVHJhaW5pbmdTZXNzaW9uQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50cmFpbmluZ1Nlc3Npb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byB1cGRhdGUgdHJhaW5pbmcgc2Vzc2lvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVUcmFpbmluZ1Nlc3Npb25BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50cmFpbmluZ1Nlc3Npb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHRyYWluaW5nU2Vzc2lvbiBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZVRyYWluaW5nU2Vzc2lvbkFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlVHJhaW5pbmdTZXNzaW9uQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50cmFpbmluZ1Nlc3Npb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBkZWxldGUgdHJhaW5pbmcgc2Vzc2lvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVUcmFpbmluZ1Nlc3Npb25BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50cmFpbmluZ1Nlc3Npb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUudHJhaW5pbmdTZXNzaW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBzZXRSZWdpc3RlckVycm9yTWVzc2FnZSwgc2V0VHJhaW5pbmdTZXNzaW9uIH0gPSB0cmFpbmluZ1Nlc3Npb25TbGljZS5hY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCB0cmFpbmluZ1Nlc3Npb25TbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgVHJhaW5pbmdTZXNzaW9uIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IHRyYWluaW5nU2Vzc2lvbnNTZXJ2aWNlID0gYXN5bmMoc2VhcmNoOiBzdHJpbmcsIHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuVFJBSU5JTkdfU0VTU0lPTiwgeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplIH0pXG59XG5cbmV4cG9ydCBjb25zdCB0cmFpbmluZ1Nlc3Npb25EZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuVFJBSU5JTkdfU0VTU0lPTn0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUcmFpbmluZ1Nlc3Npb25TZXJ2aWNlID0gYXN5bmMgKGRhdGE6IFRyYWluaW5nU2Vzc2lvbik6IFByb21pc2U8VHJhaW5pbmdTZXNzaW9uPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuVFJBSU5JTkdfU0VTU0lPTn1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVUcmFpbmluZ1Nlc3Npb25TZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IFRyYWluaW5nU2Vzc2lvbik6IFByb21pc2U8VHJhaW5pbmdTZXNzaW9uPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5UUkFJTklOR19TRVNTSU9OfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlVHJhaW5pbmdTZXNzaW9uU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuVFJBSU5JTkdfU0VTU0lPTn0ke2lkfWApXG59XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBUUkFWRUxfREFZUywgVFJBVkVMX0RBWSwgVFJBVkVMX0RBWV9ERUxFVEUsIFRSQVZFTF9EQVlfQ1JFQVRFLCBUUkFWRUxfREFZX1VQREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHRyYXZlbERheXNTZXJ2aWNlLCB0cmF2ZWxEYXlEZXRhaWxTZXJ2aWNlLCBjcmVhdGVUcmF2ZWxEYXlTZXJ2aWNlLCB1cGRhdGVUcmF2ZWxEYXlTZXJ2aWNlLCBkZWxldGVUcmF2ZWxEYXlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBUcmF2ZWxEYXkgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRyYXZlbERheVBhZ2luYXRpb24sIFRyYXZlbERheVBhcmFtcyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2luZGV4JztcblxuZXhwb3J0IGNvbnN0IGZldGNoVHJhdmVsRGF5cyA9IGNyZWF0ZUFzeW5jVGh1bms8VHJhdmVsRGF5UGFnaW5hdGlvbiwgVHJhdmVsRGF5UGFyYW1zPihcbiAgVFJBVkVMX0RBWVMsXG4gIGFzeW5jICh7IHNlYXJjaCwgcGFnZSwgcGFnZVNpemV9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdHJhdmVsRGF5c1NlcnZpY2Uoc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkIHRvIGZldGNoIHRyYXZlbCBkYXlzXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHRyYXZlbERheURldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgVFJBVkVMX0RBWSxcbiAgdHJhdmVsRGF5RGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlVHJhdmVsRGF5QWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxUcmF2ZWxEYXksIHsgZGF0YTogVHJhdmVsRGF5IH0+KFxuICBUUkFWRUxfREFZX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVUcmF2ZWxEYXlTZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIHRyYXZlbCBkYXlcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlVHJhdmVsRGF5QWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxUcmF2ZWxEYXksIHsgaWQ6IG51bWJlcjsgZGF0YTogVHJhdmVsRGF5IH0+KFxuICBUUkFWRUxfREFZX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlVHJhdmVsRGF5U2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgdHJhdmVsIGRheVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVUcmF2ZWxEYXlBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIFRSQVZFTF9EQVlfREVMRVRFLFxuICBkZWxldGVUcmF2ZWxEYXlTZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgVFJBVkVMX0RBWVMgPSAndHJhdmVsLWRheXMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IFRSQVZFTF9EQVkgPSAndHJhdmVsLWRheXMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBUUkFWRUxfREFZX0NSRUFURSA9ICd0cmF2ZWwtZGF5cy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IFRSQVZFTF9EQVlfVVBEQVRFID0gJ3RyYXZlbC1kYXlzL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgVFJBVkVMX0RBWV9ERUxFVEUgPSAndHJhdmVsLWRheXMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IFRyYXZlbERheSwgVHJhdmVsRGF5U3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoVHJhdmVsRGF5cywgdXBkYXRlVHJhdmVsRGF5QWN0aW9uLCB0cmF2ZWxEYXlEZXRhaWxBY3Rpb24sIGNyZWF0ZVRyYXZlbERheUFjdGlvbiwgZGVsZXRlVHJhdmVsRGF5QWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IFRSQVZFTF9EQVkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogVHJhdmVsRGF5U3RhdGUgPSB7XG4gIHRyYXZlbERheXM6IFtdLFxuICB0cmF2ZWxEYXk6IG51bGwsXG4gIHRyYXZlbERheXNQZW5kaW5nOiBmYWxzZSxcbiAgdHJhdmVsRGF5RGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIHRyYXZlbERheUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICB0cmF2ZWxEYXlVcGRhdGVQZW5kaW5nOiBmYWxzZSxcbiAgdHJhdmVsRGF5RGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCB0cmF2ZWxEYXlTbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogVFJBVkVMX0RBWSxcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIC8vIFNldHMgdGhlIGN1cnJlbnQgdHJhdmVsRGF5XG4gICAgc2V0VHJhdmVsRGF5OiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxUcmF2ZWxEYXk+KSA9PiB7XG4gICAgICBzdGF0ZS50cmF2ZWxEYXkgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgdHJhdmVsIGRheVxuICAgICAgLmFkZENhc2UoZmV0Y2hUcmF2ZWxEYXlzLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS50cmF2ZWxEYXlzUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCB0cmF2ZWwgZGF5cyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hUcmF2ZWxEYXlzLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS50cmF2ZWxEYXlzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggdHJhdmVsIGRheXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCB0cmF2ZWwgZGF5cyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hUcmF2ZWxEYXlzLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLnRyYXZlbERheXMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS50cmF2ZWxEYXlzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHRyYXZlbCBkYXkgZGV0YWlsXG4gICAgICAuYWRkQ2FzZSh0cmF2ZWxEYXlEZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnRyYXZlbERheURldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgdHJhdmVsIGRheXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKHRyYXZlbERheURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudHJhdmVsRGF5RGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggdHJhdmVsIGRheXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCB0cmF2ZWwgZGF5cyBmZXRjaFxuICAgICAgLmFkZENhc2UodHJhdmVsRGF5RGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLnRyYXZlbERheSA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnRyYXZlbERheURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB0cmF2ZWxEYXkgY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVUcmF2ZWxEYXlBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnRyYXZlbERheVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZVRyYXZlbERheUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudHJhdmVsRGF5VXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIHRyYXZlbCBkYXlzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlVHJhdmVsRGF5QWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudHJhdmVsRGF5ID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnRyYXZlbERheVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB0cmF2ZWxEYXkgdXBkYXRlXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVUcmF2ZWxEYXlBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnRyYXZlbERheVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZVRyYXZlbERheUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudHJhdmVsRGF5VXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIHRyYXZlbCBkYXlzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlVHJhdmVsRGF5QWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudHJhdmVsRGF5ID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnRyYXZlbERheVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB0cmF2ZWxEYXkgZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVUcmF2ZWxEYXlBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnRyYXZlbERheVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZVRyYXZlbERheUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudHJhdmVsRGF5VXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIHRyYXZlbCBkYXlzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlVHJhdmVsRGF5QWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudHJhdmVsRGF5ID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnRyYXZlbERheVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldFRyYXZlbERheSB9ID0gdHJhdmVsRGF5U2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgdHJhdmVsRGF5U2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IFRyYXZlbERheSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCB0cmF2ZWxEYXlzU2VydmljZSA9IGFzeW5jKHNlYXJjaDogc3RyaW5nLCBwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLlRSQVZFTF9EQVksIHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSB9KVxufVxuXG5leHBvcnQgY29uc3QgdHJhdmVsRGF5RGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLlRSQVZFTF9EQVl9JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlVHJhdmVsRGF5U2VydmljZSA9IGFzeW5jIChkYXRhOiBUcmF2ZWxEYXkpOiBQcm9taXNlPFRyYXZlbERheT4gPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoYCR7VVJMLlRSQVZFTF9EQVl9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlVHJhdmVsRGF5U2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBUcmF2ZWxEYXkpOiBQcm9taXNlPFRyYXZlbERheT4gPT4ge1xuICByZXR1cm4gcHV0V2l0aENvbmZpZyhgJHtVUkwuVFJBVkVMX0RBWX0ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZVRyYXZlbERheVNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PntcbiAgcmV0dXJuIGF3YWl0IHJlbW92ZVdpdGhDb25maWcoYCR7VVJMLlRSQVZFTF9EQVl9JHtpZH1gKVxufVxuIiwiaW1wb3J0IHsgY3JlYXRlQXN5bmNUaHVuayB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgVVNFUlMsIFVTRVIsIFVTRVJfREVMRVRFLCBVU0VSX0NSRUFURSwgVVNFUl9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2Vyc1NlcnZpY2UsIHVzZXJEZXRhaWxTZXJ2aWNlLCBjcmVhdGVVc2VyU2VydmljZSwgdXBkYXRlVXNlclNlcnZpY2UsIGRlbGV0ZVVzZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBVc2VyTWFuYWdlbWVudCB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVXNlclBhZ2luYXRpb24sIFVzZXJQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbmRleCc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaFVzZXJzID0gY3JlYXRlQXN5bmNUaHVuazxVc2VyUGFnaW5hdGlvbiwgVXNlclBhcmFtcz4oXG4gIFVTRVJTLFxuICBhc3luYyAoeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHVzZXJzU2VydmljZShzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplKTtcbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kZXRhaWwgfHwgXCJGYWlsZWQgdG8gZmV0Y2ggdXNlcnNcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXNlckRldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgVVNFUixcbiAgdXNlckRldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVVzZXJBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPFVzZXJNYW5hZ2VtZW50LCB7IGRhdGE6IFVzZXJNYW5hZ2VtZW50IH0+KFxuICBVU0VSX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVVc2VyU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSB1c2VyXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVVzZXJBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPFVzZXJNYW5hZ2VtZW50LCB7IGlkOiBudW1iZXI7IGRhdGE6IFVzZXJNYW5hZ2VtZW50IH0+KFxuICBVU0VSX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlVXNlclNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIHVzZXJcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlVXNlckFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgVVNFUl9ERUxFVEUsXG4gIGRlbGV0ZVVzZXJTZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgVVNFUlMgPSAndXNlcnMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IFVTRVIgPSAndXNlcnMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBVU0VSX0NSRUFURSA9ICd1c2Vycy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IFVTRVJfVVBEQVRFID0gJ3VzZXJzL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgVVNFUl9ERUxFVEUgPSAndXNlcnMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IFVzZXJNYW5hZ2VtZW50LCBVc2VyTWFuYWdlbWVudFN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmZXRjaFVzZXJzLCB1cGRhdGVVc2VyQWN0aW9uLCB1c2VyRGV0YWlsQWN0aW9uLCBjcmVhdGVVc2VyQWN0aW9uLCBkZWxldGVVc2VyQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IFVTRVIgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogVXNlck1hbmFnZW1lbnRTdGF0ZSA9IHtcbiAgdXNlcnM6IFtdLFxuICB1c2VyOiBudWxsLFxuICB1c2Vyc1BlbmRpbmc6IGZhbHNlLFxuICB1c2VyRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIHVzZXJDcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgdXNlclVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICB1c2VyRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VyU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IFVTRVIsXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IHVzZXJcbiAgICBzZXRVc2VyOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxVc2VyTWFuYWdlbWVudD4pID0+IHtcbiAgICAgIHN0YXRlLnVzZXIgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgdXNlclxuICAgICAgLmFkZENhc2UoZmV0Y2hVc2Vycy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUudXNlcnNQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIHVzZXJzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaFVzZXJzLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS51c2Vyc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIHVzZXJzLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgdXNlcnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoVXNlcnMuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUudXNlcnMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS51c2Vyc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB1c2VyIGRldGFpbFxuICAgICAgLmFkZENhc2UodXNlckRldGFpbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUudXNlckRldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgdXNlcnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKHVzZXJEZXRhaWxBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJEZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCB1c2Vycy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIHVzZXJzIGZldGNoXG4gICAgICAuYWRkQ2FzZSh1c2VyRGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLnVzZXIgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS51c2VyRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHVzZXIgY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVVc2VyQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS51c2VyVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlVXNlckFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudXNlclVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSB1c2Vycy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZVVzZXJBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS51c2VyID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnVzZXJVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgdXNlciB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZVVzZXJBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVVc2VyQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS51c2VyVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIHVzZXJzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlVXNlckFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXIgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUudXNlclVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB1c2VyIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlVXNlckFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUudXNlclVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZVVzZXJBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBkZWxldGUgdXNlcnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVVc2VyQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudXNlciA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS51c2VyVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBzZXRSZWdpc3RlckVycm9yTWVzc2FnZSwgc2V0VXNlciB9ID0gdXNlclNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IHVzZXJTbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgVXNlck1hbmFnZW1lbnQgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgdXNlcnNTZXJ2aWNlID0gYXN5bmMoc2VhcmNoOiBzdHJpbmcsIHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuVVNFUiwgeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplIH0pXG59XG5cbmV4cG9ydCBjb25zdCB1c2VyRGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLlVTRVJ9JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlVXNlclNlcnZpY2UgPSBhc3luYyAoZGF0YTogVXNlck1hbmFnZW1lbnQpOiBQcm9taXNlPFVzZXJNYW5hZ2VtZW50PiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuVVNFUn1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVVc2VyU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBVc2VyTWFuYWdlbWVudCk6IFByb21pc2U8VXNlck1hbmFnZW1lbnQ+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLlVTRVJ9JHtpZH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVVc2VyU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuVVNFUn0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCB1c2VyVGVsZWdyYW1TZXJ2aWNlID0gYXN5bmMoaWQ6IHN0cmluZykgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuUFVCTElDfXRlbGVncmFtLyR7aWR9YClcbn1cblxuIiwiaW1wb3J0IHsgY3JlYXRlQXN5bmNUaHVuayB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgVVNFUl9BVFRFTkRBTkNFUywgVVNFUl9BVFRFTkRBTkNFLCBVU0VSX0FUVEVOREFOQ0VfREVMRVRFLCBVU0VSX0FUVEVOREFOQ0VfQ1JFQVRFLCBVU0VSX0FUVEVOREFOQ0VfVVBEQVRFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlckF0dGVuZGFuY2VzU2VydmljZSwgdXNlckF0dGVuZGFuY2VEZXRhaWxTZXJ2aWNlLCBjcmVhdGVVc2VyQXR0ZW5kYW5jZVNlcnZpY2UsIHVwZGF0ZVVzZXJBdHRlbmRhbmNlU2VydmljZSwgZGVsZXRlVXNlckF0dGVuZGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBVc2VyQXR0ZW5kYW5jZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVXNlckF0dGVuZGFuY2VQYWdpbmF0aW9uLCBVc2VyQXR0ZW5kYW5jZVBhcmFtcyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2luZGV4JztcblxuZXhwb3J0IGNvbnN0IGZldGNoVXNlckF0dGVuZGFuY2VzID0gY3JlYXRlQXN5bmNUaHVuazxVc2VyQXR0ZW5kYW5jZVBhZ2luYXRpb24sIFVzZXJBdHRlbmRhbmNlUGFyYW1zPihcbiAgVVNFUl9BVFRFTkRBTkNFUyxcbiAgYXN5bmMgKHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZX0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB1c2VyQXR0ZW5kYW5jZXNTZXJ2aWNlKHNlYXJjaCwgcGFnZSwgcGFnZVNpemUpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRldGFpbCB8fCBcIkZhaWxlZCB0byBmZXRjaCB1c2VyIGF0dGVuZGFuY2VcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXNlckF0dGVuZGFuY2VEZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIFVTRVJfQVRURU5EQU5DRSxcbiAgdXNlckF0dGVuZGFuY2VEZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVVc2VyQXR0ZW5kYW5jZUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8VXNlckF0dGVuZGFuY2UsIHsgZGF0YTogVXNlckF0dGVuZGFuY2UgfT4oXG4gIFVTRVJfQVRURU5EQU5DRV9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlVXNlckF0dGVuZGFuY2VTZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIHVzZXIgYXR0ZW5kYW5jZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVVc2VyQXR0ZW5kYW5jZUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8VXNlckF0dGVuZGFuY2UsIHsgaWQ6IG51bWJlcjsgZGF0YTogVXNlckF0dGVuZGFuY2UgfT4oXG4gIFVTRVJfQVRURU5EQU5DRV9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZVVzZXJBdHRlbmRhbmNlU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgdXNlciBhdHRlbmRhbmNlXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZVVzZXJBdHRlbmRhbmNlQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBVU0VSX0FUVEVOREFOQ0VfREVMRVRFLFxuICBkZWxldGVVc2VyQXR0ZW5kYW5jZVNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBVU0VSX0FUVEVOREFOQ0VTID0gJ3VzZXItYXR0ZW5kYW5jZXMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IFVTRVJfQVRURU5EQU5DRSA9ICd1c2VyLWF0dGVuZGFuY2VzL2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgVVNFUl9BVFRFTkRBTkNFX0NSRUFURSA9ICd1c2VyLWF0dGVuZGFuY2VzL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgVVNFUl9BVFRFTkRBTkNFX1VQREFURSA9ICd1c2VyLWF0dGVuZGFuY2VzL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgVVNFUl9BVFRFTkRBTkNFX0RFTEVURSA9ICd1c2VyLWF0dGVuZGFuY2VzL2RlbGV0ZSc7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBVc2VyQXR0ZW5kYW5jZSwgVXNlckF0dGVuZGFuY2VTdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hVc2VyQXR0ZW5kYW5jZXMsIHVwZGF0ZVVzZXJBdHRlbmRhbmNlQWN0aW9uLCB1c2VyQXR0ZW5kYW5jZURldGFpbEFjdGlvbiwgY3JlYXRlVXNlckF0dGVuZGFuY2VBY3Rpb24sIGRlbGV0ZVVzZXJBdHRlbmRhbmNlQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IFVTRVJfQVRURU5EQU5DRSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBVc2VyQXR0ZW5kYW5jZVN0YXRlID0ge1xuICB1c2VyQXR0ZW5kYW5jZXM6IFtdLFxuICB1c2VyQXR0ZW5kYW5jZTogbnVsbCxcbiAgdXNlckF0dGVuZGFuY2VzUGVuZGluZzogZmFsc2UsXG4gIHVzZXJBdHRlbmRhbmNlRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIHVzZXJBdHRlbmRhbmNlQ3JlYXRlUGVuZGluZzogZmFsc2UsXG4gIHVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZzogZmFsc2UsXG4gIHVzZXJBdHRlbmRhbmNlRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VyQXR0ZW5kYW5jZVNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBVU0VSX0FUVEVOREFOQ0UsXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IHVzZXJBdHRlbmRhbmNlXG4gICAgc2V0VXNlckF0dGVuZGFuY2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPFVzZXJBdHRlbmRhbmNlPikgPT4ge1xuICAgICAgc3RhdGUudXNlckF0dGVuZGFuY2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgdXNlciBhdHRlbmRhbmNlXG4gICAgICAuYWRkQ2FzZShmZXRjaFVzZXJBdHRlbmRhbmNlcy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUudXNlckF0dGVuZGFuY2VzUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCB1c2VyIGF0dGVuZGFuY2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaFVzZXJBdHRlbmRhbmNlcy5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUudXNlckF0dGVuZGFuY2VzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggdXNlciBhdHRlbmRhbmNlcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIHVzZXIgYXR0ZW5kYW5jZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoVXNlckF0dGVuZGFuY2VzLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlcyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB1c2VyIGF0dGVuZGFuY2UgZGV0YWlsXG4gICAgICAuYWRkQ2FzZSh1c2VyQXR0ZW5kYW5jZURldGFpbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUudXNlckF0dGVuZGFuY2VEZXRhaWxQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIHVzZXIgYXR0ZW5kYW5jZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKHVzZXJBdHRlbmRhbmNlRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS51c2VyQXR0ZW5kYW5jZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIHVzZXIgYXR0ZW5kYW5jZXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCB1c2VyIGF0dGVuZGFuY2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZSh1c2VyQXR0ZW5kYW5jZURldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS51c2VyQXR0ZW5kYW5jZSA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHVzZXJBdHRlbmRhbmNlIGNyZWF0ZVxuICAgICAgLmFkZENhc2UoY3JlYXRlVXNlckF0dGVuZGFuY2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlVXNlckF0dGVuZGFuY2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIHVzZXIgYXR0ZW5kYW5jZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVVc2VyQXR0ZW5kYW5jZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHVzZXJBdHRlbmRhbmNlIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlVXNlckF0dGVuZGFuY2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlVXNlckF0dGVuZGFuY2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIHVzZXIgYXR0ZW5kYW5jZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVVc2VyQXR0ZW5kYW5jZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHVzZXJBdHRlbmRhbmNlIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlVXNlckF0dGVuZGFuY2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlVXNlckF0dGVuZGFuY2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIHVzZXIgYXR0ZW5kYW5jZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVVc2VyQXR0ZW5kYW5jZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnVzZXJBdHRlbmRhbmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBzZXRSZWdpc3RlckVycm9yTWVzc2FnZSwgc2V0VXNlckF0dGVuZGFuY2UgfSA9IHVzZXJBdHRlbmRhbmNlU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgdXNlckF0dGVuZGFuY2VTbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgVXNlckF0dGVuZGFuY2UgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgdXNlckF0dGVuZGFuY2VzU2VydmljZSA9IGFzeW5jKHNlYXJjaDogc3RyaW5nLCBwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLlVTRVJfQVRURU5EQU5DRSwgeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplIH0pXG59XG5cbmV4cG9ydCBjb25zdCB1c2VyQXR0ZW5kYW5jZURldGFpbFNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKGAke1VSTC5VU0VSX0FUVEVOREFOQ0V9JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlVXNlckF0dGVuZGFuY2VTZXJ2aWNlID0gYXN5bmMgKGRhdGE6IFVzZXJBdHRlbmRhbmNlKTogUHJvbWlzZTxVc2VyQXR0ZW5kYW5jZT4gPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoYCR7VVJMLlVTRVJfQVRURU5EQU5DRX1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVVc2VyQXR0ZW5kYW5jZVNlcnZpY2UgPSBhc3luYyAoaWQ6IG51bWJlciwgZGF0YTogVXNlckF0dGVuZGFuY2UpOiBQcm9taXNlPFVzZXJBdHRlbmRhbmNlPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5VU0VSX0FUVEVOREFOQ0V9JHtpZH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVVc2VyQXR0ZW5kYW5jZVNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PntcbiAgcmV0dXJuIGF3YWl0IHJlbW92ZVdpdGhDb25maWcoYCR7VVJMLlVTRVJfQVRURU5EQU5DRX0ke2lkfWApXG59XG4iXSwibmFtZXMiOlsiZSIsInQiLCJyIiwiU3ltYm9sIiwibiIsIml0ZXJhdG9yIiwibyIsInRvU3RyaW5nVGFnIiwiaSIsImMiLCJwcm90b3R5cGUiLCJHZW5lcmF0b3IiLCJ1IiwiT2JqZWN0IiwiY3JlYXRlIiwiX3JlZ2VuZXJhdG9yRGVmaW5lMiIsImYiLCJwIiwieSIsIkciLCJ2IiwiYSIsImQiLCJiaW5kIiwibGVuZ3RoIiwibCIsIlR5cGVFcnJvciIsImNhbGwiLCJkb25lIiwidmFsdWUiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImRpc3BsYXlOYW1lIiwiX3JlZ2VuZXJhdG9yIiwidyIsIm0iLCJkZWZpbmVQcm9wZXJ0eSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJjcmVhdGVBc3luY1RodW5rIiwiUFJPVklOQ0VTIiwiUFJPVklOQ0UiLCJQUk9WSU5DRV9ERUxFVEUiLCJQUk9WSU5DRV9DUkVBVEUiLCJQUk9WSU5DRV9VUERBVEUiLCJwcm92aW5jZXNTZXJ2aWNlIiwicHJvdmluY2VEZXRhaWxTZXJ2aWNlIiwiY3JlYXRlUHJvdmluY2VTZXJ2aWNlIiwidXBkYXRlUHJvdmluY2VTZXJ2aWNlIiwiZGVsZXRlUHJvdmluY2VTZXJ2aWNlIiwiZmV0Y2hQcm92aW5jZXMiLCJfcmVmMyIsIl9jYWxsZWUiLCJfcmVmIiwiX3JlZjIiLCJzZWFyY2giLCJwYWdlIiwicGFnZVNpemUiLCJyZWplY3RXaXRoVmFsdWUiLCJyZXNwb25zZSIsIl9lcnJvciRyZXNwb25zZSIsIl90IiwiX2NvbnRleHQiLCJkZXRhaWwiLCJfeCIsIl94MiIsInByb3ZpbmNlRGV0YWlsQWN0aW9uIiwiY3JlYXRlUHJvdmluY2VBY3Rpb24iLCJfcmVmNiIsIl9jYWxsZWUyIiwiX3JlZjQiLCJfcmVmNSIsImRhdGEiLCJfZXJyb3IkcmVzcG9uc2UyIiwiX3QyIiwiX2NvbnRleHQyIiwibWVzc2FnZSIsIl94MyIsIl94NCIsInVwZGF0ZVByb3ZpbmNlQWN0aW9uIiwiX3JlZjkiLCJfY2FsbGVlMyIsIl9yZWY3IiwiX3JlZjgiLCJpZCIsIl9lcnJvciRyZXNwb25zZTMiLCJfdDMiLCJfY29udGV4dDMiLCJfeDUiLCJfeDYiLCJkZWxldGVQcm92aW5jZUFjdGlvbiIsImNyZWF0ZVNsaWNlIiwiaW5pdGlhbFN0YXRlIiwicHJvdmluY2VzIiwicHJvdmluY2UiLCJwcm92aW5jZXNQZW5kaW5nIiwicHJvdmluY2VEZXRhaWxQZW5kaW5nIiwicHJvdmluY2VDcmVhdGVQZW5kaW5nIiwicHJvdmluY2VVcGRhdGVQZW5kaW5nIiwicHJvdmluY2VEZWxldGVQZW5kaW5nIiwicmVnaXN0ZXJFcnJvck1lc3NhZ2UiLCJwcm92aW5jZVNsaWNlIiwibmFtZSIsInJlZHVjZXJzIiwic2V0UHJvdmluY2UiLCJzdGF0ZSIsImFjdGlvbiIsInBheWxvYWQiLCJzZXRSZWdpc3RlckVycm9yTWVzc2FnZSIsImV4dHJhUmVkdWNlcnMiLCJidWlsZGVyIiwiYWRkQ2FzZSIsInBlbmRpbmciLCJyZWplY3RlZCIsImVycm9yIiwiZnVsZmlsbGVkIiwiX3Byb3ZpbmNlU2xpY2UkYWN0aW9uIiwiYWN0aW9ucyIsInJlZHVjZXIiLCJVUkwiLCJnZXRXaXRoQ29uZmlnIiwicG9zdFdpdGhDb25maWciLCJwdXRXaXRoQ29uZmlnIiwicmVtb3ZlV2l0aENvbmZpZyIsImNvbmNhdCIsIl9jYWxsZWU0IiwiX2NvbnRleHQ0IiwiX3g3IiwiX2NhbGxlZTUiLCJfY29udGV4dDUiLCJfeDgiLCJTS0lMTFMiLCJTS0lMTCIsIlNLSUxMX0RFTEVURSIsIlNLSUxMX0NSRUFURSIsIlNLSUxMX1VQREFURSIsInNraWxsc1NlcnZpY2UiLCJza2lsbERldGFpbFNlcnZpY2UiLCJjcmVhdGVTa2lsbFNlcnZpY2UiLCJ1cGRhdGVTa2lsbFNlcnZpY2UiLCJkZWxldGVTa2lsbFNlcnZpY2UiLCJmZXRjaFNraWxscyIsInNraWxsRGV0YWlsQWN0aW9uIiwiY3JlYXRlU2tpbGxBY3Rpb24iLCJ1cGRhdGVTa2lsbEFjdGlvbiIsImRlbGV0ZVNraWxsQWN0aW9uIiwic2tpbGxzIiwic2tpbGwiLCJza2lsbHNQZW5kaW5nIiwic2tpbGxEZXRhaWxQZW5kaW5nIiwic2tpbGxDcmVhdGVQZW5kaW5nIiwic2tpbGxVcGRhdGVQZW5kaW5nIiwic2tpbGxEZWxldGVQZW5kaW5nIiwic2tpbGxTbGljZSIsInNldFNraWxsIiwiX3NraWxsU2xpY2UkYWN0aW9ucyIsIlRFUk1TX0NPTkRJVElPTlMiLCJURVJNU19DT05ESVRJT04iLCJURVJNU19DT05ESVRJT05fREVMRVRFIiwiVEVSTVNfQ09ORElUSU9OX0NSRUFURSIsIlRFUk1TX0NPTkRJVElPTl9VUERBVEUiLCJ0ZXJtc0NvbmRpdGlvbnNTZXJ2aWNlIiwidGVybXNDb25kaXRpb25EZXRhaWxTZXJ2aWNlIiwiY3JlYXRlVGVybXNDb25kaXRpb25TZXJ2aWNlIiwidXBkYXRlVGVybXNDb25kaXRpb25TZXJ2aWNlIiwiZGVsZXRlVGVybXNDb25kaXRpb25TZXJ2aWNlIiwiZmV0Y2hUZXJtc0NvbmRpdGlvbnMiLCJ0ZXJtc0NvbmRpdGlvbkRldGFpbEFjdGlvbiIsImNyZWF0ZVRlcm1zQ29uZGl0aW9uQWN0aW9uIiwidXBkYXRlVGVybXNDb25kaXRpb25BY3Rpb24iLCJkZWxldGVUZXJtc0NvbmRpdGlvbkFjdGlvbiIsInRlcm1zQ29uZGl0aW9ucyIsInRlcm1zQ29uZGl0aW9uIiwidGVybXNDb25kaXRpb25zUGVuZGluZyIsInRlcm1zQ29uZGl0aW9uRGV0YWlsUGVuZGluZyIsInRlcm1zQ29uZGl0aW9uQ3JlYXRlUGVuZGluZyIsInRlcm1zQ29uZGl0aW9uVXBkYXRlUGVuZGluZyIsInRlcm1zQ29uZGl0aW9uRGVsZXRlUGVuZGluZyIsInRlcm1zQ29uZGl0aW9uU2xpY2UiLCJzZXRUZXJtc0NvbmRpdGlvbiIsIl90ZXJtc0NvbmRpdGlvblNsaWNlJCIsIlRSQUlOSU5HX1NFU1NJT05TIiwiVFJBSU5JTkdfU0VTU0lPTiIsIlRSQUlOSU5HX1NFU1NJT05fREVMRVRFIiwiVFJBSU5JTkdfU0VTU0lPTl9DUkVBVEUiLCJUUkFJTklOR19TRVNTSU9OX1VQREFURSIsInRyYWluaW5nU2Vzc2lvbnNTZXJ2aWNlIiwidHJhaW5pbmdTZXNzaW9uRGV0YWlsU2VydmljZSIsImNyZWF0ZVRyYWluaW5nU2Vzc2lvblNlcnZpY2UiLCJ1cGRhdGVUcmFpbmluZ1Nlc3Npb25TZXJ2aWNlIiwiZGVsZXRlVHJhaW5pbmdTZXNzaW9uU2VydmljZSIsImZldGNoVHJhaW5pbmdTZXNzaW9ucyIsInRyYWluaW5nU2Vzc2lvbkRldGFpbEFjdGlvbiIsImNyZWF0ZVRyYWluaW5nU2Vzc2lvbkFjdGlvbiIsInVwZGF0ZVRyYWluaW5nU2Vzc2lvbkFjdGlvbiIsImRlbGV0ZVRyYWluaW5nU2Vzc2lvbkFjdGlvbiIsInRyYWluaW5nU2Vzc2lvbnMiLCJ0cmFpbmluZ1Nlc3Npb24iLCJ0cmFpbmluZ1Nlc3Npb25zUGVuZGluZyIsInRyYWluaW5nU2Vzc2lvbkRldGFpbFBlbmRpbmciLCJ0cmFpbmluZ1Nlc3Npb25DcmVhdGVQZW5kaW5nIiwidHJhaW5pbmdTZXNzaW9uVXBkYXRlUGVuZGluZyIsInRyYWluaW5nU2Vzc2lvbkRlbGV0ZVBlbmRpbmciLCJ0cmFpbmluZ1Nlc3Npb25TbGljZSIsInNldFRyYWluaW5nU2Vzc2lvbiIsIl90cmFpbmluZ1Nlc3Npb25TbGljZSIsIlRSQVZFTF9EQVlTIiwiVFJBVkVMX0RBWSIsIlRSQVZFTF9EQVlfREVMRVRFIiwiVFJBVkVMX0RBWV9DUkVBVEUiLCJUUkFWRUxfREFZX1VQREFURSIsInRyYXZlbERheXNTZXJ2aWNlIiwidHJhdmVsRGF5RGV0YWlsU2VydmljZSIsImNyZWF0ZVRyYXZlbERheVNlcnZpY2UiLCJ1cGRhdGVUcmF2ZWxEYXlTZXJ2aWNlIiwiZGVsZXRlVHJhdmVsRGF5U2VydmljZSIsImZldGNoVHJhdmVsRGF5cyIsInRyYXZlbERheURldGFpbEFjdGlvbiIsImNyZWF0ZVRyYXZlbERheUFjdGlvbiIsInVwZGF0ZVRyYXZlbERheUFjdGlvbiIsImRlbGV0ZVRyYXZlbERheUFjdGlvbiIsInRyYXZlbERheXMiLCJ0cmF2ZWxEYXkiLCJ0cmF2ZWxEYXlzUGVuZGluZyIsInRyYXZlbERheURldGFpbFBlbmRpbmciLCJ0cmF2ZWxEYXlDcmVhdGVQZW5kaW5nIiwidHJhdmVsRGF5VXBkYXRlUGVuZGluZyIsInRyYXZlbERheURlbGV0ZVBlbmRpbmciLCJ0cmF2ZWxEYXlTbGljZSIsInNldFRyYXZlbERheSIsIl90cmF2ZWxEYXlTbGljZSRhY3RpbyIsIlVTRVJTIiwiVVNFUiIsIlVTRVJfREVMRVRFIiwiVVNFUl9DUkVBVEUiLCJVU0VSX1VQREFURSIsInVzZXJzU2VydmljZSIsInVzZXJEZXRhaWxTZXJ2aWNlIiwiY3JlYXRlVXNlclNlcnZpY2UiLCJ1cGRhdGVVc2VyU2VydmljZSIsImRlbGV0ZVVzZXJTZXJ2aWNlIiwiZmV0Y2hVc2VycyIsInVzZXJEZXRhaWxBY3Rpb24iLCJjcmVhdGVVc2VyQWN0aW9uIiwidXBkYXRlVXNlckFjdGlvbiIsImRlbGV0ZVVzZXJBY3Rpb24iLCJ1c2VycyIsInVzZXIiLCJ1c2Vyc1BlbmRpbmciLCJ1c2VyRGV0YWlsUGVuZGluZyIsInVzZXJDcmVhdGVQZW5kaW5nIiwidXNlclVwZGF0ZVBlbmRpbmciLCJ1c2VyRGVsZXRlUGVuZGluZyIsInVzZXJTbGljZSIsInNldFVzZXIiLCJfdXNlclNsaWNlJGFjdGlvbnMiLCJ1c2VyVGVsZWdyYW1TZXJ2aWNlIiwiX2NhbGxlZTYiLCJfY29udGV4dDYiLCJQVUJMSUMiLCJfeDkiLCJVU0VSX0FUVEVOREFOQ0VTIiwiVVNFUl9BVFRFTkRBTkNFIiwiVVNFUl9BVFRFTkRBTkNFX0RFTEVURSIsIlVTRVJfQVRURU5EQU5DRV9DUkVBVEUiLCJVU0VSX0FUVEVOREFOQ0VfVVBEQVRFIiwidXNlckF0dGVuZGFuY2VzU2VydmljZSIsInVzZXJBdHRlbmRhbmNlRGV0YWlsU2VydmljZSIsImNyZWF0ZVVzZXJBdHRlbmRhbmNlU2VydmljZSIsInVwZGF0ZVVzZXJBdHRlbmRhbmNlU2VydmljZSIsImRlbGV0ZVVzZXJBdHRlbmRhbmNlU2VydmljZSIsImZldGNoVXNlckF0dGVuZGFuY2VzIiwidXNlckF0dGVuZGFuY2VEZXRhaWxBY3Rpb24iLCJjcmVhdGVVc2VyQXR0ZW5kYW5jZUFjdGlvbiIsInVwZGF0ZVVzZXJBdHRlbmRhbmNlQWN0aW9uIiwiZGVsZXRlVXNlckF0dGVuZGFuY2VBY3Rpb24iLCJ1c2VyQXR0ZW5kYW5jZXMiLCJ1c2VyQXR0ZW5kYW5jZSIsInVzZXJBdHRlbmRhbmNlc1BlbmRpbmciLCJ1c2VyQXR0ZW5kYW5jZURldGFpbFBlbmRpbmciLCJ1c2VyQXR0ZW5kYW5jZUNyZWF0ZVBlbmRpbmciLCJ1c2VyQXR0ZW5kYW5jZVVwZGF0ZVBlbmRpbmciLCJ1c2VyQXR0ZW5kYW5jZURlbGV0ZVBlbmRpbmciLCJ1c2VyQXR0ZW5kYW5jZVNsaWNlIiwic2V0VXNlckF0dGVuZGFuY2UiLCJfdXNlckF0dGVuZGFuY2VTbGljZSQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==