(self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-n"],{ /***/ "../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./src/index.css": /*!*********************************************************************************************************************!*\ !*** ../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./src/index.css ***! \*********************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ "../../../node_modules/css-loader/dist/runtime/sourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "../../../node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/getUrl.js */ "../../../node_modules/css-loader/dist/runtime/getUrl.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__); // Imports var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/fonts/Bayon-Regular.ttf */ "./src/shared/assets/fonts/Bayon-Regular.ttf"), __webpack_require__.b); var ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/fonts/Siemreap-Regular.ttf */ "./src/shared/assets/fonts/Siemreap-Regular.ttf"), __webpack_require__.b); var ___CSS_LOADER_URL_IMPORT_2___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf */ "./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf"), __webpack_require__.b); var ___CSS_LOADER_URL_IMPORT_3___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/images/team.png */ "./src/shared/assets/images/team.png"), __webpack_require__.b); var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___); var ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___); var ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_3___); // Module ___CSS_LOADER_EXPORT___.push([module.id, `@font-face { font-family: 'Bayon'; src: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Siemreap'; src: url(${___CSS_LOADER_URL_REPLACEMENT_1___}) format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Roboto'; src: url(${___CSS_LOADER_URL_REPLACEMENT_2___}) format('truetype'); font-weight: normal; font-style: normal; } /* Global Styles */ body { font-family: 'Siemreap', Roboto; margin: 0; padding: 0; background-color: white; } /* Form title */ .form-title { font-size: 1rem; text-align: center; color: #333; margin-bottom: 10px; font-family: 'Siemreap', Roboto; } /* Form title */ .form-title2 { font-size: 0.5rem; text-align: center; color: #333; margin-bottom: 10px; font-family: 'Siemreap', Roboto; } /* Larger title on desktop */ @media (min-width: 1024px) { .form-title2 { font-size: 1rem; } .form-title { font-size: 1.5rem; } } /* Dividers */ .divider { height: 2px; background: #ddd; margin: 10px 0; } .divider2 { height: 1px; background: #ccc; margin: 5px 0; } /* Card Style */ .card { background: white; padding: 20px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); max-width: 500px; width: 100%; } /* Buttons */ button { background: #1890ff; color: white; border: none; padding: 12px; border-radius: 5px; cursor: pointer; width: 100%; transition: background 0.3s ease; } button:hover { background: #40a9ff; } /* File Upload Container */ .upload-container { display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 10px; } /* Centered Items */ .items-center { justify-content: center; align-items: center; display: flex; } /* Divider for UI */ .divider-container { position: relative; display: flex; align-items: center; justify-content: center; margin: 1.5rem 0; } .divider-line { width: 80%; height: 2px; background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899); } .divider-text { position: absolute; background-color: white; padding: 0 8px; display: flex; justify-content: center; } .divider-text span { font-size: 2rem; background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } /* Step Indicator */ .ant-steps-item-title { cursor: pointer; transition: color 0.2s ease-in-out; } .ant-steps-item-title:hover { color: #1890ff !important; } /* Flex spacing */ .custom-gap { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-bottom: 20px; /* Space between top row and bottom logo */ } .spacer { flex-grow: 1; /* Automatically takes up remaining space */ } /* Padding Fixes */ .padding-right-16 { padding-right: 16px; } .padding-right-64 { padding-right: 64px; } .padding-left-64 { padding-left: 64px; } /* Logo Section */ .logo-container { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 10px; } /* Logo Styles */ .headingLogo, .headingLogo2 { width: 15vw; height: auto; max-width: 120px; } @media (max-width: 1024px) { .headingLogo, .headingLogo2 { width: 8vw; max-width: 100px; } } @media (max-width: 768px) { .headingLogo, .headingLogo2 { width: 12vw; max-width: 80px; } } @media (max-width: 480px) { .headingLogo, .headingLogo2 { width: 15vw; max-width: 60px; } .padding-right-64 { padding-right: 16px; } .padding-left-64 { padding-left: 16px; } } /* Volunteer Registration Section */ .text-red-600 { color: #BB595F; } .padding-top-bottom { padding: 8px 0px; } .padding-top-6 { padding-top: 6px; } .margin-top-16 { margin-top: 16px; } /* Upload button styles */ .ant-upload-list-item-container { width: 100% !important; } .image-container { position: relative; width: 100%; } .fullscreen-image { inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: top; object-position: top; min-height: 100vh; } @media (max-width: 768px) { .fullscreen-image { height: 40vh !important; min-height: 40vh !important; } } /* Upload Cards - Adds Padding and Consistency */ .upload-card { padding: 16px; border-radius: 8px; box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); } /* Placeholder Image - Ensures Consistent Display */ .upload-placeholder { width: 100%; height: auto; max-height: 100px; } /* Drag & Drop Upload - Makes CV Upload More Intuitive */ .ant-upload-drag { background: #f9f9f9; border: 2px dashed #ccc; padding: 20px; text-align: center; border-radius: 8px; } .ant-upload-drag:hover { border-color: #1890ff; background: #eef6ff; } @media (max-width: 768px) { .container { flex-direction: column; } .left-section { width: 100%; height: 100vh; background: url(${___CSS_LOADER_URL_REPLACEMENT_3___}) no-repeat center/cover; position: absolute; top: 0; left: 0; z-index: -1; } .right-section { width: 100%; height: 100vh; display: flex; justify-content: center; align-items: center; } } @media (min-width: 769px) { .container { display: flex; width: 100vw; height: 100vh; } .left-section { width: 30vw; height: 100vh; background-size: cover; background: url(${___CSS_LOADER_URL_REPLACEMENT_3___}) no-repeat center/cover; } .right-section { width: 70vw; height: 100vh; display: flex; justify-content: center; align-items: center; background-color: #f4f4f4; padding: 16px; } } input, select, textarea { font-size: 16px !important; } .attendance-page { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; text-align: center; } .attendance-page h2 { font-size: 24px; margin-bottom: 10px; } .attendance-page p { margin-bottom: 20px; }`, "",{"version":3,"sources":["webpack://./src/index.css"],"names":[],"mappings":"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","sourcesContent":["@font-face {\n font-family: 'Bayon';\n src: url('./shared/assets/fonts/Bayon-Regular.ttf') format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Siemreap';\n src: url('./shared/assets/fonts/Siemreap-Regular.ttf') format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('./shared/assets/fonts/Roboto-VariableFont_wdth\\,wght.ttf') format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n\n/* Global Styles */\nbody {\n font-family: 'Siemreap', Roboto;\n margin: 0;\n padding: 0;\n background-color: white;\n}\n\n/* Form title */\n.form-title {\n font-size: 1rem;\n text-align: center;\n color: #333;\n margin-bottom: 10px;\n font-family: 'Siemreap', Roboto;\n}\n\n\n/* Form title */\n.form-title2 {\n font-size: 0.5rem;\n text-align: center;\n color: #333;\n margin-bottom: 10px;\n font-family: 'Siemreap', Roboto;\n}\n\n/* Larger title on desktop */\n@media (min-width: 1024px) {\n .form-title2 {\n font-size: 1rem;\n }\n .form-title {\n font-size: 1.5rem;\n }\n}\n\n/* Dividers */\n.divider {\n height: 2px;\n background: #ddd;\n margin: 10px 0;\n}\n\n.divider2 {\n height: 1px;\n background: #ccc;\n margin: 5px 0;\n}\n\n/* Card Style */\n.card {\n background: white;\n padding: 20px;\n border-radius: 10px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n max-width: 500px;\n width: 100%;\n}\n\n/* Buttons */\nbutton {\n background: #1890ff;\n color: white;\n border: none;\n padding: 12px;\n border-radius: 5px;\n cursor: pointer;\n width: 100%;\n transition: background 0.3s ease;\n}\n\nbutton:hover {\n background: #40a9ff;\n}\n\n/* File Upload Container */\n.upload-container {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 10px;\n}\n\n/* Centered Items */\n.items-center {\n justify-content: center;\n align-items: center;\n display: flex;\n\n}\n\n/* Divider for UI */\n.divider-container {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 1.5rem 0;\n}\n\n.divider-line {\n width: 80%;\n height: 2px;\n background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899);\n}\n\n.divider-text {\n position: absolute;\n background-color: white;\n padding: 0 8px;\n display: flex;\n justify-content: center;\n}\n\n.divider-text span {\n font-size: 2rem;\n background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\n/* Step Indicator */\n.ant-steps-item-title {\n cursor: pointer;\n transition: color 0.2s ease-in-out;\n}\n\n.ant-steps-item-title:hover {\n color: #1890ff !important;\n}\n\n/* Flex spacing */\n.custom-gap {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n margin-bottom: 20px; /* Space between top row and bottom logo */\n}\n\n.spacer {\n flex-grow: 1; /* Automatically takes up remaining space */\n}\n\n/* Padding Fixes */\n.padding-right-16 {\n padding-right: 16px;\n}\n\n.padding-right-64 {\n padding-right: 64px;\n}\n.padding-left-64 {\n padding-left: 64px;\n}\n\n/* Logo Section */\n.logo-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n gap: 10px;\n}\n\n/* Logo Styles */\n.headingLogo,\n.headingLogo2 {\n width: 15vw;\n height: auto;\n max-width: 120px;\n}\n\n@media (max-width: 1024px) {\n .headingLogo,\n .headingLogo2 {\n width: 8vw;\n max-width: 100px;\n }\n}\n\n@media (max-width: 768px) {\n .headingLogo,\n .headingLogo2 {\n width: 12vw;\n max-width: 80px;\n }\n}\n\n@media (max-width: 480px) {\n .headingLogo,\n .headingLogo2 {\n width: 15vw;\n max-width: 60px;\n }\n .padding-right-64 {\n padding-right: 16px;\n }\n .padding-left-64 {\n padding-left: 16px;\n }\n}\n\n/* Volunteer Registration Section */\n.text-red-600 {\n color: #BB595F;\n}\n.padding-top-bottom {\n padding: 8px 0px;\n}\n.padding-top-6 {\n padding-top: 6px;\n}\n\n.margin-top-16 {\n margin-top: 16px;\n}\n\n\n/* Upload button styles */\n.ant-upload-list-item-container {\n width: 100% !important;\n}\n.image-container {\n position: relative;\n width: 100%;\n}\n\n.fullscreen-image {\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: top;\n min-height: 100vh;\n}\n\n@media (max-width: 768px) {\n .fullscreen-image {\n height: 40vh !important;\n min-height: 40vh !important;\n }\n}\n\n\n\n/* Upload Cards - Adds Padding and Consistency */\n.upload-card {\n padding: 16px;\n border-radius: 8px;\n box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);\n}\n\n/* Placeholder Image - Ensures Consistent Display */\n.upload-placeholder {\n width: 100%;\n height: auto;\n max-height: 100px;\n}\n\n/* Drag & Drop Upload - Makes CV Upload More Intuitive */\n.ant-upload-drag {\n background: #f9f9f9;\n border: 2px dashed #ccc;\n padding: 20px;\n text-align: center;\n border-radius: 8px;\n}\n\n.ant-upload-drag:hover {\n border-color: #1890ff;\n background: #eef6ff;\n}\n\n\n\n@media (max-width: 768px) {\n .container {\n flex-direction: column;\n }\n\n .left-section {\n width: 100%;\n height: 100vh;\n background: url(\"./shared/assets/images/team.png\") no-repeat center/cover;\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n }\n\n .right-section {\n width: 100%;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n}\n\n@media (min-width: 769px) {\n .container {\n display: flex;\n width: 100vw;\n height: 100vh;\n }\n\n .left-section {\n width: 30vw;\n height: 100vh;\n background-size: cover;\n background: url(\"./shared/assets/images/team.png\") no-repeat center/cover;\n }\n\n .right-section {\n width: 70vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #f4f4f4;\n padding: 16px;\n }\n}\n\ninput, select, textarea {\n font-size: 16px !important;\n}\n\n\n.attendance-page {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n text-align: center;\n}\n\n.attendance-page h2 {\n font-size: 24px;\n margin-bottom: 10px;\n}\n\n.attendance-page p {\n margin-bottom: 20px;\n}"],"sourceRoot":""}]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "../../../node_modules/moment/locale sync recursive ^\\.\\/.*$": /*!**********************************************************!*\ !*** ../../../node_modules/moment/locale/ sync ^\.\/.*$ ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var map = { "./af": "../../../node_modules/moment/locale/af.js", "./af.js": "../../../node_modules/moment/locale/af.js", "./ar": "../../../node_modules/moment/locale/ar.js", "./ar-dz": "../../../node_modules/moment/locale/ar-dz.js", "./ar-dz.js": "../../../node_modules/moment/locale/ar-dz.js", "./ar-kw": "../../../node_modules/moment/locale/ar-kw.js", "./ar-kw.js": "../../../node_modules/moment/locale/ar-kw.js", "./ar-ly": "../../../node_modules/moment/locale/ar-ly.js", "./ar-ly.js": "../../../node_modules/moment/locale/ar-ly.js", "./ar-ma": "../../../node_modules/moment/locale/ar-ma.js", "./ar-ma.js": "../../../node_modules/moment/locale/ar-ma.js", "./ar-ps": "../../../node_modules/moment/locale/ar-ps.js", "./ar-ps.js": "../../../node_modules/moment/locale/ar-ps.js", "./ar-sa": "../../../node_modules/moment/locale/ar-sa.js", "./ar-sa.js": "../../../node_modules/moment/locale/ar-sa.js", "./ar-tn": "../../../node_modules/moment/locale/ar-tn.js", "./ar-tn.js": "../../../node_modules/moment/locale/ar-tn.js", "./ar.js": "../../../node_modules/moment/locale/ar.js", "./az": "../../../node_modules/moment/locale/az.js", "./az.js": "../../../node_modules/moment/locale/az.js", "./be": "../../../node_modules/moment/locale/be.js", "./be.js": "../../../node_modules/moment/locale/be.js", "./bg": "../../../node_modules/moment/locale/bg.js", "./bg.js": "../../../node_modules/moment/locale/bg.js", "./bm": "../../../node_modules/moment/locale/bm.js", "./bm.js": "../../../node_modules/moment/locale/bm.js", "./bn": "../../../node_modules/moment/locale/bn.js", "./bn-bd": "../../../node_modules/moment/locale/bn-bd.js", "./bn-bd.js": "../../../node_modules/moment/locale/bn-bd.js", "./bn.js": "../../../node_modules/moment/locale/bn.js", "./bo": "../../../node_modules/moment/locale/bo.js", "./bo.js": "../../../node_modules/moment/locale/bo.js", "./br": "../../../node_modules/moment/locale/br.js", "./br.js": "../../../node_modules/moment/locale/br.js", "./bs": "../../../node_modules/moment/locale/bs.js", "./bs.js": "../../../node_modules/moment/locale/bs.js", "./ca": "../../../node_modules/moment/locale/ca.js", "./ca.js": "../../../node_modules/moment/locale/ca.js", "./cs": "../../../node_modules/moment/locale/cs.js", "./cs.js": "../../../node_modules/moment/locale/cs.js", "./cv": "../../../node_modules/moment/locale/cv.js", "./cv.js": "../../../node_modules/moment/locale/cv.js", "./cy": "../../../node_modules/moment/locale/cy.js", "./cy.js": "../../../node_modules/moment/locale/cy.js", "./da": "../../../node_modules/moment/locale/da.js", "./da.js": "../../../node_modules/moment/locale/da.js", "./de": "../../../node_modules/moment/locale/de.js", "./de-at": "../../../node_modules/moment/locale/de-at.js", "./de-at.js": "../../../node_modules/moment/locale/de-at.js", "./de-ch": "../../../node_modules/moment/locale/de-ch.js", "./de-ch.js": "../../../node_modules/moment/locale/de-ch.js", "./de.js": "../../../node_modules/moment/locale/de.js", "./dv": "../../../node_modules/moment/locale/dv.js", "./dv.js": "../../../node_modules/moment/locale/dv.js", "./el": "../../../node_modules/moment/locale/el.js", "./el.js": "../../../node_modules/moment/locale/el.js", "./en-au": "../../../node_modules/moment/locale/en-au.js", "./en-au.js": "../../../node_modules/moment/locale/en-au.js", "./en-ca": "../../../node_modules/moment/locale/en-ca.js", "./en-ca.js": "../../../node_modules/moment/locale/en-ca.js", "./en-gb": "../../../node_modules/moment/locale/en-gb.js", "./en-gb.js": "../../../node_modules/moment/locale/en-gb.js", "./en-ie": "../../../node_modules/moment/locale/en-ie.js", "./en-ie.js": "../../../node_modules/moment/locale/en-ie.js", "./en-il": "../../../node_modules/moment/locale/en-il.js", "./en-il.js": "../../../node_modules/moment/locale/en-il.js", "./en-in": "../../../node_modules/moment/locale/en-in.js", "./en-in.js": "../../../node_modules/moment/locale/en-in.js", "./en-nz": "../../../node_modules/moment/locale/en-nz.js", "./en-nz.js": "../../../node_modules/moment/locale/en-nz.js", "./en-sg": "../../../node_modules/moment/locale/en-sg.js", "./en-sg.js": "../../../node_modules/moment/locale/en-sg.js", "./eo": "../../../node_modules/moment/locale/eo.js", "./eo.js": "../../../node_modules/moment/locale/eo.js", "./es": "../../../node_modules/moment/locale/es.js", "./es-do": "../../../node_modules/moment/locale/es-do.js", "./es-do.js": "../../../node_modules/moment/locale/es-do.js", "./es-mx": "../../../node_modules/moment/locale/es-mx.js", "./es-mx.js": "../../../node_modules/moment/locale/es-mx.js", "./es-us": "../../../node_modules/moment/locale/es-us.js", "./es-us.js": "../../../node_modules/moment/locale/es-us.js", "./es.js": "../../../node_modules/moment/locale/es.js", "./et": "../../../node_modules/moment/locale/et.js", "./et.js": "../../../node_modules/moment/locale/et.js", "./eu": "../../../node_modules/moment/locale/eu.js", "./eu.js": "../../../node_modules/moment/locale/eu.js", "./fa": "../../../node_modules/moment/locale/fa.js", "./fa.js": "../../../node_modules/moment/locale/fa.js", "./fi": "../../../node_modules/moment/locale/fi.js", "./fi.js": "../../../node_modules/moment/locale/fi.js", "./fil": "../../../node_modules/moment/locale/fil.js", "./fil.js": "../../../node_modules/moment/locale/fil.js", "./fo": "../../../node_modules/moment/locale/fo.js", "./fo.js": "../../../node_modules/moment/locale/fo.js", "./fr": "../../../node_modules/moment/locale/fr.js", "./fr-ca": "../../../node_modules/moment/locale/fr-ca.js", "./fr-ca.js": "../../../node_modules/moment/locale/fr-ca.js", "./fr-ch": "../../../node_modules/moment/locale/fr-ch.js", "./fr-ch.js": "../../../node_modules/moment/locale/fr-ch.js", "./fr.js": "../../../node_modules/moment/locale/fr.js", "./fy": "../../../node_modules/moment/locale/fy.js", "./fy.js": "../../../node_modules/moment/locale/fy.js", "./ga": "../../../node_modules/moment/locale/ga.js", "./ga.js": "../../../node_modules/moment/locale/ga.js", "./gd": "../../../node_modules/moment/locale/gd.js", "./gd.js": "../../../node_modules/moment/locale/gd.js", "./gl": "../../../node_modules/moment/locale/gl.js", "./gl.js": "../../../node_modules/moment/locale/gl.js", "./gom-deva": "../../../node_modules/moment/locale/gom-deva.js", "./gom-deva.js": "../../../node_modules/moment/locale/gom-deva.js", "./gom-latn": "../../../node_modules/moment/locale/gom-latn.js", "./gom-latn.js": "../../../node_modules/moment/locale/gom-latn.js", "./gu": "../../../node_modules/moment/locale/gu.js", "./gu.js": "../../../node_modules/moment/locale/gu.js", "./he": "../../../node_modules/moment/locale/he.js", "./he.js": "../../../node_modules/moment/locale/he.js", "./hi": "../../../node_modules/moment/locale/hi.js", "./hi.js": "../../../node_modules/moment/locale/hi.js", "./hr": "../../../node_modules/moment/locale/hr.js", "./hr.js": "../../../node_modules/moment/locale/hr.js", "./hu": "../../../node_modules/moment/locale/hu.js", "./hu.js": "../../../node_modules/moment/locale/hu.js", "./hy-am": "../../../node_modules/moment/locale/hy-am.js", "./hy-am.js": "../../../node_modules/moment/locale/hy-am.js", "./id": "../../../node_modules/moment/locale/id.js", "./id.js": "../../../node_modules/moment/locale/id.js", "./is": "../../../node_modules/moment/locale/is.js", "./is.js": "../../../node_modules/moment/locale/is.js", "./it": "../../../node_modules/moment/locale/it.js", "./it-ch": "../../../node_modules/moment/locale/it-ch.js", "./it-ch.js": "../../../node_modules/moment/locale/it-ch.js", "./it.js": "../../../node_modules/moment/locale/it.js", "./ja": "../../../node_modules/moment/locale/ja.js", "./ja.js": "../../../node_modules/moment/locale/ja.js", "./jv": "../../../node_modules/moment/locale/jv.js", "./jv.js": "../../../node_modules/moment/locale/jv.js", "./ka": "../../../node_modules/moment/locale/ka.js", "./ka.js": "../../../node_modules/moment/locale/ka.js", "./kk": "../../../node_modules/moment/locale/kk.js", "./kk.js": "../../../node_modules/moment/locale/kk.js", "./km": "../../../node_modules/moment/locale/km.js", "./km.js": "../../../node_modules/moment/locale/km.js", "./kn": "../../../node_modules/moment/locale/kn.js", "./kn.js": "../../../node_modules/moment/locale/kn.js", "./ko": "../../../node_modules/moment/locale/ko.js", "./ko.js": "../../../node_modules/moment/locale/ko.js", "./ku": "../../../node_modules/moment/locale/ku.js", "./ku-kmr": "../../../node_modules/moment/locale/ku-kmr.js", "./ku-kmr.js": "../../../node_modules/moment/locale/ku-kmr.js", "./ku.js": "../../../node_modules/moment/locale/ku.js", "./ky": "../../../node_modules/moment/locale/ky.js", "./ky.js": "../../../node_modules/moment/locale/ky.js", "./lb": "../../../node_modules/moment/locale/lb.js", "./lb.js": "../../../node_modules/moment/locale/lb.js", "./lo": "../../../node_modules/moment/locale/lo.js", "./lo.js": "../../../node_modules/moment/locale/lo.js", "./lt": "../../../node_modules/moment/locale/lt.js", "./lt.js": "../../../node_modules/moment/locale/lt.js", "./lv": "../../../node_modules/moment/locale/lv.js", "./lv.js": "../../../node_modules/moment/locale/lv.js", "./me": "../../../node_modules/moment/locale/me.js", "./me.js": "../../../node_modules/moment/locale/me.js", "./mi": "../../../node_modules/moment/locale/mi.js", "./mi.js": "../../../node_modules/moment/locale/mi.js", "./mk": "../../../node_modules/moment/locale/mk.js", "./mk.js": "../../../node_modules/moment/locale/mk.js", "./ml": "../../../node_modules/moment/locale/ml.js", "./ml.js": "../../../node_modules/moment/locale/ml.js", "./mn": "../../../node_modules/moment/locale/mn.js", "./mn.js": "../../../node_modules/moment/locale/mn.js", "./mr": "../../../node_modules/moment/locale/mr.js", "./mr.js": "../../../node_modules/moment/locale/mr.js", "./ms": "../../../node_modules/moment/locale/ms.js", "./ms-my": "../../../node_modules/moment/locale/ms-my.js", "./ms-my.js": "../../../node_modules/moment/locale/ms-my.js", "./ms.js": "../../../node_modules/moment/locale/ms.js", "./mt": "../../../node_modules/moment/locale/mt.js", "./mt.js": "../../../node_modules/moment/locale/mt.js", "./my": "../../../node_modules/moment/locale/my.js", "./my.js": "../../../node_modules/moment/locale/my.js", "./nb": "../../../node_modules/moment/locale/nb.js", "./nb.js": "../../../node_modules/moment/locale/nb.js", "./ne": "../../../node_modules/moment/locale/ne.js", "./ne.js": "../../../node_modules/moment/locale/ne.js", "./nl": "../../../node_modules/moment/locale/nl.js", "./nl-be": "../../../node_modules/moment/locale/nl-be.js", "./nl-be.js": "../../../node_modules/moment/locale/nl-be.js", "./nl.js": "../../../node_modules/moment/locale/nl.js", "./nn": "../../../node_modules/moment/locale/nn.js", "./nn.js": "../../../node_modules/moment/locale/nn.js", "./oc-lnc": "../../../node_modules/moment/locale/oc-lnc.js", "./oc-lnc.js": "../../../node_modules/moment/locale/oc-lnc.js", "./pa-in": "../../../node_modules/moment/locale/pa-in.js", "./pa-in.js": "../../../node_modules/moment/locale/pa-in.js", "./pl": "../../../node_modules/moment/locale/pl.js", "./pl.js": "../../../node_modules/moment/locale/pl.js", "./pt": "../../../node_modules/moment/locale/pt.js", "./pt-br": "../../../node_modules/moment/locale/pt-br.js", "./pt-br.js": "../../../node_modules/moment/locale/pt-br.js", "./pt.js": "../../../node_modules/moment/locale/pt.js", "./ro": "../../../node_modules/moment/locale/ro.js", "./ro.js": "../../../node_modules/moment/locale/ro.js", "./ru": "../../../node_modules/moment/locale/ru.js", "./ru.js": "../../../node_modules/moment/locale/ru.js", "./sd": "../../../node_modules/moment/locale/sd.js", "./sd.js": "../../../node_modules/moment/locale/sd.js", "./se": "../../../node_modules/moment/locale/se.js", "./se.js": "../../../node_modules/moment/locale/se.js", "./si": "../../../node_modules/moment/locale/si.js", "./si.js": "../../../node_modules/moment/locale/si.js", "./sk": "../../../node_modules/moment/locale/sk.js", "./sk.js": "../../../node_modules/moment/locale/sk.js", "./sl": "../../../node_modules/moment/locale/sl.js", "./sl.js": "../../../node_modules/moment/locale/sl.js", "./sq": "../../../node_modules/moment/locale/sq.js", "./sq.js": "../../../node_modules/moment/locale/sq.js", "./sr": "../../../node_modules/moment/locale/sr.js", "./sr-cyrl": "../../../node_modules/moment/locale/sr-cyrl.js", "./sr-cyrl.js": "../../../node_modules/moment/locale/sr-cyrl.js", "./sr.js": "../../../node_modules/moment/locale/sr.js", "./ss": "../../../node_modules/moment/locale/ss.js", "./ss.js": "../../../node_modules/moment/locale/ss.js", "./sv": "../../../node_modules/moment/locale/sv.js", "./sv.js": "../../../node_modules/moment/locale/sv.js", "./sw": "../../../node_modules/moment/locale/sw.js", "./sw.js": "../../../node_modules/moment/locale/sw.js", "./ta": "../../../node_modules/moment/locale/ta.js", "./ta.js": "../../../node_modules/moment/locale/ta.js", "./te": "../../../node_modules/moment/locale/te.js", "./te.js": "../../../node_modules/moment/locale/te.js", "./tet": "../../../node_modules/moment/locale/tet.js", "./tet.js": "../../../node_modules/moment/locale/tet.js", "./tg": "../../../node_modules/moment/locale/tg.js", "./tg.js": "../../../node_modules/moment/locale/tg.js", "./th": "../../../node_modules/moment/locale/th.js", "./th.js": "../../../node_modules/moment/locale/th.js", "./tk": "../../../node_modules/moment/locale/tk.js", "./tk.js": "../../../node_modules/moment/locale/tk.js", "./tl-ph": "../../../node_modules/moment/locale/tl-ph.js", "./tl-ph.js": "../../../node_modules/moment/locale/tl-ph.js", "./tlh": "../../../node_modules/moment/locale/tlh.js", "./tlh.js": "../../../node_modules/moment/locale/tlh.js", "./tr": "../../../node_modules/moment/locale/tr.js", "./tr.js": "../../../node_modules/moment/locale/tr.js", "./tzl": "../../../node_modules/moment/locale/tzl.js", "./tzl.js": "../../../node_modules/moment/locale/tzl.js", "./tzm": "../../../node_modules/moment/locale/tzm.js", "./tzm-latn": "../../../node_modules/moment/locale/tzm-latn.js", "./tzm-latn.js": "../../../node_modules/moment/locale/tzm-latn.js", "./tzm.js": "../../../node_modules/moment/locale/tzm.js", "./ug-cn": "../../../node_modules/moment/locale/ug-cn.js", "./ug-cn.js": "../../../node_modules/moment/locale/ug-cn.js", "./uk": "../../../node_modules/moment/locale/uk.js", "./uk.js": "../../../node_modules/moment/locale/uk.js", "./ur": "../../../node_modules/moment/locale/ur.js", "./ur.js": "../../../node_modules/moment/locale/ur.js", "./uz": "../../../node_modules/moment/locale/uz.js", "./uz-latn": "../../../node_modules/moment/locale/uz-latn.js", "./uz-latn.js": "../../../node_modules/moment/locale/uz-latn.js", "./uz.js": "../../../node_modules/moment/locale/uz.js", "./vi": "../../../node_modules/moment/locale/vi.js", "./vi.js": "../../../node_modules/moment/locale/vi.js", "./x-pseudo": "../../../node_modules/moment/locale/x-pseudo.js", "./x-pseudo.js": "../../../node_modules/moment/locale/x-pseudo.js", "./yo": "../../../node_modules/moment/locale/yo.js", "./yo.js": "../../../node_modules/moment/locale/yo.js", "./zh-cn": "../../../node_modules/moment/locale/zh-cn.js", "./zh-cn.js": "../../../node_modules/moment/locale/zh-cn.js", "./zh-hk": "../../../node_modules/moment/locale/zh-hk.js", "./zh-hk.js": "../../../node_modules/moment/locale/zh-hk.js", "./zh-mo": "../../../node_modules/moment/locale/zh-mo.js", "./zh-mo.js": "../../../node_modules/moment/locale/zh-mo.js", "./zh-tw": "../../../node_modules/moment/locale/zh-tw.js", "./zh-tw.js": "../../../node_modules/moment/locale/zh-tw.js" }; function webpackContext(req) { var id = webpackContextResolve(req); return __webpack_require__(id); } function webpackContextResolve(req) { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } return map[req]; } webpackContext.keys = function webpackContextKeys() { return Object.keys(map); }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; webpackContext.id = "../../../node_modules/moment/locale sync recursive ^\\.\\/.*$"; /***/ }), /***/ "./src/app.tsx": /*!*********************!*\ !*** ./src/app.tsx ***! \*********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router-dom/dist/index.js"); /* harmony import */ var _shared_routes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shared/routes */ "./src/shared/routes/index.tsx"); var App = function App() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.BrowserRouter, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_routes__WEBPACK_IMPORTED_MODULE_1__["default"], null)); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (App); /***/ }), /***/ "./src/index.css": /*!***********************!*\ !*** ./src/index.css ***! \***********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "../../../node_modules/style-loader/dist/runtime/styleDomAPI.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "../../../node_modules/style-loader/dist/runtime/insertBySelector.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "../../../node_modules/style-loader/dist/runtime/insertStyleElement.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "../../../node_modules/style-loader/dist/runtime/styleTagTransform.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./index.css */ "../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./src/index.css"); var options = {}; options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"], options); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); /***/ }), /***/ "./src/index.tsx": /*!***********************!*\ !*** ./src/index.tsx ***! \***********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ "../../../node_modules/react-dom/client.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app */ "./src/app.tsx"); /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index.css */ "./src/index.css"); /* harmony import */ var _shared_redux_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/redux/store */ "./src/shared/redux/store.ts"); // Import dependencies // Import application components and styles // Wait for DOM content to load document.addEventListener('DOMContentLoaded', function () { var rootElement = document.getElementById('root'); if (rootElement) { var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(rootElement); root.render(/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_redux__WEBPACK_IMPORTED_MODULE_5__.Provider, { store: _shared_redux_store__WEBPACK_IMPORTED_MODULE_4__.store }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_app__WEBPACK_IMPORTED_MODULE_2__["default"], null))); } else { console.error('Root element not found. Unable to render the application.'); } }); /***/ }), /***/ "./src/services/authentication/login/core/actions.ts": /*!***********************************************************!*\ !*** ./src/services/authentication/login/core/actions.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ loginTelegramUserAction: () => (/* binding */ loginTelegramUserAction), /* harmony export */ loginUserAction: () => (/* binding */ loginUserAction), /* harmony export */ registerTelegramUserAction: () => (/* binding */ registerTelegramUserAction), /* harmony export */ userAttendanceAction: () => (/* binding */ userAttendanceAction), /* harmony export */ verifyOTPAction: () => (/* binding */ verifyOTPAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/services/authentication/login/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services */ "./src/services/authentication/login/core/services.ts"); var loginUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.AUTHENTICATION_LOGIN, _services__WEBPACK_IMPORTED_MODULE_1__.loginUserService); var verifyOTPAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.AUTHENTICATION_VERIFY_OPT, _services__WEBPACK_IMPORTED_MODULE_1__.verifyOTPService); var loginTelegramUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.AUTHENTICATION_LOGIN_TELEGRAM, _services__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserService); var registerTelegramUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.AUTHENTICATION_REGISTER, _services__WEBPACK_IMPORTED_MODULE_1__.registerTelegramUserService); var userAttendanceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.USER_ATTENDANCE, _services__WEBPACK_IMPORTED_MODULE_1__.userAttendanceService); /***/ }), /***/ "./src/services/authentication/login/core/constants.ts": /*!*************************************************************!*\ !*** ./src/services/authentication/login/core/constants.ts ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ AUTH: () => (/* binding */ AUTH), /* harmony export */ AUTHENTICATION_LOGIN: () => (/* binding */ AUTHENTICATION_LOGIN), /* harmony export */ AUTHENTICATION_LOGIN_TELEGRAM: () => (/* binding */ AUTHENTICATION_LOGIN_TELEGRAM), /* harmony export */ AUTHENTICATION_REGISTER: () => (/* binding */ AUTHENTICATION_REGISTER), /* harmony export */ AUTHENTICATION_VERIFY_OPT: () => (/* binding */ AUTHENTICATION_VERIFY_OPT), /* harmony export */ USER_ATTENDANCE: () => (/* binding */ USER_ATTENDANCE) /* harmony export */ }); var AUTH = 'auth'; var AUTHENTICATION_LOGIN = '/auth/logins'; var AUTHENTICATION_LOGIN_TELEGRAM = '/auth/login'; var AUTHENTICATION_REGISTER = '/auth/register'; var AUTHENTICATION_VERIFY_OPT = 'api/v1/verify'; var USER_ATTENDANCE = '/user-attendances'; /***/ }), /***/ "./src/services/authentication/login/core/reducer.ts": /*!***********************************************************!*\ !*** ./src/services/authentication/login/core/reducer.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ authSlice: () => (/* binding */ authSlice), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ logout: () => (/* binding */ logout), /* harmony export */ setEmail: () => (/* binding */ setEmail), /* harmony export */ setIsLoginPending: () => (/* binding */ setIsLoginPending), /* harmony export */ setLoginErrorMessage: () => (/* binding */ setLoginErrorMessage), /* harmony export */ setToken: () => (/* binding */ setToken), /* harmony export */ setUser: () => (/* binding */ setUser) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions */ "./src/services/authentication/login/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/authentication/login/core/constants.ts"); /* eslint-disable no-console */ // Safely retrieve session data var getSessionItem = function getSessionItem(key) { try { var item = sessionStorage.getItem(key); return item ? JSON.parse(item) : null; } catch (error) { console.error("Error retrieving session item (".concat(key, "):"), error); return null; } }; var getSessionToken = function getSessionToken(key) { try { var item = sessionStorage.getItem(key); return item ? item : null; } catch (error) { console.error("Error retrieving session item (".concat(key, "):"), error); return null; } }; var initialState = { currentUser: getSessionItem('currentUser'), isLoginPending: false, pagination: { currentPage: 1, itemsPerPage: 10, totalItems: 100 }, loginErrorMessage: '', handleRegiterTelegram: false, isOtpVerificationPending: false, otpVerificationErrorMessage: '', accessToken: getSessionToken('token'), email: '' }; var authSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_1__.AUTH, initialState: initialState, reducers: { logout: function logout(state) { state.currentUser = null; sessionStorage.clear(); }, setToken: function setToken(state, action) { state.accessToken = action.payload; sessionStorage.setItem('token', JSON.stringify(action.payload)); }, setUser: function setUser(state, action) { state.currentUser = action.payload; sessionStorage.setItem('currentUser', JSON.stringify(action.payload)); }, setIsLoginPending: function setIsLoginPending(state, action) { state.isLoginPending = action.payload; }, setLoginErrorMessage: function setLoginErrorMessage(state, action) { state.loginErrorMessage = action.payload; }, setEmail: function setEmail(state, action) { state.email = action.payload; } }, extraReducers: function extraReducers(builder) { builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.loginUserAction.pending, function (state) { state.isLoginPending = true; state.loginErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.loginUserAction.rejected, function (state, action) { state.isLoginPending = false; state.loginErrorMessage = JSON.stringify(action === null || action === void 0 ? void 0 : action.payload.data); }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.loginUserAction.fulfilled, function (state, action) { var payload = action.payload; state.isLoginPending = false; if (['User not found', 'Invalid credentials'].includes(payload.data)) { sessionStorage.removeItem('currentUser'); sessionStorage.removeItem('token'); state.currentUser = null; state.accessToken = null; } else { state.currentUser = payload.user; state.accessToken = payload.access_token; sessionStorage.setItem('currentUser', JSON.stringify(payload.user)); sessionStorage.setItem('token', payload.access_token); } state.loginErrorMessage = JSON.stringify(payload.data); }) // handle telegram login .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.loginTelegramUserAction.pending, function (state) { state.isLoginPending = true; state.loginErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.loginTelegramUserAction.rejected, function (state, action) { state.isLoginPending = false; state.loginErrorMessage = JSON.stringify(action === null || action === void 0 ? void 0 : action.payload.data); state.handleRegiterTelegram = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.loginTelegramUserAction.fulfilled, function (state, action) { var payload = action.payload; state.isLoginPending = false; if (['User not found', 'Invalid credentials'].includes(payload.data)) { sessionStorage.removeItem('currentUser'); sessionStorage.removeItem('token'); state.currentUser = null; state.accessToken = null; } else { state.currentUser = payload.user; state.accessToken = payload.access_token; sessionStorage.setItem('currentUser', JSON.stringify(payload.user)); sessionStorage.setItem('token', payload.access_token); } state.loginErrorMessage = JSON.stringify(payload.data); }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.verifyOTPAction.pending, function (state) { state.isOtpVerificationPending = true; state.otpVerificationErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.verifyOTPAction.fulfilled, function (state) { state.isOtpVerificationPending = false; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.verifyOTPAction.rejected, function (state, action) { state.isOtpVerificationPending = false; state.otpVerificationErrorMessage = action.payload ? JSON.stringify(action.payload) : 'OTP verification failed. Please try again.'; }); } }); var _authSlice$actions = authSlice.actions, logout = _authSlice$actions.logout, setToken = _authSlice$actions.setToken, setUser = _authSlice$actions.setUser, setLoginErrorMessage = _authSlice$actions.setLoginErrorMessage, setIsLoginPending = _authSlice$actions.setIsLoginPending, setEmail = _authSlice$actions.setEmail; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (authSlice.reducer); /***/ }), /***/ "./src/services/authentication/login/core/services.ts": /*!************************************************************!*\ !*** ./src/services/authentication/login/core/services.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ loginTelegramUserService: () => (/* binding */ loginTelegramUserService), /* harmony export */ loginUserService: () => (/* binding */ loginUserService), /* harmony export */ registerTelegramUserService: () => (/* binding */ registerTelegramUserService), /* harmony export */ userAttendanceService: () => (/* binding */ userAttendanceService), /* harmony export */ verifyOTPService: () => (/* binding */ verifyOTPService) /* 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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); }); }; } // export const loginUserService = async (body: LoginFormValues): Promise => { // try { // const response = await postWithConfig(URL.LOGIN, { // email: body.email, // password: body.password, // }); // return response; // } catch (error) { // console.error('Login request failed:', error); // throw error; // Ensure this error propagates back to the thunk // } // }; var loginUserService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(body) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: return _context.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LOGIN, { email: body.email, password: body.password, grad_type: 'password' })); } }, _callee); })); return function loginUserService(_x) { return _ref.apply(this, arguments); }; }(); var loginTelegramUserService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(body) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: return _context2.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LOGIN_TELEGRAM, { telegram_id: body.telegram_id, username: body.username, grad_type: 'telegram' })); } }, _callee2); })); return function loginTelegramUserService(_x2) { return _ref2.apply(this, arguments); }; }(); var registerTelegramUserService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(body) { 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)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SIGNUP, body)); } }, _callee3); })); return function registerTelegramUserService(_x3) { return _ref3.apply(this, arguments); }; }(); var userAttendanceService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(body) { 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__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER_ATTENDANCE, body)); } }, _callee4); })); return function userAttendanceService(_x4) { return _ref4.apply(this, arguments); }; }(); var verifyOTPService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(body) { var response, _t; return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.p = 0; console.log("Sending OTP verification with body: ".concat(JSON.stringify(body))); _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.VERIFY_TOP, { email: body.email, code: body.otpCode }); case 1: response = _context5.v; console.log("OTP verification response: ".concat(JSON.stringify(response))); return _context5.a(2, response); case 2: _context5.p = 2; _t = _context5.v; console.error('OTP verification failed:', _t); throw _t; case 3: return _context5.a(2); } }, _callee5, null, [[0, 2]]); })); return function verifyOTPService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/authentication/login/pages/attendance_verification.tsx": /*!*****************************************************************************!*\ !*** ./src/services/authentication/login/pages/attendance_verification.tsx ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/actions */ "./src/services/authentication/login/core/actions.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); /* harmony import */ var _user_core_services__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../user/core/services */ "./src/services/user/core/services.ts"); /* harmony import */ var _volunteer_core_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../volunteer/core/actions */ "./src/services/volunteer/core/actions.ts"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_5__); 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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); }); }; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var TELEGRAM_BOT_USERNAME = "volunteerforcambodiabot"; var TELEGRAM_AUTH_API = "https://volunteerapi.joonaakhub.com/auth/callback"; var TELEGRAM_ALLOWED_ORIGINS = ["telegram.org", "web.telegram.org"]; // ✅ Restrict allowed origins var TelegramLoginAttendance = function TelegramLoginAttendance() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_6__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_7__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_6__.useSelector)(function (state) { return state.auth; }), loginErrorMessage = _useSelector.loginErrorMessage, currentUser = _useSelector.currentUser; var _message$useMessage = antd_es_message__WEBPACK_IMPORTED_MODULE_8__["default"].useMessage(), _message$useMessage2 = _slicedToArray(_message$useMessage, 2), messageApi = _message$useMessage2[0], contextHolder = _message$useMessage2[1]; var telegramWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null); var allVolunteers = null; var fetchTelegramUser = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(authData) { var response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.p = 0; if (authData) { _context.n = 1; break; } return _context.a(2); case 1: _context.n = 2; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_2__.getWithConfig)("".concat(TELEGRAM_AUTH_API, "?").concat(authData)); case 2: response = _context.v; if (!(!response || !response.user)) { _context.n = 3; break; } throw new Error("Invalid Telegram login response."); case 3: return _context.a(2, response.user); case 4: _context.p = 4; _t = _context.v; return _context.a(2, null); } }, _callee, null, [[0, 4]]); })); return function fetchTelegramUser(_x) { return _ref.apply(this, arguments); }; }(); var handleTelegramLogin = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(event) { var eventOrigin, data, user, loginBody, existingUser, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.p = 0; eventOrigin = new URL(event.origin).hostname; // ✅ Strictly check event origin if (TELEGRAM_ALLOWED_ORIGINS.some(function (domain) { return eventOrigin.endsWith(domain); })) { _context2.n = 1; break; } console.warn("Unauthorized event origin:", eventOrigin); return _context2.a(2); case 1: data = typeof event.data === "string" ? JSON.parse(event.data) : event.data; console.log('data.auth_data :::', data === null || data === void 0 ? void 0 : data.auth_data); if (data !== null && data !== void 0 && data.auth_data) { _context2.n = 2; break; } return _context2.a(2); case 2: if (!sessionStorage.getItem("telegramUser")) { _context2.n = 3; break; } return _context2.a(2); case 3: _context2.n = 4; return fetchTelegramUser(new URLSearchParams(data.auth_data).toString()); case 4: user = _context2.v; if (user) { _context2.n = 5; break; } return _context2.a(2); case 5: ; // ✅ Encrypt user data before saving to sessionStorage sessionStorage.setItem("telegramUser", JSON.stringify(user)); loginBody = { telegram_id: user.id, username: "".concat(user.id, "-").concat(user.username || user.first_name || user.last_name) }; _context2.n = 6; return (0,_user_core_services__WEBPACK_IMPORTED_MODULE_3__.userTelegramService)(user.id); case 6: existingUser = _context2.v; if (existingUser) { dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction)(loginBody)); } else { // user not found todo } _context2.n = 8; break; case 7: _context2.p = 7; _t2 = _context2.v; console.log(_t2); messageApi.error("Failed to authenticate with Telegram."); case 8: return _context2.a(2); } }, _callee2, null, [[0, 7]]); })); return function (_x2) { return _ref2.apply(this, arguments); }; }(), [dispatch, messageApi]); /** ✅ Handle authentication errors */ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (loginErrorMessage) { messageApi.error(loginErrorMessage); } }, [loginErrorMessage, messageApi]); /** ✅ Handle user redirection */ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (!currentUser) return; // Mark user attendance var attendanceBody = { user_id: currentUser.id, meeting_note: "\uD83D\uDCE2 \u179F\u17BC\u1798\u17A2\u1794\u17A2\u179A\u179F\u17B6\u1791\u179A \u1793\u17B7\u1784\u179F\u17BC\u1798\u17A2\u1789\u17D2\u1787\u17BE\u1789\u1785\u17BC\u179B\u179A\u17BD\u1798\u179F\u17B7\u1780\u17D2\u1781\u17B6\u179F\u17B6\u179B\u17B6\u178F\u1798\u17D2\u179A\u1784\u17CB\u1791\u17B7\u179F \u1796\u17D0\u178F\u17CC\u1798\u17B6\u1793\u179B\u1798\u17D2\u17A2\u17B7\u178F \u1798\u17BB\u1793\u1796\u17C1\u179B\u1785\u17C1\u1789\u178A\u17C6\u178E\u17BE\u179A\n(Orientation Workshop) \u179A\u1799\u17C8\u1796\u17C1\u179B\u1798\u17BD\u1799\u1796\u17D2\u179A\u17B9\u1780\n\n\uD83D\uDCDD **\u1782\u178E\u17C8\u1780\u1798\u17D2\u1798\u1780\u17B6\u179A\u179F\u17BC\u1798\u17A2\u1789\u17D2\u1787\u17BE\u1789\u179B\u17C4\u1780\u17A2\u17D2\u1793\u1780\u1785\u17BC\u179B\u179A\u17BD\u1798\u179F\u17B7\u1780\u17D2\u1781\u17B6\u179F\u17B6\u179B\u17B6\u178F\u1798\u17D2\u179A\u1784\u17CB\u1791\u17B7\u179F \u1793\u17B7\u1784\u1795\u17D2\u178F\u179B\u17CB\u1787\u17BC\u1793\u1793\u17BC\u179C\u1796\u17D0\u178F\u17CC\u1798\u17B6\u1793\u179B\u1798\u17D2\u17A2\u17B7\u178F \n\u178A\u17BE\u1798\u17D2\u1794\u17B8\u179A\u17C0\u1794\u1785\u17C6\u1781\u17D2\u179B\u17BD\u1793\u1787\u17B6\u17A2\u17D2\u1793\u1780\u179F\u17D2\u1798\u17D0\u1782\u17D2\u179A\u1785\u17B7\u178F\u17D2\u178F\u1780\u17D2\u1793\u17BB\u1784 \u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD\u17A2\u1784\u17D2\u1782\u179A\u179F\u1784\u17D2\u1782\u17D2\u179A\u17B6\u1793\u17D2\u178F \u17E2\u17E0\u17E2\u17E5\n\n\uD83D\uDCC5 \u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\u17D6 \u1790\u17D2\u1784\u17C3\u179F\u17C5\u179A\u17CD \u1791\u17B8 \u17E5 \u1781\u17C2\u1798\u17C1\u179F\u17B6 \u1786\u17D2\u1793\u17B6\u17C6\u17E2\u17E0\u17E2\u17E5\n\u23F0 \u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u17D6 \u17E7:\u17E3\u17E0 \u1796\u17D2\u179A\u17B9\u1780\n\uD83D\uDCCD \u1791\u17B8\u178F\u17B6\u17C6\u1784\u17D6 \u179F\u17B6\u179B\u1794\u17D2\u179A\u1787\u17BB\u17C6\u179F\u17B6\u179B\u17B6\u178F\u17B7\u1785\u178E\u17BC(ITC)\n\uD83D\uDC55 \u179F\u1798\u17D2\u179B\u17C0\u1780\u1794\u17C6\u1796\u17B6\u1780\u17CB\u17D6 \u179F\u1798\u179A\u1798\u17D2\u1799\n\n\uD83D\uDCDE \u179F\u17BC\u1798\u1794\u1789\u17D2\u1787\u17B6\u1780\u17CB\u179C\u178F\u17D2\u178F\u1798\u17B6\u1793\u1791\u17C5\u1780\u17D2\u179A\u17BB\u1798\u1780\u17B6\u179A\u1784\u17B6\u179A\u179A\u1794\u179F\u17CB\u1781\u17D2\u179B\u17BD\u1793", meeting_time: new Date().toISOString() // Use ISO string for consistent date format }; dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_1__.userAttendanceAction)(attendanceBody)); // Mark attendance // Show success alert using SweetAlert2 // Introducing a delay before showing the success alert setTimeout(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_5___default().fire({ title: "Success!", text: "Attendance has been marked successfully.", icon: "success", confirmButtonText: "OK" }).then(function (result) { if (result.isConfirmed) { // Navigate to the volunteers page after the alert navigate("/volunteers"); } }); }, 1000); // Delay for 1 second (1000 ms) var fetchVolunteersData = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() { var _response$payload, response, volunteersCount, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: _context3.p = 0; _context3.n = 1; return dispatch((0,_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_4__.fetchVolunteers)({ page: 1, pageSize: 1 })); case 1: response = _context3.v; volunteersCount = (response === null || response === void 0 || (_response$payload = response.payload) === null || _response$payload === void 0 || (_response$payload = _response$payload.meta) === null || _response$payload === void 0 ? void 0 : _response$payload.total) || 0; // Delay for 3 seconds before redirecting setTimeout(function () { if (volunteersCount > 0) { navigate(currentUser.role !== "user" ? "/" : "/volunteers", { replace: true }); } else { navigate(currentUser.role !== "user" ? "/" : "/register", { replace: true }); } }, 3000); // 3-second delay (3000 ms) _context3.n = 3; break; case 2: _context3.p = 2; _t3 = _context3.v; console.error("Error fetching volunteers:", _t3); case 3: return _context3.a(2); } }, _callee3, null, [[0, 2]]); })); return function fetchVolunteersData() { return _ref3.apply(this, arguments); }; }(); fetchVolunteersData(); }, [currentUser, navigate, dispatch]); // ✅ Ensure dependencies are correct // ✅ Load session on page refresh & set up Telegram login button (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { var savedUser = sessionStorage.getItem("telegramUser"); if (savedUser && !currentUser) { dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction)(JSON.parse(savedUser))); } window.addEventListener("message", handleTelegramLogin); var scriptElement = document.createElement("script"); scriptElement.src = "https://telegram.org/js/telegram-widget.js?22"; scriptElement.setAttribute("data-telegram-login", TELEGRAM_BOT_USERNAME); scriptElement.setAttribute("data-size", "large"); scriptElement.setAttribute("data-request-access", "write"); scriptElement.async = true; if (telegramWrapperRef.current) { telegramWrapperRef.current.innerHTML = ""; telegramWrapperRef.current.appendChild(scriptElement); } return function () { window.removeEventListener("message", handleTelegramLogin); }; }, [handleTelegramLogin, dispatch, currentUser]); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "container" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "left-section" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "right-section" }, contextHolder, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_9__["default"], { className: "card", style: { maxWidth: 400 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "Login with Telegram"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: telegramWrapperRef })))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TelegramLoginAttendance); /***/ }), /***/ "./src/services/authentication/login/pages/login.tsx": /*!***********************************************************!*\ !*** ./src/services/authentication/login/pages/login.tsx ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_11__); /* harmony import */ var antd_es_checkbox__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/checkbox */ "../../../node_modules/antd/lib/checkbox/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/LockOutlined.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/actions */ "./src/services/authentication/login/core/actions.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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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); }); }; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /* eslint-disable no-console */ // import { useDispatch } from 'react-redux'; var LoginForm = function LoginForm() { var _message$useMessage = antd_es_message__WEBPACK_IMPORTED_MODULE_2__["default"].useMessage(), _message$useMessage2 = _slicedToArray(_message$useMessage, 2), messageApi = _message$useMessage2[0], contextHolder = _message$useMessage2[1]; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(function (state) { return state.auth; }), isLoginPending = _useSelector.isLoginPending, loginErrorMessage = _useSelector.loginErrorMessage, currentUser = _useSelector.currentUser; var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_4__.useNavigate)(); var onFinish = function onFinish(values) { _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_1__.loginUserAction)(values)); case 1: return _context.a(2); } }, _callee); }))(); }; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (loginErrorMessage) { console.log("loginErrorMessage=> ".concat(loginErrorMessage)); messageApi.open({ type: 'error', content: loginErrorMessage }); } }, [loginErrorMessage, isLoginPending]); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (currentUser) { navigate('/'); } }, [currentUser, navigate]); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { display: 'flex', justifyContent: 'center', alignItems: 'center', height: '60vh' // Fill the full height of the viewport } }, contextHolder, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_5__["default"], { style: { maxWidth: 400, width: '100%' } }, ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { style: { textAlign: 'center' } }, "Login"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_6__["default"], { name: "normal_login", className: "login-form", initialValues: { remember: true }, onFinish: onFinish }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_6__["default"].Item, { name: "email", rules: [{ required: true, message: 'Please input your email!' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_7__["default"], { prefix: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], { className: "site-form-item-icon" }), placeholder: "E-mail" })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_6__["default"].Item, { name: "password", rules: [{ required: true, message: 'Please input your Password!' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_7__["default"], { prefix: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], { className: "site-form-item-icon" }), type: "password", placeholder: "Password" })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_6__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_6__["default"].Item, { name: "remember", valuePropName: "checked", noStyle: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_checkbox__WEBPACK_IMPORTED_MODULE_10__["default"], null, "Remember me"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_6__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_11___default()), { block: true, type: "primary", htmlType: "submit", className: "login-form-button", loading: isLoginPending }, "Log in"))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoginForm); /***/ }), /***/ "./src/services/authentication/login/pages/login_telegram.tsx": /*!********************************************************************!*\ !*** ./src/services/authentication/login/pages/login_telegram.tsx ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/actions */ "./src/services/authentication/login/core/actions.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); /* harmony import */ var _user_core_services__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../user/core/services */ "./src/services/user/core/services.ts"); /* harmony import */ var _volunteer_core_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../volunteer/core/actions */ "./src/services/volunteer/core/actions.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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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); }); }; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var TELEGRAM_BOT_USERNAME = "volunteerforcambodiabot"; var TELEGRAM_AUTH_API = "https://volunteerapi.joonaakhub.com/auth/callback"; var TELEGRAM_ALLOWED_ORIGINS = ["telegram.org", "web.telegram.org"]; // ✅ Restrict allowed origins var TelegramLoginForm = function TelegramLoginForm() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_6__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(function (state) { return state.auth; }), loginErrorMessage = _useSelector.loginErrorMessage, currentUser = _useSelector.currentUser; var _message$useMessage = antd_es_message__WEBPACK_IMPORTED_MODULE_7__["default"].useMessage(), _message$useMessage2 = _slicedToArray(_message$useMessage, 2), messageApi = _message$useMessage2[0], contextHolder = _message$useMessage2[1]; var telegramWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null); var allVolunteers = null; var fetchTelegramUser = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(authData) { var response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.p = 0; if (authData) { _context.n = 1; break; } return _context.a(2); case 1: _context.n = 2; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_2__.getWithConfig)("".concat(TELEGRAM_AUTH_API, "?").concat(authData)); case 2: response = _context.v; if (!(!response || !response.user)) { _context.n = 3; break; } throw new Error("Invalid Telegram login response."); case 3: return _context.a(2, response.user); case 4: _context.p = 4; _t = _context.v; return _context.a(2, null); } }, _callee, null, [[0, 4]]); })); return function fetchTelegramUser(_x) { return _ref.apply(this, arguments); }; }(); var handleTelegramLogin = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(event) { var eventOrigin, data, user, loginBody, registerBody, existingUser, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.p = 0; eventOrigin = new URL(event.origin).hostname; // ✅ Strictly check event origin if (TELEGRAM_ALLOWED_ORIGINS.some(function (domain) { return eventOrigin.endsWith(domain); })) { _context2.n = 1; break; } console.warn("Unauthorized event origin:", eventOrigin); return _context2.a(2); case 1: data = typeof event.data === "string" ? JSON.parse(event.data) : event.data; console.log('data.auth_data :::', data === null || data === void 0 ? void 0 : data.auth_data); if (data !== null && data !== void 0 && data.auth_data) { _context2.n = 2; break; } return _context2.a(2); case 2: if (!sessionStorage.getItem("telegramUser")) { _context2.n = 3; break; } return _context2.a(2); case 3: _context2.n = 4; return fetchTelegramUser(new URLSearchParams(data.auth_data).toString()); case 4: user = _context2.v; if (user) { _context2.n = 5; break; } return _context2.a(2); case 5: ; // ✅ Encrypt user data before saving to sessionStorage sessionStorage.setItem("telegramUser", JSON.stringify(user)); loginBody = { telegram_id: user.id, username: "".concat(user.id, "-").concat(user.username || user.first_name || user.last_name) }; registerBody = { first_name: user.first_name || "", last_name: user.last_name || "", username: "".concat(user.id, "-").concat(user.username || user.first_name || user.last_name), telegram_id: user.id, photo_url: user.photo_url || "", role: "user", grad_type: "telegram" }; _context2.n = 6; return (0,_user_core_services__WEBPACK_IMPORTED_MODULE_3__.userTelegramService)(user.id); case 6: existingUser = _context2.v; if (!existingUser) { _context2.n = 7; break; } dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction)(loginBody)); _context2.n = 9; break; case 7: _context2.n = 8; return dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_1__.registerTelegramUserAction)(registerBody)); case 8: dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction)(loginBody)); case 9: _context2.n = 11; break; case 10: _context2.p = 10; _t2 = _context2.v; console.log(_t2); messageApi.error("Failed to authenticate with Telegram."); case 11: return _context2.a(2); } }, _callee2, null, [[0, 10]]); })); return function (_x2) { return _ref2.apply(this, arguments); }; }(), [dispatch, messageApi]); /** ✅ Handle authentication errors */ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (loginErrorMessage) { messageApi.error(loginErrorMessage); } }, [loginErrorMessage, messageApi]); /** ✅ Handle user redirection */ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (!currentUser) return; var fetchData = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() { var _allVolunteers, _allVolunteers2, _allVolunteers3, _allVolunteers4, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: _context3.p = 0; _context3.n = 1; return dispatch((0,_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_4__.fetchVolunteers)({ page: 1, pageSize: 1 })); case 1: allVolunteers = _context3.v; console.log('allVolunteers : ', allVolunteers); console.log('currentUser: ', currentUser); console.log(' allVolunteers && allVolunteers?.meta?.total ', allVolunteers && ((_allVolunteers = allVolunteers) === null || _allVolunteers === void 0 || (_allVolunteers = _allVolunteers.meta) === null || _allVolunteers === void 0 ? void 0 : _allVolunteers.total)); console.log(' allVolunteers?.meta?.total', (_allVolunteers2 = allVolunteers) === null || _allVolunteers2 === void 0 || (_allVolunteers2 = _allVolunteers2.payload.meta) === null || _allVolunteers2 === void 0 ? void 0 : _allVolunteers2.total); console.log(' allVolunteers?.meta?.total', (_allVolunteers3 = allVolunteers) === null || _allVolunteers3 === void 0 || (_allVolunteers3 = _allVolunteers3.payload.meta) === null || _allVolunteers3 === void 0 ? void 0 : _allVolunteers3.total); if (allVolunteers && ((_allVolunteers4 = allVolunteers) === null || _allVolunteers4 === void 0 || (_allVolunteers4 = _allVolunteers4.payload.meta) === null || _allVolunteers4 === void 0 ? void 0 : _allVolunteers4.total) > 0) { navigate(currentUser.role !== "user" ? "/" : "/volunteers", { replace: true }); } else { navigate(currentUser.role !== "user" ? "/" : "/register", { replace: true }); } _context3.n = 3; break; case 2: _context3.p = 2; _t3 = _context3.v; console.error("Error fetching volunteers:", _t3); case 3: return _context3.a(2); } }, _callee3, null, [[0, 2]]); })); return function fetchData() { return _ref3.apply(this, arguments); }; }(); fetchData(); }, [currentUser, navigate, dispatch]); // ✅ Ensure dependencies are correct // ✅ Load session on page refresh & set up Telegram login button (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { var savedUser = sessionStorage.getItem("telegramUser"); if (savedUser && !currentUser) { dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction)(JSON.parse(savedUser))); } window.addEventListener("message", handleTelegramLogin); var scriptElement = document.createElement("script"); scriptElement.src = "https://telegram.org/js/telegram-widget.js?22"; scriptElement.setAttribute("data-telegram-login", TELEGRAM_BOT_USERNAME); scriptElement.setAttribute("data-size", "large"); scriptElement.setAttribute("data-request-access", "write"); scriptElement.async = true; if (telegramWrapperRef.current) { telegramWrapperRef.current.innerHTML = ""; telegramWrapperRef.current.appendChild(scriptElement); } return function () { window.removeEventListener("message", handleTelegramLogin); }; }, [handleTelegramLogin, dispatch, currentUser]); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "container" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "left-section" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "right-section" }, contextHolder, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_8__["default"], { className: "card", style: { maxWidth: 400 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "Login with Telegram"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: telegramWrapperRef })))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TelegramLoginForm); /***/ }), /***/ "./src/services/authentication/login/pages/qrcode.tsx": /*!************************************************************!*\ !*** ./src/services/authentication/login/pages/qrcode.tsx ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var qrcode_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! qrcode.react */ "../../../node_modules/qrcode.react/lib/esm/index.js"); 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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); }); }; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var VolunteerAttendancePage = function VolunteerAttendancePage() { var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), _useState2 = _slicedToArray(_useState, 2), volunteerId = _useState2[0], setVolunteerId = _useState2[1]; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { // Here you would fetch or create a unique volunteer ID or meeting ID // For example, let's assume `volunteerId` is dynamically assigned for each session. var fetchVolunteerId = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: // This can be an API call or a logic to generate the unique meeting ID setVolunteerId("unique-volunteer-id-123"); // Example volunteer ID case 1: return _context.a(2); } }, _callee); })); return function fetchVolunteerId() { return _ref.apply(this, arguments); }; }(); fetchVolunteerId(); }, []); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "attendance-page" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "Volunteer Attendance"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Scan the QR code to check-in for your meeting."), volunteerId && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(qrcode_react__WEBPACK_IMPORTED_MODULE_1__.QRCodeCanvas, { value: "https://volunteerforcambodia.com/attendance" // This link should redirect to a page for Telegram login. , size: 256 })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerAttendancePage); /***/ }), /***/ "./src/services/disability_type/core/actions.ts": /*!******************************************************!*\ !*** ./src/services/disability_type/core/actions.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createDisabilityTypeAction: () => (/* binding */ createDisabilityTypeAction), /* harmony export */ deleteDisabilityTypeAction: () => (/* binding */ deleteDisabilityTypeAction), /* harmony export */ disabilityTypeDetailAction: () => (/* binding */ disabilityTypeDetailAction), /* harmony export */ fetchDisabilityTypes: () => (/* binding */ fetchDisabilityTypes), /* harmony export */ updateDisabilityTypeAction: () => (/* binding */ updateDisabilityTypeAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/services/disability_type/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services */ "./src/services/disability_type/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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 fetchDisabilityTypes = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.DISABILITY_TYPES, _services__WEBPACK_IMPORTED_MODULE_1__.disabilityTypesService); var disabilityTypeDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.DISABILITY_TYPE, _services__WEBPACK_IMPORTED_MODULE_1__.disabilityTypeDetailService); var createDisabilityTypeAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.DISABILITY_TYPE_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.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.createDisabilityTypeService)(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 disability type")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateDisabilityTypeAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.DISABILITY_TYPE_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.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.updateDisabilityTypeService)(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 disability type")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteDisabilityTypeAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.DISABILITY_TYPE_DELETE, _services__WEBPACK_IMPORTED_MODULE_1__.deleteDisabilityTypeService); /***/ }), /***/ "./src/services/disability_type/core/constants.ts": /*!********************************************************!*\ !*** ./src/services/disability_type/core/constants.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ DISABILITY_TYPE: () => (/* binding */ DISABILITY_TYPE), /* harmony export */ DISABILITY_TYPES: () => (/* binding */ DISABILITY_TYPES), /* harmony export */ DISABILITY_TYPE_CREATE: () => (/* binding */ DISABILITY_TYPE_CREATE), /* harmony export */ DISABILITY_TYPE_DELETE: () => (/* binding */ DISABILITY_TYPE_DELETE), /* harmony export */ DISABILITY_TYPE_UPDATE: () => (/* binding */ DISABILITY_TYPE_UPDATE) /* harmony export */ }); var DISABILITY_TYPES = 'disability-types/fetchAll'; var DISABILITY_TYPE = 'disability-types/fetchByID'; var DISABILITY_TYPE_CREATE = 'disability-types/create'; var DISABILITY_TYPE_UPDATE = 'disability-types/update'; var DISABILITY_TYPE_DELETE = 'disability-types/delete'; /***/ }), /***/ "./src/services/disability_type/core/reducer.ts": /*!******************************************************!*\ !*** ./src/services/disability_type/core/reducer.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ disabilityTypeSlice: () => (/* binding */ disabilityTypeSlice), /* harmony export */ setDisabilityType: () => (/* binding */ setDisabilityType), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions */ "./src/services/disability_type/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/disability_type/core/constants.ts"); /* eslint-disable no-console */ var initialState = { disabilityTypes: [], disabilityType: null, disabilityTypesPending: false, disabilityTypeDetailPending: false, disabilityTypeCreatePending: false, disabilityTypeUpdatePending: false, disabilityTypeDeletePending: false, registerErrorMessage: '' }; var disabilityTypeSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPE, initialState: initialState, reducers: { // Sets the current disabilityType setDisabilityType: function setDisabilityType(state, action) { state.disabilityType = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle disability type .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchDisabilityTypes.pending, function (state) { state.disabilityTypesPending = true; state.registerErrorMessage = ''; }) // Handles rejected disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchDisabilityTypes.rejected, function (state, action) { state.disabilityTypesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch disability types.'; }) // Handles fulfilled disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchDisabilityTypes.fulfilled, function (state, action) { var payload = action.payload; state.disabilityTypes = payload; state.disabilityTypesPending = false; state.registerErrorMessage = ''; }) // handle disability type detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.disabilityTypeDetailAction.pending, function (state) { state.disabilityTypeDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.disabilityTypeDetailAction.rejected, function (state, action) { state.disabilityTypeDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch disability types.'; }) // Handles fulfilled disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.disabilityTypeDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.disabilityType = payload; state.disabilityTypeDetailPending = false; state.registerErrorMessage = ''; }) // handle disabilityType create .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createDisabilityTypeAction.pending, function (state) { state.disabilityTypeUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createDisabilityTypeAction.rejected, function (state, action) { state.disabilityTypeUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create disability types.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createDisabilityTypeAction.fulfilled, function (state, action) { state.disabilityType = action.payload; state.disabilityTypeUpdatePending = false; state.registerErrorMessage = ''; }) // handle disabilityType update .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateDisabilityTypeAction.pending, function (state) { state.disabilityTypeUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateDisabilityTypeAction.rejected, function (state, action) { state.disabilityTypeUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update disability types.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateDisabilityTypeAction.fulfilled, function (state, action) { state.disabilityType = action.payload; state.disabilityTypeUpdatePending = false; state.registerErrorMessage = ''; }) // handle disabilityType delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteDisabilityTypeAction.pending, function (state) { state.disabilityTypeUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteDisabilityTypeAction.rejected, function (state, action) { state.disabilityTypeUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete disability types.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteDisabilityTypeAction.fulfilled, function (state, action) { state.disabilityType = action.payload; state.disabilityTypeUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _disabilityTypeSlice$ = disabilityTypeSlice.actions, setRegisterErrorMessage = _disabilityTypeSlice$.setRegisterErrorMessage, setDisabilityType = _disabilityTypeSlice$.setDisabilityType; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (disabilityTypeSlice.reducer); /***/ }), /***/ "./src/services/disability_type/core/services.ts": /*!*******************************************************!*\ !*** ./src/services/disability_type/core/services.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createDisabilityTypeService: () => (/* binding */ createDisabilityTypeService), /* harmony export */ deleteDisabilityTypeService: () => (/* binding */ deleteDisabilityTypeService), /* harmony export */ disabilityTypeDetailService: () => (/* binding */ disabilityTypeDetailService), /* harmony export */ disabilityTypesService: () => (/* binding */ disabilityTypesService), /* harmony export */ updateDisabilityTypeService: () => (/* binding */ updateDisabilityTypeService) /* 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 disabilityTypesService = /*#__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.DISABILITY_TYPE); case 1: return _context.a(2, _context.v); } }, _callee); })); return function disabilityTypesService() { return _ref.apply(this, arguments); }; }(); var disabilityTypeDetailService = /*#__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.DISABILITY_TYPE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function disabilityTypeDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createDisabilityTypeService = /*#__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.DISABILITY_TYPE), data)); } }, _callee3); })); return function createDisabilityTypeService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateDisabilityTypeService = /*#__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.DISABILITY_TYPE).concat(id), data)); } }, _callee4); })); return function updateDisabilityTypeService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteDisabilityTypeService = /*#__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.DISABILITY_TYPE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteDisabilityTypeService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/education_institution/core/actions.ts": /*!************************************************************!*\ !*** ./src/services/education_institution/core/actions.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createEducationInstitutionAction: () => (/* binding */ createEducationInstitutionAction), /* harmony export */ deleteEducationInstitutionAction: () => (/* binding */ deleteEducationInstitutionAction), /* harmony export */ educationInstitutionDetailAction: () => (/* binding */ educationInstitutionDetailAction), /* harmony export */ fetchEducationInstitutions: () => (/* binding */ fetchEducationInstitutions), /* harmony export */ updateEducationInstitutionAction: () => (/* binding */ updateEducationInstitutionAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/services/education_institution/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services */ "./src/services/education_institution/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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 fetchEducationInstitutions = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.EDUCATION_INSTITUTIONS, _services__WEBPACK_IMPORTED_MODULE_1__.educationInstitutionsService); var educationInstitutionDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.EDUCATION_INSTITUTION, _services__WEBPACK_IMPORTED_MODULE_1__.educationInstitutionDetailService); var createEducationInstitutionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.EDUCATION_INSTITUTION_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.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.createEducationInstitutionService)(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 education institution")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateEducationInstitutionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.EDUCATION_INSTITUTION_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.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.updateEducationInstitutionService)(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 education institution")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteEducationInstitutionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.EDUCATION_INSTITUTION_DELETE, _services__WEBPACK_IMPORTED_MODULE_1__.deleteEducationInstitutionService); /***/ }), /***/ "./src/services/education_institution/core/constants.ts": /*!**************************************************************!*\ !*** ./src/services/education_institution/core/constants.ts ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ EDUCATION_INSTITUTION: () => (/* binding */ EDUCATION_INSTITUTION), /* harmony export */ EDUCATION_INSTITUTIONS: () => (/* binding */ EDUCATION_INSTITUTIONS), /* harmony export */ EDUCATION_INSTITUTION_CREATE: () => (/* binding */ EDUCATION_INSTITUTION_CREATE), /* harmony export */ EDUCATION_INSTITUTION_DELETE: () => (/* binding */ EDUCATION_INSTITUTION_DELETE), /* harmony export */ EDUCATION_INSTITUTION_UPDATE: () => (/* binding */ EDUCATION_INSTITUTION_UPDATE) /* harmony export */ }); var EDUCATION_INSTITUTIONS = 'education-institutions/fetchAll'; var EDUCATION_INSTITUTION = 'education-institutions/fetchByID'; var EDUCATION_INSTITUTION_CREATE = 'education-institutions/create'; var EDUCATION_INSTITUTION_UPDATE = 'education-institutions/update'; var EDUCATION_INSTITUTION_DELETE = 'education-institutions/delete'; /***/ }), /***/ "./src/services/education_institution/core/reducer.ts": /*!************************************************************!*\ !*** ./src/services/education_institution/core/reducer.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ educationInstitutionSlice: () => (/* binding */ educationInstitutionSlice), /* harmony export */ setEducationInstitution: () => (/* binding */ setEducationInstitution), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions */ "./src/services/education_institution/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/education_institution/core/constants.ts"); /* eslint-disable no-console */ var initialState = { educationInstitutions: [], educationInstitution: null, educationInstitutionsPending: false, educationInstitutionDetailPending: false, educationInstitutionCreatePending: false, educationInstitutionUpdatePending: false, educationInstitutionDeletePending: false, registerErrorMessage: '' }; var educationInstitutionSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTION, initialState: initialState, reducers: { // Sets the current educationInstitution setEducationInstitution: function setEducationInstitution(state, action) { state.educationInstitution = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle education institution .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchEducationInstitutions.pending, function (state) { state.educationInstitutionsPending = true; state.registerErrorMessage = ''; }) // Handles rejected education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchEducationInstitutions.rejected, function (state, action) { state.educationInstitutionsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch education institutions.'; }) // Handles fulfilled education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchEducationInstitutions.fulfilled, function (state, action) { var payload = action.payload; state.educationInstitutions = payload; state.educationInstitutionsPending = false; state.registerErrorMessage = ''; }) // handle education institution detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.educationInstitutionDetailAction.pending, function (state) { state.educationInstitutionDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.educationInstitutionDetailAction.rejected, function (state, action) { state.educationInstitutionDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch education institutions.'; }) // Handles fulfilled education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.educationInstitutionDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.educationInstitution = payload; state.educationInstitutionDetailPending = false; state.registerErrorMessage = ''; }) // handle educationInstitution create .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createEducationInstitutionAction.pending, function (state) { state.educationInstitutionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createEducationInstitutionAction.rejected, function (state, action) { state.educationInstitutionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create education institutions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createEducationInstitutionAction.fulfilled, function (state, action) { state.educationInstitution = action.payload; state.educationInstitutionUpdatePending = false; state.registerErrorMessage = ''; }) // handle educationInstitution update .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateEducationInstitutionAction.pending, function (state) { state.educationInstitutionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateEducationInstitutionAction.rejected, function (state, action) { state.educationInstitutionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update education institutions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateEducationInstitutionAction.fulfilled, function (state, action) { state.educationInstitution = action.payload; state.educationInstitutionUpdatePending = false; state.registerErrorMessage = ''; }) // handle educationInstitution delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteEducationInstitutionAction.pending, function (state) { state.educationInstitutionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteEducationInstitutionAction.rejected, function (state, action) { state.educationInstitutionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete education institutions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteEducationInstitutionAction.fulfilled, function (state, action) { state.educationInstitution = action.payload; state.educationInstitutionUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _educationInstitution = educationInstitutionSlice.actions, setRegisterErrorMessage = _educationInstitution.setRegisterErrorMessage, setEducationInstitution = _educationInstitution.setEducationInstitution; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (educationInstitutionSlice.reducer); /***/ }), /***/ "./src/services/education_institution/core/services.ts": /*!*************************************************************!*\ !*** ./src/services/education_institution/core/services.ts ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createEducationInstitutionService: () => (/* binding */ createEducationInstitutionService), /* harmony export */ deleteEducationInstitutionService: () => (/* binding */ deleteEducationInstitutionService), /* harmony export */ educationInstitutionDetailService: () => (/* binding */ educationInstitutionDetailService), /* harmony export */ educationInstitutionsService: () => (/* binding */ educationInstitutionsService), /* harmony export */ updateEducationInstitutionService: () => (/* binding */ updateEducationInstitutionService) /* 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 educationInstitutionsService = /*#__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.EDUCATION_INSTITUTION); case 1: return _context.a(2, _context.v); } }, _callee); })); return function educationInstitutionsService() { return _ref.apply(this, arguments); }; }(); var educationInstitutionDetailService = /*#__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.EDUCATION_INSTITUTION).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function educationInstitutionDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createEducationInstitutionService = /*#__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.EDUCATION_INSTITUTION), data)); } }, _callee3); })); return function createEducationInstitutionService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateEducationInstitutionService = /*#__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.EDUCATION_INSTITUTION).concat(id), data)); } }, _callee4); })); return function updateEducationInstitutionService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteEducationInstitutionService = /*#__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.EDUCATION_INSTITUTION).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteEducationInstitutionService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/food/core/actions.ts": /*!*******************************************!*\ !*** ./src/services/food/core/actions.ts ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createFoodAction: () => (/* binding */ createFoodAction), /* harmony export */ deleteFoodAction: () => (/* binding */ deleteFoodAction), /* harmony export */ fetchFoods: () => (/* binding */ fetchFoods), /* harmony export */ foodDetailAction: () => (/* binding */ foodDetailAction), /* harmony export */ updateFoodAction: () => (/* binding */ updateFoodAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/services/food/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services */ "./src/services/food/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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 fetchFoods = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.FOODS, _services__WEBPACK_IMPORTED_MODULE_1__.foodsService); var foodDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.FOOD, _services__WEBPACK_IMPORTED_MODULE_1__.foodDetailService); var createFoodAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.FOOD_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.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.createFoodService)(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 food")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateFoodAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.FOOD_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.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.updateFoodService)(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 food")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteFoodAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.FOOD_DELETE, _services__WEBPACK_IMPORTED_MODULE_1__.deleteFoodService); /***/ }), /***/ "./src/services/food/core/constants.ts": /*!*********************************************!*\ !*** ./src/services/food/core/constants.ts ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ FOOD: () => (/* binding */ FOOD), /* harmony export */ FOODS: () => (/* binding */ FOODS), /* harmony export */ FOOD_CREATE: () => (/* binding */ FOOD_CREATE), /* harmony export */ FOOD_DELETE: () => (/* binding */ FOOD_DELETE), /* harmony export */ FOOD_UPDATE: () => (/* binding */ FOOD_UPDATE) /* harmony export */ }); var FOODS = 'foods/fetchAll'; var FOOD = 'foods/fetchByID'; var FOOD_CREATE = 'foods/create'; var FOOD_UPDATE = 'foods/update'; var FOOD_DELETE = 'foods/delete'; /***/ }), /***/ "./src/services/food/core/reducer.ts": /*!*******************************************!*\ !*** ./src/services/food/core/reducer.ts ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ foodSlice: () => (/* binding */ foodSlice), /* harmony export */ setFood: () => (/* binding */ setFood), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions */ "./src/services/food/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/food/core/constants.ts"); /* eslint-disable no-console */ var initialState = { foods: [], food: null, foodsPending: false, foodDetailPending: false, foodCreatePending: false, foodUpdatePending: false, foodDeletePending: false, registerErrorMessage: '' }; var foodSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_1__.FOOD, initialState: initialState, reducers: { // Sets the current food setFood: function setFood(state, action) { state.food = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle food .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchFoods.pending, function (state) { state.foodsPending = true; state.registerErrorMessage = ''; }) // Handles rejected foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchFoods.rejected, function (state, action) { state.foodsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch foods.'; }) // Handles fulfilled foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchFoods.fulfilled, function (state, action) { var payload = action.payload; state.foods = payload; state.foodsPending = false; state.registerErrorMessage = ''; }) // handle food detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.foodDetailAction.pending, function (state) { state.foodDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.foodDetailAction.rejected, function (state, action) { state.foodDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch foods.'; }) // Handles fulfilled foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.foodDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.food = payload; state.foodDetailPending = false; state.registerErrorMessage = ''; }) // handle food create .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createFoodAction.pending, function (state) { state.foodUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createFoodAction.rejected, function (state, action) { state.foodUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create foods.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createFoodAction.fulfilled, function (state, action) { state.food = action.payload; state.foodUpdatePending = false; state.registerErrorMessage = ''; }) // handle food update .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateFoodAction.pending, function (state) { state.foodUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateFoodAction.rejected, function (state, action) { state.foodUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update foods.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateFoodAction.fulfilled, function (state, action) { state.food = action.payload; state.foodUpdatePending = false; state.registerErrorMessage = ''; }) // handle food delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteFoodAction.pending, function (state) { state.foodUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteFoodAction.rejected, function (state, action) { state.foodUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete foods.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteFoodAction.fulfilled, function (state, action) { state.food = action.payload; state.foodUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _foodSlice$actions = foodSlice.actions, setRegisterErrorMessage = _foodSlice$actions.setRegisterErrorMessage, setFood = _foodSlice$actions.setFood; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (foodSlice.reducer); /***/ }), /***/ "./src/services/food/core/services.ts": /*!********************************************!*\ !*** ./src/services/food/core/services.ts ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createFoodService: () => (/* binding */ createFoodService), /* harmony export */ deleteFoodService: () => (/* binding */ deleteFoodService), /* harmony export */ foodDetailService: () => (/* binding */ foodDetailService), /* harmony export */ foodsService: () => (/* binding */ foodsService), /* harmony export */ updateFoodService: () => (/* binding */ updateFoodService) /* 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 foodsService = /*#__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.FOOD); case 1: return _context.a(2, _context.v); } }, _callee); })); return function foodsService() { return _ref.apply(this, arguments); }; }(); var foodDetailService = /*#__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.FOOD).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function foodDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createFoodService = /*#__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.FOOD), data)); } }, _callee3); })); return function createFoodService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateFoodService = /*#__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.FOOD).concat(id), data)); } }, _callee4); })); return function updateFoodService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteFoodService = /*#__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.FOOD).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteFoodService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/interested_team/core/actions.ts": /*!******************************************************!*\ !*** ./src/services/interested_team/core/actions.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createInterestedTeamAction: () => (/* binding */ createInterestedTeamAction), /* harmony export */ deleteInterestedTeamAction: () => (/* binding */ deleteInterestedTeamAction), /* harmony export */ fetchInterestedTeams: () => (/* binding */ fetchInterestedTeams), /* harmony export */ interestedTeamDetailAction: () => (/* binding */ interestedTeamDetailAction), /* harmony export */ updateInterestedTeamAction: () => (/* binding */ updateInterestedTeamAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/services/interested_team/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services */ "./src/services/interested_team/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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 fetchInterestedTeams = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.INTERESTED_TEAMS, _services__WEBPACK_IMPORTED_MODULE_1__.interestedTeamsService); var interestedTeamDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.INTERESTED_TEAM, _services__WEBPACK_IMPORTED_MODULE_1__.interestedTeamDetailService); var createInterestedTeamAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.INTERESTED_TEAM_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.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.createInterestedTeamService)(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 interested team")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateInterestedTeamAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.INTERESTED_TEAM_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.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.updateInterestedTeamService)(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 interested team")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteInterestedTeamAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.INTERESTED_TEAM_DELETE, _services__WEBPACK_IMPORTED_MODULE_1__.deleteInterestedTeamService); /***/ }), /***/ "./src/services/interested_team/core/constants.ts": /*!********************************************************!*\ !*** ./src/services/interested_team/core/constants.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ INTERESTED_TEAM: () => (/* binding */ INTERESTED_TEAM), /* harmony export */ INTERESTED_TEAMS: () => (/* binding */ INTERESTED_TEAMS), /* harmony export */ INTERESTED_TEAM_CREATE: () => (/* binding */ INTERESTED_TEAM_CREATE), /* harmony export */ INTERESTED_TEAM_DELETE: () => (/* binding */ INTERESTED_TEAM_DELETE), /* harmony export */ INTERESTED_TEAM_UPDATE: () => (/* binding */ INTERESTED_TEAM_UPDATE) /* harmony export */ }); var INTERESTED_TEAMS = 'interested-teams/fetchAll'; var INTERESTED_TEAM = 'interested-teams/fetchByID'; var INTERESTED_TEAM_CREATE = 'interested-teams/create'; var INTERESTED_TEAM_UPDATE = 'interested-teams/update'; var INTERESTED_TEAM_DELETE = 'interested-teams/delete'; /***/ }), /***/ "./src/services/interested_team/core/reducer.ts": /*!******************************************************!*\ !*** ./src/services/interested_team/core/reducer.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ interestedTeamSlice: () => (/* binding */ interestedTeamSlice), /* harmony export */ setInterestedTeam: () => (/* binding */ setInterestedTeam), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions */ "./src/services/interested_team/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/interested_team/core/constants.ts"); /* eslint-disable no-console */ var initialState = { interestedTeams: [], interestedTeam: null, interestedTeamsPending: false, interestedTeamDetailPending: false, interestedTeamCreatePending: false, interestedTeamUpdatePending: false, interestedTeamDeletePending: false, registerErrorMessage: '' }; var interestedTeamSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAM, initialState: initialState, reducers: { // Sets the current interestedTeam setInterestedTeam: function setInterestedTeam(state, action) { state.interestedTeam = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle interested team .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchInterestedTeams.pending, function (state) { state.interestedTeamsPending = true; state.registerErrorMessage = ''; }) // Handles rejected interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchInterestedTeams.rejected, function (state, action) { state.interestedTeamsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch interested teams.'; }) // Handles fulfilled interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchInterestedTeams.fulfilled, function (state, action) { var payload = action.payload; state.interestedTeams = payload; state.interestedTeamsPending = false; state.registerErrorMessage = ''; }) // handle interested team detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.interestedTeamDetailAction.pending, function (state) { state.interestedTeamDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.interestedTeamDetailAction.rejected, function (state, action) { state.interestedTeamDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch interested teams.'; }) // Handles fulfilled interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.interestedTeamDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.interestedTeam = payload; state.interestedTeamDetailPending = false; state.registerErrorMessage = ''; }) // handle interestedTeam create .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createInterestedTeamAction.pending, function (state) { state.interestedTeamUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createInterestedTeamAction.rejected, function (state, action) { state.interestedTeamUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create interested teams.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createInterestedTeamAction.fulfilled, function (state, action) { state.interestedTeam = action.payload; state.interestedTeamUpdatePending = false; state.registerErrorMessage = ''; }) // handle interestedTeam update .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateInterestedTeamAction.pending, function (state) { state.interestedTeamUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateInterestedTeamAction.rejected, function (state, action) { state.interestedTeamUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update interested teams.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateInterestedTeamAction.fulfilled, function (state, action) { state.interestedTeam = action.payload; state.interestedTeamUpdatePending = false; state.registerErrorMessage = ''; }) // handle interestedTeam delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteInterestedTeamAction.pending, function (state) { state.interestedTeamUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteInterestedTeamAction.rejected, function (state, action) { state.interestedTeamUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete interested teams.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteInterestedTeamAction.fulfilled, function (state, action) { state.interestedTeam = action.payload; state.interestedTeamUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _interestedTeamSlice$ = interestedTeamSlice.actions, setRegisterErrorMessage = _interestedTeamSlice$.setRegisterErrorMessage, setInterestedTeam = _interestedTeamSlice$.setInterestedTeam; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (interestedTeamSlice.reducer); /***/ }), /***/ "./src/services/interested_team/core/services.ts": /*!*******************************************************!*\ !*** ./src/services/interested_team/core/services.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createInterestedTeamService: () => (/* binding */ createInterestedTeamService), /* harmony export */ deleteInterestedTeamService: () => (/* binding */ deleteInterestedTeamService), /* harmony export */ interestedTeamDetailService: () => (/* binding */ interestedTeamDetailService), /* harmony export */ interestedTeamsService: () => (/* binding */ interestedTeamsService), /* harmony export */ updateInterestedTeamService: () => (/* binding */ updateInterestedTeamService) /* 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 interestedTeamsService = /*#__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.TEAM); case 1: return _context.a(2, _context.v); } }, _callee); })); return function interestedTeamsService() { return _ref.apply(this, arguments); }; }(); var interestedTeamDetailService = /*#__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.TEAM).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function interestedTeamDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createInterestedTeamService = /*#__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.TEAM), data)); } }, _callee3); })); return function createInterestedTeamService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateInterestedTeamService = /*#__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.TEAM).concat(id), data)); } }, _callee4); })); return function updateInterestedTeamService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteInterestedTeamService = /*#__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.TEAM).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteInterestedTeamService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/language/core/actions.ts": /*!***********************************************!*\ !*** ./src/services/language/core/actions.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createLanguageAction: () => (/* binding */ createLanguageAction), /* harmony export */ deleteLanguageAction: () => (/* binding */ deleteLanguageAction), /* harmony export */ fetchLanguages: () => (/* binding */ fetchLanguages), /* harmony export */ languageDetailAction: () => (/* binding */ languageDetailAction), /* harmony export */ updateLanguageAction: () => (/* binding */ updateLanguageAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/services/language/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services */ "./src/services/language/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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 fetchLanguages = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.LANGUAGES, _services__WEBPACK_IMPORTED_MODULE_1__.languagesService); var languageDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.LANGUAGE, _services__WEBPACK_IMPORTED_MODULE_1__.languageDetailService); var createLanguageAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.LANGUAGE_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.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.createLanguageService)(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 language")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateLanguageAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.LANGUAGE_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.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.updateLanguageService)(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 language")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteLanguageAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.LANGUAGE_DELETE, _services__WEBPACK_IMPORTED_MODULE_1__.deleteLanguageService); /***/ }), /***/ "./src/services/language/core/constants.ts": /*!*************************************************!*\ !*** ./src/services/language/core/constants.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ LANGUAGE: () => (/* binding */ LANGUAGE), /* harmony export */ LANGUAGES: () => (/* binding */ LANGUAGES), /* harmony export */ LANGUAGE_CREATE: () => (/* binding */ LANGUAGE_CREATE), /* harmony export */ LANGUAGE_DELETE: () => (/* binding */ LANGUAGE_DELETE), /* harmony export */ LANGUAGE_UPDATE: () => (/* binding */ LANGUAGE_UPDATE) /* harmony export */ }); var LANGUAGES = 'languages/fetchAll'; var LANGUAGE = 'languages/fetchByID'; var LANGUAGE_CREATE = 'languages/create'; var LANGUAGE_UPDATE = 'languages/update'; var LANGUAGE_DELETE = 'languages/delete'; /***/ }), /***/ "./src/services/language/core/reducer.ts": /*!***********************************************!*\ !*** ./src/services/language/core/reducer.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ languageSlice: () => (/* binding */ languageSlice), /* harmony export */ setLanguage: () => (/* binding */ setLanguage), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions */ "./src/services/language/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/language/core/constants.ts"); /* eslint-disable no-console */ var initialState = { languages: [], language: null, languagesPending: false, languageDetailPending: false, languageCreatePending: false, languageUpdatePending: false, languageDeletePending: false, registerErrorMessage: '' }; var languageSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGE, initialState: initialState, reducers: { // Sets the current language setLanguage: function setLanguage(state, action) { state.language = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle language .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchLanguages.pending, function (state) { state.languagesPending = true; state.registerErrorMessage = ''; }) // Handles rejected languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchLanguages.rejected, function (state, action) { state.languagesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch languages.'; }) // Handles fulfilled languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchLanguages.fulfilled, function (state, action) { var payload = action.payload; state.languages = payload; state.languagesPending = false; state.registerErrorMessage = ''; }) // handle language detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.languageDetailAction.pending, function (state) { state.languageDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.languageDetailAction.rejected, function (state, action) { state.languageDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch languages.'; }) // Handles fulfilled languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.languageDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.language = payload; state.languageDetailPending = false; state.registerErrorMessage = ''; }) // handle language create .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createLanguageAction.pending, function (state) { state.languageUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createLanguageAction.rejected, function (state, action) { state.languageUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create languages.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createLanguageAction.fulfilled, function (state, action) { state.language = action.payload; state.languageUpdatePending = false; state.registerErrorMessage = ''; }) // handle language update .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateLanguageAction.pending, function (state) { state.languageUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateLanguageAction.rejected, function (state, action) { state.languageUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update languages.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateLanguageAction.fulfilled, function (state, action) { state.language = action.payload; state.languageUpdatePending = false; state.registerErrorMessage = ''; }) // handle language delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteLanguageAction.pending, function (state) { state.languageUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteLanguageAction.rejected, function (state, action) { state.languageUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete languages.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteLanguageAction.fulfilled, function (state, action) { state.language = action.payload; state.languageUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _languageSlice$action = languageSlice.actions, setRegisterErrorMessage = _languageSlice$action.setRegisterErrorMessage, setLanguage = _languageSlice$action.setLanguage; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (languageSlice.reducer); /***/ }), /***/ "./src/services/language/core/services.ts": /*!************************************************!*\ !*** ./src/services/language/core/services.ts ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createLanguageService: () => (/* binding */ createLanguageService), /* harmony export */ deleteLanguageService: () => (/* binding */ deleteLanguageService), /* harmony export */ languageDetailService: () => (/* binding */ languageDetailService), /* harmony export */ languagesService: () => (/* binding */ languagesService), /* harmony export */ updateLanguageService: () => (/* binding */ updateLanguageService) /* 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 languagesService = /*#__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.LANGUAGE); case 1: return _context.a(2, _context.v); } }, _callee); })); return function languagesService() { return _ref.apply(this, arguments); }; }(); var languageDetailService = /*#__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.LANGUAGE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function languageDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createLanguageService = /*#__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.LANGUAGE), data)); } }, _callee3); })); return function createLanguageService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateLanguageService = /*#__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.LANGUAGE).concat(id), data)); } }, _callee4); })); return function updateLanguageService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteLanguageService = /*#__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.LANGUAGE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteLanguageService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/occupation/core/actions.ts": /*!*************************************************!*\ !*** ./src/services/occupation/core/actions.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOccupationAction: () => (/* binding */ createOccupationAction), /* harmony export */ deleteOccupationAction: () => (/* binding */ deleteOccupationAction), /* harmony export */ fetchOccupations: () => (/* binding */ fetchOccupations), /* harmony export */ occupationDetailAction: () => (/* binding */ occupationDetailAction), /* harmony export */ updateOccupationAction: () => (/* binding */ updateOccupationAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/services/occupation/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services */ "./src/services/occupation/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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 fetchOccupations = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OCCUPATIONS, _services__WEBPACK_IMPORTED_MODULE_1__.occupationsService); var occupationDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OCCUPATION, _services__WEBPACK_IMPORTED_MODULE_1__.occupationDetailService); var createOccupationAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OCCUPATION_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.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.createOccupationService)(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 occupation")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateOccupationAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OCCUPATION_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.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.updateOccupationService)(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 occupation")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteOccupationAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OCCUPATION_DELETE, _services__WEBPACK_IMPORTED_MODULE_1__.deleteOccupationService); /***/ }), /***/ "./src/services/occupation/core/constants.ts": /*!***************************************************!*\ !*** ./src/services/occupation/core/constants.ts ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ OCCUPATION: () => (/* binding */ OCCUPATION), /* harmony export */ OCCUPATIONS: () => (/* binding */ OCCUPATIONS), /* harmony export */ OCCUPATION_CREATE: () => (/* binding */ OCCUPATION_CREATE), /* harmony export */ OCCUPATION_DELETE: () => (/* binding */ OCCUPATION_DELETE), /* harmony export */ OCCUPATION_UPDATE: () => (/* binding */ OCCUPATION_UPDATE) /* harmony export */ }); var OCCUPATIONS = 'occupations/fetchAll'; var OCCUPATION = 'occupations/fetchByID'; var OCCUPATION_CREATE = 'occupations/create'; var OCCUPATION_UPDATE = 'occupations/update'; var OCCUPATION_DELETE = 'occupations/delete'; /***/ }), /***/ "./src/services/occupation/core/reducer.ts": /*!*************************************************!*\ !*** ./src/services/occupation/core/reducer.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ occupationSlice: () => (/* binding */ occupationSlice), /* harmony export */ setOccupation: () => (/* binding */ setOccupation), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions */ "./src/services/occupation/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/occupation/core/constants.ts"); /* eslint-disable no-console */ var initialState = { occupations: [], occupation: null, occupationsPending: false, occupationDetailPending: false, occupationCreatePending: false, occupationUpdatePending: false, occupationDeletePending: false, registerErrorMessage: '' }; var occupationSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATION, initialState: initialState, reducers: { // Sets the current occupation setOccupation: function setOccupation(state, action) { state.occupation = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle occupation .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchOccupations.pending, function (state) { state.occupationsPending = true; state.registerErrorMessage = ''; }) // Handles rejected occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchOccupations.rejected, function (state, action) { state.occupationsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch occupations.'; }) // Handles fulfilled occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchOccupations.fulfilled, function (state, action) { var payload = action.payload; state.occupations = payload; state.occupationsPending = false; state.registerErrorMessage = ''; }) // handle occupation detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.occupationDetailAction.pending, function (state) { state.occupationDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.occupationDetailAction.rejected, function (state, action) { state.occupationDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch occupations.'; }) // Handles fulfilled occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.occupationDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.occupation = payload; state.occupationDetailPending = false; state.registerErrorMessage = ''; }) // handle occupation create .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createOccupationAction.pending, function (state) { state.occupationUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createOccupationAction.rejected, function (state, action) { state.occupationUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create occupations.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createOccupationAction.fulfilled, function (state, action) { state.occupation = action.payload; state.occupationUpdatePending = false; state.registerErrorMessage = ''; }) // handle occupation update .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateOccupationAction.pending, function (state) { state.occupationUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateOccupationAction.rejected, function (state, action) { state.occupationUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update occupations.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateOccupationAction.fulfilled, function (state, action) { state.occupation = action.payload; state.occupationUpdatePending = false; state.registerErrorMessage = ''; }) // handle occupation delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteOccupationAction.pending, function (state) { state.occupationUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteOccupationAction.rejected, function (state, action) { state.occupationUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete occupations.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteOccupationAction.fulfilled, function (state, action) { state.occupation = action.payload; state.occupationUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _occupationSlice$acti = occupationSlice.actions, setRegisterErrorMessage = _occupationSlice$acti.setRegisterErrorMessage, setOccupation = _occupationSlice$acti.setOccupation; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (occupationSlice.reducer); /***/ }), /***/ "./src/services/occupation/core/services.ts": /*!**************************************************!*\ !*** ./src/services/occupation/core/services.ts ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOccupationService: () => (/* binding */ createOccupationService), /* harmony export */ deleteOccupationService: () => (/* binding */ deleteOccupationService), /* harmony export */ occupationDetailService: () => (/* binding */ occupationDetailService), /* harmony export */ occupationsService: () => (/* binding */ occupationsService), /* harmony export */ updateOccupationService: () => (/* binding */ updateOccupationService) /* 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 occupationsService = /*#__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.OCCUPATION); case 1: return _context.a(2, _context.v); } }, _callee); })); return function occupationsService() { return _ref.apply(this, arguments); }; }(); var occupationDetailService = /*#__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.OCCUPATION).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function occupationDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createOccupationService = /*#__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.OCCUPATION), data)); } }, _callee3); })); return function createOccupationService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateOccupationService = /*#__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.OCCUPATION).concat(id), data)); } }, _callee4); })); return function updateOccupationService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteOccupationService = /*#__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.OCCUPATION).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteOccupationService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/offer_program/core/actions.ts": /*!****************************************************!*\ !*** ./src/services/offer_program/core/actions.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOfferProgramAction: () => (/* binding */ createOfferProgramAction), /* harmony export */ deleteOfferProgramAction: () => (/* binding */ deleteOfferProgramAction), /* harmony export */ fetchOfferPrograms: () => (/* binding */ fetchOfferPrograms), /* harmony export */ offerProgramDetailAction: () => (/* binding */ offerProgramDetailAction), /* harmony export */ updateOfferProgramAction: () => (/* binding */ updateOfferProgramAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/services/offer_program/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services */ "./src/services/offer_program/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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 fetchOfferPrograms = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OFFER_PROGRAMS, _services__WEBPACK_IMPORTED_MODULE_1__.offerProgramsService); var offerProgramDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OFFER_PROGRAM, _services__WEBPACK_IMPORTED_MODULE_1__.offerProgramDetailService); var createOfferProgramAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OFFER_PROGRAM_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.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.createOfferProgramService)(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 offer program")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateOfferProgramAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OFFER_PROGRAM_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.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.updateOfferProgramService)(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 offer program")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteOfferProgramAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OFFER_PROGRAM_DELETE, _services__WEBPACK_IMPORTED_MODULE_1__.deleteOfferProgramService); /***/ }), /***/ "./src/services/offer_program/core/constants.ts": /*!******************************************************!*\ !*** ./src/services/offer_program/core/constants.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ OFFER_PROGRAM: () => (/* binding */ OFFER_PROGRAM), /* harmony export */ OFFER_PROGRAMS: () => (/* binding */ OFFER_PROGRAMS), /* harmony export */ OFFER_PROGRAM_CREATE: () => (/* binding */ OFFER_PROGRAM_CREATE), /* harmony export */ OFFER_PROGRAM_DELETE: () => (/* binding */ OFFER_PROGRAM_DELETE), /* harmony export */ OFFER_PROGRAM_UPDATE: () => (/* binding */ OFFER_PROGRAM_UPDATE) /* harmony export */ }); var OFFER_PROGRAMS = 'offer-programs/fetchAll'; var OFFER_PROGRAM = 'offer-programs/fetchByID'; var OFFER_PROGRAM_CREATE = 'offer-programs/create'; var OFFER_PROGRAM_UPDATE = 'offer-programs/update'; var OFFER_PROGRAM_DELETE = 'offer-programs/delete'; /***/ }), /***/ "./src/services/offer_program/core/reducer.ts": /*!****************************************************!*\ !*** ./src/services/offer_program/core/reducer.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ offerProgramSlice: () => (/* binding */ offerProgramSlice), /* harmony export */ setOfferProgram: () => (/* binding */ setOfferProgram), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions */ "./src/services/offer_program/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/offer_program/core/constants.ts"); /* eslint-disable no-console */ var initialState = { offerPrograms: [], offerProgram: null, offerProgramsPending: false, offerProgramDetailPending: false, offerProgramCreatePending: false, offerProgramUpdatePending: false, offerProgramDeletePending: false, registerErrorMessage: '' }; var offerProgramSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAM, initialState: initialState, reducers: { // Sets the current offerProgram setOfferProgram: function setOfferProgram(state, action) { state.offerProgram = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle offer program .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchOfferPrograms.pending, function (state) { state.offerProgramsPending = true; state.registerErrorMessage = ''; }) // Handles rejected offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchOfferPrograms.rejected, function (state, action) { state.offerProgramsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch offer programs.'; }) // Handles fulfilled offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchOfferPrograms.fulfilled, function (state, action) { var payload = action.payload; state.offerPrograms = payload; state.offerProgramsPending = false; state.registerErrorMessage = ''; }) // handle offer program detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.offerProgramDetailAction.pending, function (state) { state.offerProgramDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.offerProgramDetailAction.rejected, function (state, action) { state.offerProgramDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch offer programs.'; }) // Handles fulfilled offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.offerProgramDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.offerProgram = payload; state.offerProgramDetailPending = false; state.registerErrorMessage = ''; }) // handle offerProgram create .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createOfferProgramAction.pending, function (state) { state.offerProgramUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createOfferProgramAction.rejected, function (state, action) { state.offerProgramUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create offer programs.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createOfferProgramAction.fulfilled, function (state, action) { state.offerProgram = action.payload; state.offerProgramUpdatePending = false; state.registerErrorMessage = ''; }) // handle offerProgram update .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateOfferProgramAction.pending, function (state) { state.offerProgramUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateOfferProgramAction.rejected, function (state, action) { state.offerProgramUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update offer programs.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateOfferProgramAction.fulfilled, function (state, action) { state.offerProgram = action.payload; state.offerProgramUpdatePending = false; state.registerErrorMessage = ''; }) // handle offerProgram delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteOfferProgramAction.pending, function (state) { state.offerProgramUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteOfferProgramAction.rejected, function (state, action) { state.offerProgramUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete offer programs.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteOfferProgramAction.fulfilled, function (state, action) { state.offerProgram = action.payload; state.offerProgramUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _offerProgramSlice$ac = offerProgramSlice.actions, setRegisterErrorMessage = _offerProgramSlice$ac.setRegisterErrorMessage, setOfferProgram = _offerProgramSlice$ac.setOfferProgram; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (offerProgramSlice.reducer); /***/ }), /***/ "./src/services/offer_program/core/services.ts": /*!*****************************************************!*\ !*** ./src/services/offer_program/core/services.ts ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOfferProgramService: () => (/* binding */ createOfferProgramService), /* harmony export */ deleteOfferProgramService: () => (/* binding */ deleteOfferProgramService), /* harmony export */ offerProgramDetailService: () => (/* binding */ offerProgramDetailService), /* harmony export */ offerProgramsService: () => (/* binding */ offerProgramsService), /* harmony export */ updateOfferProgramService: () => (/* binding */ updateOfferProgramService) /* 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 offerProgramsService = /*#__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.OFFER_PROGRAM); case 1: return _context.a(2, _context.v); } }, _callee); })); return function offerProgramsService() { return _ref.apply(this, arguments); }; }(); var offerProgramDetailService = /*#__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.OFFER_PROGRAM).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function offerProgramDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createOfferProgramService = /*#__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.OFFER_PROGRAM), data)); } }, _callee3); })); return function createOfferProgramService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateOfferProgramService = /*#__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.OFFER_PROGRAM).concat(id), data)); } }, _callee4); })); return function updateOfferProgramService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteOfferProgramService = /*#__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.OFFER_PROGRAM).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteOfferProgramService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/opportunity_source/core/actions.ts": /*!*********************************************************!*\ !*** ./src/services/opportunity_source/core/actions.ts ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOpportunitySourceAction: () => (/* binding */ createOpportunitySourceAction), /* harmony export */ deleteOpportunitySourceAction: () => (/* binding */ deleteOpportunitySourceAction), /* harmony export */ fetchOpportunitySources: () => (/* binding */ fetchOpportunitySources), /* harmony export */ opportunitySourceDetailAction: () => (/* binding */ opportunitySourceDetailAction), /* harmony export */ updateOpportunitySourceAction: () => (/* binding */ updateOpportunitySourceAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/services/opportunity_source/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services */ "./src/services/opportunity_source/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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 fetchOpportunitySources = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OPPORTUNITY_SOURCES, _services__WEBPACK_IMPORTED_MODULE_1__.opportunitySourcesService); var opportunitySourceDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OPPORTUNITY_SOURCE, _services__WEBPACK_IMPORTED_MODULE_1__.opportunitySourceDetailService); var createOpportunitySourceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OPPORTUNITY_SOURCE_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.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.createOpportunitySourceService)(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 opportunity source")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateOpportunitySourceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OPPORTUNITY_SOURCE_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.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_1__.updateOpportunitySourceService)(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 opportunity source")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteOpportunitySourceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_0__.OPPORTUNITY_SOURCE_DELETE, _services__WEBPACK_IMPORTED_MODULE_1__.deleteOpportunitySourceService); /***/ }), /***/ "./src/services/opportunity_source/core/constants.ts": /*!***********************************************************!*\ !*** ./src/services/opportunity_source/core/constants.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ OPPORTUNITY_SOURCE: () => (/* binding */ OPPORTUNITY_SOURCE), /* harmony export */ OPPORTUNITY_SOURCES: () => (/* binding */ OPPORTUNITY_SOURCES), /* harmony export */ OPPORTUNITY_SOURCE_CREATE: () => (/* binding */ OPPORTUNITY_SOURCE_CREATE), /* harmony export */ OPPORTUNITY_SOURCE_DELETE: () => (/* binding */ OPPORTUNITY_SOURCE_DELETE), /* harmony export */ OPPORTUNITY_SOURCE_UPDATE: () => (/* binding */ OPPORTUNITY_SOURCE_UPDATE) /* harmony export */ }); var OPPORTUNITY_SOURCES = 'opportunity-sources/fetchAll'; var OPPORTUNITY_SOURCE = 'opportunity-sources/fetchByID'; var OPPORTUNITY_SOURCE_CREATE = 'opportunity-sources/create'; var OPPORTUNITY_SOURCE_UPDATE = 'opportunity-sources/update'; var OPPORTUNITY_SOURCE_DELETE = 'opportunity-sources/delete'; /***/ }), /***/ "./src/services/opportunity_source/core/reducer.ts": /*!*********************************************************!*\ !*** ./src/services/opportunity_source/core/reducer.ts ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ opportunitySourceSlice: () => (/* binding */ opportunitySourceSlice), /* harmony export */ setOpportunitySource: () => (/* binding */ setOpportunitySource), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions */ "./src/services/opportunity_source/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/opportunity_source/core/constants.ts"); /* eslint-disable no-console */ var initialState = { opportunitySources: [], opportunitySource: null, opportunitySourcesPending: false, opportunitySourceDetailPending: false, opportunitySourceCreatePending: false, opportunitySourceUpdatePending: false, opportunitySourceDeletePending: false, registerErrorMessage: '' }; var opportunitySourceSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_2__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCE, initialState: initialState, reducers: { // Sets the current opportunitySource setOpportunitySource: function setOpportunitySource(state, action) { state.opportunitySource = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle opportunity source .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchOpportunitySources.pending, function (state) { state.opportunitySourcesPending = true; state.registerErrorMessage = ''; }) // Handles rejected opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchOpportunitySources.rejected, function (state, action) { state.opportunitySourcesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch opportunity sources.'; }) // Handles fulfilled opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.fetchOpportunitySources.fulfilled, function (state, action) { var payload = action.payload; state.opportunitySources = payload; state.opportunitySourcesPending = false; state.registerErrorMessage = ''; }) // handle opportunity source detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.opportunitySourceDetailAction.pending, function (state) { state.opportunitySourceDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.opportunitySourceDetailAction.rejected, function (state, action) { state.opportunitySourceDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch opportunity sources.'; }) // Handles fulfilled opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.opportunitySourceDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.opportunitySource = payload; state.opportunitySourceDetailPending = false; state.registerErrorMessage = ''; }) // handle opportunitySource create .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createOpportunitySourceAction.pending, function (state) { state.opportunitySourceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createOpportunitySourceAction.rejected, function (state, action) { state.opportunitySourceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create opportunity sources.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.createOpportunitySourceAction.fulfilled, function (state, action) { state.opportunitySource = action.payload; state.opportunitySourceUpdatePending = false; state.registerErrorMessage = ''; }) // handle opportunitySource update .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateOpportunitySourceAction.pending, function (state) { state.opportunitySourceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateOpportunitySourceAction.rejected, function (state, action) { state.opportunitySourceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update opportunity sources.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.updateOpportunitySourceAction.fulfilled, function (state, action) { state.opportunitySource = action.payload; state.opportunitySourceUpdatePending = false; state.registerErrorMessage = ''; }) // handle opportunitySource delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteOpportunitySourceAction.pending, function (state) { state.opportunitySourceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteOpportunitySourceAction.rejected, function (state, action) { state.opportunitySourceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete opportunity sources.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_0__.deleteOpportunitySourceAction.fulfilled, function (state, action) { state.opportunitySource = action.payload; state.opportunitySourceUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _opportunitySourceSli = opportunitySourceSlice.actions, setRegisterErrorMessage = _opportunitySourceSli.setRegisterErrorMessage, setOpportunitySource = _opportunitySourceSli.setOpportunitySource; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (opportunitySourceSlice.reducer); /***/ }), /***/ "./src/services/opportunity_source/core/services.ts": /*!**********************************************************!*\ !*** ./src/services/opportunity_source/core/services.ts ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOpportunitySourceService: () => (/* binding */ createOpportunitySourceService), /* harmony export */ deleteOpportunitySourceService: () => (/* binding */ deleteOpportunitySourceService), /* harmony export */ opportunitySourceDetailService: () => (/* binding */ opportunitySourceDetailService), /* harmony export */ opportunitySourcesService: () => (/* binding */ opportunitySourcesService), /* harmony export */ updateOpportunitySourceService: () => (/* binding */ updateOpportunitySourceService) /* 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) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; 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 opportunitySourcesService = /*#__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.SOURCE); case 1: return _context.a(2, _context.v); } }, _callee); })); return function opportunitySourcesService() { return _ref.apply(this, arguments); }; }(); var opportunitySourceDetailService = /*#__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.SOURCE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function opportunitySourceDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createOpportunitySourceService = /*#__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.SOURCE), data)); } }, _callee3); })); return function createOpportunitySourceService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateOpportunitySourceService = /*#__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.SOURCE).concat(id), data)); } }, _callee4); })); return function updateOpportunitySourceService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteOpportunitySourceService = /*#__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.SOURCE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteOpportunitySourceService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }) }]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1uLnZvbHVudGVlcmFwaS44Y2E5ZWYzMWQzMTg4YmZlZGQ0MC5idW5kbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ21IO0FBQ2pCO0FBQ087QUFDekcsNENBQTRDLDJKQUEwRDtBQUN0Ryw0Q0FBNEMsaUtBQTZEO0FBQ3pHLDRDQUE0QywyTEFBMEU7QUFDdEgsNENBQTRDLDJJQUFrRDtBQUM5Riw4QkFBOEIsbUZBQTJCLENBQUMsNEZBQXFDO0FBQy9GLHlDQUF5QyxzRkFBK0I7QUFDeEUseUNBQXlDLHNGQUErQjtBQUN4RSx5Q0FBeUMsc0ZBQStCO0FBQ3hFLHlDQUF5QyxzRkFBK0I7QUFDeEU7QUFDQTtBQUNBO0FBQ0EsYUFBYSxtQ0FBbUM7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhLG1DQUFtQztBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWEsbUNBQW1DO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUNBQW1DO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUNBQW1DO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQyxPQUFPLGdGQUFnRixZQUFZLGFBQWEsYUFBYSxhQUFhLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksT0FBTyxVQUFVLEtBQUssVUFBVSxZQUFZLFdBQVcsWUFBWSxhQUFhLFFBQVEsVUFBVSxLQUFLLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxPQUFPLFlBQVksTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFlBQVksTUFBTSxNQUFNLFVBQVUsS0FBSyxVQUFVLFlBQVksV0FBVyxPQUFPLEtBQUssVUFBVSxZQUFZLFdBQVcsTUFBTSxVQUFVLEtBQUssWUFBWSxXQUFXLFlBQVksYUFBYSxhQUFhLFdBQVcsTUFBTSxVQUFVLEtBQUssWUFBWSxXQUFXLFVBQVUsVUFBVSxZQUFZLFdBQVcsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sWUFBWSxNQUFNLFVBQVUsWUFBWSxhQUFhLGFBQWEsV0FBVyxNQUFNLFlBQVksTUFBTSxZQUFZLGFBQWEsWUFBWSxNQUFNLFlBQVksTUFBTSxZQUFZLFdBQVcsWUFBWSxhQUFhLGFBQWEsT0FBTyxLQUFLLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsV0FBVyxVQUFVLFlBQVksT0FBTyxLQUFLLFVBQVUsWUFBWSxhQUFhLGFBQWEsT0FBTyxZQUFZLE1BQU0sVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sWUFBWSxNQUFNLFVBQVUsWUFBWSxhQUFhLFdBQVcsd0JBQXdCLE9BQU8sS0FBSyxzQkFBc0IsT0FBTyxZQUFZLE1BQU0sWUFBWSxPQUFPLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLFlBQVksTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFVBQVUsTUFBTSxZQUFZLE9BQU8sVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLE1BQU0sVUFBVSxZQUFZLE1BQU0sTUFBTSxLQUFLLE1BQU0sVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLE1BQU0sVUFBVSxVQUFVLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sTUFBTSxZQUFZLE1BQU0sVUFBVSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssWUFBWSxRQUFRLFlBQVksTUFBTSxZQUFZLE1BQU0sS0FBSyxZQUFZLFdBQVcsTUFBTSxLQUFLLFVBQVUsVUFBVSxVQUFVLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLEtBQUssS0FBSyxZQUFZLGFBQWEsTUFBTSxRQUFRLFlBQVksTUFBTSxVQUFVLFlBQVksYUFBYSxPQUFPLFlBQVksTUFBTSxVQUFVLFVBQVUsWUFBWSxPQUFPLFlBQVksTUFBTSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsT0FBTyxLQUFLLFlBQVksYUFBYSxTQUFTLEtBQUssS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLFVBQVUsWUFBWSxhQUFhLFdBQVcsVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsVUFBVSxZQUFZLGFBQWEsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFlBQVksYUFBYSxPQUFPLEtBQUssVUFBVSxVQUFVLFVBQVUsWUFBWSxhQUFhLGFBQWEsV0FBVyxLQUFLLE1BQU0sS0FBSyxZQUFZLFFBQVEsS0FBSyxVQUFVLFlBQVksYUFBYSxhQUFhLFdBQVcsWUFBWSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLHNDQUFzQyx5QkFBeUIsMkVBQTJFLHdCQUF3Qix1QkFBdUIsR0FBRyxnQkFBZ0IsNEJBQTRCLDhFQUE4RSx3QkFBd0IsdUJBQXVCLEdBQUcsZ0JBQWdCLDBCQUEwQiw2RkFBNkYsd0JBQXdCLHVCQUF1QixHQUFHLCtCQUErQixvQ0FBb0MsY0FBYyxlQUFlLDRCQUE0QixHQUFHLG1DQUFtQyxvQkFBb0IsdUJBQXVCLGdCQUFnQix3QkFBd0Isb0NBQW9DLEdBQUcsc0NBQXNDLHNCQUFzQix1QkFBdUIsZ0JBQWdCLHdCQUF3QixvQ0FBb0MsR0FBRywrREFBK0Qsa0JBQWtCLHNCQUFzQixLQUFLLGlCQUFpQix3QkFBd0IsS0FBSyxHQUFHLDhCQUE4QixnQkFBZ0IscUJBQXFCLG1CQUFtQixHQUFHLGVBQWUsZ0JBQWdCLHFCQUFxQixrQkFBa0IsR0FBRyw2QkFBNkIsc0JBQXNCLGtCQUFrQix3QkFBd0IsOENBQThDLHFCQUFxQixnQkFBZ0IsR0FBRywyQkFBMkIsd0JBQXdCLGlCQUFpQixpQkFBaUIsa0JBQWtCLHVCQUF1QixvQkFBb0IsZ0JBQWdCLHFDQUFxQyxHQUFHLGtCQUFrQix3QkFBd0IsR0FBRyxvREFBb0Qsa0JBQWtCLDRCQUE0Qix3QkFBd0IsMkJBQTJCLGNBQWMsR0FBRyx5Q0FBeUMsNEJBQTRCLHdCQUF3QixrQkFBa0IsS0FBSyw4Q0FBOEMsdUJBQXVCLGtCQUFrQix3QkFBd0IsNEJBQTRCLHFCQUFxQixHQUFHLG1CQUFtQixlQUFlLGdCQUFnQixxRUFBcUUsR0FBRyxtQkFBbUIsdUJBQXVCLDRCQUE0QixtQkFBbUIsa0JBQWtCLDRCQUE0QixHQUFHLHdCQUF3QixvQkFBb0IscUVBQXFFLGtDQUFrQyx5Q0FBeUMsR0FBRyxpREFBaUQsb0JBQW9CLHVDQUF1QyxHQUFHLGlDQUFpQyw4QkFBOEIsR0FBRyxxQ0FBcUMsa0JBQWtCLG1DQUFtQyx3QkFBd0IsZ0JBQWdCLHlCQUF5Qiw4Q0FBOEMsYUFBYSxrQkFBa0IsK0NBQStDLDRDQUE0Qyx3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsb0JBQW9CLHVCQUF1QixHQUFHLHlDQUF5QyxrQkFBa0Isd0JBQXdCLG1DQUFtQyxnQkFBZ0IsY0FBYyxHQUFHLHFEQUFxRCxnQkFBZ0IsaUJBQWlCLHFCQUFxQixHQUFHLGdDQUFnQyxvQ0FBb0MsaUJBQWlCLHVCQUF1QixLQUFLLEdBQUcsK0JBQStCLG9DQUFvQyxrQkFBa0Isc0JBQXNCLEtBQUssR0FBRywrQkFBK0Isb0NBQW9DLGtCQUFrQixzQkFBc0IsS0FBSyx1QkFBdUIsMEJBQTBCLEtBQUssc0JBQXNCLHlCQUF5QixLQUFLLEdBQUcseURBQXlELG1CQUFtQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyxrQkFBa0IscUJBQXFCLEdBQUcsb0JBQW9CLHFCQUFxQixHQUFHLG1FQUFtRSwyQkFBMkIsR0FBRyxvQkFBb0IsdUJBQXVCLGdCQUFnQixHQUFHLHVCQUF1QixhQUFhLGdCQUFnQixpQkFBaUIsc0JBQXNCLHlCQUF5QixzQkFBc0IsR0FBRywrQkFBK0IsdUJBQXVCLDhCQUE4QixrQ0FBa0MsS0FBSyxHQUFHLHlFQUF5RSxrQkFBa0IsdUJBQXVCLGdEQUFnRCxHQUFHLCtFQUErRSxnQkFBZ0IsaUJBQWlCLHNCQUFzQixHQUFHLGlGQUFpRix3QkFBd0IsNEJBQTRCLGtCQUFrQix1QkFBdUIsdUJBQXVCLEdBQUcsNEJBQTRCLDBCQUEwQix3QkFBd0IsR0FBRyxtQ0FBbUMsZ0JBQWdCLDZCQUE2QixLQUFLLHFCQUFxQixrQkFBa0Isb0JBQW9CLGtGQUFrRix5QkFBeUIsYUFBYSxjQUFjLGtCQUFrQixLQUFLLHNCQUFzQixrQkFBa0Isb0JBQW9CLG9CQUFvQiw4QkFBOEIsMEJBQTBCLEtBQUssR0FBRywrQkFBK0IsZ0JBQWdCLG9CQUFvQixtQkFBbUIsb0JBQW9CLEtBQUsscUJBQXFCLGtCQUFrQixvQkFBb0IsNkJBQTZCLGtGQUFrRixLQUFLLHNCQUFzQixrQkFBa0Isb0JBQW9CLG9CQUFvQiw4QkFBOEIsMEJBQTBCLGdDQUFnQyxvQkFBb0IsS0FBSyxHQUFHLDZCQUE2QiwrQkFBK0IsR0FBRyx3QkFBd0Isa0JBQWtCLDJCQUEyQiw0QkFBNEIsd0JBQXdCLGlCQUFpQix1QkFBdUIsR0FBRyx5QkFBeUIsb0JBQW9CLHdCQUF3QixHQUFHLHdCQUF3Qix3QkFBd0IsR0FBRyxtQkFBbUI7QUFDbHlTO0FBQ0EsaUVBQWUsdUJBQXVCLEVBQUM7Ozs7Ozs7Ozs7O0FDbll2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3ZTMEI7QUFDdUI7QUFDVDtBQUV4QyxJQUFNRyxHQUFhLEdBQUcsU0FBaEJBLEdBQWFBLENBQUEsRUFBUztFQUMxQixvQkFDRUgsMERBQUEsQ0FBQ0MsMkRBQWEscUJBQ1pELDBEQUFBLENBQUNFLHNEQUFTLE1BQUUsQ0FDQyxDQUFD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Z0IsSUFBQTNULE1BQUEsQ0FBSWtHLDBEQUFHLENBQUMwWSxNQUFNLEVBQUE1ZSxNQUFBLENBQUdpTSxFQUFFLENBQUUsQ0FBQztRQUFBO1VBQUEsT0FBQWhFLFNBQUEsQ0FBQWhFLENBQUEsSUFBQWdFLFNBQUEsQ0FBQWpFLENBQUE7TUFBQTtJQUFBLEdBQUE4RCxRQUFBO0VBQUEsQ0FDcEQ7RUFBQSxnQkFGWThWLDhCQUE4QkEsQ0FBQXRWLEdBQUE7SUFBQSxPQUFBVCxLQUFBLENBQUE5QixLQUFBLE9BQUFELFNBQUE7RUFBQTtBQUFBLEdBRTFDLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL2luZGV4LmNzcyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlLyBzeW5jIF5cXC5cXC8uKiQiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9hcHAudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvaW5kZXguY3NzPzY5Y2IiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9hdHRlbmRhbmNlX3ZlcmlmaWNhdGlvbi50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9sb2dpbi50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9sb2dpbl90ZWxlZ3JhbS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9xcmNvZGUudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZGlzYWJpbGl0eV90eXBlL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9kaXNhYmlsaXR5X3R5cGUvY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2VkdWNhdGlvbl9pbnN0aXR1dGlvbi9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9lZHVjYXRpb25faW5zdGl0dXRpb24vY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9lZHVjYXRpb25faW5zdGl0dXRpb24vY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9mb29kL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2Zvb2QvY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9mb29kL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2Zvb2QvY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2ludGVyZXN0ZWRfdGVhbS9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9pbnRlcmVzdGVkX3RlYW0vY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9pbnRlcmVzdGVkX3RlYW0vY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvaW50ZXJlc3RlZF90ZWFtL2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9sYW5ndWFnZS9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9sYW5ndWFnZS9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2xhbmd1YWdlL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2xhbmd1YWdlL2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vY2N1cGF0aW9uL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29jY3VwYXRpb24vY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vY2N1cGF0aW9uL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29jY3VwYXRpb24vY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29mZmVyX3Byb2dyYW0vY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb2ZmZXJfcHJvZ3JhbS9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29mZmVyX3Byb2dyYW0vY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb2ZmZXJfcHJvZ3JhbS9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb3Bwb3J0dW5pdHlfc291cmNlL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29wcG9ydHVuaXR5X3NvdXJjZS9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29wcG9ydHVuaXR5X3NvdXJjZS9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vcHBvcnR1bml0eV9zb3VyY2UvY29yZS9zZXJ2aWNlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18gPSBuZXcgVVJMKFwiLi9zaGFyZWQvYXNzZXRzL2ZvbnRzL0JheW9uLVJlZ3VsYXIudHRmXCIsIGltcG9ydC5tZXRhLnVybCk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18gPSBuZXcgVVJMKFwiLi9zaGFyZWQvYXNzZXRzL2ZvbnRzL1NpZW1yZWFwLVJlZ3VsYXIudHRmXCIsIGltcG9ydC5tZXRhLnVybCk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18gPSBuZXcgVVJMKFwiLi9zaGFyZWQvYXNzZXRzL2ZvbnRzL1JvYm90by1WYXJpYWJsZUZvbnRfd2R0aCx3Z2h0LnR0ZlwiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fID0gbmV3IFVSTChcIi4vc2hhcmVkL2Fzc2V0cy9pbWFnZXMvdGVhbS5wbmdcIiwgaW1wb3J0Lm1ldGEudXJsKTtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgYEBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0JheW9uJztcbiAgc3JjOiB1cmwoJHtfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19ffSkgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJztcbiAgc3JjOiB1cmwoJHtfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19ffSkgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIHNyYzogdXJsKCR7X19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fX30pIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKiBHbG9iYWwgU3R5bGVzICovXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICdTaWVtcmVhcCcsIFJvYm90bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLyogRm9ybSB0aXRsZSAqL1xuLmZvcm0tdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiAnU2llbXJlYXAnLCBSb2JvdG87XG59XG5cblxuLyogRm9ybSB0aXRsZSAqL1xuLmZvcm0tdGl0bGUyIHtcbiAgZm9udC1zaXplOiAwLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiAnU2llbXJlYXAnLCBSb2JvdG87XG59XG5cbi8qIExhcmdlciB0aXRsZSBvbiBkZXNrdG9wICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mb3JtLXRpdGxlMiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG4gIC5mb3JtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG4vKiBEaXZpZGVycyAqL1xuLmRpdmlkZXIge1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogI2RkZDtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5kaXZpZGVyMiB7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBtYXJnaW46IDVweCAwO1xufVxuXG4vKiBDYXJkIFN0eWxlICovXG4uY2FyZCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEJ1dHRvbnMgKi9cbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMxODkwZmY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xufVxuXG5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDBhOWZmO1xufVxuXG4vKiBGaWxlIFVwbG9hZCBDb250YWluZXIgKi9cbi51cGxvYWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweDtcbn1cblxuLyogQ2VudGVyZWQgSXRlbXMgKi9cbi5pdGVtcy1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcblxufVxuXG4vKiBEaXZpZGVyIGZvciBVSSAqL1xuLmRpdmlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbn1cblxuLmRpdmlkZXItbGluZSB7XG4gIHdpZHRoOiA4MCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM2MGE1ZmEsICNhODU1ZjcsICNlYzQ4OTkpO1xufVxuXG4uZGl2aWRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGl2aWRlci10ZXh0IHNwYW4ge1xuICBmb250LXNpemU6IDJyZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzYwYTVmYSwgI2E4NTVmNywgI2VjNDg5OSk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIFN0ZXAgSW5kaWNhdG9yICovXG4uYW50LXN0ZXBzLWl0ZW0tdGl0bGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5hbnQtc3RlcHMtaXRlbS10aXRsZTpob3ZlciB7XG4gIGNvbG9yOiAjMTg5MGZmICFpbXBvcnRhbnQ7XG59XG5cbi8qIEZsZXggc3BhY2luZyAqL1xuLmN1c3RvbS1nYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyAvKiBTcGFjZSBiZXR3ZWVuIHRvcCByb3cgYW5kIGJvdHRvbSBsb2dvICovXG59XG5cbi5zcGFjZXIge1xuICBmbGV4LWdyb3c6IDE7IC8qIEF1dG9tYXRpY2FsbHkgdGFrZXMgdXAgcmVtYWluaW5nIHNwYWNlICovXG59XG5cbi8qIFBhZGRpbmcgRml4ZXMgKi9cbi5wYWRkaW5nLXJpZ2h0LTE2IHtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLnBhZGRpbmctcmlnaHQtNjQge1xuICBwYWRkaW5nLXJpZ2h0OiA2NHB4O1xufVxuLnBhZGRpbmctbGVmdC02NCB7XG4gIHBhZGRpbmctbGVmdDogNjRweDtcbn1cblxuLyogTG9nbyBTZWN0aW9uICovXG4ubG9nby1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBnYXA6IDEwcHg7XG59XG5cbi8qIExvZ28gU3R5bGVzICovXG4uaGVhZGluZ0xvZ28sXG4uaGVhZGluZ0xvZ28yIHtcbiAgd2lkdGg6IDE1dnc7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuaGVhZGluZ0xvZ28sXG4gIC5oZWFkaW5nTG9nbzIge1xuICAgIHdpZHRoOiA4dnc7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRpbmdMb2dvLFxuICAuaGVhZGluZ0xvZ28yIHtcbiAgICB3aWR0aDogMTJ2dztcbiAgICBtYXgtd2lkdGg6IDgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkaW5nTG9nbyxcbiAgLmhlYWRpbmdMb2dvMiB7XG4gICAgd2lkdGg6IDE1dnc7XG4gICAgbWF4LXdpZHRoOiA2MHB4O1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTY0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtNjQge1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgfVxufVxuXG4vKiBWb2x1bnRlZXIgUmVnaXN0cmF0aW9uIFNlY3Rpb24gKi9cbi50ZXh0LXJlZC02MDAge1xuICBjb2xvcjogI0JCNTk1Rjtcbn1cbi5wYWRkaW5nLXRvcC1ib3R0b20ge1xuICBwYWRkaW5nOiA4cHggMHB4O1xufVxuLnBhZGRpbmctdG9wLTYge1xuICBwYWRkaW5nLXRvcDogNnB4O1xufVxuXG4ubWFyZ2luLXRvcC0xNiB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cblxuLyogVXBsb2FkIGJ1dHRvbiBzdHlsZXMgKi9cbi5hbnQtdXBsb2FkLWxpc3QtaXRlbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLmltYWdlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mdWxsc2NyZWVuLWltYWdlIHtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgLW8tb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG4gICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5mdWxsc2NyZWVuLWltYWdlIHtcbiAgICBoZWlnaHQ6IDQwdmggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0MHZoICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG5cbi8qIFVwbG9hZCBDYXJkcyAtIEFkZHMgUGFkZGluZyBhbmQgQ29uc2lzdGVuY3kgKi9cbi51cGxvYWQtY2FyZCB7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogUGxhY2Vob2xkZXIgSW1hZ2UgLSBFbnN1cmVzIENvbnNpc3RlbnQgRGlzcGxheSAqL1xuLnVwbG9hZC1wbGFjZWhvbGRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMHB4O1xufVxuXG4vKiBEcmFnICYgRHJvcCBVcGxvYWQgLSBNYWtlcyBDViBVcGxvYWQgTW9yZSBJbnR1aXRpdmUgKi9cbi5hbnQtdXBsb2FkLWRyYWcge1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICBib3JkZXI6IDJweCBkYXNoZWQgI2NjYztcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5hbnQtdXBsb2FkLWRyYWc6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMxODkwZmY7XG4gIGJhY2tncm91bmQ6ICNlZWY2ZmY7XG59XG5cblxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5sZWZ0LXNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZDogdXJsKCR7X19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fX30pIG5vLXJlcGVhdCBjZW50ZXIvY292ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgLnJpZ2h0LXNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG5cbiAgLmxlZnQtc2VjdGlvbiB7XG4gICAgd2lkdGg6IDMwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQ6IHVybCgke19fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX199KSBuby1yZXBlYXQgY2VudGVyL2NvdmVyO1xuICB9XG5cbiAgLnJpZ2h0LXNlY3Rpb24ge1xuICAgIHdpZHRoOiA3MHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxufVxuXG5pbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG5cbi5hdHRlbmRhbmNlLXBhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hdHRlbmRhbmNlLXBhZ2UgaDIge1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5hdHRlbmRhbmNlLXBhZ2UgcCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59YCwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvaW5kZXguY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBO0VBQ0Usb0JBQW9C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QWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixhQUFhO0VBQ2Y7QUFDRjs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7O0FBR0E7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGVBQWU7RUFDZixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckJcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogJ0JheW9uJztcXG4gIHNyYzogdXJsKCcuL3NoYXJlZC9hc3NldHMvZm9udHMvQmF5b24tUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiAnU2llbXJlYXAnO1xcbiAgc3JjOiB1cmwoJy4vc2hhcmVkL2Fzc2V0cy9mb250cy9TaWVtcmVhcC1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxufVxcblxcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xcbiAgc3JjOiB1cmwoJy4vc2hhcmVkL2Fzc2V0cy9mb250cy9Sb2JvdG8tVmFyaWFibGVGb250X3dkdGhcXFxcLHdnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG59XFxuXFxuLyogR2xvYmFsIFN0eWxlcyAqL1xcbmJvZHkge1xcbiAgZm9udC1mYW1pbHk6ICdTaWVtcmVhcCcsIFJvYm90bztcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG59XFxuXFxuLyogRm9ybSB0aXRsZSAqL1xcbi5mb3JtLXRpdGxlIHtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIGNvbG9yOiAjMzMzO1xcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG4gIGZvbnQtZmFtaWx5OiAnU2llbXJlYXAnLCBSb2JvdG87XFxufVxcblxcblxcbi8qIEZvcm0gdGl0bGUgKi9cXG4uZm9ybS10aXRsZTIge1xcbiAgZm9udC1zaXplOiAwLjVyZW07XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBjb2xvcjogIzMzMztcXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XFxuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJywgUm9ib3RvO1xcbn1cXG5cXG4vKiBMYXJnZXIgdGl0bGUgb24gZGVza3RvcCAqL1xcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG4gIC5mb3JtLXRpdGxlMiB7XFxuICAgIGZvbnQtc2l6ZTogMXJlbTtcXG4gIH1cXG4gIC5mb3JtLXRpdGxlIHtcXG4gICAgZm9udC1zaXplOiAxLjVyZW07XFxuICB9XFxufVxcblxcbi8qIERpdmlkZXJzICovXFxuLmRpdmlkZXIge1xcbiAgaGVpZ2h0OiAycHg7XFxuICBiYWNrZ3JvdW5kOiAjZGRkO1xcbiAgbWFyZ2luOiAxMHB4IDA7XFxufVxcblxcbi5kaXZpZGVyMiB7XFxuICBoZWlnaHQ6IDFweDtcXG4gIGJhY2tncm91bmQ6ICNjY2M7XFxuICBtYXJnaW46IDVweCAwO1xcbn1cXG5cXG4vKiBDYXJkIFN0eWxlICovXFxuLmNhcmQge1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBwYWRkaW5nOiAyMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xcbiAgbWF4LXdpZHRoOiA1MDBweDtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5cXG4vKiBCdXR0b25zICovXFxuYnV0dG9uIHtcXG4gIGJhY2tncm91bmQ6ICMxODkwZmY7XFxuICBjb2xvcjogd2hpdGU7XFxuICBib3JkZXI6IG5vbmU7XFxuICBwYWRkaW5nOiAxMnB4O1xcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgd2lkdGg6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcXG59XFxuXFxuYnV0dG9uOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6ICM0MGE5ZmY7XFxufVxcblxcbi8qIEZpbGUgVXBsb2FkIENvbnRhaW5lciAqL1xcbi51cGxvYWQtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZ2FwOiAxMHB4O1xcbn1cXG5cXG4vKiBDZW50ZXJlZCBJdGVtcyAqL1xcbi5pdGVtcy1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZGlzcGxheTogZmxleDtcXG5cXG59XFxuXFxuLyogRGl2aWRlciBmb3IgVUkgKi9cXG4uZGl2aWRlci1jb250YWluZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbjogMS41cmVtIDA7XFxufVxcblxcbi5kaXZpZGVyLWxpbmUge1xcbiAgd2lkdGg6IDgwJTtcXG4gIGhlaWdodDogMnB4O1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNjBhNWZhLCAjYTg1NWY3LCAjZWM0ODk5KTtcXG59XFxuXFxuLmRpdmlkZXItdGV4dCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIHBhZGRpbmc6IDAgOHB4O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG5cXG4uZGl2aWRlci10ZXh0IHNwYW4ge1xcbiAgZm9udC1zaXplOiAycmVtO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNjBhNWZhLCAjYTg1NWY3LCAjZWM0ODk5KTtcXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5cXG4vKiBTdGVwIEluZGljYXRvciAqL1xcbi5hbnQtc3RlcHMtaXRlbS10aXRsZSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xcbn1cXG5cXG4uYW50LXN0ZXBzLWl0ZW0tdGl0bGU6aG92ZXIge1xcbiAgY29sb3I6ICMxODkwZmYgIWltcG9ydGFudDtcXG59XFxuXFxuLyogRmxleCBzcGFjaW5nICovXFxuLmN1c3RvbS1nYXAge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IC8qIFNwYWNlIGJldHdlZW4gdG9wIHJvdyBhbmQgYm90dG9tIGxvZ28gKi9cXG59XFxuXFxuLnNwYWNlciB7XFxuICBmbGV4LWdyb3c6IDE7IC8qIEF1dG9tYXRpY2FsbHkgdGFrZXMgdXAgcmVtYWluaW5nIHNwYWNlICovXFxufVxcblxcbi8qIFBhZGRpbmcgRml4ZXMgKi9cXG4ucGFkZGluZy1yaWdodC0xNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbn1cXG5cXG4ucGFkZGluZy1yaWdodC02NCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA2NHB4O1xcbn1cXG4ucGFkZGluZy1sZWZ0LTY0IHtcXG4gIHBhZGRpbmctbGVmdDogNjRweDtcXG59XFxuXFxuLyogTG9nbyBTZWN0aW9uICovXFxuLmxvZ28tY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBnYXA6IDEwcHg7XFxufVxcblxcbi8qIExvZ28gU3R5bGVzICovXFxuLmhlYWRpbmdMb2dvLFxcbi5oZWFkaW5nTG9nbzIge1xcbiAgd2lkdGg6IDE1dnc7XFxuICBoZWlnaHQ6IGF1dG87XFxuICBtYXgtd2lkdGg6IDEyMHB4O1xcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XFxuICAuaGVhZGluZ0xvZ28sXFxuICAuaGVhZGluZ0xvZ28yIHtcXG4gICAgd2lkdGg6IDh2dztcXG4gICAgbWF4LXdpZHRoOiAxMDBweDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XFxuICAuaGVhZGluZ0xvZ28sXFxuICAuaGVhZGluZ0xvZ28yIHtcXG4gICAgd2lkdGg6IDEydnc7XFxuICAgIG1heC13aWR0aDogODBweDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XFxuICAuaGVhZGluZ0xvZ28sXFxuICAuaGVhZGluZ0xvZ28yIHtcXG4gICAgd2lkdGg6IDE1dnc7XFxuICAgIG1heC13aWR0aDogNjBweDtcXG4gIH1cXG4gIC5wYWRkaW5nLXJpZ2h0LTY0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gIH1cXG4gIC5wYWRkaW5nLWxlZnQtNjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICB9XFxufVxcblxcbi8qIFZvbHVudGVlciBSZWdpc3RyYXRpb24gU2VjdGlvbiAqL1xcbi50ZXh0LXJlZC02MDAge1xcbiAgY29sb3I6ICNCQjU5NUY7XFxufVxcbi5wYWRkaW5nLXRvcC1ib3R0b20ge1xcbiAgcGFkZGluZzogOHB4IDBweDtcXG59XFxuLnBhZGRpbmctdG9wLTYge1xcbiAgcGFkZGluZy10b3A6IDZweDtcXG59XFxuXFxuLm1hcmdpbi10b3AtMTYge1xcbiAgbWFyZ2luLXRvcDogMTZweDtcXG59XFxuXFxuXFxuLyogVXBsb2FkIGJ1dHRvbiBzdHlsZXMgKi9cXG4uYW50LXVwbG9hZC1saXN0LWl0ZW0tY29udGFpbmVyIHtcXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XFxufVxcbi5pbWFnZS1jb250YWluZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcblxcbi5mdWxsc2NyZWVuLWltYWdlIHtcXG4gIGluc2V0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvYmplY3QtZml0OiBjb3ZlcjtcXG4gIG9iamVjdC1wb3NpdGlvbjogdG9wO1xcbiAgbWluLWhlaWdodDogMTAwdmg7XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xcbiAgLmZ1bGxzY3JlZW4taW1hZ2Uge1xcbiAgICBoZWlnaHQ6IDQwdmggIWltcG9ydGFudDtcXG4gICAgbWluLWhlaWdodDogNDB2aCAhaW1wb3J0YW50O1xcbiAgfVxcbn1cXG5cXG5cXG5cXG4vKiBVcGxvYWQgQ2FyZHMgLSBBZGRzIFBhZGRpbmcgYW5kIENvbnNpc3RlbmN5ICovXFxuLnVwbG9hZC1jYXJkIHtcXG4gIHBhZGRpbmc6IDE2cHg7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBib3gtc2hhZG93OiAwcHggNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xcbn1cXG5cXG4vKiBQbGFjZWhvbGRlciBJbWFnZSAtIEVuc3VyZXMgQ29uc2lzdGVudCBEaXNwbGF5ICovXFxuLnVwbG9hZC1wbGFjZWhvbGRlciB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG4gIG1heC1oZWlnaHQ6IDEwMHB4O1xcbn1cXG5cXG4vKiBEcmFnICYgRHJvcCBVcGxvYWQgLSBNYWtlcyBDViBVcGxvYWQgTW9yZSBJbnR1aXRpdmUgKi9cXG4uYW50LXVwbG9hZC1kcmFnIHtcXG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XFxuICBib3JkZXI6IDJweCBkYXNoZWQgI2NjYztcXG4gIHBhZGRpbmc6IDIwcHg7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxufVxcblxcbi5hbnQtdXBsb2FkLWRyYWc6aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiAjMTg5MGZmO1xcbiAgYmFja2dyb3VuZDogI2VlZjZmZjtcXG59XFxuXFxuXFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XFxuICAuY29udGFpbmVyIHtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIH1cXG5cXG4gIC5sZWZ0LXNlY3Rpb24ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gICAgYmFja2dyb3VuZDogdXJsKFxcXCIuL3NoYXJlZC9hc3NldHMvaW1hZ2VzL3RlYW0ucG5nXFxcIikgbm8tcmVwZWF0IGNlbnRlci9jb3ZlcjtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIGxlZnQ6IDA7XFxuICAgIHotaW5kZXg6IC0xO1xcbiAgfVxcblxcbiAgLnJpZ2h0LXNlY3Rpb24ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xcbiAgLmNvbnRhaW5lciB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIHdpZHRoOiAxMDB2dztcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZWZ0LXNlY3Rpb24ge1xcbiAgICB3aWR0aDogMzB2dztcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcXG4gICAgYmFja2dyb3VuZDogdXJsKFxcXCIuL3NoYXJlZC9hc3NldHMvaW1hZ2VzL3RlYW0ucG5nXFxcIikgbm8tcmVwZWF0IGNlbnRlci9jb3ZlcjtcXG4gIH1cXG5cXG4gIC5yaWdodC1zZWN0aW9uIHtcXG4gICAgd2lkdGg6IDcwdnc7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xcbiAgICBwYWRkaW5nOiAxNnB4O1xcbiAgfVxcbn1cXG5cXG5pbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XFxuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcXG59XFxuXFxuXFxuLmF0dGVuZGFuY2UtcGFnZSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuXFxuLmF0dGVuZGFuY2UtcGFnZSBoMiB7XFxuICBmb250LXNpemU6IDI0cHg7XFxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbn1cXG5cXG4uYXR0ZW5kYW5jZS1wYWdlIHAge1xcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcXG59XCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsInZhciBtYXAgPSB7XG5cdFwiLi9hZlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FmLmpzXCIsXG5cdFwiLi9hZi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FmLmpzXCIsXG5cdFwiLi9hclwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLmpzXCIsXG5cdFwiLi9hci1kelwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLWR6LmpzXCIsXG5cdFwiLi9hci1kei5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLWR6LmpzXCIsXG5cdFwiLi9hci1rd1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLWt3LmpzXCIsXG5cdFwiLi9hci1rdy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLWt3LmpzXCIsXG5cdFwiLi9hci1seVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLWx5LmpzXCIsXG5cdFwiLi9hci1seS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLWx5LmpzXCIsXG5cdFwiLi9hci1tYVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLW1hLmpzXCIsXG5cdFwiLi9hci1tYS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLW1hLmpzXCIsXG5cdFwiLi9hci1wc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLXBzLmpzXCIsXG5cdFwiLi9hci1wcy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLXBzLmpzXCIsXG5cdFwiLi9hci1zYVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLXNhLmpzXCIsXG5cdFwiLi9hci1zYS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLXNhLmpzXCIsXG5cdFwiLi9hci10blwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLXRuLmpzXCIsXG5cdFwiLi9hci10bi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLXRuLmpzXCIsXG5cdFwiLi9hci5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2FyLmpzXCIsXG5cdFwiLi9helwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2F6LmpzXCIsXG5cdFwiLi9hei5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2F6LmpzXCIsXG5cdFwiLi9iZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JlLmpzXCIsXG5cdFwiLi9iZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JlLmpzXCIsXG5cdFwiLi9iZ1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JnLmpzXCIsXG5cdFwiLi9iZy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JnLmpzXCIsXG5cdFwiLi9ibVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JtLmpzXCIsXG5cdFwiLi9ibS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JtLmpzXCIsXG5cdFwiLi9iblwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JuLmpzXCIsXG5cdFwiLi9ibi1iZFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JuLWJkLmpzXCIsXG5cdFwiLi9ibi1iZC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JuLWJkLmpzXCIsXG5cdFwiLi9ibi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JuLmpzXCIsXG5cdFwiLi9ib1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JvLmpzXCIsXG5cdFwiLi9iby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JvLmpzXCIsXG5cdFwiLi9iclwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JyLmpzXCIsXG5cdFwiLi9ici5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JyLmpzXCIsXG5cdFwiLi9ic1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JzLmpzXCIsXG5cdFwiLi9icy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2JzLmpzXCIsXG5cdFwiLi9jYVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2NhLmpzXCIsXG5cdFwiLi9jYS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2NhLmpzXCIsXG5cdFwiLi9jc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2NzLmpzXCIsXG5cdFwiLi9jcy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2NzLmpzXCIsXG5cdFwiLi9jdlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2N2LmpzXCIsXG5cdFwiLi9jdi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2N2LmpzXCIsXG5cdFwiLi9jeVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2N5LmpzXCIsXG5cdFwiLi9jeS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2N5LmpzXCIsXG5cdFwiLi9kYVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2RhLmpzXCIsXG5cdFwiLi9kYS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2RhLmpzXCIsXG5cdFwiLi9kZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2RlLmpzXCIsXG5cdFwiLi9kZS1hdFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2RlLWF0LmpzXCIsXG5cdFwiLi9kZS1hdC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2RlLWF0LmpzXCIsXG5cdFwiLi9kZS1jaFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2RlLWNoLmpzXCIsXG5cdFwiLi9kZS1jaC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2RlLWNoLmpzXCIsXG5cdFwiLi9kZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2RlLmpzXCIsXG5cdFwiLi9kdlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2R2LmpzXCIsXG5cdFwiLi9kdi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2R2LmpzXCIsXG5cdFwiLi9lbFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VsLmpzXCIsXG5cdFwiLi9lbC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VsLmpzXCIsXG5cdFwiLi9lbi1hdVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWF1LmpzXCIsXG5cdFwiLi9lbi1hdS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWF1LmpzXCIsXG5cdFwiLi9lbi1jYVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWNhLmpzXCIsXG5cdFwiLi9lbi1jYS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWNhLmpzXCIsXG5cdFwiLi9lbi1nYlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWdiLmpzXCIsXG5cdFwiLi9lbi1nYi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWdiLmpzXCIsXG5cdFwiLi9lbi1pZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWllLmpzXCIsXG5cdFwiLi9lbi1pZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWllLmpzXCIsXG5cdFwiLi9lbi1pbFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWlsLmpzXCIsXG5cdFwiLi9lbi1pbC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWlsLmpzXCIsXG5cdFwiLi9lbi1pblwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWluLmpzXCIsXG5cdFwiLi9lbi1pbi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLWluLmpzXCIsXG5cdFwiLi9lbi1uelwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLW56LmpzXCIsXG5cdFwiLi9lbi1uei5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLW56LmpzXCIsXG5cdFwiLi9lbi1zZ1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLXNnLmpzXCIsXG5cdFwiLi9lbi1zZy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VuLXNnLmpzXCIsXG5cdFwiLi9lb1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VvLmpzXCIsXG5cdFwiLi9lby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VvLmpzXCIsXG5cdFwiLi9lc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VzLmpzXCIsXG5cdFwiLi9lcy1kb1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VzLWRvLmpzXCIsXG5cdFwiLi9lcy1kby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VzLWRvLmpzXCIsXG5cdFwiLi9lcy1teFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VzLW14LmpzXCIsXG5cdFwiLi9lcy1teC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VzLW14LmpzXCIsXG5cdFwiLi9lcy11c1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VzLXVzLmpzXCIsXG5cdFwiLi9lcy11cy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VzLXVzLmpzXCIsXG5cdFwiLi9lcy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2VzLmpzXCIsXG5cdFwiLi9ldFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2V0LmpzXCIsXG5cdFwiLi9ldC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2V0LmpzXCIsXG5cdFwiLi9ldVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2V1LmpzXCIsXG5cdFwiLi9ldS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2V1LmpzXCIsXG5cdFwiLi9mYVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2ZhLmpzXCIsXG5cdFwiLi9mYS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2ZhLmpzXCIsXG5cdFwiLi9maVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2ZpLmpzXCIsXG5cdFwiLi9maS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2ZpLmpzXCIsXG5cdFwiLi9maWxcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9maWwuanNcIixcblx0XCIuL2ZpbC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2ZpbC5qc1wiLFxuXHRcIi4vZm9cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mby5qc1wiLFxuXHRcIi4vZm8uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mby5qc1wiLFxuXHRcIi4vZnJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mci5qc1wiLFxuXHRcIi4vZnItY2FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mci1jYS5qc1wiLFxuXHRcIi4vZnItY2EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mci1jYS5qc1wiLFxuXHRcIi4vZnItY2hcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mci1jaC5qc1wiLFxuXHRcIi4vZnItY2guanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mci1jaC5qc1wiLFxuXHRcIi4vZnIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mci5qc1wiLFxuXHRcIi4vZnlcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9meS5qc1wiLFxuXHRcIi4vZnkuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9meS5qc1wiLFxuXHRcIi4vZ2FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nYS5qc1wiLFxuXHRcIi4vZ2EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nYS5qc1wiLFxuXHRcIi4vZ2RcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nZC5qc1wiLFxuXHRcIi4vZ2QuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nZC5qc1wiLFxuXHRcIi4vZ2xcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nbC5qc1wiLFxuXHRcIi4vZ2wuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nbC5qc1wiLFxuXHRcIi4vZ29tLWRldmFcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nb20tZGV2YS5qc1wiLFxuXHRcIi4vZ29tLWRldmEuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nb20tZGV2YS5qc1wiLFxuXHRcIi4vZ29tLWxhdG5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nb20tbGF0bi5qc1wiLFxuXHRcIi4vZ29tLWxhdG4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9nb20tbGF0bi5qc1wiLFxuXHRcIi4vZ3VcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ndS5qc1wiLFxuXHRcIi4vZ3UuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ndS5qc1wiLFxuXHRcIi4vaGVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9oZS5qc1wiLFxuXHRcIi4vaGUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9oZS5qc1wiLFxuXHRcIi4vaGlcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9oaS5qc1wiLFxuXHRcIi4vaGkuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9oaS5qc1wiLFxuXHRcIi4vaHJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9oci5qc1wiLFxuXHRcIi4vaHIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9oci5qc1wiLFxuXHRcIi4vaHVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9odS5qc1wiLFxuXHRcIi4vaHUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9odS5qc1wiLFxuXHRcIi4vaHktYW1cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9oeS1hbS5qc1wiLFxuXHRcIi4vaHktYW0uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9oeS1hbS5qc1wiLFxuXHRcIi4vaWRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9pZC5qc1wiLFxuXHRcIi4vaWQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9pZC5qc1wiLFxuXHRcIi4vaXNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9pcy5qc1wiLFxuXHRcIi4vaXMuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9pcy5qc1wiLFxuXHRcIi4vaXRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9pdC5qc1wiLFxuXHRcIi4vaXQtY2hcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9pdC1jaC5qc1wiLFxuXHRcIi4vaXQtY2guanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9pdC1jaC5qc1wiLFxuXHRcIi4vaXQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9pdC5qc1wiLFxuXHRcIi4vamFcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9qYS5qc1wiLFxuXHRcIi4vamEuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9qYS5qc1wiLFxuXHRcIi4vanZcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9qdi5qc1wiLFxuXHRcIi4vanYuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9qdi5qc1wiLFxuXHRcIi4va2FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rYS5qc1wiLFxuXHRcIi4va2EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rYS5qc1wiLFxuXHRcIi4va2tcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ray5qc1wiLFxuXHRcIi4va2suanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ray5qc1wiLFxuXHRcIi4va21cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rbS5qc1wiLFxuXHRcIi4va20uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rbS5qc1wiLFxuXHRcIi4va25cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rbi5qc1wiLFxuXHRcIi4va24uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rbi5qc1wiLFxuXHRcIi4va29cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rby5qc1wiLFxuXHRcIi4va28uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rby5qc1wiLFxuXHRcIi4va3VcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rdS5qc1wiLFxuXHRcIi4va3Uta21yXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva3Uta21yLmpzXCIsXG5cdFwiLi9rdS1rbXIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9rdS1rbXIuanNcIixcblx0XCIuL2t1LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva3UuanNcIixcblx0XCIuL2t5XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva3kuanNcIixcblx0XCIuL2t5LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva3kuanNcIixcblx0XCIuL2xiXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbGIuanNcIixcblx0XCIuL2xiLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbGIuanNcIixcblx0XCIuL2xvXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbG8uanNcIixcblx0XCIuL2xvLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbG8uanNcIixcblx0XCIuL2x0XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbHQuanNcIixcblx0XCIuL2x0LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbHQuanNcIixcblx0XCIuL2x2XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbHYuanNcIixcblx0XCIuL2x2LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbHYuanNcIixcblx0XCIuL21lXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbWUuanNcIixcblx0XCIuL21lLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbWUuanNcIixcblx0XCIuL21pXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbWkuanNcIixcblx0XCIuL21pLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbWkuanNcIixcblx0XCIuL21rXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbWsuanNcIixcblx0XCIuL21rLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbWsuanNcIixcblx0XCIuL21sXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbWwuanNcIixcblx0XCIuL21sLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbWwuanNcIixcblx0XCIuL21uXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbW4uanNcIixcblx0XCIuL21uLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbW4uanNcIixcblx0XCIuL21yXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXIuanNcIixcblx0XCIuL21yLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXIuanNcIixcblx0XCIuL21zXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXMuanNcIixcblx0XCIuL21zLW15XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXMtbXkuanNcIixcblx0XCIuL21zLW15LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXMtbXkuanNcIixcblx0XCIuL21zLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXMuanNcIixcblx0XCIuL210XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXQuanNcIixcblx0XCIuL210LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXQuanNcIixcblx0XCIuL215XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXkuanNcIixcblx0XCIuL215LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbXkuanNcIixcblx0XCIuL25iXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbmIuanNcIixcblx0XCIuL25iLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbmIuanNcIixcblx0XCIuL25lXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbmUuanNcIixcblx0XCIuL25lLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbmUuanNcIixcblx0XCIuL25sXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbmwuanNcIixcblx0XCIuL25sLWJlXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbmwtYmUuanNcIixcblx0XCIuL25sLWJlLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbmwtYmUuanNcIixcblx0XCIuL25sLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbmwuanNcIixcblx0XCIuL25uXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbm4uanNcIixcblx0XCIuL25uLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvbm4uanNcIixcblx0XCIuL29jLWxuY1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL29jLWxuYy5qc1wiLFxuXHRcIi4vb2MtbG5jLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvb2MtbG5jLmpzXCIsXG5cdFwiLi9wYS1pblwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3BhLWluLmpzXCIsXG5cdFwiLi9wYS1pbi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3BhLWluLmpzXCIsXG5cdFwiLi9wbFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3BsLmpzXCIsXG5cdFwiLi9wbC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3BsLmpzXCIsXG5cdFwiLi9wdFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3B0LmpzXCIsXG5cdFwiLi9wdC1iclwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3B0LWJyLmpzXCIsXG5cdFwiLi9wdC1ici5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3B0LWJyLmpzXCIsXG5cdFwiLi9wdC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3B0LmpzXCIsXG5cdFwiLi9yb1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3JvLmpzXCIsXG5cdFwiLi9yby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3JvLmpzXCIsXG5cdFwiLi9ydVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3J1LmpzXCIsXG5cdFwiLi9ydS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3J1LmpzXCIsXG5cdFwiLi9zZFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NkLmpzXCIsXG5cdFwiLi9zZC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NkLmpzXCIsXG5cdFwiLi9zZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NlLmpzXCIsXG5cdFwiLi9zZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NlLmpzXCIsXG5cdFwiLi9zaVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NpLmpzXCIsXG5cdFwiLi9zaS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NpLmpzXCIsXG5cdFwiLi9za1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NrLmpzXCIsXG5cdFwiLi9zay5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NrLmpzXCIsXG5cdFwiLi9zbFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NsLmpzXCIsXG5cdFwiLi9zbC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NsLmpzXCIsXG5cdFwiLi9zcVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NxLmpzXCIsXG5cdFwiLi9zcS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NxLmpzXCIsXG5cdFwiLi9zclwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NyLmpzXCIsXG5cdFwiLi9zci1jeXJsXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvc3ItY3lybC5qc1wiLFxuXHRcIi4vc3ItY3lybC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NyLWN5cmwuanNcIixcblx0XCIuL3NyLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvc3IuanNcIixcblx0XCIuL3NzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvc3MuanNcIixcblx0XCIuL3NzLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvc3MuanNcIixcblx0XCIuL3N2XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvc3YuanNcIixcblx0XCIuL3N2LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvc3YuanNcIixcblx0XCIuL3N3XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvc3cuanNcIixcblx0XCIuL3N3LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvc3cuanNcIixcblx0XCIuL3RhXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdGEuanNcIixcblx0XCIuL3RhLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdGEuanNcIixcblx0XCIuL3RlXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdGUuanNcIixcblx0XCIuL3RlLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdGUuanNcIixcblx0XCIuL3RldFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RldC5qc1wiLFxuXHRcIi4vdGV0LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdGV0LmpzXCIsXG5cdFwiLi90Z1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RnLmpzXCIsXG5cdFwiLi90Zy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RnLmpzXCIsXG5cdFwiLi90aFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RoLmpzXCIsXG5cdFwiLi90aC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RoLmpzXCIsXG5cdFwiLi90a1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RrLmpzXCIsXG5cdFwiLi90ay5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RrLmpzXCIsXG5cdFwiLi90bC1waFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RsLXBoLmpzXCIsXG5cdFwiLi90bC1waC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RsLXBoLmpzXCIsXG5cdFwiLi90bGhcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90bGguanNcIixcblx0XCIuL3RsaC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RsaC5qc1wiLFxuXHRcIi4vdHJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90ci5qc1wiLFxuXHRcIi4vdHIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90ci5qc1wiLFxuXHRcIi4vdHpsXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHpsLmpzXCIsXG5cdFwiLi90emwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90emwuanNcIixcblx0XCIuL3R6bVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3R6bS5qc1wiLFxuXHRcIi4vdHptLWxhdG5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90em0tbGF0bi5qc1wiLFxuXHRcIi4vdHptLWxhdG4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90em0tbGF0bi5qc1wiLFxuXHRcIi4vdHptLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHptLmpzXCIsXG5cdFwiLi91Zy1jblwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3VnLWNuLmpzXCIsXG5cdFwiLi91Zy1jbi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3VnLWNuLmpzXCIsXG5cdFwiLi91a1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3VrLmpzXCIsXG5cdFwiLi91ay5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3VrLmpzXCIsXG5cdFwiLi91clwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3VyLmpzXCIsXG5cdFwiLi91ci5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3VyLmpzXCIsXG5cdFwiLi91elwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3V6LmpzXCIsXG5cdFwiLi91ei1sYXRuXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdXotbGF0bi5qc1wiLFxuXHRcIi4vdXotbGF0bi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3V6LWxhdG4uanNcIixcblx0XCIuL3V6LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdXouanNcIixcblx0XCIuL3ZpXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdmkuanNcIixcblx0XCIuL3ZpLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdmkuanNcIixcblx0XCIuL3gtcHNldWRvXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUveC1wc2V1ZG8uanNcIixcblx0XCIuL3gtcHNldWRvLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUveC1wc2V1ZG8uanNcIixcblx0XCIuL3lvXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUveW8uanNcIixcblx0XCIuL3lvLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUveW8uanNcIixcblx0XCIuL3poLWNuXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvemgtY24uanNcIixcblx0XCIuL3poLWNuLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvemgtY24uanNcIixcblx0XCIuL3poLWhrXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvemgtaGsuanNcIixcblx0XCIuL3poLWhrLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvemgtaGsuanNcIixcblx0XCIuL3poLW1vXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvemgtbW8uanNcIixcblx0XCIuL3poLW1vLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvemgtbW8uanNcIixcblx0XCIuL3poLXR3XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvemgtdHcuanNcIixcblx0XCIuL3poLXR3LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvemgtdHcuanNcIlxufTtcblxuXG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dChyZXEpIHtcblx0dmFyIGlkID0gd2VicGFja0NvbnRleHRSZXNvbHZlKHJlcSk7XG5cdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKGlkKTtcbn1cbmZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpIHtcblx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhtYXAsIHJlcSkpIHtcblx0XHR2YXIgZSA9IG5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIgKyByZXEgKyBcIidcIik7XG5cdFx0ZS5jb2RlID0gJ01PRFVMRV9OT1RfRk9VTkQnO1xuXHRcdHRocm93IGU7XG5cdH1cblx0cmV0dXJuIG1hcFtyZXFdO1xufVxud2VicGFja0NvbnRleHQua2V5cyA9IGZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0S2V5cygpIHtcblx0cmV0dXJuIE9iamVjdC5rZXlzKG1hcCk7XG59O1xud2VicGFja0NvbnRleHQucmVzb2x2ZSA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZTtcbm1vZHVsZS5leHBvcnRzID0gd2VicGFja0NvbnRleHQ7XG53ZWJwYWNrQ29udGV4dC5pZCA9IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUgc3luYyByZWN1cnNpdmUgXlxcXFwuXFxcXC8uKiRcIjsiLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnJvd3NlclJvdXRlciB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IEFwcFJvdXRlcyBmcm9tICcuL3NoYXJlZC9yb3V0ZXMnO1xuXG5jb25zdCBBcHA6IFJlYWN0LkZDID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCcm93c2VyUm91dGVyPlxuICAgICAgPEFwcFJvdXRlcyAvPlxuICAgIDwvQnJvd3NlclJvdXRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEFwcDtcbiIsIlxuICAgICAgaW1wb3J0IEFQSSBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgaW1wb3J0IGRvbUFQSSBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlRG9tQVBJLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0Rm4gZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRCeVNlbGVjdG9yLmpzXCI7XG4gICAgICBpbXBvcnQgc2V0QXR0cmlidXRlcyBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3NldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcy5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydFN0eWxlRWxlbWVudCBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydFN0eWxlRWxlbWVudC5qc1wiO1xuICAgICAgaW1wb3J0IHN0eWxlVGFnVHJhbnNmb3JtRm4gZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qc1wiO1xuICAgICAgaW1wb3J0IGNvbnRlbnQsICogYXMgbmFtZWRFeHBvcnQgZnJvbSBcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vaW5kZXguY3NzXCI7XG4gICAgICBcbiAgICAgIFxuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLnN0eWxlVGFnVHJhbnNmb3JtID0gc3R5bGVUYWdUcmFuc2Zvcm1Gbjtcbm9wdGlvbnMuc2V0QXR0cmlidXRlcyA9IHNldEF0dHJpYnV0ZXM7XG5vcHRpb25zLmluc2VydCA9IGluc2VydEZuLmJpbmQobnVsbCwgXCJoZWFkXCIpO1xub3B0aW9ucy5kb21BUEkgPSBkb21BUEk7XG5vcHRpb25zLmluc2VydFN0eWxlRWxlbWVudCA9IGluc2VydFN0eWxlRWxlbWVudDtcblxudmFyIHVwZGF0ZSA9IEFQSShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCAqIGZyb20gXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL2luZGV4LmNzc1wiO1xuICAgICAgIGV4cG9ydCBkZWZhdWx0IGNvbnRlbnQgJiYgY29udGVudC5sb2NhbHMgPyBjb250ZW50LmxvY2FscyA6IHVuZGVmaW5lZDtcbiIsIi8vIEltcG9ydCBkZXBlbmRlbmNpZXNcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAncmVhY3QtZG9tL2NsaWVudCc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuLy8gSW1wb3J0IGFwcGxpY2F0aW9uIGNvbXBvbmVudHMgYW5kIHN0eWxlc1xuaW1wb3J0IEFwcCBmcm9tICcuL2FwcCc7XG5pbXBvcnQgJy4vaW5kZXguY3NzJztcbmltcG9ydCB7IHN0b3JlIH0gZnJvbSAnLi9zaGFyZWQvcmVkdXgvc3RvcmUnO1xuXG4vLyBXYWl0IGZvciBET00gY29udGVudCB0byBsb2FkXG5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge1xuICBjb25zdCByb290RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290Jyk7XG5cbiAgaWYgKHJvb3RFbGVtZW50KSB7XG4gICAgY29uc3Qgcm9vdCA9IGNyZWF0ZVJvb3Qocm9vdEVsZW1lbnQpO1xuICAgIHJvb3QucmVuZGVyKFxuICAgICAgPFByb3ZpZGVyIHN0b3JlPXtzdG9yZX0+XG4gICAgICAgIDxBcHAgLz5cbiAgICAgIDwvUHJvdmlkZXI+LFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5lcnJvcignUm9vdCBlbGVtZW50IG5vdCBmb3VuZC4gVW5hYmxlIHRvIHJlbmRlciB0aGUgYXBwbGljYXRpb24uJyk7XG4gIH1cbn0pO1xuIiwiaW1wb3J0IHsgY3JlYXRlQXN5bmNUaHVuayB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgQVVUSEVOVElDQVRJT05fTE9HSU4sIEFVVEhFTlRJQ0FUSU9OX0xPR0lOX1RFTEVHUkFNLCBBVVRIRU5USUNBVElPTl9SRUdJU1RFUiwgQVVUSEVOVElDQVRJT05fVkVSSUZZX09QVCwgVVNFUl9BVFRFTkRBTkNFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9naW5UZWxlZ3JhbVVzZXJTZXJ2aWNlLCBsb2dpblVzZXJTZXJ2aWNlLCByZWdpc3RlclRlbGVncmFtVXNlclNlcnZpY2UsIHVzZXJBdHRlbmRhbmNlU2VydmljZSwgdmVyaWZ5T1RQU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG5cbmV4cG9ydCBjb25zdCBsb2dpblVzZXJBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEFVVEhFTlRJQ0FUSU9OX0xPR0lOLFxuICBsb2dpblVzZXJTZXJ2aWNlLFxuKTtcblxuZXhwb3J0IGNvbnN0IHZlcmlmeU9UUEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgQVVUSEVOVElDQVRJT05fVkVSSUZZX09QVCxcbiAgdmVyaWZ5T1RQU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IGxvZ2luVGVsZWdyYW1Vc2VyQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBBVVRIRU5USUNBVElPTl9MT0dJTl9URUxFR1JBTSxcbiAgbG9naW5UZWxlZ3JhbVVzZXJTZXJ2aWNlLFxuKTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyVGVsZWdyYW1Vc2VyQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBBVVRIRU5USUNBVElPTl9SRUdJU1RFUixcbiAgcmVnaXN0ZXJUZWxlZ3JhbVVzZXJTZXJ2aWNlLFxuKTtcblxuXG5leHBvcnQgY29uc3QgdXNlckF0dGVuZGFuY2VBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIFVTRVJfQVRURU5EQU5DRSxcbiAgdXNlckF0dGVuZGFuY2VTZXJ2aWNlLFxuKTsiLCJleHBvcnQgY29uc3QgQVVUSCA9ICdhdXRoJztcbmV4cG9ydCBjb25zdCBBVVRIRU5USUNBVElPTl9MT0dJTiA9ICcvYXV0aC9sb2dpbnMnO1xuZXhwb3J0IGNvbnN0IEFVVEhFTlRJQ0FUSU9OX0xPR0lOX1RFTEVHUkFNID0gJy9hdXRoL2xvZ2luJztcbmV4cG9ydCBjb25zdCBBVVRIRU5USUNBVElPTl9SRUdJU1RFUiA9ICcvYXV0aC9yZWdpc3Rlcic7XG5leHBvcnQgY29uc3QgQVVUSEVOVElDQVRJT05fVkVSSUZZX09QVCA9ICdhcGkvdjEvdmVyaWZ5JztcbmV4cG9ydCBjb25zdCBVU0VSX0FUVEVOREFOQ0UgPSAnL3VzZXItYXR0ZW5kYW5jZXMnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgQXV0aFN0YXRlLCBVc2VyIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBsb2dpblRlbGVncmFtVXNlckFjdGlvbiwgbG9naW5Vc2VyQWN0aW9uLCB2ZXJpZnlPVFBBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgQVVUSCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLy8gU2FmZWx5IHJldHJpZXZlIHNlc3Npb24gZGF0YVxuY29uc3QgZ2V0U2Vzc2lvbkl0ZW0gPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBpdGVtID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgIHJldHVybiBpdGVtID8gSlNPTi5wYXJzZShpdGVtKSA6IG51bGw7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgcmV0cmlldmluZyBzZXNzaW9uIGl0ZW0gKCR7a2V5fSk6YCwgZXJyb3IpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5jb25zdCBnZXRTZXNzaW9uVG9rZW4gPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBpdGVtID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgIHJldHVybiBpdGVtID8gaXRlbSA6IG51bGw7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgcmV0cmlldmluZyBzZXNzaW9uIGl0ZW0gKCR7a2V5fSk6YCwgZXJyb3IpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IEF1dGhTdGF0ZSA9IHtcbiAgY3VycmVudFVzZXI6IGdldFNlc3Npb25JdGVtKCdjdXJyZW50VXNlcicpLFxuICBpc0xvZ2luUGVuZGluZzogZmFsc2UsXG4gIHBhZ2luYXRpb246IHtcbiAgICBjdXJyZW50UGFnZTogMSxcbiAgICBpdGVtc1BlclBhZ2U6IDEwLFxuICAgIHRvdGFsSXRlbXM6IDEwMCxcbiAgfSxcbiAgbG9naW5FcnJvck1lc3NhZ2U6ICcnLFxuICBoYW5kbGVSZWdpdGVyVGVsZWdyYW06IGZhbHNlLFxuICBpc090cFZlcmlmaWNhdGlvblBlbmRpbmc6IGZhbHNlLFxuICBvdHBWZXJpZmljYXRpb25FcnJvck1lc3NhZ2U6ICcnLFxuICBhY2Nlc3NUb2tlbjogZ2V0U2Vzc2lvblRva2VuKCd0b2tlbicpLFxuICBlbWFpbDogJycsXG59O1xuXG5leHBvcnQgY29uc3QgYXV0aFNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBBVVRILFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgbG9nb3V0OiAoc3RhdGUpID0+IHtcbiAgICAgIHN0YXRlLmN1cnJlbnRVc2VyID0gbnVsbDtcbiAgICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XG4gICAgfSxcbiAgICBzZXRUb2tlbjogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUuYWNjZXNzVG9rZW4gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3Rva2VuJywgSlNPTi5zdHJpbmdpZnkoYWN0aW9uLnBheWxvYWQpKTtcbiAgICB9LFxuICAgIHNldFVzZXI6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPFVzZXI+KSA9PiB7XG4gICAgICBzdGF0ZS5jdXJyZW50VXNlciA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY3VycmVudFVzZXInLCBKU09OLnN0cmluZ2lmeShhY3Rpb24ucGF5bG9hZCkpO1xuICAgIH0sXG4gICAgc2V0SXNMb2dpblBlbmRpbmc6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPGJvb2xlYW4+KSA9PiB7XG4gICAgICBzdGF0ZS5pc0xvZ2luUGVuZGluZyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gICAgc2V0TG9naW5FcnJvck1lc3NhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLmxvZ2luRXJyb3JNZXNzYWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgICBzZXRFbWFpbDogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUuZW1haWwgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuICBleHRyYVJlZHVjZXJzOiAoYnVpbGRlcikgPT4ge1xuICAgIGJ1aWxkZXJcbiAgICAgIC5hZGRDYXNlKGxvZ2luVXNlckFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuaXNMb2dpblBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5sb2dpbkVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGxvZ2luVXNlckFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaXNMb2dpblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShhY3Rpb24/LnBheWxvYWQuZGF0YSk7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UobG9naW5Vc2VyQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLmlzTG9naW5QZW5kaW5nID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKFsnVXNlciBub3QgZm91bmQnLCAnSW52YWxpZCBjcmVkZW50aWFscyddLmluY2x1ZGVzKHBheWxvYWQuZGF0YSkpIHtcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdjdXJyZW50VXNlcicpO1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XG4gICAgICAgICAgc3RhdGUuY3VycmVudFVzZXIgPSBudWxsO1xuICAgICAgICAgIHN0YXRlLmFjY2Vzc1Rva2VuID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZS5jdXJyZW50VXNlciA9IHBheWxvYWQudXNlcjtcbiAgICAgICAgICBzdGF0ZS5hY2Nlc3NUb2tlbiA9IHBheWxvYWQuYWNjZXNzX3Rva2VuO1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2N1cnJlbnRVc2VyJywgSlNPTi5zdHJpbmdpZnkocGF5bG9hZC51c2VyKSk7XG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCBwYXlsb2FkLmFjY2Vzc190b2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShwYXlsb2FkLmRhdGEpO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIHRlbGVncmFtIGxvZ2luXG4gICAgICAuYWRkQ2FzZShsb2dpblRlbGVncmFtVXNlckFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuaXNMb2dpblBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5sb2dpbkVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGxvZ2luVGVsZWdyYW1Vc2VyQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pc0xvZ2luUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5sb2dpbkVycm9yTWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KGFjdGlvbj8ucGF5bG9hZC5kYXRhKTtcbiAgICAgICAgc3RhdGUuaGFuZGxlUmVnaXRlclRlbGVncmFtID0gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShsb2dpblRlbGVncmFtVXNlckFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5pc0xvZ2luUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBpZiAoWydVc2VyIG5vdCBmb3VuZCcsICdJbnZhbGlkIGNyZWRlbnRpYWxzJ10uaW5jbHVkZXMocGF5bG9hZC5kYXRhKSkge1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ2N1cnJlbnRVc2VyJyk7XG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgndG9rZW4nKTtcbiAgICAgICAgICBzdGF0ZS5jdXJyZW50VXNlciA9IG51bGw7XG4gICAgICAgICAgc3RhdGUuYWNjZXNzVG9rZW4gPSBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlLmN1cnJlbnRVc2VyID0gcGF5bG9hZC51c2VyO1xuICAgICAgICAgIHN0YXRlLmFjY2Vzc1Rva2VuID0gcGF5bG9hZC5hY2Nlc3NfdG9rZW47XG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY3VycmVudFVzZXInLCBKU09OLnN0cmluZ2lmeShwYXlsb2FkLnVzZXIpKTtcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd0b2tlbicsIHBheWxvYWQuYWNjZXNzX3Rva2VuKTtcbiAgICAgICAgfVxuICAgICAgICBzdGF0ZS5sb2dpbkVycm9yTWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KHBheWxvYWQuZGF0YSk7XG4gICAgICB9KVxuXG5cbiAgICAgIC5hZGRDYXNlKHZlcmlmeU9UUEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuaXNPdHBWZXJpZmljYXRpb25QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUub3RwVmVyaWZpY2F0aW9uRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodmVyaWZ5T1RQQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzT3RwVmVyaWZpY2F0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHZlcmlmeU9UUEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaXNPdHBWZXJpZmljYXRpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLm90cFZlcmlmaWNhdGlvbkVycm9yTWVzc2FnZSA9XG4gICAgICAgICAgYWN0aW9uLnBheWxvYWQgPyBKU09OLnN0cmluZ2lmeShhY3Rpb24ucGF5bG9hZCkgOiAnT1RQIHZlcmlmaWNhdGlvbiBmYWlsZWQuIFBsZWFzZSB0cnkgYWdhaW4uJztcbiAgICAgIH0pXG5cbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBsb2dvdXQsIHNldFRva2VuLCBzZXRVc2VyLCBzZXRMb2dpbkVycm9yTWVzc2FnZSwgc2V0SXNMb2dpblBlbmRpbmcsIHNldEVtYWlsIH0gPSBhdXRoU2xpY2UuYWN0aW9ucztcbmV4cG9ydCBkZWZhdWx0IGF1dGhTbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgTG9naW5Gb3JtVmFsdWVzLCBWZXJpZnlPdHBGb3JtVmFsdWVzIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgYXMgYmFzZVVSTCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuaW1wb3J0IHsgdGV4dCB9IGZyb20gJ3N0cmVhbS9jb25zdW1lcnMnO1xuXG4vLyBleHBvcnQgY29uc3QgbG9naW5Vc2VyU2VydmljZSA9IGFzeW5jIChib2R5OiBMb2dpbkZvcm1WYWx1ZXMpOiBQcm9taXNlPGFueT4gPT4ge1xuLy8gICB0cnkge1xuLy8gICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFdpdGhDb25maWcoVVJMLkxPR0lOLCB7XG4vLyAgICAgICBlbWFpbDogYm9keS5lbWFpbCxcbi8vICAgICAgIHBhc3N3b3JkOiBib2R5LnBhc3N3b3JkLFxuLy8gICAgIH0pO1xuLy8gICAgIHJldHVybiByZXNwb25zZTtcbi8vICAgfSBjYXRjaCAoZXJyb3IpIHtcbi8vICAgICBjb25zb2xlLmVycm9yKCdMb2dpbiByZXF1ZXN0IGZhaWxlZDonLCBlcnJvcik7XG4vLyAgICAgdGhyb3cgZXJyb3I7IC8vIEVuc3VyZSB0aGlzIGVycm9yIHByb3BhZ2F0ZXMgYmFjayB0byB0aGUgdGh1bmtcbi8vICAgfVxuLy8gfTtcblxuXG5leHBvcnQgY29uc3QgbG9naW5Vc2VyU2VydmljZSA9IGFzeW5jIChib2R5OiBhbnkpID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKFxuICAgIGJhc2VVUkwuTE9HSU4sXG4gICAge1xuICAgICAgZW1haWw6IGJvZHkuZW1haWwsXG4gICAgICBwYXNzd29yZDogYm9keS5wYXNzd29yZCxcbiAgICAgIGdyYWRfdHlwZTogJ3Bhc3N3b3JkJ1xuICAgIH1cbiAgKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IGxvZ2luVGVsZWdyYW1Vc2VyU2VydmljZSA9IGFzeW5jIChib2R5OiBhbnkpID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKFxuICAgIGJhc2VVUkwuTE9HSU5fVEVMRUdSQU0sXG4gICAge1xuICAgICAgdGVsZWdyYW1faWQ6IGJvZHkudGVsZWdyYW1faWQsXG4gICAgICB1c2VybmFtZTogYm9keS51c2VybmFtZSxcbiAgICAgIGdyYWRfdHlwZTogJ3RlbGVncmFtJ1xuICAgIH1cbiAgKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyVGVsZWdyYW1Vc2VyU2VydmljZSA9IGFzeW5jIChib2R5OiBhbnkpID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKFxuICAgIGJhc2VVUkwuU0lHTlVQLGJvZHlcbiAgKTtcbn07XG5cblxuXG5cbmV4cG9ydCBjb25zdCB1c2VyQXR0ZW5kYW5jZVNlcnZpY2UgPSBhc3luYyAoYm9keTogYW55KSA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhcbiAgICBiYXNlVVJMLlVTRVJfQVRURU5EQU5DRSxib2R5XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdmVyaWZ5T1RQU2VydmljZSA9IGFzeW5jIChcbiAgYm9keTogVmVyaWZ5T3RwRm9ybVZhbHVlcyxcbik6IFByb21pc2U8YW55PiA9PiB7XG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coYFNlbmRpbmcgT1RQIHZlcmlmaWNhdGlvbiB3aXRoIGJvZHk6ICR7SlNPTi5zdHJpbmdpZnkoYm9keSl9YCk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0V2l0aENvbmZpZyhiYXNlVVJMLlZFUklGWV9UT1AsIHtcbiAgICAgIGVtYWlsOiBib2R5LmVtYWlsLFxuICAgICAgY29kZTogYm9keS5vdHBDb2RlLFxuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKGBPVFAgdmVyaWZpY2F0aW9uIHJlc3BvbnNlOiAke0pTT04uc3RyaW5naWZ5KHJlc3BvbnNlKX1gKTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignT1RQIHZlcmlmaWNhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyBDYXJkLCBtZXNzYWdlIH0gZnJvbSBcImFudGRcIjtcbmltcG9ydCB7IGxvZ2luVGVsZWdyYW1Vc2VyQWN0aW9uLCByZWdpc3RlclRlbGVncmFtVXNlckFjdGlvbiwgdXNlckF0dGVuZGFuY2VBY3Rpb24gfSBmcm9tIFwiLi4vY29yZS9hY3Rpb25zXCI7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL3JlZHV4L3N0b3JlXCI7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXNcIjtcbmltcG9ydCB7IHVzZXJUZWxlZ3JhbVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vdXNlci9jb3JlL3NlcnZpY2VzXCI7XG5pbXBvcnQgeyBmZXRjaFZvbHVudGVlcnMgfSBmcm9tIFwiLi4vLi4vLi4vdm9sdW50ZWVyL2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5jb25zdCBURUxFR1JBTV9CT1RfVVNFUk5BTUUgPSBcInZvbHVudGVlcmZvcmNhbWJvZGlhYm90XCI7XG5jb25zdCBURUxFR1JBTV9BVVRIX0FQSSA9IFwiaHR0cHM6Ly92b2x1bnRlZXJhcGkuam9vbmFha2h1Yi5jb20vYXV0aC9jYWxsYmFja1wiO1xuY29uc3QgVEVMRUdSQU1fQUxMT1dFRF9PUklHSU5TID0gW1widGVsZWdyYW0ub3JnXCIsIFwid2ViLnRlbGVncmFtLm9yZ1wiXTsgLy8g4pyFIFJlc3RyaWN0IGFsbG93ZWQgb3JpZ2luc1xuXG5cbmNvbnN0IFRlbGVncmFtTG9naW5BdHRlbmRhbmNlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHsgbG9naW5FcnJvck1lc3NhZ2UsIGN1cnJlbnRVc2VyIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuYXV0aCk7XG4gIGNvbnN0IFttZXNzYWdlQXBpLCBjb250ZXh0SG9sZGVyXSA9IG1lc3NhZ2UudXNlTWVzc2FnZSgpO1xuICBjb25zdCB0ZWxlZ3JhbVdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBsZXQgYWxsVm9sdW50ZWVyczogYW55ID0gbnVsbFxuICBjb25zdCBmZXRjaFRlbGVncmFtVXNlciA9IGFzeW5jIChhdXRoRGF0YTogc3RyaW5nKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghYXV0aERhdGEpIHJldHVybjtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtURUxFR1JBTV9BVVRIX0FQSX0/JHthdXRoRGF0YX1gKTtcbiAgICAgIGlmICghcmVzcG9uc2UgfHwgIXJlc3BvbnNlLnVzZXIpIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgVGVsZWdyYW0gbG9naW4gcmVzcG9uc2UuXCIpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLnVzZXI7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuXG5cbiAgY29uc3QgaGFuZGxlVGVsZWdyYW1Mb2dpbiA9IHVzZUNhbGxiYWNrKGFzeW5jIChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV2ZW50T3JpZ2luID0gbmV3IFVSTChldmVudC5vcmlnaW4pLmhvc3RuYW1lO1xuXG4gICAgICAvLyDinIUgU3RyaWN0bHkgY2hlY2sgZXZlbnQgb3JpZ2luXG4gICAgICBpZiAoIVRFTEVHUkFNX0FMTE9XRURfT1JJR0lOUy5zb21lKGRvbWFpbiA9PiBldmVudE9yaWdpbi5lbmRzV2l0aChkb21haW4pKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oXCJVbmF1dGhvcml6ZWQgZXZlbnQgb3JpZ2luOlwiLCBldmVudE9yaWdpbik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuXG4gICAgICBjb25zdCBkYXRhID0gdHlwZW9mIGV2ZW50LmRhdGEgPT09IFwic3RyaW5nXCIgPyBKU09OLnBhcnNlKGV2ZW50LmRhdGEpIDogZXZlbnQuZGF0YTtcbiAgICAgIGNvbnNvbGUubG9nKCdkYXRhLmF1dGhfZGF0YSA6OjonLCBkYXRhPy5hdXRoX2RhdGEpXG4gICAgICBpZiAoIWRhdGE/LmF1dGhfZGF0YSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIOKchSBQcmV2ZW50IGR1cGxpY2F0ZSBsb2dpbnMgYnkgY2hlY2tpbmcgc2Vzc2lvbiBzdG9yYWdlXG4gICAgICBpZiAoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRlbGVncmFtVXNlclwiKSkgcmV0dXJuO1xuXG4gICAgICBjb25zdCB1c2VyID0gYXdhaXQgZmV0Y2hUZWxlZ3JhbVVzZXIobmV3IFVSTFNlYXJjaFBhcmFtcyhkYXRhLmF1dGhfZGF0YSkudG9TdHJpbmcoKSk7XG5cbiAgICAgIGlmICghdXNlcikge1xuICAgICAgICByZXR1cm5cbiAgICAgIH07XG5cbiAgICAgIC8vIOKchSBFbmNyeXB0IHVzZXIgZGF0YSBiZWZvcmUgc2F2aW5nIHRvIHNlc3Npb25TdG9yYWdlXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwidGVsZWdyYW1Vc2VyXCIsIEpTT04uc3RyaW5naWZ5KHVzZXIpKTtcblxuICAgICAgY29uc3QgbG9naW5Cb2R5ID0geyB0ZWxlZ3JhbV9pZDogdXNlci5pZCwgdXNlcm5hbWU6IGAke3VzZXIuaWR9LSR7dXNlci51c2VybmFtZSB8fCB1c2VyLmZpcnN0X25hbWUgfHwgdXNlci5sYXN0X25hbWV9YCwgfTtcblxuICAgICAgY29uc3QgZXhpc3RpbmdVc2VyID0gYXdhaXQgdXNlclRlbGVncmFtU2VydmljZSh1c2VyLmlkKTtcbiAgICAgIGlmIChleGlzdGluZ1VzZXIpIHtcbiAgICAgICAgZGlzcGF0Y2gobG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24obG9naW5Cb2R5KSk7XG5cblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdXNlciBub3QgZm91bmQgdG9kb1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICBtZXNzYWdlQXBpLmVycm9yKFwiRmFpbGVkIHRvIGF1dGhlbnRpY2F0ZSB3aXRoIFRlbGVncmFtLlwiKTtcbiAgICB9XG4gIH0sIFtkaXNwYXRjaCwgbWVzc2FnZUFwaV0pO1xuXG4gIC8qKiDinIUgSGFuZGxlIGF1dGhlbnRpY2F0aW9uIGVycm9ycyAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsb2dpbkVycm9yTWVzc2FnZSkge1xuICAgICAgbWVzc2FnZUFwaS5lcnJvcihsb2dpbkVycm9yTWVzc2FnZSk7XG4gICAgfVxuICB9LCBbbG9naW5FcnJvck1lc3NhZ2UsIG1lc3NhZ2VBcGldKTtcblxuICAvKiog4pyFIEhhbmRsZSB1c2VyIHJlZGlyZWN0aW9uICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjdXJyZW50VXNlcikgcmV0dXJuO1xuICAgIC8vIE1hcmsgdXNlciBhdHRlbmRhbmNlXG4gICAgY29uc3QgYXR0ZW5kYW5jZUJvZHkgPSB7XG4gICAgICB1c2VyX2lkOiBjdXJyZW50VXNlci5pZCxcbiAgICAgIG1lZXRpbmdfbm90ZTogYPCfk6Ig4Z6f4Z684Z6Y4Z6i4Z6U4Z6i4Z6a4Z6f4Z624Z6R4Z6aIOGek+Get+GehOGen+GevOGemOGeouGeieGfkuGeh+GevuGeieGeheGevOGem+GemuGeveGemOGen+Get+GegOGfkuGegeGetuGen+GetuGem+GetuGej+GemOGfkuGemuGehOGfi+GekeGet+GenyDhnpbhn5Dhno/hn4zhnpjhnrbhnpPhnpvhnpjhn5LhnqLhnrfhno8g4Z6Y4Z674Z6T4Z6W4Z+B4Z6b4Z6F4Z+B4Z6J4Z6K4Z+G4Z6O4Z6+4Z6aXFxuKE9yaWVudGF0aW9uIFdvcmtzaG9wKSDhnprhnpnhn4jhnpbhn4Hhnpvhnpjhnr3hnpnhnpbhn5LhnprhnrnhnoBcXG5cXG7wn5OdICoq4Z6C4Z6O4Z+I4Z6A4Z6Y4Z+S4Z6Y4Z6A4Z624Z6a4Z6f4Z684Z6Y4Z6i4Z6J4Z+S4Z6H4Z6+4Z6J4Z6b4Z+E4Z6A4Z6i4Z+S4Z6T4Z6A4Z6F4Z684Z6b4Z6a4Z694Z6Y4Z6f4Z634Z6A4Z+S4Z6B4Z624Z6f4Z624Z6b4Z624Z6P4Z6Y4Z+S4Z6a4Z6E4Z+L4Z6R4Z634Z6fIOGek+Get+GehOGeleGfkuGej+Gem+Gfi+Geh+GevOGek+Gek+GevOGenOGeluGfkOGej+GfjOGemOGetuGek+Gem+GemOGfkuGeouGet+GejyBcXG7hnorhnr7hnpjhn5LhnpThnrjhnprhn4DhnpThnoXhn4bhnoHhn5Lhnpvhnr3hnpPhnofhnrbhnqLhn5LhnpPhnoDhnp/hn5Lhnpjhn5DhnoLhn5LhnprhnoXhnrfhno/hn5Lhno/hnoDhn5LhnpPhnrvhnoQg4Z6W4Z+S4Z6a4Z654Z6P4Z+S4Z6P4Z634Z6A4Z624Z6a4Z6O4Z+N4Z6i4Z6E4Z+S4Z6C4Z6a4Z6f4Z6E4Z+S4Z6C4Z+S4Z6a4Z624Z6T4Z+S4Z6PIOGfouGfoOGfouGfpVxcblxcbvCfk4Ug4Z6A4Z624Z6b4Z6U4Z6a4Z634Z6F4Z+S4Z6G4Z+B4Z6R4Z+WIOGekOGfkuGehOGfg+Gen+GfheGemuGfjSDhnpHhnrgg4Z+lIOGegeGfguGemOGfgeGen+GetiDhnobhn5LhnpPhnrbhn4bhn6Lhn6Dhn6Lhn6VcXG7ij7Ag4Z6W4Z+B4Z6b4Z6c4Z+B4Z6b4Z624Z+WIOGfpzrhn6Phn6Ag4Z6W4Z+S4Z6a4Z654Z6AXFxu8J+TjSDhnpHhnrjhno/hnrbhn4bhnoThn5Yg4Z6f4Z624Z6b4Z6U4Z+S4Z6a4Z6H4Z674Z+G4Z6f4Z624Z6b4Z624Z6P4Z634Z6F4Z6O4Z68KElUQylcXG7wn5GVIOGen+GemOGfkuGem+GfgOGegOGelOGfhuGeluGetuGegOGfi+GfliDhnp/hnpjhnprhnpjhn5LhnplcXG5cXG7wn5OeIOGen+GevOGemOGelOGeieGfkuGeh+GetuGegOGfi+GenOGej+GfkuGej+GemOGetuGek+GekeGfheGegOGfkuGemuGeu+GemOGegOGetuGemuGehOGetuGemuGemuGelOGen+Gfi+GegeGfkuGem+GeveGek2AsXG4gICAgICBtZWV0aW5nX3RpbWU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSwgLy8gVXNlIElTTyBzdHJpbmcgZm9yIGNvbnNpc3RlbnQgZGF0ZSBmb3JtYXRcbiAgICB9O1xuXG4gICAgZGlzcGF0Y2godXNlckF0dGVuZGFuY2VBY3Rpb24oYXR0ZW5kYW5jZUJvZHkpKTsgLy8gTWFyayBhdHRlbmRhbmNlXG4gICAgLy8gU2hvdyBzdWNjZXNzIGFsZXJ0IHVzaW5nIFN3ZWV0QWxlcnQyXG4gICAgLy8gSW50cm9kdWNpbmcgYSBkZWxheSBiZWZvcmUgc2hvd2luZyB0aGUgc3VjY2VzcyBhbGVydFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgdGl0bGU6IFwiU3VjY2VzcyFcIixcbiAgICAgICAgdGV4dDogXCJBdHRlbmRhbmNlIGhhcyBiZWVuIG1hcmtlZCBzdWNjZXNzZnVsbHkuXCIsXG4gICAgICAgIGljb246IFwic3VjY2Vzc1wiLFxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogXCJPS1wiLFxuICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQuaXNDb25maXJtZWQpIHtcbiAgICAgICAgICAvLyBOYXZpZ2F0ZSB0byB0aGUgdm9sdW50ZWVycyBwYWdlIGFmdGVyIHRoZSBhbGVydFxuICAgICAgICAgIG5hdmlnYXRlKFwiL3ZvbHVudGVlcnNcIik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sIDEwMDApOyAvLyBEZWxheSBmb3IgMSBzZWNvbmQgKDEwMDAgbXMpXG4gICAgY29uc3QgZmV0Y2hWb2x1bnRlZXJzRGF0YSA9IGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZGlzcGF0Y2goZmV0Y2hWb2x1bnRlZXJzKHsgcGFnZTogMSwgcGFnZVNpemU6IDEgfSkpO1xuICAgICAgICBjb25zdCB2b2x1bnRlZXJzQ291bnQgPSByZXNwb25zZT8ucGF5bG9hZD8ubWV0YT8udG90YWwgfHwgMDtcblxuICAgICAgICAvLyBEZWxheSBmb3IgMyBzZWNvbmRzIGJlZm9yZSByZWRpcmVjdGluZ1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodm9sdW50ZWVyc0NvdW50ID4gMCkge1xuICAgICAgICAgICAgbmF2aWdhdGUoY3VycmVudFVzZXIucm9sZSAhPT0gXCJ1c2VyXCIgPyBcIi9cIiA6IFwiL3ZvbHVudGVlcnNcIiwgeyByZXBsYWNlOiB0cnVlIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuYXZpZ2F0ZShjdXJyZW50VXNlci5yb2xlICE9PSBcInVzZXJcIiA/IFwiL1wiIDogXCIvcmVnaXN0ZXJcIiwgeyByZXBsYWNlOiB0cnVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMzAwMCk7IC8vIDMtc2Vjb25kIGRlbGF5ICgzMDAwIG1zKVxuXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgZmV0Y2hpbmcgdm9sdW50ZWVyczpcIiwgZXJyb3IpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBmZXRjaFZvbHVudGVlcnNEYXRhKCk7XG5cbiAgfSwgW2N1cnJlbnRVc2VyLCBuYXZpZ2F0ZSwgZGlzcGF0Y2hdKTsgLy8g4pyFIEVuc3VyZSBkZXBlbmRlbmNpZXMgYXJlIGNvcnJlY3RcblxuXG4gIC8vIOKchSBMb2FkIHNlc3Npb24gb24gcGFnZSByZWZyZXNoICYgc2V0IHVwIFRlbGVncmFtIGxvZ2luIGJ1dHRvblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuXG4gICAgY29uc3Qgc2F2ZWRVc2VyID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRlbGVncmFtVXNlclwiKTtcblxuICAgIGlmIChzYXZlZFVzZXIgJiYgIWN1cnJlbnRVc2VyKSB7XG4gICAgICBkaXNwYXRjaChsb2dpblRlbGVncmFtVXNlckFjdGlvbihKU09OLnBhcnNlKHNhdmVkVXNlcikpKTtcbiAgICB9XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgaGFuZGxlVGVsZWdyYW1Mb2dpbik7XG5cbiAgICBjb25zdCBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICBzY3JpcHRFbGVtZW50LnNyYyA9IFwiaHR0cHM6Ly90ZWxlZ3JhbS5vcmcvanMvdGVsZWdyYW0td2lkZ2V0LmpzPzIyXCI7XG4gICAgc2NyaXB0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLXRlbGVncmFtLWxvZ2luXCIsIFRFTEVHUkFNX0JPVF9VU0VSTkFNRSk7XG4gICAgc2NyaXB0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLXNpemVcIiwgXCJsYXJnZVwiKTtcbiAgICBzY3JpcHRFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtcmVxdWVzdC1hY2Nlc3NcIiwgXCJ3cml0ZVwiKTtcbiAgICBzY3JpcHRFbGVtZW50LmFzeW5jID0gdHJ1ZTtcblxuICAgIGlmICh0ZWxlZ3JhbVdyYXBwZXJSZWYuY3VycmVudCkge1xuICAgICAgdGVsZWdyYW1XcmFwcGVyUmVmLmN1cnJlbnQuaW5uZXJIVE1MID0gXCJcIjtcbiAgICAgIHRlbGVncmFtV3JhcHBlclJlZi5jdXJyZW50LmFwcGVuZENoaWxkKHNjcmlwdEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgaGFuZGxlVGVsZWdyYW1Mb2dpbik7XG4gICAgfTtcbiAgfSwgW2hhbmRsZVRlbGVncmFtTG9naW4sIGRpc3BhdGNoLCBjdXJyZW50VXNlcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdC1zZWN0aW9uXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJpZ2h0LXNlY3Rpb25cIj5cbiAgICAgICAge2NvbnRleHRIb2xkZXJ9XG4gICAgICAgIDxDYXJkIGNsYXNzTmFtZT1cImNhcmRcIiBzdHlsZT17eyBtYXhXaWR0aDogNDAwIH19PlxuICAgICAgICAgIDxoMj5Mb2dpbiB3aXRoIFRlbGVncmFtPC9oMj5cbiAgICAgICAgICA8ZGl2IHJlZj17dGVsZWdyYW1XcmFwcGVyUmVmfT48L2Rpdj5cbiAgICAgICAgPC9DYXJkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUZWxlZ3JhbUxvZ2luQXR0ZW5kYW5jZTtcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuLy8gaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMb2NrT3V0bGluZWQsIFVzZXJPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCB7IEJ1dHRvbiwgQ2FyZCwgQ2hlY2tib3gsIEZvcm0sIElucHV0LCBtZXNzYWdlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuaW1wb3J0IHsgbG9naW5Vc2VyQWN0aW9uIH0gZnJvbSAnLi4vY29yZS9hY3Rpb25zJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IExvZ2luRm9ybVZhbHVlcyB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuXG5jb25zdCBMb2dpbkZvcm06IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBbbWVzc2FnZUFwaSwgY29udGV4dEhvbGRlcl0gPSBtZXNzYWdlLnVzZU1lc3NhZ2UoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGlzTG9naW5QZW5kaW5nLCBsb2dpbkVycm9yTWVzc2FnZSwgY3VycmVudFVzZXIgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5hdXRoLFxuICApO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG5cbiAgY29uc3Qgb25GaW5pc2ggPSAodmFsdWVzOiBMb2dpbkZvcm1WYWx1ZXMpOiB2b2lkID0+IHtcbiAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgZGlzcGF0Y2gobG9naW5Vc2VyQWN0aW9uKHZhbHVlcykpO1xuICAgIH0pKCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9naW5FcnJvck1lc3NhZ2UpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBsb2dpbkVycm9yTWVzc2FnZT0+ICR7bG9naW5FcnJvck1lc3NhZ2V9YCk7XG4gICAgICBtZXNzYWdlQXBpLm9wZW4oe1xuICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICBjb250ZW50OiBsb2dpbkVycm9yTWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2xvZ2luRXJyb3JNZXNzYWdlLCBpc0xvZ2luUGVuZGluZ10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGN1cnJlbnRVc2VyKSB7XG4gICAgICBuYXZpZ2F0ZSgnLycpO1xuICAgIH1cbiAgfSwgW2N1cnJlbnRVc2VyLCBuYXZpZ2F0ZV0pO1xuXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGhlaWdodDogJzYwdmgnLCAvLyBGaWxsIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlld3BvcnRcbiAgICAgIH19XG4gICAgPlxuICAgICAge2NvbnRleHRIb2xkZXJ9XG4gICAgICA8Q2FyZCBzdHlsZT17eyBtYXhXaWR0aDogNDAwLCB3aWR0aDogJzEwMCUnIH19PlxuICAgICAgICB7JyAnfVxuICAgICAgICB7LyogQWRqdXN0IGNhcmQgd2lkdGggZm9yIHJlc3BvbnNpdmVuZXNzICovfVxuICAgICAgICA8aDIgc3R5bGU9e3sgdGV4dEFsaWduOiAnY2VudGVyJyB9fT5Mb2dpbjwvaDI+XG4gICAgICAgIDxGb3JtXG4gICAgICAgICAgbmFtZT0nbm9ybWFsX2xvZ2luJ1xuICAgICAgICAgIGNsYXNzTmFtZT0nbG9naW4tZm9ybSdcbiAgICAgICAgICBpbml0aWFsVmFsdWVzPXt7IHJlbWVtYmVyOiB0cnVlIH19XG4gICAgICAgICAgb25GaW5pc2g9e29uRmluaXNofVxuICAgICAgICA+XG4gICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgbmFtZT0nZW1haWwnXG4gICAgICAgICAgICBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICdQbGVhc2UgaW5wdXQgeW91ciBlbWFpbCEnIH1dfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICBwcmVmaXg9ezxVc2VyT3V0bGluZWQgY2xhc3NOYW1lPSdzaXRlLWZvcm0taXRlbS1pY29uJyAvPn1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9J0UtbWFpbCdcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgbmFtZT0ncGFzc3dvcmQnXG4gICAgICAgICAgICBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICdQbGVhc2UgaW5wdXQgeW91ciBQYXNzd29yZCEnIH1dfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICBwcmVmaXg9ezxMb2NrT3V0bGluZWQgY2xhc3NOYW1lPSdzaXRlLWZvcm0taXRlbS1pY29uJyAvPn1cbiAgICAgICAgICAgICAgdHlwZT0ncGFzc3dvcmQnXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSdQYXNzd29yZCdcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbmFtZT0ncmVtZW1iZXInIHZhbHVlUHJvcE5hbWU9J2NoZWNrZWQnIG5vU3R5bGU+XG4gICAgICAgICAgICAgIDxDaGVja2JveD5SZW1lbWJlciBtZTwvQ2hlY2tib3g+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0Zvcm0uSXRlbT5cblxuICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGJsb2NrXG4gICAgICAgICAgICAgIHR5cGU9J3ByaW1hcnknXG4gICAgICAgICAgICAgIGh0bWxUeXBlPSdzdWJtaXQnXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nbG9naW4tZm9ybS1idXR0b24nXG4gICAgICAgICAgICAgIGxvYWRpbmc9e2lzTG9naW5QZW5kaW5nfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBMb2cgaW5cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICA8L0Zvcm0+XG4gICAgICA8L0NhcmQ+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMb2dpbkZvcm07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tIFwicmVhY3QtcmVkdXhcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IENhcmQsIG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgbG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24sIHJlZ2lzdGVyVGVsZWdyYW1Vc2VyQWN0aW9uIH0gZnJvbSBcIi4uL2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZVwiO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzXCI7XG5pbXBvcnQgeyB1c2VyVGVsZWdyYW1TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3VzZXIvY29yZS9zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgZmV0Y2hWb2x1bnRlZXJzIH0gZnJvbSBcIi4uLy4uLy4uL3ZvbHVudGVlci9jb3JlL2FjdGlvbnNcIjtcblxuY29uc3QgVEVMRUdSQU1fQk9UX1VTRVJOQU1FID0gXCJ2b2x1bnRlZXJmb3JjYW1ib2RpYWJvdFwiO1xuY29uc3QgVEVMRUdSQU1fQVVUSF9BUEkgPSBcImh0dHBzOi8vdm9sdW50ZWVyYXBpLmpvb25hYWtodWIuY29tL2F1dGgvY2FsbGJhY2tcIjtcbmNvbnN0IFRFTEVHUkFNX0FMTE9XRURfT1JJR0lOUyA9IFtcInRlbGVncmFtLm9yZ1wiLCBcIndlYi50ZWxlZ3JhbS5vcmdcIl07IC8vIOKchSBSZXN0cmljdCBhbGxvd2VkIG9yaWdpbnNcblxuXG5jb25zdCBUZWxlZ3JhbUxvZ2luRm9ybTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCB7IGxvZ2luRXJyb3JNZXNzYWdlLCBjdXJyZW50VXNlciB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmF1dGgpO1xuICBjb25zdCBbbWVzc2FnZUFwaSwgY29udGV4dEhvbGRlcl0gPSBtZXNzYWdlLnVzZU1lc3NhZ2UoKTtcbiAgY29uc3QgdGVsZWdyYW1XcmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgbGV0IGFsbFZvbHVudGVlcnM6IGFueSA9IG51bGxcbiAgY29uc3QgZmV0Y2hUZWxlZ3JhbVVzZXIgPSBhc3luYyAoYXV0aERhdGE6IHN0cmluZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIWF1dGhEYXRhKSByZXR1cm47XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldFdpdGhDb25maWcoYCR7VEVMRUdSQU1fQVVUSF9BUEl9PyR7YXV0aERhdGF9YCk7XG4gICAgICBpZiAoIXJlc3BvbnNlIHx8ICFyZXNwb25zZS51c2VyKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIFRlbGVncmFtIGxvZ2luIHJlc3BvbnNlLlwiKTtcbiAgICAgIHJldHVybiByZXNwb25zZS51c2VyO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cblxuXG4gIGNvbnN0IGhhbmRsZVRlbGVncmFtTG9naW4gPSB1c2VDYWxsYmFjayhhc3luYyAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBldmVudE9yaWdpbiA9IG5ldyBVUkwoZXZlbnQub3JpZ2luKS5ob3N0bmFtZTtcblxuICAgICAgLy8g4pyFIFN0cmljdGx5IGNoZWNrIGV2ZW50IG9yaWdpblxuICAgICAgaWYgKCFURUxFR1JBTV9BTExPV0VEX09SSUdJTlMuc29tZShkb21haW4gPT4gZXZlbnRPcmlnaW4uZW5kc1dpdGgoZG9tYWluKSkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiVW5hdXRob3JpemVkIGV2ZW50IG9yaWdpbjpcIiwgZXZlbnRPcmlnaW4pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cblxuICAgICAgY29uc3QgZGF0YSA9IHR5cGVvZiBldmVudC5kYXRhID09PSBcInN0cmluZ1wiID8gSlNPTi5wYXJzZShldmVudC5kYXRhKSA6IGV2ZW50LmRhdGE7XG4gICAgICBjb25zb2xlLmxvZygnZGF0YS5hdXRoX2RhdGEgOjo6JywgZGF0YT8uYXV0aF9kYXRhKVxuICAgICAgaWYgKCFkYXRhPy5hdXRoX2RhdGEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyDinIUgUHJldmVudCBkdXBsaWNhdGUgbG9naW5zIGJ5IGNoZWNraW5nIHNlc3Npb24gc3RvcmFnZVxuICAgICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJ0ZWxlZ3JhbVVzZXJcIikpIHJldHVybjtcblxuICAgICAgY29uc3QgdXNlciA9IGF3YWl0IGZldGNoVGVsZWdyYW1Vc2VyKG5ldyBVUkxTZWFyY2hQYXJhbXMoZGF0YS5hdXRoX2RhdGEpLnRvU3RyaW5nKCkpO1xuXG4gICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9O1xuXG4gICAgICAvLyDinIUgRW5jcnlwdCB1c2VyIGRhdGEgYmVmb3JlIHNhdmluZyB0byBzZXNzaW9uU3RvcmFnZVxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcInRlbGVncmFtVXNlclwiLCBKU09OLnN0cmluZ2lmeSh1c2VyKSk7XG5cbiAgICAgIGNvbnN0IGxvZ2luQm9keSA9IHsgdGVsZWdyYW1faWQ6IHVzZXIuaWQsIHVzZXJuYW1lOiBgJHt1c2VyLmlkfS0ke3VzZXIudXNlcm5hbWUgfHwgdXNlci5maXJzdF9uYW1lIHx8IHVzZXIubGFzdF9uYW1lfWAsIH07XG5cbiAgICAgIGNvbnN0IHJlZ2lzdGVyQm9keSA9IHtcbiAgICAgICAgZmlyc3RfbmFtZTogdXNlci5maXJzdF9uYW1lIHx8IFwiXCIsXG4gICAgICAgIGxhc3RfbmFtZTogdXNlci5sYXN0X25hbWUgfHwgXCJcIixcbiAgICAgICAgdXNlcm5hbWU6IGAke3VzZXIuaWR9LSR7dXNlci51c2VybmFtZSB8fCB1c2VyLmZpcnN0X25hbWUgfHwgdXNlci5sYXN0X25hbWV9YCxcbiAgICAgICAgdGVsZWdyYW1faWQ6IHVzZXIuaWQsXG4gICAgICAgIHBob3RvX3VybDogdXNlci5waG90b191cmwgfHwgXCJcIixcbiAgICAgICAgcm9sZTogXCJ1c2VyXCIsXG4gICAgICAgIGdyYWRfdHlwZTogXCJ0ZWxlZ3JhbVwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZXhpc3RpbmdVc2VyID0gYXdhaXQgdXNlclRlbGVncmFtU2VydmljZSh1c2VyLmlkKTtcbiAgICAgIGlmIChleGlzdGluZ1VzZXIpIHtcbiAgICAgICAgZGlzcGF0Y2gobG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24obG9naW5Cb2R5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCBkaXNwYXRjaChyZWdpc3RlclRlbGVncmFtVXNlckFjdGlvbihyZWdpc3RlckJvZHkpKTtcbiAgICAgICAgZGlzcGF0Y2gobG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24obG9naW5Cb2R5KSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgIG1lc3NhZ2VBcGkuZXJyb3IoXCJGYWlsZWQgdG8gYXV0aGVudGljYXRlIHdpdGggVGVsZWdyYW0uXCIpO1xuICAgIH1cbiAgfSwgW2Rpc3BhdGNoLCBtZXNzYWdlQXBpXSk7XG5cbiAgLyoqIOKchSBIYW5kbGUgYXV0aGVudGljYXRpb24gZXJyb3JzICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvZ2luRXJyb3JNZXNzYWdlKSB7XG4gICAgICBtZXNzYWdlQXBpLmVycm9yKGxvZ2luRXJyb3JNZXNzYWdlKTtcbiAgICB9XG4gIH0sIFtsb2dpbkVycm9yTWVzc2FnZSwgbWVzc2FnZUFwaV0pO1xuXG4gIC8qKiDinIUgSGFuZGxlIHVzZXIgcmVkaXJlY3Rpb24gKi9cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWN1cnJlbnRVc2VyKSByZXR1cm47XG5cbiAgICBjb25zdCBmZXRjaERhdGEgPSBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBhbGxWb2x1bnRlZXJzID0gYXdhaXQgZGlzcGF0Y2goZmV0Y2hWb2x1bnRlZXJzKHsgcGFnZTogMSwgcGFnZVNpemU6IDEgfSkpO1xuICAgICAgICBjb25zb2xlLmxvZygnYWxsVm9sdW50ZWVycyA6ICcsIGFsbFZvbHVudGVlcnMpO1xuICAgICAgICBjb25zb2xlLmxvZygnY3VycmVudFVzZXI6ICcsY3VycmVudFVzZXIpO1xuICAgICAgICBjb25zb2xlLmxvZygnIGFsbFZvbHVudGVlcnMgJiYgYWxsVm9sdW50ZWVycz8ubWV0YT8udG90YWwgJywgYWxsVm9sdW50ZWVycyAmJiBhbGxWb2x1bnRlZXJzPy5tZXRhPy50b3RhbClcbiAgICAgICAgY29uc29sZS5sb2coJyBhbGxWb2x1bnRlZXJzPy5tZXRhPy50b3RhbCcsICBhbGxWb2x1bnRlZXJzPy5wYXlsb2FkLm1ldGE/LnRvdGFsKVxuICAgICAgICBjb25zb2xlLmxvZygnIGFsbFZvbHVudGVlcnM/Lm1ldGE/LnRvdGFsJywgIGFsbFZvbHVudGVlcnM/LnBheWxvYWQubWV0YT8udG90YWwpXG4gICAgICAgIGlmIChhbGxWb2x1bnRlZXJzICYmIGFsbFZvbHVudGVlcnM/LnBheWxvYWQubWV0YT8udG90YWwgPiAwKSB7XG4gICAgICAgICAgbmF2aWdhdGUoY3VycmVudFVzZXIucm9sZSAhPT0gXCJ1c2VyXCIgPyBcIi9cIiA6IFwiL3ZvbHVudGVlcnNcIiwgeyByZXBsYWNlOiB0cnVlIH0pO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICBuYXZpZ2F0ZShjdXJyZW50VXNlci5yb2xlICE9PSBcInVzZXJcIiA/IFwiL1wiIDogXCIvcmVnaXN0ZXJcIiwgeyByZXBsYWNlOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgZmV0Y2hpbmcgdm9sdW50ZWVyczpcIiwgZXJyb3IpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBmZXRjaERhdGEoKTtcblxuICB9LCBbY3VycmVudFVzZXIsIG5hdmlnYXRlLCBkaXNwYXRjaF0pOyAvLyDinIUgRW5zdXJlIGRlcGVuZGVuY2llcyBhcmUgY29ycmVjdFxuXG5cbiAgLy8g4pyFIExvYWQgc2Vzc2lvbiBvbiBwYWdlIHJlZnJlc2ggJiBzZXQgdXAgVGVsZWdyYW0gbG9naW4gYnV0dG9uXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG5cbiAgICBjb25zdCBzYXZlZFVzZXIgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwidGVsZWdyYW1Vc2VyXCIpO1xuXG4gICAgaWYgKHNhdmVkVXNlciAmJiAhY3VycmVudFVzZXIpIHtcbiAgICAgIGRpc3BhdGNoKGxvZ2luVGVsZWdyYW1Vc2VyQWN0aW9uKEpTT04ucGFyc2Uoc2F2ZWRVc2VyKSkpO1xuICAgIH1cblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBoYW5kbGVUZWxlZ3JhbUxvZ2luKTtcblxuICAgIGNvbnN0IHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgIHNjcmlwdEVsZW1lbnQuc3JjID0gXCJodHRwczovL3RlbGVncmFtLm9yZy9qcy90ZWxlZ3JhbS13aWRnZXQuanM/MjJcIjtcbiAgICBzY3JpcHRFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtdGVsZWdyYW0tbG9naW5cIiwgVEVMRUdSQU1fQk9UX1VTRVJOQU1FKTtcbiAgICBzY3JpcHRFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtc2l6ZVwiLCBcImxhcmdlXCIpO1xuICAgIHNjcmlwdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1yZXF1ZXN0LWFjY2Vzc1wiLCBcIndyaXRlXCIpO1xuICAgIHNjcmlwdEVsZW1lbnQuYXN5bmMgPSB0cnVlO1xuXG4gICAgaWYgKHRlbGVncmFtV3JhcHBlclJlZi5jdXJyZW50KSB7XG4gICAgICB0ZWxlZ3JhbVdyYXBwZXJSZWYuY3VycmVudC5pbm5lckhUTUwgPSBcIlwiO1xuICAgICAgdGVsZWdyYW1XcmFwcGVyUmVmLmN1cnJlbnQuYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbWVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBoYW5kbGVUZWxlZ3JhbUxvZ2luKTtcbiAgICB9O1xuICB9LCBbaGFuZGxlVGVsZWdyYW1Mb2dpbiwgZGlzcGF0Y2gsIGN1cnJlbnRVc2VyXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0LXNlY3Rpb25cIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmlnaHQtc2VjdGlvblwiPlxuICAgICAgICB7Y29udGV4dEhvbGRlcn1cbiAgICAgICAgPENhcmQgY2xhc3NOYW1lPVwiY2FyZFwiIHN0eWxlPXt7IG1heFdpZHRoOiA0MDAgfX0+XG4gICAgICAgICAgPGgyPkxvZ2luIHdpdGggVGVsZWdyYW08L2gyPlxuICAgICAgICAgIDxkaXYgcmVmPXt0ZWxlZ3JhbVdyYXBwZXJSZWZ9PjwvZGl2PlxuICAgICAgICA8L0NhcmQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRlbGVncmFtTG9naW5Gb3JtO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7UVJDb2RlQ2FudmFzfSBmcm9tICdxcmNvZGUucmVhY3QnO1xuXG5jb25zdCBWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFt2b2x1bnRlZXJJZCwgc2V0Vm9sdW50ZWVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBIZXJlIHlvdSB3b3VsZCBmZXRjaCBvciBjcmVhdGUgYSB1bmlxdWUgdm9sdW50ZWVyIElEIG9yIG1lZXRpbmcgSURcbiAgICAvLyBGb3IgZXhhbXBsZSwgbGV0J3MgYXNzdW1lIGB2b2x1bnRlZXJJZGAgaXMgZHluYW1pY2FsbHkgYXNzaWduZWQgZm9yIGVhY2ggc2Vzc2lvbi5cbiAgICBjb25zdCBmZXRjaFZvbHVudGVlcklkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gVGhpcyBjYW4gYmUgYW4gQVBJIGNhbGwgb3IgYSBsb2dpYyB0byBnZW5lcmF0ZSB0aGUgdW5pcXVlIG1lZXRpbmcgSURcbiAgICAgIHNldFZvbHVudGVlcklkKFwidW5pcXVlLXZvbHVudGVlci1pZC0xMjNcIik7IC8vIEV4YW1wbGUgdm9sdW50ZWVyIElEXG4gICAgfTtcblxuICAgIGZldGNoVm9sdW50ZWVySWQoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJhdHRlbmRhbmNlLXBhZ2VcIj5cbiAgICAgIDxoMj5Wb2x1bnRlZXIgQXR0ZW5kYW5jZTwvaDI+XG4gICAgICA8cD5TY2FuIHRoZSBRUiBjb2RlIHRvIGNoZWNrLWluIGZvciB5b3VyIG1lZXRpbmcuPC9wPlxuICAgICAge3ZvbHVudGVlcklkICYmIChcbiAgICAgICAgPFFSQ29kZUNhbnZhc1xuICAgICAgICAgIHZhbHVlPVwiaHR0cHM6Ly92b2x1bnRlZXJmb3JjYW1ib2RpYS5jb20vYXR0ZW5kYW5jZVwiIC8vIFRoaXMgbGluayBzaG91bGQgcmVkaXJlY3QgdG8gYSBwYWdlIGZvciBUZWxlZ3JhbSBsb2dpbi5cbiAgICAgICAgICBzaXplPXsyNTZ9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVm9sdW50ZWVyQXR0ZW5kYW5jZVBhZ2U7XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBESVNBQklMSVRZX1RZUEVTLCBESVNBQklMSVRZX1RZUEUsIERJU0FCSUxJVFlfVFlQRV9ERUxFVEUsIERJU0FCSUxJVFlfVFlQRV9DUkVBVEUsIERJU0FCSUxJVFlfVFlQRV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBkaXNhYmlsaXR5VHlwZXNTZXJ2aWNlLCBkaXNhYmlsaXR5VHlwZURldGFpbFNlcnZpY2UsIGNyZWF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSwgdXBkYXRlRGlzYWJpbGl0eVR5cGVTZXJ2aWNlLCBkZWxldGVEaXNhYmlsaXR5VHlwZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IERpc2FiaWxpdHlUeXBlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaERpc2FiaWxpdHlUeXBlczogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgRElTQUJJTElUWV9UWVBFUyxcbiAgZGlzYWJpbGl0eVR5cGVzU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IGRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBESVNBQklMSVRZX1RZUEUsXG4gIGRpc2FiaWxpdHlUeXBlRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPERpc2FiaWxpdHlUeXBlLCB7IGRhdGE6IERpc2FiaWxpdHlUeXBlIH0+KFxuICBESVNBQklMSVRZX1RZUEVfQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZURpc2FiaWxpdHlUeXBlU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBkaXNhYmlsaXR5IHR5cGVcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPERpc2FiaWxpdHlUeXBlLCB7IGlkOiBudW1iZXI7IGRhdGE6IERpc2FiaWxpdHlUeXBlIH0+KFxuICBESVNBQklMSVRZX1RZUEVfVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVEaXNhYmlsaXR5VHlwZVNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIGRpc2FiaWxpdHkgdHlwZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVEaXNhYmlsaXR5VHlwZUFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgRElTQUJJTElUWV9UWVBFX0RFTEVURSxcbiAgZGVsZXRlRGlzYWJpbGl0eVR5cGVTZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgRElTQUJJTElUWV9UWVBFUyA9ICdkaXNhYmlsaXR5LXR5cGVzL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBESVNBQklMSVRZX1RZUEUgPSAnZGlzYWJpbGl0eS10eXBlcy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IERJU0FCSUxJVFlfVFlQRV9DUkVBVEUgPSAnZGlzYWJpbGl0eS10eXBlcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IERJU0FCSUxJVFlfVFlQRV9VUERBVEUgPSAnZGlzYWJpbGl0eS10eXBlcy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IERJU0FCSUxJVFlfVFlQRV9ERUxFVEUgPSAnZGlzYWJpbGl0eS10eXBlcy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgRGlzYWJpbGl0eVR5cGUsIERpc2FiaWxpdHlUeXBlU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoRGlzYWJpbGl0eVR5cGVzLCB1cGRhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiwgZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24sIGNyZWF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLCBkZWxldGVEaXNhYmlsaXR5VHlwZUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBESVNBQklMSVRZX1RZUEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogRGlzYWJpbGl0eVR5cGVTdGF0ZSA9IHtcbiAgZGlzYWJpbGl0eVR5cGVzOiBbXSxcbiAgZGlzYWJpbGl0eVR5cGU6IG51bGwsXG4gIGRpc2FiaWxpdHlUeXBlc1BlbmRpbmc6IGZhbHNlLFxuICBkaXNhYmlsaXR5VHlwZURldGFpbFBlbmRpbmc6IGZhbHNlLFxuICBkaXNhYmlsaXR5VHlwZUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBkaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBkaXNhYmlsaXR5VHlwZURlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgZGlzYWJpbGl0eVR5cGVTbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogRElTQUJJTElUWV9UWVBFLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBkaXNhYmlsaXR5VHlwZVxuICAgIHNldERpc2FiaWxpdHlUeXBlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxEaXNhYmlsaXR5VHlwZT4pID0+IHtcbiAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIGRpc2FiaWxpdHkgdHlwZVxuICAgICAgLmFkZENhc2UoZmV0Y2hEaXNhYmlsaXR5VHlwZXMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgZGlzYWJpbGl0eSB0eXBlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hEaXNhYmlsaXR5VHlwZXMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGRpc2FiaWxpdHkgdHlwZXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBkaXNhYmlsaXR5IHR5cGVzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaERpc2FiaWxpdHlUeXBlcy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZXMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgZGlzYWJpbGl0eSB0eXBlIGRldGFpbFxuICAgICAgLmFkZENhc2UoZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBkaXNhYmlsaXR5IHR5cGVzIGZldGNoXG4gICAgICAuYWRkQ2FzZShkaXNhYmlsaXR5VHlwZURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZGlzYWJpbGl0eVR5cGVEZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBkaXNhYmlsaXR5IHR5cGVzLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgZGlzYWJpbGl0eSB0eXBlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuZGlzYWJpbGl0eVR5cGUgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBkaXNhYmlsaXR5VHlwZSBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBkaXNhYmlsaXR5IHR5cGVzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBkaXNhYmlsaXR5VHlwZSB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBkaXNhYmlsaXR5IHR5cGVzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBkaXNhYmlsaXR5VHlwZSBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBkaXNhYmlsaXR5IHR5cGVzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldERpc2FiaWxpdHlUeXBlIH0gPSBkaXNhYmlsaXR5VHlwZVNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IGRpc2FiaWxpdHlUeXBlU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IERpc2FiaWxpdHlUeXBlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IGRpc2FiaWxpdHlUeXBlc1NlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLkRJU0FCSUxJVFlfVFlQRSlcbn1cblxuZXhwb3J0IGNvbnN0IGRpc2FiaWxpdHlUeXBlRGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLkRJU0FCSUxJVFlfVFlQRX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEaXNhYmlsaXR5VHlwZVNlcnZpY2UgPSBhc3luYyAoZGF0YTogRGlzYWJpbGl0eVR5cGUpOiBQcm9taXNlPERpc2FiaWxpdHlUeXBlPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuRElTQUJJTElUWV9UWVBFfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBEaXNhYmlsaXR5VHlwZSk6IFByb21pc2U8RGlzYWJpbGl0eVR5cGU+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLkRJU0FCSUxJVFlfVFlQRX0ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZURpc2FiaWxpdHlUeXBlU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuRElTQUJJTElUWV9UWVBFfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEVEVUNBVElPTl9JTlNUSVRVVElPTlMsIEVEVUNBVElPTl9JTlNUSVRVVElPTiwgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0RFTEVURSwgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0NSRUFURSwgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX1VQREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGVkdWNhdGlvbkluc3RpdHV0aW9uc1NlcnZpY2UsIGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsU2VydmljZSwgY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlLCB1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2UsIGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgRWR1Y2F0aW9uSW5zdGl0dXRpb24gfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBFRFVDQVRJT05fSU5TVElUVVRJT05TLFxuICBlZHVjYXRpb25JbnN0aXR1dGlvbnNTZXJ2aWNlXG4pO1xuXG5leHBvcnQgY29uc3QgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEVEVUNBVElPTl9JTlNUSVRVVElPTixcbiAgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8RWR1Y2F0aW9uSW5zdGl0dXRpb24sIHsgZGF0YTogRWR1Y2F0aW9uSW5zdGl0dXRpb24gfT4oXG4gIEVEVUNBVElPTl9JTlNUSVRVVElPTl9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGVkdWNhdGlvbiBpbnN0aXR1dGlvblwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8RWR1Y2F0aW9uSW5zdGl0dXRpb24sIHsgaWQ6IG51bWJlcjsgZGF0YTogRWR1Y2F0aW9uSW5zdGl0dXRpb24gfT4oXG4gIEVEVUNBVElPTl9JTlNUSVRVVElPTl9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgZWR1Y2F0aW9uIGluc3RpdHV0aW9uXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBFRFVDQVRJT05fSU5TVElUVVRJT05fREVMRVRFLFxuICBkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBFRFVDQVRJT05fSU5TVElUVVRJT05TID0gJ2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IEVEVUNBVElPTl9JTlNUSVRVVElPTiA9ICdlZHVjYXRpb24taW5zdGl0dXRpb25zL2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0NSRUFURSA9ICdlZHVjYXRpb24taW5zdGl0dXRpb25zL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX1VQREFURSA9ICdlZHVjYXRpb24taW5zdGl0dXRpb25zL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0RFTEVURSA9ICdlZHVjYXRpb24taW5zdGl0dXRpb25zL2RlbGV0ZSc7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBFZHVjYXRpb25JbnN0aXR1dGlvbiwgRWR1Y2F0aW9uSW5zdGl0dXRpb25TdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hFZHVjYXRpb25JbnN0aXR1dGlvbnMsIHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uLCBlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbiwgY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24sIGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IEVEVUNBVElPTl9JTlNUSVRVVElPTiB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBFZHVjYXRpb25JbnN0aXR1dGlvblN0YXRlID0ge1xuICBlZHVjYXRpb25JbnN0aXR1dGlvbnM6IFtdLFxuICBlZHVjYXRpb25JbnN0aXR1dGlvbjogbnVsbCxcbiAgZWR1Y2F0aW9uSW5zdGl0dXRpb25zUGVuZGluZzogZmFsc2UsXG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uQ3JlYXRlUGVuZGluZzogZmFsc2UsXG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZzogZmFsc2UsXG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBlZHVjYXRpb25JbnN0aXR1dGlvblNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBFRFVDQVRJT05fSU5TVElUVVRJT04sXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IGVkdWNhdGlvbkluc3RpdHV0aW9uXG4gICAgc2V0RWR1Y2F0aW9uSW5zdGl0dXRpb246IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPEVkdWNhdGlvbkluc3RpdHV0aW9uPikgPT4ge1xuICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgZWR1Y2F0aW9uIGluc3RpdHV0aW9uXG4gICAgICAuYWRkQ2FzZShmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25zUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBlZHVjYXRpb24gaW5zdGl0dXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucy5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggZWR1Y2F0aW9uIGluc3RpdHV0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9ucyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBlZHVjYXRpb24gaW5zdGl0dXRpb24gZGV0YWlsXG4gICAgICAuYWRkQ2FzZShlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBlZHVjYXRpb24gaW5zdGl0dXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbiA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGVkdWNhdGlvbkluc3RpdHV0aW9uIGNyZWF0ZVxuICAgICAgLmFkZENhc2UoY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGVkdWNhdGlvbkluc3RpdHV0aW9uIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGVkdWNhdGlvbkluc3RpdHV0aW9uIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBzZXRSZWdpc3RlckVycm9yTWVzc2FnZSwgc2V0RWR1Y2F0aW9uSW5zdGl0dXRpb24gfSA9IGVkdWNhdGlvbkluc3RpdHV0aW9uU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgRWR1Y2F0aW9uSW5zdGl0dXRpb24gfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgZWR1Y2F0aW9uSW5zdGl0dXRpb25zU2VydmljZSA9IGFzeW5jKCkgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuRURVQ0FUSU9OX0lOU1RJVFVUSU9OKVxufVxuXG5leHBvcnQgY29uc3QgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuRURVQ0FUSU9OX0lOU1RJVFVUSU9OfSR7aWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSA9IGFzeW5jIChkYXRhOiBFZHVjYXRpb25JbnN0aXR1dGlvbik6IFByb21pc2U8RWR1Y2F0aW9uSW5zdGl0dXRpb24+ID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKGAke1VSTC5FRFVDQVRJT05fSU5TVElUVVRJT059YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IEVkdWNhdGlvbkluc3RpdHV0aW9uKTogUHJvbWlzZTxFZHVjYXRpb25JbnN0aXR1dGlvbj4gPT4ge1xuICByZXR1cm4gcHV0V2l0aENvbmZpZyhgJHtVUkwuRURVQ0FUSU9OX0lOU1RJVFVUSU9OfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5FRFVDQVRJT05fSU5TVElUVVRJT059JHtpZH1gKVxufVxuIiwiaW1wb3J0IHsgY3JlYXRlQXN5bmNUaHVuayB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgRk9PRFMsIEZPT0QsIEZPT0RfREVMRVRFLCBGT09EX0NSRUFURSwgRk9PRF9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBmb29kc1NlcnZpY2UsIGZvb2REZXRhaWxTZXJ2aWNlLCBjcmVhdGVGb29kU2VydmljZSwgdXBkYXRlRm9vZFNlcnZpY2UsIGRlbGV0ZUZvb2RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBGb29kIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaEZvb2RzOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBGT09EUyxcbiAgZm9vZHNTZXJ2aWNlXG4pO1xuXG5leHBvcnQgY29uc3QgZm9vZERldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgRk9PRCxcbiAgZm9vZERldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZvb2RBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPEZvb2QsIHsgZGF0YTogRm9vZCB9PihcbiAgRk9PRF9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlRm9vZFNlcnZpY2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byBjcmVhdGUgZm9vZFwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGb29kQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxGb29kLCB7IGlkOiBudW1iZXI7IGRhdGE6IEZvb2QgfT4oXG4gIEZPT0RfVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVGb29kU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgZm9vZFwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVGb29kQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBGT09EX0RFTEVURSxcbiAgZGVsZXRlRm9vZFNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBGT09EUyA9ICdmb29kcy9mZXRjaEFsbCc7XG5leHBvcnQgY29uc3QgRk9PRCA9ICdmb29kcy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IEZPT0RfQ1JFQVRFID0gJ2Zvb2RzL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgRk9PRF9VUERBVEUgPSAnZm9vZHMvdXBkYXRlJztcbmV4cG9ydCBjb25zdCBGT09EX0RFTEVURSA9ICdmb29kcy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgRm9vZCwgRm9vZFN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmZXRjaEZvb2RzLCB1cGRhdGVGb29kQWN0aW9uLCBmb29kRGV0YWlsQWN0aW9uLCBjcmVhdGVGb29kQWN0aW9uLCBkZWxldGVGb29kQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IEZPT0QgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogRm9vZFN0YXRlID0ge1xuICBmb29kczogW10sXG4gIGZvb2Q6IG51bGwsXG4gIGZvb2RzUGVuZGluZzogZmFsc2UsXG4gIGZvb2REZXRhaWxQZW5kaW5nOiBmYWxzZSxcbiAgZm9vZENyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBmb29kVXBkYXRlUGVuZGluZzogZmFsc2UsXG4gIGZvb2REZWxldGVQZW5kaW5nOiBmYWxzZSxcbiAgcmVnaXN0ZXJFcnJvck1lc3NhZ2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IGZvb2RTbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogRk9PRCxcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIC8vIFNldHMgdGhlIGN1cnJlbnQgZm9vZFxuICAgIHNldEZvb2Q6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPEZvb2Q+KSA9PiB7XG4gICAgICBzdGF0ZS5mb29kID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIGZvb2RcbiAgICAgIC5hZGRDYXNlKGZldGNoRm9vZHMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2RzUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBmb29kcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hGb29kcy5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZHNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBmb29kcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIGZvb2RzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaEZvb2RzLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLmZvb2RzID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZm9vZHNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgZm9vZCBkZXRhaWxcbiAgICAgIC5hZGRDYXNlKGZvb2REZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2REZXRhaWxQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIGZvb2RzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmb29kRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggZm9vZHMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBmb29kcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZm9vZERldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5mb29kID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZm9vZERldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBmb29kIGNyZWF0ZVxuICAgICAgLmFkZENhc2UoY3JlYXRlRm9vZEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZFVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUZvb2RBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2RVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgZm9vZHMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVGb29kQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5mb29kVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGZvb2QgdXBkYXRlXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVGb29kQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlRm9vZEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZFVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBmb29kcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUZvb2RBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmZvb2RVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgZm9vZCBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUZvb2RBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2RVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVGb29kQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIGZvb2RzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlRm9vZEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2QgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZm9vZFVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldEZvb2QgfSA9IGZvb2RTbGljZS5hY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCBmb29kU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IEZvb2QgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgZm9vZHNTZXJ2aWNlID0gYXN5bmMoKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKFVSTC5GT09EKVxufVxuXG5leHBvcnQgY29uc3QgZm9vZERldGFpbFNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKGAke1VSTC5GT09EfSR7aWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZvb2RTZXJ2aWNlID0gYXN5bmMgKGRhdGE6IEZvb2QpOiBQcm9taXNlPEZvb2Q+ID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKGAke1VSTC5GT09EfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUZvb2RTZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IEZvb2QpOiBQcm9taXNlPEZvb2Q+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLkZPT0R9JHtpZH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVGb29kU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuRk9PRH0ke2lkfWApXG59XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBJTlRFUkVTVEVEX1RFQU1TLCBJTlRFUkVTVEVEX1RFQU0sIElOVEVSRVNURURfVEVBTV9ERUxFVEUsIElOVEVSRVNURURfVEVBTV9DUkVBVEUsIElOVEVSRVNURURfVEVBTV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpbnRlcmVzdGVkVGVhbXNTZXJ2aWNlLCBpbnRlcmVzdGVkVGVhbURldGFpbFNlcnZpY2UsIGNyZWF0ZUludGVyZXN0ZWRUZWFtU2VydmljZSwgdXBkYXRlSW50ZXJlc3RlZFRlYW1TZXJ2aWNlLCBkZWxldGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IEludGVyZXN0ZWRUZWFtIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaEludGVyZXN0ZWRUZWFtczogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgSU5URVJFU1RFRF9URUFNUyxcbiAgaW50ZXJlc3RlZFRlYW1zU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IGludGVyZXN0ZWRUZWFtRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBJTlRFUkVTVEVEX1RFQU0sXG4gIGludGVyZXN0ZWRUZWFtRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPEludGVyZXN0ZWRUZWFtLCB7IGRhdGE6IEludGVyZXN0ZWRUZWFtIH0+KFxuICBJTlRFUkVTVEVEX1RFQU1fQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZUludGVyZXN0ZWRUZWFtU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBpbnRlcmVzdGVkIHRlYW1cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPEludGVyZXN0ZWRUZWFtLCB7IGlkOiBudW1iZXI7IGRhdGE6IEludGVyZXN0ZWRUZWFtIH0+KFxuICBJTlRFUkVTVEVEX1RFQU1fVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIGludGVyZXN0ZWQgdGVhbVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVJbnRlcmVzdGVkVGVhbUFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgSU5URVJFU1RFRF9URUFNX0RFTEVURSxcbiAgZGVsZXRlSW50ZXJlc3RlZFRlYW1TZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgSU5URVJFU1RFRF9URUFNUyA9ICdpbnRlcmVzdGVkLXRlYW1zL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBJTlRFUkVTVEVEX1RFQU0gPSAnaW50ZXJlc3RlZC10ZWFtcy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IElOVEVSRVNURURfVEVBTV9DUkVBVEUgPSAnaW50ZXJlc3RlZC10ZWFtcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IElOVEVSRVNURURfVEVBTV9VUERBVEUgPSAnaW50ZXJlc3RlZC10ZWFtcy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IElOVEVSRVNURURfVEVBTV9ERUxFVEUgPSAnaW50ZXJlc3RlZC10ZWFtcy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgSW50ZXJlc3RlZFRlYW0sIEludGVyZXN0ZWRUZWFtU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoSW50ZXJlc3RlZFRlYW1zLCB1cGRhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbiwgaW50ZXJlc3RlZFRlYW1EZXRhaWxBY3Rpb24sIGNyZWF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLCBkZWxldGVJbnRlcmVzdGVkVGVhbUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBJTlRFUkVTVEVEX1RFQU0gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogSW50ZXJlc3RlZFRlYW1TdGF0ZSA9IHtcbiAgaW50ZXJlc3RlZFRlYW1zOiBbXSxcbiAgaW50ZXJlc3RlZFRlYW06IG51bGwsXG4gIGludGVyZXN0ZWRUZWFtc1BlbmRpbmc6IGZhbHNlLFxuICBpbnRlcmVzdGVkVGVhbURldGFpbFBlbmRpbmc6IGZhbHNlLFxuICBpbnRlcmVzdGVkVGVhbUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBpbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBpbnRlcmVzdGVkVGVhbURlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgaW50ZXJlc3RlZFRlYW1TbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogSU5URVJFU1RFRF9URUFNLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBpbnRlcmVzdGVkVGVhbVxuICAgIHNldEludGVyZXN0ZWRUZWFtOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxJbnRlcmVzdGVkVGVhbT4pID0+IHtcbiAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIGludGVyZXN0ZWQgdGVhbVxuICAgICAgLmFkZENhc2UoZmV0Y2hJbnRlcmVzdGVkVGVhbXMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgaW50ZXJlc3RlZCB0ZWFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hJbnRlcmVzdGVkVGVhbXMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGludGVyZXN0ZWQgdGVhbXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBpbnRlcmVzdGVkIHRlYW1zIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaEludGVyZXN0ZWRUZWFtcy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbXMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgaW50ZXJlc3RlZCB0ZWFtIGRldGFpbFxuICAgICAgLmFkZENhc2UoaW50ZXJlc3RlZFRlYW1EZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBpbnRlcmVzdGVkIHRlYW1zIGZldGNoXG4gICAgICAuYWRkQ2FzZShpbnRlcmVzdGVkVGVhbURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1EZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBpbnRlcmVzdGVkIHRlYW1zLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgaW50ZXJlc3RlZCB0ZWFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoaW50ZXJlc3RlZFRlYW1EZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW0gPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBpbnRlcmVzdGVkVGVhbSBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBpbnRlcmVzdGVkIHRlYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBpbnRlcmVzdGVkVGVhbSB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBpbnRlcmVzdGVkIHRlYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBpbnRlcmVzdGVkVGVhbSBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBpbnRlcmVzdGVkIHRlYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldEludGVyZXN0ZWRUZWFtIH0gPSBpbnRlcmVzdGVkVGVhbVNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IGludGVyZXN0ZWRUZWFtU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IEludGVyZXN0ZWRUZWFtIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IGludGVyZXN0ZWRUZWFtc1NlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLlRFQU0pXG59XG5cbmV4cG9ydCBjb25zdCBpbnRlcmVzdGVkVGVhbURldGFpbFNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKGAke1VSTC5URUFNfSR7aWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUludGVyZXN0ZWRUZWFtU2VydmljZSA9IGFzeW5jIChkYXRhOiBJbnRlcmVzdGVkVGVhbSk6IFByb21pc2U8SW50ZXJlc3RlZFRlYW0+ID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKGAke1VSTC5URUFNfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUludGVyZXN0ZWRUZWFtU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBJbnRlcmVzdGVkVGVhbSk6IFByb21pc2U8SW50ZXJlc3RlZFRlYW0+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLlRFQU19JHtpZH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PntcbiAgcmV0dXJuIGF3YWl0IHJlbW92ZVdpdGhDb25maWcoYCR7VVJMLlRFQU19JHtpZH1gKVxufVxuIiwiaW1wb3J0IHsgY3JlYXRlQXN5bmNUaHVuayB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgTEFOR1VBR0VTLCBMQU5HVUFHRSwgTEFOR1VBR0VfREVMRVRFLCBMQU5HVUFHRV9DUkVBVEUsIExBTkdVQUdFX1VQREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGxhbmd1YWdlc1NlcnZpY2UsIGxhbmd1YWdlRGV0YWlsU2VydmljZSwgY3JlYXRlTGFuZ3VhZ2VTZXJ2aWNlLCB1cGRhdGVMYW5ndWFnZVNlcnZpY2UsIGRlbGV0ZUxhbmd1YWdlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGZldGNoTGFuZ3VhZ2VzOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBMQU5HVUFHRVMsXG4gIGxhbmd1YWdlc1NlcnZpY2Vcbik7XG5cbmV4cG9ydCBjb25zdCBsYW5ndWFnZURldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgTEFOR1VBR0UsXG4gIGxhbmd1YWdlRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlTGFuZ3VhZ2VBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPExhbmd1YWdlLCB7IGRhdGE6IExhbmd1YWdlIH0+KFxuICBMQU5HVUFHRV9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlTGFuZ3VhZ2VTZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGxhbmd1YWdlXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUxhbmd1YWdlQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxMYW5ndWFnZSwgeyBpZDogbnVtYmVyOyBkYXRhOiBMYW5ndWFnZSB9PihcbiAgTEFOR1VBR0VfVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVMYW5ndWFnZVNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIGxhbmd1YWdlXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZUxhbmd1YWdlQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBMQU5HVUFHRV9ERUxFVEUsXG4gIGRlbGV0ZUxhbmd1YWdlU2VydmljZVxuKVxuIiwiZXhwb3J0IGNvbnN0IExBTkdVQUdFUyA9ICdsYW5ndWFnZXMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IExBTkdVQUdFID0gJ2xhbmd1YWdlcy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IExBTkdVQUdFX0NSRUFURSA9ICdsYW5ndWFnZXMvY3JlYXRlJztcbmV4cG9ydCBjb25zdCBMQU5HVUFHRV9VUERBVEUgPSAnbGFuZ3VhZ2VzL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgTEFOR1VBR0VfREVMRVRFID0gJ2xhbmd1YWdlcy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIExhbmd1YWdlU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoTGFuZ3VhZ2VzLCB1cGRhdGVMYW5ndWFnZUFjdGlvbiwgbGFuZ3VhZ2VEZXRhaWxBY3Rpb24sIGNyZWF0ZUxhbmd1YWdlQWN0aW9uLCBkZWxldGVMYW5ndWFnZUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBMQU5HVUFHRSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBMYW5ndWFnZVN0YXRlID0ge1xuICBsYW5ndWFnZXM6IFtdLFxuICBsYW5ndWFnZTogbnVsbCxcbiAgbGFuZ3VhZ2VzUGVuZGluZzogZmFsc2UsXG4gIGxhbmd1YWdlRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIGxhbmd1YWdlQ3JlYXRlUGVuZGluZzogZmFsc2UsXG4gIGxhbmd1YWdlVXBkYXRlUGVuZGluZzogZmFsc2UsXG4gIGxhbmd1YWdlRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBsYW5ndWFnZVNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBMQU5HVUFHRSxcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIC8vIFNldHMgdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICBzZXRMYW5ndWFnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248TGFuZ3VhZ2U+KSA9PiB7XG4gICAgICBzdGF0ZS5sYW5ndWFnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG5cbiAgICAvLyBVcGRhdGVzIHRoZSByZWdpc3RlciBlcnJvciBtZXNzYWdlXG4gICAgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcblxuICBleHRyYVJlZHVjZXJzOiAoYnVpbGRlcikgPT4ge1xuICAgIGJ1aWxkZXJcbiAgICAgIC8vIGhhbmRsZSBsYW5ndWFnZVxuICAgICAgLmFkZENhc2UoZmV0Y2hMYW5ndWFnZXMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgbGFuZ3VhZ2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaExhbmd1YWdlcy5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggbGFuZ3VhZ2VzLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgbGFuZ3VhZ2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaExhbmd1YWdlcy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZXMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgbGFuZ3VhZ2UgZGV0YWlsXG4gICAgICAuYWRkQ2FzZShsYW5ndWFnZURldGFpbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VEZXRhaWxQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIGxhbmd1YWdlcyBmZXRjaFxuICAgICAgLmFkZENhc2UobGFuZ3VhZ2VEZXRhaWxBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggbGFuZ3VhZ2VzLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgbGFuZ3VhZ2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZShsYW5ndWFnZURldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZSA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGxhbmd1YWdlIGNyZWF0ZVxuICAgICAgLmFkZENhc2UoY3JlYXRlTGFuZ3VhZ2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlTGFuZ3VhZ2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIGxhbmd1YWdlcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUxhbmd1YWdlQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgbGFuZ3VhZ2UgdXBkYXRlXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVMYW5ndWFnZUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVMYW5ndWFnZUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byB1cGRhdGUgbGFuZ3VhZ2VzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlTGFuZ3VhZ2VBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBsYW5ndWFnZSBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUxhbmd1YWdlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUxhbmd1YWdlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBsYW5ndWFnZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVMYW5ndWFnZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBzZXRSZWdpc3RlckVycm9yTWVzc2FnZSwgc2V0TGFuZ3VhZ2UgfSA9IGxhbmd1YWdlU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgbGFuZ3VhZ2VTbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgbGFuZ3VhZ2VzU2VydmljZSA9IGFzeW5jKCkgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuTEFOR1VBR0UpXG59XG5cbmV4cG9ydCBjb25zdCBsYW5ndWFnZURldGFpbFNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKGAke1VSTC5MQU5HVUFHRX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVMYW5ndWFnZVNlcnZpY2UgPSBhc3luYyAoZGF0YTogTGFuZ3VhZ2UpOiBQcm9taXNlPExhbmd1YWdlPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuTEFOR1VBR0V9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlTGFuZ3VhZ2VTZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IExhbmd1YWdlKTogUHJvbWlzZTxMYW5ndWFnZT4gPT4ge1xuICByZXR1cm4gcHV0V2l0aENvbmZpZyhgJHtVUkwuTEFOR1VBR0V9JHtpZH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVMYW5ndWFnZVNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PntcbiAgcmV0dXJuIGF3YWl0IHJlbW92ZVdpdGhDb25maWcoYCR7VVJMLkxBTkdVQUdFfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IE9DQ1VQQVRJT05TLCBPQ0NVUEFUSU9OLCBPQ0NVUEFUSU9OX0RFTEVURSwgT0NDVVBBVElPTl9DUkVBVEUsIE9DQ1VQQVRJT05fVVBEQVRFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgb2NjdXBhdGlvbnNTZXJ2aWNlLCBvY2N1cGF0aW9uRGV0YWlsU2VydmljZSwgY3JlYXRlT2NjdXBhdGlvblNlcnZpY2UsIHVwZGF0ZU9jY3VwYXRpb25TZXJ2aWNlLCBkZWxldGVPY2N1cGF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgT2NjdXBhdGlvbiB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hPY2N1cGF0aW9uczogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgT0NDVVBBVElPTlMsXG4gIG9jY3VwYXRpb25zU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IG9jY3VwYXRpb25EZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIE9DQ1VQQVRJT04sXG4gIG9jY3VwYXRpb25EZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPY2N1cGF0aW9uQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxPY2N1cGF0aW9uLCB7IGRhdGE6IE9jY3VwYXRpb24gfT4oXG4gIE9DQ1VQQVRJT05fQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZU9jY3VwYXRpb25TZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIG9jY3VwYXRpb25cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlT2NjdXBhdGlvbkFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8T2NjdXBhdGlvbiwgeyBpZDogbnVtYmVyOyBkYXRhOiBPY2N1cGF0aW9uIH0+KFxuICBPQ0NVUEFUSU9OX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlT2NjdXBhdGlvblNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIG9jY3VwYXRpb25cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlT2NjdXBhdGlvbkFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgT0NDVVBBVElPTl9ERUxFVEUsXG4gIGRlbGV0ZU9jY3VwYXRpb25TZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgT0NDVVBBVElPTlMgPSAnb2NjdXBhdGlvbnMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IE9DQ1VQQVRJT04gPSAnb2NjdXBhdGlvbnMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBPQ0NVUEFUSU9OX0NSRUFURSA9ICdvY2N1cGF0aW9ucy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IE9DQ1VQQVRJT05fVVBEQVRFID0gJ29jY3VwYXRpb25zL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgT0NDVVBBVElPTl9ERUxFVEUgPSAnb2NjdXBhdGlvbnMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IE9jY3VwYXRpb24sIE9jY3VwYXRpb25TdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hPY2N1cGF0aW9ucywgdXBkYXRlT2NjdXBhdGlvbkFjdGlvbiwgb2NjdXBhdGlvbkRldGFpbEFjdGlvbiwgY3JlYXRlT2NjdXBhdGlvbkFjdGlvbiwgZGVsZXRlT2NjdXBhdGlvbkFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBPQ0NVUEFUSU9OIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IE9jY3VwYXRpb25TdGF0ZSA9IHtcbiAgb2NjdXBhdGlvbnM6IFtdLFxuICBvY2N1cGF0aW9uOiBudWxsLFxuICBvY2N1cGF0aW9uc1BlbmRpbmc6IGZhbHNlLFxuICBvY2N1cGF0aW9uRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIG9jY3VwYXRpb25DcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgb2NjdXBhdGlvblVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBvY2N1cGF0aW9uRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBvY2N1cGF0aW9uU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IE9DQ1VQQVRJT04sXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IG9jY3VwYXRpb25cbiAgICBzZXRPY2N1cGF0aW9uOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxPY2N1cGF0aW9uPikgPT4ge1xuICAgICAgc3RhdGUub2NjdXBhdGlvbiA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG5cbiAgICAvLyBVcGRhdGVzIHRoZSByZWdpc3RlciBlcnJvciBtZXNzYWdlXG4gICAgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcblxuICBleHRyYVJlZHVjZXJzOiAoYnVpbGRlcikgPT4ge1xuICAgIGJ1aWxkZXJcbiAgICAgIC8vIGhhbmRsZSBvY2N1cGF0aW9uXG4gICAgICAuYWRkQ2FzZShmZXRjaE9jY3VwYXRpb25zLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgb2NjdXBhdGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoT2NjdXBhdGlvbnMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggb2NjdXBhdGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBvY2N1cGF0aW9ucyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hPY2N1cGF0aW9ucy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9ucyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9jY3VwYXRpb24gZGV0YWlsXG4gICAgICAuYWRkQ2FzZShvY2N1cGF0aW9uRGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBvY2N1cGF0aW9ucyBmZXRjaFxuICAgICAgLmFkZENhc2Uob2NjdXBhdGlvbkRldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbkRldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIG9jY3VwYXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgb2NjdXBhdGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKG9jY3VwYXRpb25EZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbiA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25EZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb2NjdXBhdGlvbiBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZU9jY3VwYXRpb25BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVPY2N1cGF0aW9uQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIG9jY3VwYXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlT2NjdXBhdGlvbkFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvY2N1cGF0aW9uIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlT2NjdXBhdGlvbkFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvblVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZU9jY3VwYXRpb25BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byB1cGRhdGUgb2NjdXBhdGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVPY2N1cGF0aW9uQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbiA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9jY3VwYXRpb24gZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVPY2N1cGF0aW9uQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlT2NjdXBhdGlvbkFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBvY2N1cGF0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZU9jY3VwYXRpb25BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7IHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBzZXRPY2N1cGF0aW9uIH0gPSBvY2N1cGF0aW9uU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgb2NjdXBhdGlvblNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBPY2N1cGF0aW9uIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IG9jY3VwYXRpb25zU2VydmljZSA9IGFzeW5jKCkgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuT0NDVVBBVElPTilcbn1cblxuZXhwb3J0IGNvbnN0IG9jY3VwYXRpb25EZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuT0NDVVBBVElPTn0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPY2N1cGF0aW9uU2VydmljZSA9IGFzeW5jIChkYXRhOiBPY2N1cGF0aW9uKTogUHJvbWlzZTxPY2N1cGF0aW9uPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuT0NDVVBBVElPTn1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVPY2N1cGF0aW9uU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBPY2N1cGF0aW9uKTogUHJvbWlzZTxPY2N1cGF0aW9uPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5PQ0NVUEFUSU9OfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlT2NjdXBhdGlvblNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PntcbiAgcmV0dXJuIGF3YWl0IHJlbW92ZVdpdGhDb25maWcoYCR7VVJMLk9DQ1VQQVRJT059JHtpZH1gKVxufVxuIiwiaW1wb3J0IHsgY3JlYXRlQXN5bmNUaHVuayB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgT0ZGRVJfUFJPR1JBTVMsIE9GRkVSX1BST0dSQU0sIE9GRkVSX1BST0dSQU1fREVMRVRFLCBPRkZFUl9QUk9HUkFNX0NSRUFURSwgT0ZGRVJfUFJPR1JBTV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBvZmZlclByb2dyYW1zU2VydmljZSwgb2ZmZXJQcm9ncmFtRGV0YWlsU2VydmljZSwgY3JlYXRlT2ZmZXJQcm9ncmFtU2VydmljZSwgdXBkYXRlT2ZmZXJQcm9ncmFtU2VydmljZSwgZGVsZXRlT2ZmZXJQcm9ncmFtU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgT2ZmZXJQcm9ncmFtIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaE9mZmVyUHJvZ3JhbXM6IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIE9GRkVSX1BST0dSQU1TLFxuICBvZmZlclByb2dyYW1zU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IG9mZmVyUHJvZ3JhbURldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgT0ZGRVJfUFJPR1JBTSxcbiAgb2ZmZXJQcm9ncmFtRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlT2ZmZXJQcm9ncmFtQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxPZmZlclByb2dyYW0sIHsgZGF0YTogT2ZmZXJQcm9ncmFtIH0+KFxuICBPRkZFUl9QUk9HUkFNX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVPZmZlclByb2dyYW1TZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIG9mZmVyIHByb2dyYW1cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlT2ZmZXJQcm9ncmFtQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxPZmZlclByb2dyYW0sIHsgaWQ6IG51bWJlcjsgZGF0YTogT2ZmZXJQcm9ncmFtIH0+KFxuICBPRkZFUl9QUk9HUkFNX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlT2ZmZXJQcm9ncmFtU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgb2ZmZXIgcHJvZ3JhbVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVPZmZlclByb2dyYW1BY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIE9GRkVSX1BST0dSQU1fREVMRVRFLFxuICBkZWxldGVPZmZlclByb2dyYW1TZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgT0ZGRVJfUFJPR1JBTVMgPSAnb2ZmZXItcHJvZ3JhbXMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IE9GRkVSX1BST0dSQU0gPSAnb2ZmZXItcHJvZ3JhbXMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBPRkZFUl9QUk9HUkFNX0NSRUFURSA9ICdvZmZlci1wcm9ncmFtcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IE9GRkVSX1BST0dSQU1fVVBEQVRFID0gJ29mZmVyLXByb2dyYW1zL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgT0ZGRVJfUFJPR1JBTV9ERUxFVEUgPSAnb2ZmZXItcHJvZ3JhbXMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IE9mZmVyUHJvZ3JhbSwgT2ZmZXJQcm9ncmFtU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoT2ZmZXJQcm9ncmFtcywgdXBkYXRlT2ZmZXJQcm9ncmFtQWN0aW9uLCBvZmZlclByb2dyYW1EZXRhaWxBY3Rpb24sIGNyZWF0ZU9mZmVyUHJvZ3JhbUFjdGlvbiwgZGVsZXRlT2ZmZXJQcm9ncmFtQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IE9GRkVSX1BST0dSQU0gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogT2ZmZXJQcm9ncmFtU3RhdGUgPSB7XG4gIG9mZmVyUHJvZ3JhbXM6IFtdLFxuICBvZmZlclByb2dyYW06IG51bGwsXG4gIG9mZmVyUHJvZ3JhbXNQZW5kaW5nOiBmYWxzZSxcbiAgb2ZmZXJQcm9ncmFtRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIG9mZmVyUHJvZ3JhbUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBvZmZlclByb2dyYW1VcGRhdGVQZW5kaW5nOiBmYWxzZSxcbiAgb2ZmZXJQcm9ncmFtRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBvZmZlclByb2dyYW1TbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogT0ZGRVJfUFJPR1JBTSxcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIC8vIFNldHMgdGhlIGN1cnJlbnQgb2ZmZXJQcm9ncmFtXG4gICAgc2V0T2ZmZXJQcm9ncmFtOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxPZmZlclByb2dyYW0+KSA9PiB7XG4gICAgICBzdGF0ZS5vZmZlclByb2dyYW0gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgb2ZmZXIgcHJvZ3JhbVxuICAgICAgLmFkZENhc2UoZmV0Y2hPZmZlclByb2dyYW1zLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1zUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBvZmZlciBwcm9ncmFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hPZmZlclByb2dyYW1zLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggb2ZmZXIgcHJvZ3JhbXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBvZmZlciBwcm9ncmFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hPZmZlclByb2dyYW1zLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbXMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9mZmVyIHByb2dyYW0gZGV0YWlsXG4gICAgICAuYWRkQ2FzZShvZmZlclByb2dyYW1EZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbURldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgb2ZmZXIgcHJvZ3JhbXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKG9mZmVyUHJvZ3JhbURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggb2ZmZXIgcHJvZ3JhbXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBvZmZlciBwcm9ncmFtcyBmZXRjaFxuICAgICAgLmFkZENhc2Uob2ZmZXJQcm9ncmFtRGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbSA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvZmZlclByb2dyYW0gY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVPZmZlclByb2dyYW1BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZU9mZmVyUHJvZ3JhbUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIG9mZmVyIHByb2dyYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlT2ZmZXJQcm9ncmFtQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvZmZlclByb2dyYW0gdXBkYXRlXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVPZmZlclByb2dyYW1BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZU9mZmVyUHJvZ3JhbUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIG9mZmVyIHByb2dyYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlT2ZmZXJQcm9ncmFtQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvZmZlclByb2dyYW0gZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVPZmZlclByb2dyYW1BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZU9mZmVyUHJvZ3JhbUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIG9mZmVyIHByb2dyYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlT2ZmZXJQcm9ncmFtQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldE9mZmVyUHJvZ3JhbSB9ID0gb2ZmZXJQcm9ncmFtU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgb2ZmZXJQcm9ncmFtU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IE9mZmVyUHJvZ3JhbSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBvZmZlclByb2dyYW1zU2VydmljZSA9IGFzeW5jKCkgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuT0ZGRVJfUFJPR1JBTSlcbn1cblxuZXhwb3J0IGNvbnN0IG9mZmVyUHJvZ3JhbURldGFpbFNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKGAke1VSTC5PRkZFUl9QUk9HUkFNfSR7aWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UgPSBhc3luYyAoZGF0YTogT2ZmZXJQcm9ncmFtKTogUHJvbWlzZTxPZmZlclByb2dyYW0+ID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKGAke1VSTC5PRkZFUl9QUk9HUkFNfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UgPSBhc3luYyAoaWQ6IG51bWJlciwgZGF0YTogT2ZmZXJQcm9ncmFtKTogUHJvbWlzZTxPZmZlclByb2dyYW0+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLk9GRkVSX1BST0dSQU19JHtpZH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVPZmZlclByb2dyYW1TZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5PRkZFUl9QUk9HUkFNfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IE9QUE9SVFVOSVRZX1NPVVJDRVMsIE9QUE9SVFVOSVRZX1NPVVJDRSwgT1BQT1JUVU5JVFlfU09VUkNFX0RFTEVURSwgT1BQT1JUVU5JVFlfU09VUkNFX0NSRUFURSwgT1BQT1JUVU5JVFlfU09VUkNFX1VQREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IG9wcG9ydHVuaXR5U291cmNlc1NlcnZpY2UsIG9wcG9ydHVuaXR5U291cmNlRGV0YWlsU2VydmljZSwgY3JlYXRlT3Bwb3J0dW5pdHlTb3VyY2VTZXJ2aWNlLCB1cGRhdGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UsIGRlbGV0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgT3Bwb3J0dW5pdHlTb3VyY2UgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGZldGNoT3Bwb3J0dW5pdHlTb3VyY2VzOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBPUFBPUlRVTklUWV9TT1VSQ0VTLFxuICBvcHBvcnR1bml0eVNvdXJjZXNTZXJ2aWNlXG4pO1xuXG5leHBvcnQgY29uc3Qgb3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIE9QUE9SVFVOSVRZX1NPVVJDRSxcbiAgb3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8T3Bwb3J0dW5pdHlTb3VyY2UsIHsgZGF0YTogT3Bwb3J0dW5pdHlTb3VyY2UgfT4oXG4gIE9QUE9SVFVOSVRZX1NPVVJDRV9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlT3Bwb3J0dW5pdHlTb3VyY2VTZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIG9wcG9ydHVuaXR5IHNvdXJjZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8T3Bwb3J0dW5pdHlTb3VyY2UsIHsgaWQ6IG51bWJlcjsgZGF0YTogT3Bwb3J0dW5pdHlTb3VyY2UgfT4oXG4gIE9QUE9SVFVOSVRZX1NPVVJDRV9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgb3Bwb3J0dW5pdHkgc291cmNlXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBPUFBPUlRVTklUWV9TT1VSQ0VfREVMRVRFLFxuICBkZWxldGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBPUFBPUlRVTklUWV9TT1VSQ0VTID0gJ29wcG9ydHVuaXR5LXNvdXJjZXMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IE9QUE9SVFVOSVRZX1NPVVJDRSA9ICdvcHBvcnR1bml0eS1zb3VyY2VzL2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgT1BQT1JUVU5JVFlfU09VUkNFX0NSRUFURSA9ICdvcHBvcnR1bml0eS1zb3VyY2VzL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgT1BQT1JUVU5JVFlfU09VUkNFX1VQREFURSA9ICdvcHBvcnR1bml0eS1zb3VyY2VzL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgT1BQT1JUVU5JVFlfU09VUkNFX0RFTEVURSA9ICdvcHBvcnR1bml0eS1zb3VyY2VzL2RlbGV0ZSc7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBPcHBvcnR1bml0eVNvdXJjZSwgT3Bwb3J0dW5pdHlTb3VyY2VTdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hPcHBvcnR1bml0eVNvdXJjZXMsIHVwZGF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLCBvcHBvcnR1bml0eVNvdXJjZURldGFpbEFjdGlvbiwgY3JlYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24sIGRlbGV0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IE9QUE9SVFVOSVRZX1NPVVJDRSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBPcHBvcnR1bml0eVNvdXJjZVN0YXRlID0ge1xuICBvcHBvcnR1bml0eVNvdXJjZXM6IFtdLFxuICBvcHBvcnR1bml0eVNvdXJjZTogbnVsbCxcbiAgb3Bwb3J0dW5pdHlTb3VyY2VzUGVuZGluZzogZmFsc2UsXG4gIG9wcG9ydHVuaXR5U291cmNlRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIG9wcG9ydHVuaXR5U291cmNlQ3JlYXRlUGVuZGluZzogZmFsc2UsXG4gIG9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZzogZmFsc2UsXG4gIG9wcG9ydHVuaXR5U291cmNlRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBvcHBvcnR1bml0eVNvdXJjZVNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBPUFBPUlRVTklUWV9TT1VSQ0UsXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IG9wcG9ydHVuaXR5U291cmNlXG4gICAgc2V0T3Bwb3J0dW5pdHlTb3VyY2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPE9wcG9ydHVuaXR5U291cmNlPikgPT4ge1xuICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgb3Bwb3J0dW5pdHkgc291cmNlXG4gICAgICAuYWRkQ2FzZShmZXRjaE9wcG9ydHVuaXR5U291cmNlcy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VzUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBvcHBvcnR1bml0eSBzb3VyY2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaE9wcG9ydHVuaXR5U291cmNlcy5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggb3Bwb3J0dW5pdHkgc291cmNlcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIG9wcG9ydHVuaXR5IHNvdXJjZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoT3Bwb3J0dW5pdHlTb3VyY2VzLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlcyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvcHBvcnR1bml0eSBzb3VyY2UgZGV0YWlsXG4gICAgICAuYWRkQ2FzZShvcHBvcnR1bml0eVNvdXJjZURldGFpbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIG9wcG9ydHVuaXR5IHNvdXJjZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKG9wcG9ydHVuaXR5U291cmNlRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIG9wcG9ydHVuaXR5IHNvdXJjZXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBvcHBvcnR1bml0eSBzb3VyY2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZShvcHBvcnR1bml0eVNvdXJjZURldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZSA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9wcG9ydHVuaXR5U291cmNlIGNyZWF0ZVxuICAgICAgLmFkZENhc2UoY3JlYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIG9wcG9ydHVuaXR5IHNvdXJjZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9wcG9ydHVuaXR5U291cmNlIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIG9wcG9ydHVuaXR5IHNvdXJjZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9wcG9ydHVuaXR5U291cmNlIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIG9wcG9ydHVuaXR5IHNvdXJjZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBzZXRSZWdpc3RlckVycm9yTWVzc2FnZSwgc2V0T3Bwb3J0dW5pdHlTb3VyY2UgfSA9IG9wcG9ydHVuaXR5U291cmNlU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgb3Bwb3J0dW5pdHlTb3VyY2VTbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgT3Bwb3J0dW5pdHlTb3VyY2UgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3Qgb3Bwb3J0dW5pdHlTb3VyY2VzU2VydmljZSA9IGFzeW5jKCkgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuU09VUkNFKVxufVxuXG5leHBvcnQgY29uc3Qgb3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuU09VUkNFfSR7aWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSA9IGFzeW5jIChkYXRhOiBPcHBvcnR1bml0eVNvdXJjZSk6IFByb21pc2U8T3Bwb3J0dW5pdHlTb3VyY2U+ID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKGAke1VSTC5TT1VSQ0V9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlT3Bwb3J0dW5pdHlTb3VyY2VTZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IE9wcG9ydHVuaXR5U291cmNlKTogUHJvbWlzZTxPcHBvcnR1bml0eVNvdXJjZT4gPT4ge1xuICByZXR1cm4gcHV0V2l0aENvbmZpZyhgJHtVUkwuU09VUkNFfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlT3Bwb3J0dW5pdHlTb3VyY2VTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5TT1VSQ0V9JHtpZH1gKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQnJvd3NlclJvdXRlciIsIkFwcFJvdXRlcyIsIkFwcCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVSb290IiwiUHJvdmlkZXIiLCJzdG9yZSIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJvb3RFbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJyb290IiwicmVuZGVyIiwiY29uc29sZSIsImVycm9yIiwiY3JlYXRlQXN5bmNUaHVuayIsIkFVVEhFTlRJQ0FUSU9OX0xPR0lOIiwiQVVUSEVOVElDQVRJT05fTE9HSU5fVEVMRUdSQU0iLCJBVVRIRU5USUNBVElPTl9SRUdJU1RFUiIsIkFVVEhFTlRJQ0FUSU9OX1ZFUklGWV9PUFQiLCJVU0VSX0FUVEVOREFOQ0UiLCJsb2dpblRlbGVncmFtVXNlclNlcnZpY2UiLCJsb2dpblVzZXJTZXJ2aWNlIiwicmVnaXN0ZXJUZWxlZ3JhbVVzZXJTZXJ2aWNlIiwidXNlckF0dGVuZGFuY2VTZXJ2aWNlIiwidmVyaWZ5T1RQU2VydmljZSIsImxvZ2luVXNlckFjdGlvbiIsInZlcmlmeU9UUEFjdGlvbiIsImxvZ2luVGVsZWdyYW1Vc2VyQWN0aW9uIiwicmVnaXN0ZXJUZWxlZ3JhbVVzZXJBY3Rpb24iLCJ1c2VyQXR0ZW5kYW5jZUFjdGlvbiIsIkFVVEgiLCJjcmVhdGVTbGljZSIsImdldFNlc3Npb25JdGVtIiwia2V5IiwiaXRlbSIsInNlc3Npb25TdG9yYWdlIiwiZ2V0SXRlbSIsIkpTT04iLCJwYXJzZSIsImNvbmNhdCIsImdldFNlc3Npb25Ub2tlbiIsImluaXRpYWxTdGF0ZSIsImN1cnJlbnRVc2VyIiwiaXNMb2dpblBlbmRpbmciLCJwYWdpbmF0aW9uIiwiY3VycmVudFBhZ2UiLCJpdGVtc1BlclBhZ2UiLCJ0b3RhbEl0ZW1zIiwibG9naW5FcnJvck1lc3NhZ2UiLCJoYW5kbGVSZWdpdGVyVGVsZWdyYW0iLCJpc090cFZlcmlmaWNhdGlvblBlbmRpbmciLCJvdHBWZXJpZmljYXRpb25FcnJvck1lc3NhZ2UiLCJhY2Nlc3NUb2tlbiIsImVtYWlsIiwiYXV0aFNsaWNlIiwibmFtZSIsInJlZHVjZXJzIiwibG9nb3V0Iiwic3RhdGUiLCJjbGVhciIsInNldFRva2VuIiwiYWN0aW9uIiwicGF5bG9hZCIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJzZXRVc2VyIiwic2V0SXNMb2dpblBlbmRpbmciLCJzZXRMb2dpbkVycm9yTWVzc2FnZSIsInNldEVtYWlsIiwiZXh0cmFSZWR1Y2VycyIsImJ1aWxkZXIiLCJhZGRDYXNlIiwicGVuZGluZyIsInJlamVjdGVkIiwiZGF0YSIsImZ1bGZpbGxlZCIsImluY2x1ZGVzIiwicmVtb3ZlSXRlbSIsInVzZXIiLCJhY2Nlc3NfdG9rZW4iLCJfYXV0aFNsaWNlJGFjdGlvbnMiLCJhY3Rpb25zIiwicmVkdWNlciIsImUiLCJ0IiwiciIsIlN5bWJvbCIsIm4iLCJpdGVyYXRvciIsIm8iLCJ0b1N0cmluZ1RhZyIsImkiLCJjIiwicHJvdG90eXBlIiwiR2VuZXJhdG9yIiwidSIsIk9iamVjdCIsImNyZWF0ZSIsIl9yZWdlbmVyYXRvckRlZmluZTIiLCJmIiwicCIsInkiLCJHIiwidiIsImEiLCJkIiwiYmluZCIsImxlbmd0aCIsImwiLCJUeXBlRXJyb3IiLCJjYWxsIiwiZG9uZSIsInZhbHVlIiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsImdldFByb3RvdHlwZU9mIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJkaXNwbGF5TmFtZSIsIl9yZWdlbmVyYXRvciIsInciLCJtIiwiZGVmaW5lUHJvcGVydHkiLCJfcmVnZW5lcmF0b3JEZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfaW52b2tlIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiVVJMIiwiYmFzZVVSTCIsInBvc3RXaXRoQ29uZmlnIiwiX3JlZiIsIl9jYWxsZWUiLCJib2R5IiwiX2NvbnRleHQiLCJMT0dJTiIsInBhc3N3b3JkIiwiZ3JhZF90eXBlIiwiX3giLCJfcmVmMiIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwiTE9HSU5fVEVMRUdSQU0iLCJ0ZWxlZ3JhbV9pZCIsInVzZXJuYW1lIiwiX3gyIiwiX3JlZjMiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsIlNJR05VUCIsIl94MyIsIl9yZWY0IiwiX2NhbGxlZTQiLCJfY29udGV4dDQiLCJfeDQiLCJfcmVmNSIsIl9jYWxsZWU1IiwicmVzcG9uc2UiLCJfdCIsIl9jb250ZXh0NSIsImxvZyIsIlZFUklGWV9UT1AiLCJjb2RlIiwib3RwQ29kZSIsIl94NSIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsIm5leHQiLCJwdXNoIiwiaXNBcnJheSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwidXNlRGlzcGF0Y2giLCJ1c2VTZWxlY3RvciIsInVzZU5hdmlnYXRlIiwiZ2V0V2l0aENvbmZpZyIsInVzZXJUZWxlZ3JhbVNlcnZpY2UiLCJmZXRjaFZvbHVudGVlcnMiLCJTd2FsIiwiVEVMRUdSQU1fQk9UX1VTRVJOQU1FIiwiVEVMRUdSQU1fQVVUSF9BUEkiLCJURUxFR1JBTV9BTExPV0VEX09SSUdJTlMiLCJUZWxlZ3JhbUxvZ2luQXR0ZW5kYW5jZSIsImRpc3BhdGNoIiwibmF2aWdhdGUiLCJfdXNlU2VsZWN0b3IiLCJhdXRoIiwiX21lc3NhZ2UkdXNlTWVzc2FnZSIsIl9tZXNzYWdlIiwidXNlTWVzc2FnZSIsIl9tZXNzYWdlJHVzZU1lc3NhZ2UyIiwibWVzc2FnZUFwaSIsImNvbnRleHRIb2xkZXIiLCJ0ZWxlZ3JhbVdyYXBwZXJSZWYiLCJhbGxWb2x1bnRlZXJzIiwiZmV0Y2hUZWxlZ3JhbVVzZXIiLCJhdXRoRGF0YSIsIkVycm9yIiwiaGFuZGxlVGVsZWdyYW1Mb2dpbiIsImV2ZW50IiwiZXZlbnRPcmlnaW4iLCJsb2dpbkJvZHkiLCJleGlzdGluZ1VzZXIiLCJfdDIiLCJvcmlnaW4iLCJob3N0bmFtZSIsInNvbWUiLCJkb21haW4iLCJlbmRzV2l0aCIsIndhcm4iLCJhdXRoX2RhdGEiLCJVUkxTZWFyY2hQYXJhbXMiLCJpZCIsImZpcnN0X25hbWUiLCJsYXN0X25hbWUiLCJhdHRlbmRhbmNlQm9keSIsInVzZXJfaWQiLCJtZWV0aW5nX25vdGUiLCJtZWV0aW5nX3RpbWUiLCJEYXRlIiwidG9JU09TdHJpbmciLCJzZXRUaW1lb3V0IiwiZmlyZSIsInRpdGxlIiwidGV4dCIsImljb24iLCJjb25maXJtQnV0dG9uVGV4dCIsInJlc3VsdCIsImlzQ29uZmlybWVkIiwiZmV0Y2hWb2x1bnRlZXJzRGF0YSIsIl9yZXNwb25zZSRwYXlsb2FkIiwidm9sdW50ZWVyc0NvdW50IiwiX3QzIiwicGFnZSIsInBhZ2VTaXplIiwibWV0YSIsInRvdGFsIiwicm9sZSIsInJlcGxhY2UiLCJzYXZlZFVzZXIiLCJ3aW5kb3ciLCJzY3JpcHRFbGVtZW50Iiwic3JjIiwic2V0QXR0cmlidXRlIiwiYXN5bmMiLCJjdXJyZW50IiwiaW5uZXJIVE1MIiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY2xhc3NOYW1lIiwiX0NhcmQiLCJzdHlsZSIsIm1heFdpZHRoIiwicmVmIiwiTG9ja091dGxpbmVkIiwiVXNlck91dGxpbmVkIiwiTG9naW5Gb3JtIiwib25GaW5pc2giLCJ2YWx1ZXMiLCJvcGVuIiwidHlwZSIsImNvbnRlbnQiLCJkaXNwbGF5IiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwiaGVpZ2h0Iiwid2lkdGgiLCJ0ZXh0QWxpZ24iLCJfRm9ybSIsImluaXRpYWxWYWx1ZXMiLCJyZW1lbWJlciIsIkl0ZW0iLCJydWxlcyIsInJlcXVpcmVkIiwibWVzc2FnZSIsIl9JbnB1dCIsInByZWZpeCIsInBsYWNlaG9sZGVyIiwidmFsdWVQcm9wTmFtZSIsIm5vU3R5bGUiLCJfQ2hlY2tib3giLCJfQnV0dG9uIiwiYmxvY2siLCJodG1sVHlwZSIsImxvYWRpbmciLCJUZWxlZ3JhbUxvZ2luRm9ybSIsInJlZ2lzdGVyQm9keSIsInBob3RvX3VybCIsImZldGNoRGF0YSIsIl9hbGxWb2x1bnRlZXJzIiwiX2FsbFZvbHVudGVlcnMyIiwiX2FsbFZvbHVudGVlcnMzIiwiX2FsbFZvbHVudGVlcnM0IiwidXNlU3RhdGUiLCJRUkNvZGVDYW52YXMiLCJWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJ2b2x1bnRlZXJJZCIsInNldFZvbHVudGVlcklkIiwiZmV0Y2hWb2x1bnRlZXJJZCIsInNpemUiLCJESVNBQklMSVRZX1RZUEVTIiwiRElTQUJJTElUWV9UWVBFIiwiRElTQUJJTElUWV9UWVBFX0RFTEVURSIsIkRJU0FCSUxJVFlfVFlQRV9DUkVBVEUiLCJESVNBQklMSVRZX1RZUEVfVVBEQVRFIiwiZGlzYWJpbGl0eVR5cGVzU2VydmljZSIsImRpc2FiaWxpdHlUeXBlRGV0YWlsU2VydmljZSIsImNyZWF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSIsInVwZGF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSIsImRlbGV0ZURpc2FiaWxpdHlUeXBlU2VydmljZSIsImZldGNoRGlzYWJpbGl0eVR5cGVzIiwiZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24iLCJjcmVhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiIsInJlamVjdFdpdGhWYWx1ZSIsIl9lcnJvciRyZXNwb25zZSIsInVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIiwiX3JlZjYiLCJfZXJyb3IkcmVzcG9uc2UyIiwiZGVsZXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24iLCJkaXNhYmlsaXR5VHlwZXMiLCJkaXNhYmlsaXR5VHlwZSIsImRpc2FiaWxpdHlUeXBlc1BlbmRpbmciLCJkaXNhYmlsaXR5VHlwZURldGFpbFBlbmRpbmciLCJkaXNhYmlsaXR5VHlwZUNyZWF0ZVBlbmRpbmciLCJkaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmciLCJkaXNhYmlsaXR5VHlwZURlbGV0ZVBlbmRpbmciLCJyZWdpc3RlckVycm9yTWVzc2FnZSIsImRpc2FiaWxpdHlUeXBlU2xpY2UiLCJzZXREaXNhYmlsaXR5VHlwZSIsInNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlIiwiX2Rpc2FiaWxpdHlUeXBlU2xpY2UkIiwicHV0V2l0aENvbmZpZyIsInJlbW92ZVdpdGhDb25maWciLCJFRFVDQVRJT05fSU5TVElUVVRJT05TIiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OIiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0RFTEVURSIsIkVEVUNBVElPTl9JTlNUSVRVVElPTl9DUkVBVEUiLCJFRFVDQVRJT05fSU5TVElUVVRJT05fVVBEQVRFIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25zU2VydmljZSIsImVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsU2VydmljZSIsImNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSIsInVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSIsImRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSIsImZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb24iLCJjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiIsInVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIiwiZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24iLCJlZHVjYXRpb25JbnN0aXR1dGlvbnMiLCJlZHVjYXRpb25JbnN0aXR1dGlvbiIsImVkdWNhdGlvbkluc3RpdHV0aW9uc1BlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbFBlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvbkNyZWF0ZVBlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvblVwZGF0ZVBlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvbkRlbGV0ZVBlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvblNsaWNlIiwic2V0RWR1Y2F0aW9uSW5zdGl0dXRpb24iLCJfZWR1Y2F0aW9uSW5zdGl0dXRpb24iLCJGT09EUyIsIkZPT0QiLCJGT09EX0RFTEVURSIsIkZPT0RfQ1JFQVRFIiwiRk9PRF9VUERBVEUiLCJmb29kc1NlcnZpY2UiLCJmb29kRGV0YWlsU2VydmljZSIsImNyZWF0ZUZvb2RTZXJ2aWNlIiwidXBkYXRlRm9vZFNlcnZpY2UiLCJkZWxldGVGb29kU2VydmljZSIsImZldGNoRm9vZHMiLCJmb29kRGV0YWlsQWN0aW9uIiwiY3JlYXRlRm9vZEFjdGlvbiIsInVwZGF0ZUZvb2RBY3Rpb24iLCJkZWxldGVGb29kQWN0aW9uIiwiZm9vZHMiLCJmb29kIiwiZm9vZHNQZW5kaW5nIiwiZm9vZERldGFpbFBlbmRpbmciLCJmb29kQ3JlYXRlUGVuZGluZyIsImZvb2RVcGRhdGVQZW5kaW5nIiwiZm9vZERlbGV0ZVBlbmRpbmciLCJmb29kU2xpY2UiLCJzZXRGb29kIiwiX2Zvb2RTbGljZSRhY3Rpb25zIiwiSU5URVJFU1RFRF9URUFNUyIsIklOVEVSRVNURURfVEVBTSIsIklOVEVSRVNURURfVEVBTV9ERUxFVEUiLCJJTlRFUkVTVEVEX1RFQU1fQ1JFQVRFIiwiSU5URVJFU1RFRF9URUFNX1VQREFURSIsImludGVyZXN0ZWRUZWFtc1NlcnZpY2UiLCJpbnRlcmVzdGVkVGVhbURldGFpbFNlcnZpY2UiLCJjcmVhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UiLCJ1cGRhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UiLCJkZWxldGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UiLCJmZXRjaEludGVyZXN0ZWRUZWFtcyIsImludGVyZXN0ZWRUZWFtRGV0YWlsQWN0aW9uIiwiY3JlYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24iLCJ1cGRhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbiIsImRlbGV0ZUludGVyZXN0ZWRUZWFtQWN0aW9uIiwiaW50ZXJlc3RlZFRlYW1zIiwiaW50ZXJlc3RlZFRlYW0iLCJpbnRlcmVzdGVkVGVhbXNQZW5kaW5nIiwiaW50ZXJlc3RlZFRlYW1EZXRhaWxQZW5kaW5nIiwiaW50ZXJlc3RlZFRlYW1DcmVhdGVQZW5kaW5nIiwiaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nIiwiaW50ZXJlc3RlZFRlYW1EZWxldGVQZW5kaW5nIiwiaW50ZXJlc3RlZFRlYW1TbGljZSIsInNldEludGVyZXN0ZWRUZWFtIiwiX2ludGVyZXN0ZWRUZWFtU2xpY2UkIiwiVEVBTSIsIkxBTkdVQUdFUyIsIkxBTkdVQUdFIiwiTEFOR1VBR0VfREVMRVRFIiwiTEFOR1VBR0VfQ1JFQVRFIiwiTEFOR1VBR0VfVVBEQVRFIiwibGFuZ3VhZ2VzU2VydmljZSIsImxhbmd1YWdlRGV0YWlsU2VydmljZSIsImNyZWF0ZUxhbmd1YWdlU2VydmljZSIsInVwZGF0ZUxhbmd1YWdlU2VydmljZSIsImRlbGV0ZUxhbmd1YWdlU2VydmljZSIsImZldGNoTGFuZ3VhZ2VzIiwibGFuZ3VhZ2VEZXRhaWxBY3Rpb24iLCJjcmVhdGVMYW5ndWFnZUFjdGlvbiIsInVwZGF0ZUxhbmd1YWdlQWN0aW9uIiwiZGVsZXRlTGFuZ3VhZ2VBY3Rpb24iLCJsYW5ndWFnZXMiLCJsYW5ndWFnZSIsImxhbmd1YWdlc1BlbmRpbmciLCJsYW5ndWFnZURldGFpbFBlbmRpbmciLCJsYW5ndWFnZUNyZWF0ZVBlbmRpbmciLCJsYW5ndWFnZVVwZGF0ZVBlbmRpbmciLCJsYW5ndWFnZURlbGV0ZVBlbmRpbmciLCJsYW5ndWFnZVNsaWNlIiwic2V0TGFuZ3VhZ2UiLCJfbGFuZ3VhZ2VTbGljZSRhY3Rpb24iLCJPQ0NVUEFUSU9OUyIsIk9DQ1VQQVRJT04iLCJPQ0NVUEFUSU9OX0RFTEVURSIsIk9DQ1VQQVRJT05fQ1JFQVRFIiwiT0NDVVBBVElPTl9VUERBVEUiLCJvY2N1cGF0aW9uc1NlcnZpY2UiLCJvY2N1cGF0aW9uRGV0YWlsU2VydmljZSIsImNyZWF0ZU9jY3VwYXRpb25TZXJ2aWNlIiwidXBkYXRlT2NjdXBhdGlvblNlcnZpY2UiLCJkZWxldGVPY2N1cGF0aW9uU2VydmljZSIsImZldGNoT2NjdXBhdGlvbnMiLCJvY2N1cGF0aW9uRGV0YWlsQWN0aW9uIiwiY3JlYXRlT2NjdXBhdGlvbkFjdGlvbiIsInVwZGF0ZU9jY3VwYXRpb25BY3Rpb24iLCJkZWxldGVPY2N1cGF0aW9uQWN0aW9uIiwib2NjdXBhdGlvbnMiLCJvY2N1cGF0aW9uIiwib2NjdXBhdGlvbnNQZW5kaW5nIiwib2NjdXBhdGlvbkRldGFpbFBlbmRpbmciLCJvY2N1cGF0aW9uQ3JlYXRlUGVuZGluZyIsIm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nIiwib2NjdXBhdGlvbkRlbGV0ZVBlbmRpbmciLCJvY2N1cGF0aW9uU2xpY2UiLCJzZXRPY2N1cGF0aW9uIiwiX29jY3VwYXRpb25TbGljZSRhY3RpIiwiT0ZGRVJfUFJPR1JBTVMiLCJPRkZFUl9QUk9HUkFNIiwiT0ZGRVJfUFJPR1JBTV9ERUxFVEUiLCJPRkZFUl9QUk9HUkFNX0NSRUFURSIsIk9GRkVSX1BST0dSQU1fVVBEQVRFIiwib2ZmZXJQcm9ncmFtc1NlcnZpY2UiLCJvZmZlclByb2dyYW1EZXRhaWxTZXJ2aWNlIiwiY3JlYXRlT2ZmZXJQcm9ncmFtU2VydmljZSIsInVwZGF0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UiLCJkZWxldGVPZmZlclByb2dyYW1TZXJ2aWNlIiwiZmV0Y2hPZmZlclByb2dyYW1zIiwib2ZmZXJQcm9ncmFtRGV0YWlsQWN0aW9uIiwiY3JlYXRlT2ZmZXJQcm9ncmFtQWN0aW9uIiwidXBkYXRlT2ZmZXJQcm9ncmFtQWN0aW9uIiwiZGVsZXRlT2ZmZXJQcm9ncmFtQWN0aW9uIiwib2ZmZXJQcm9ncmFtcyIsIm9mZmVyUHJvZ3JhbSIsIm9mZmVyUHJvZ3JhbXNQZW5kaW5nIiwib2ZmZXJQcm9ncmFtRGV0YWlsUGVuZGluZyIsIm9mZmVyUHJvZ3JhbUNyZWF0ZVBlbmRpbmciLCJvZmZlclByb2dyYW1VcGRhdGVQZW5kaW5nIiwib2ZmZXJQcm9ncmFtRGVsZXRlUGVuZGluZyIsIm9mZmVyUHJvZ3JhbVNsaWNlIiwic2V0T2ZmZXJQcm9ncmFtIiwiX29mZmVyUHJvZ3JhbVNsaWNlJGFjIiwiT1BQT1JUVU5JVFlfU09VUkNFUyIsIk9QUE9SVFVOSVRZX1NPVVJDRSIsIk9QUE9SVFVOSVRZX1NPVVJDRV9ERUxFVEUiLCJPUFBPUlRVTklUWV9TT1VSQ0VfQ1JFQVRFIiwiT1BQT1JUVU5JVFlfU09VUkNFX1VQREFURSIsIm9wcG9ydHVuaXR5U291cmNlc1NlcnZpY2UiLCJvcHBvcnR1bml0eVNvdXJjZURldGFpbFNlcnZpY2UiLCJjcmVhdGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UiLCJ1cGRhdGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UiLCJkZWxldGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UiLCJmZXRjaE9wcG9ydHVuaXR5U291cmNlcyIsIm9wcG9ydHVuaXR5U291cmNlRGV0YWlsQWN0aW9uIiwiY3JlYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24iLCJ1cGRhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbiIsImRlbGV0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uIiwib3Bwb3J0dW5pdHlTb3VyY2VzIiwib3Bwb3J0dW5pdHlTb3VyY2UiLCJvcHBvcnR1bml0eVNvdXJjZXNQZW5kaW5nIiwib3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxQZW5kaW5nIiwib3Bwb3J0dW5pdHlTb3VyY2VDcmVhdGVQZW5kaW5nIiwib3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nIiwib3Bwb3J0dW5pdHlTb3VyY2VEZWxldGVQZW5kaW5nIiwib3Bwb3J0dW5pdHlTb3VyY2VTbGljZSIsInNldE9wcG9ydHVuaXR5U291cmNlIiwiX29wcG9ydHVuaXR5U291cmNlU2xpIiwiU09VUkNFIl0sInNvdXJjZVJvb3QiOiIifQ==