"use strict"; (self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_shared_a"],{ /***/ "./src/shared/assets/fonts/Bayon-Regular.ttf": /*!***************************************************!*\ !*** ./src/shared/assets/fonts/Bayon-Regular.ttf ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/Bayon-Regular.ttf"; /***/ }), /***/ "./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf": /*!*******************************************************************!*\ !*** ./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/Roboto-VariableFont_wdth,wght.ttf"; /***/ }), /***/ "./src/shared/assets/fonts/Siemreap-Regular.ttf": /*!******************************************************!*\ !*** ./src/shared/assets/fonts/Siemreap-Regular.ttf ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/Siemreap-Regular.ttf"; /***/ }), /***/ "./src/shared/assets/images/team.png": /*!*******************************************!*\ !*** ./src/shared/assets/images/team.png ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/team.png"; /***/ }), /***/ "./src/shared/assets/logos/logo.png": /*!******************************************!*\ !*** ./src/shared/assets/logos/logo.png ***! \******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__.p + "assets/images/logo.png"; /***/ }), /***/ "./src/shared/components/footer/footer-component.tsx": /*!***********************************************************!*\ !*** ./src/shared/components/footer/footer-component.tsx ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/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__); var Footer = antd_es_layout__WEBPACK_IMPORTED_MODULE_1__["default"].Footer; var FooterComponent = function FooterComponent() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Footer, { style: { background: '#f5f5f5', padding: '24px', textAlign: 'center' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], { gutter: [16, 16] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], { xs: 24, sm: 12, md: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h4", null, "About Us"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Learn more about our mission and values.")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], { xs: 24, sm: 12, md: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h4", null, "Contact"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Email: support@gmail.com"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Phone: +855 123 456 7890")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], { xs: 24, sm: 12, md: 8 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h4", null, "Follow Us"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", { href: "", target: "_blank", rel: "#" }, "#")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { marginTop: '16px' } }, "\xA9 ", new Date().getFullYear(), " #")); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FooterComponent); /***/ }), /***/ "./src/shared/configs/config.ts": /*!**************************************!*\ !*** ./src/shared/configs/config.ts ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ // env: process.env.NODE_ENV, env: 'development', // asset_url: process.env.S3IMAGESBUCKET, asset_url: '', api_url: "https://volunteerapi.joonaakhub.com", upload_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.100.3","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.Vyh6femhz5/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"AD91B2DC-D85B-4AA1-8CC3-BB99C50CA0AA","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.MEDIA_API, socket_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.100.3","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.Vyh6femhz5/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"AD91B2DC-D85B-4AA1-8CC3-BB99C50CA0AA","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.SOCKER_SERVER, notification_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.100.3","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.Vyh6femhz5/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"AD91B2DC-D85B-4AA1-8CC3-BB99C50CA0AA","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.NOTIFICATION, AWS_ACCESS_KEY_ID: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.100.3","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.Vyh6femhz5/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"AD91B2DC-D85B-4AA1-8CC3-BB99C50CA0AA","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.100.3","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.Vyh6femhz5/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"AD91B2DC-D85B-4AA1-8CC3-BB99C50CA0AA","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.AWS_SECRET_ACCESS_KEY, REACT_APP_API_TOKEN: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.100.3","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.Vyh6femhz5/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"AD91B2DC-D85B-4AA1-8CC3-BB99C50CA0AA","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.REACT_APP_API_TOKEN, S3_BUCKET: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.100.3","ZDOTDIR":"/Users/youra","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.Vyh6femhz5/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"AD91B2DC-D85B-4AA1-8CC3-BB99C50CA0AA","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"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"}.S3_BUCKET, firebase_config_headers: {}, limit: 10, wallet_limit: 10000, websocketEvent: { DRIVER_LIVE_LOCATION: 'DRIVER_LIVE_LOCATION', UPDATE_JN_WALLET: 'UPDATE_JN_WALLET', CASH_IN_SUCCESS: 'CASH_IN_SUCCESS', CASH_OUT_SUCCESS: 'CASH_OUT_SUCCESS', NO_DRIVER_AVAILABLE: 'NO_DRIVER_AVAILABLE', PACKAGE_TRACKING: 'PACKAGE_TRACKING' }, defaultAdminAccount: 'DEFAULT_ADMIN_ACCOUNT_ID', telegramId: { dev: '-1001136284557', devLogger: '-1001495616386', expressHub: '-1001136284557', expressMerchant: '-1001136284557', expressFinance: '-1001136284557', expressDriver: '-1001136284557' } }); /***/ }), /***/ "./src/shared/configs/constants.ts": /*!*****************************************!*\ !*** ./src/shared/configs/constants.ts ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ AUTH_LOGIN: () => (/* binding */ AUTH_LOGIN), /* harmony export */ CURRENCY_TYPE: () => (/* binding */ CURRENCY_TYPE), /* harmony export */ LOGIN_FAILED: () => (/* binding */ LOGIN_FAILED), /* harmony export */ START_LOGIN: () => (/* binding */ START_LOGIN), /* harmony export */ URL: () => (/* binding */ URL) /* harmony export */ }); var START_LOGIN = 'START_LOGIN'; var AUTH_LOGIN = 'AUTH_LOGIN'; var LOGIN_FAILED = 'LOGIN_FAILED'; var URL = { LOGIN: '/auth/login', LOGIN_TELEGRAM: '/auth/login', VERIFY_TOP: 'api/v1/verify', SIGNUP: 'auth/register', DISABILITY_TYPE: 'disability-types/', PROVINCE: 'provinces/', OCCUPATION: 'occupations/', EDUCATION_INSTITUTION: 'education-institutions/', FOODS: 'foods/', FOOD: 'foods/', TEAM: 'interested-teams/', EVENT: 'volunteer-events/', SOURCE: 'opportunity-sources/', TRAINING_SESSION: 'training-sessions/', LANGUAGE: 'languages/', SKILL: 'skills/', TERMS_CONDITION: 'terms-conditions/', VOLUNTEER_EVENT: 'volunteer-events/', VOLUNTEERS: 'volunteers/', DASHBOARD: 'dashboard/', OFFER_PROGRAM: 'offer-programs/', TRAVEL_DAY: 'travel-days/', USER: 'users/', PUBLIC: 'public/', NOTIFY: 'notify/send/telegram', NOTIFY_STATUS: 'notify/send/status', USER_ATTENDANCE: '/user-attendances/' }; var CURRENCY_TYPE = { USD: 'USD', KHR: 'KHR' }; /***/ }), /***/ "./src/shared/container/dialogs/loading-dialog.tsx": /*!*********************************************************!*\ !*** ./src/shared/container/dialogs/loading-dialog.tsx ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js"); /* harmony import */ var antd_es_spin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/spin */ "../../../node_modules/antd/lib/spin/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__); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } var LoadingDialog = /*#__PURE__*/function (_React$Component) { function LoadingDialog() { _classCallCheck(this, LoadingDialog); return _callSuper(this, LoadingDialog, arguments); } _inherits(LoadingDialog, _React$Component); return _createClass(LoadingDialog, [{ key: "render", value: function render() { var visible = this.props.visible; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_modal__WEBPACK_IMPORTED_MODULE_1__["default"], { width: 200, visible: visible, centered: true, footer: null, closable: false }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center', marginTop: 20 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_spin__WEBPACK_IMPORTED_MODULE_2__["default"], { size: "large" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", { style: { textAlign: 'center', marginTop: '1rem' } }, "Loading..."))); } }]); }((react__WEBPACK_IMPORTED_MODULE_0___default().Component)); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoadingDialog); /***/ }), /***/ "./src/shared/core/base/services.ts": /*!******************************************!*\ !*** ./src/shared/core/base/services.ts ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getWithConfig: () => (/* binding */ getWithConfig), /* harmony export */ postUpload: () => (/* binding */ postUpload), /* harmony export */ postWithConfig: () => (/* binding */ postWithConfig), /* harmony export */ postWithConfigFormData: () => (/* binding */ postWithConfigFormData), /* harmony export */ postWithConfigWhitelist: () => (/* binding */ postWithConfigWhitelist), /* harmony export */ pushNotification: () => (/* binding */ pushNotification), /* harmony export */ pushNotificationAllApp: () => (/* binding */ pushNotificationAllApp), /* harmony export */ putWithConfig: () => (/* binding */ putWithConfig), /* harmony export */ removeWithConfig: () => (/* binding */ removeWithConfig) /* harmony export */ }); /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ "../../../node_modules/axios/lib/axios.js"); /* harmony import */ var _configs_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../configs/config */ "./src/shared/configs/config.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); }); }; } /* eslint-disable no-console */ /** * Helper function to make GET requests with token authorization and optional parameters. * * @param url - The API endpoint. * @param params - Optional query parameters. * @param success - Callback function to handle success response. * @param failed - Callback function to handle error response. */ // Ensure axiosInstance is configured properly var axiosInstance = axios__WEBPACK_IMPORTED_MODULE_1__["default"].create({ baseURL: _configs_config__WEBPACK_IMPORTED_MODULE_0__["default"].api_url, timeout: 100000 // Example timeout }); var getWithConfig = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(url, params, success, failed) { var token, configs, response, _err$response$data$me, _err$response, _err$response$data$er, _err$response2, message, error, _t; return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.p = 0; token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA"; configs = { headers: { Authorization: token ? "Bearer ".concat(token) : "", // ✅ Fixed incorrect conditional Accept: "application/json" }, params: params }; _context.n = 1; return axiosInstance.get(url, configs); case 1: response = _context.v; success === null || success === void 0 || success(response.data); return _context.a(2, response.data); case 2: _context.p = 2; _t = _context.v; console.error("Axios GET request failed:", _t); message = (_err$response$data$me = (_err$response = _t.response) === null || _err$response === void 0 || (_err$response = _err$response.data) === null || _err$response === void 0 ? void 0 : _err$response.message) !== null && _err$response$data$me !== void 0 ? _err$response$data$me : "Unknown error!"; error = (_err$response$data$er = (_err$response2 = _t.response) === null || _err$response2 === void 0 || (_err$response2 = _err$response2.data) === null || _err$response2 === void 0 ? void 0 : _err$response2.error) !== null && _err$response$data$er !== void 0 ? _err$response$data$er : "Unknown error!"; console.error({ error: error }); failed === null || failed === void 0 || failed(message); return _context.a(2, undefined); } }, _callee, null, [[0, 2]]); })); return function getWithConfig(_x, _x2, _x3, _x4) { return _ref.apply(this, arguments); }; }(); /** * Helper function to make POST requests with token authorization. * * @param url - The API endpoint. * @param data - The request payload. * @returns A promise with the response data. */ var postWithConfig = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(url, data) { var _sessionStorage$getIt; var token, headers, config, response, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: token = (_sessionStorage$getIt = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt !== void 0 ? _sessionStorage$getIt : ''; headers = { 'Content-Type': 'application/json', Accept: 'application/json' }; if (token) { headers['Authorization'] = "Bearer ".concat(token); } config = { headers: headers }; _context2.p = 1; _context2.n = 2; return axiosInstance.post(url, data, config); case 2: response = _context2.v; return _context2.a(2, response.data); case 3: _context2.p = 3; _t2 = _context2.v; console.error('POST request error:', _t2); throw _t2; case 4: return _context2.a(2); } }, _callee2, null, [[1, 3]]); })); return function postWithConfig(_x5, _x6) { return _ref2.apply(this, arguments); }; }(); var postWithConfigFormData = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(url, data) { var _sessionStorage$getIt2; var token, headers, config, response, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: token = (_sessionStorage$getIt2 = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt2 !== void 0 ? _sessionStorage$getIt2 : ''; console.log('formData ', data); headers = { 'Content-Type': 'multipart/form-data', Accept: 'application/json' }; if (token) { headers['Authorization'] = "Bearer ".concat(token); } config = { headers: headers }; _context3.p = 1; _context3.n = 2; return axiosInstance.post(url, data, config); case 2: response = _context3.v; return _context3.a(2, response.data); case 3: _context3.p = 3; _t3 = _context3.v; console.error('POST request error:', _t3); throw _t3; case 4: return _context3.a(2); } }, _callee3, null, [[1, 3]]); })); return function postWithConfigFormData(_x7, _x8) { return _ref3.apply(this, arguments); }; }(); /** * Helper function to make POST requests with token authorization. * * @param url - The API endpoint. * @param data - The request payload. * @returns A promise with the response data. */ var postWithConfigWhitelist = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(url, data) { var token, storedUser, user, headers, config, expertiseStr, response, _t4; return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA"; storedUser = sessionStorage.getItem('currentUser'); user = storedUser ? JSON.parse(storedUser) : null; // ✅ Prevents headers = { 'Content-Type': 'application/json', Accept: 'application/json' }; if (token) { headers['Authorization'] = "Bearer ".concat(token); } config = { headers: headers }; _context4.p = 1; // Ensure required fields are included in the request payload data.phone_number = data.phone_number ? "+".concat(data.phone_number.countryCode, " ").concat(data.phone_number.areaCode, " ").concat(data.phone_number.phoneNumber) : undefined; data.terms_conditions_id = 2; data.volunteer_status = "Register"; data.user_id = user.id; expertiseStr = data.expertise.toString(); data.expertise = expertiseStr; _context4.n = 2; return axiosInstance.post(url, data, config); case 2: response = _context4.v; return _context4.a(2, response.data); case 3: _context4.p = 3; _t4 = _context4.v; console.error('POST request error:', _t4); throw _t4; case 4: return _context4.a(2); } }, _callee4, null, [[1, 3]]); })); return function postWithConfigWhitelist(_x9, _x0) { return _ref4.apply(this, arguments); }; }(); /** * Helper function to make DELETE requests with token authorization and optional data. * * @param url - The API endpoint. * @param data - Optional payload for the DELETE request. * @param success - Callback function to handle success response. * @param failed - Callback function to handle error response. */ var removeWithConfig = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(url, data, success, failed) { var _sessionStorage$getIt3; var token, configs, response, _err$response$data$me2, _err$response3, message, _t5; return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: token = (_sessionStorage$getIt3 = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt3 !== void 0 ? _sessionStorage$getIt3 : ''; if (!(token === '')) { _context5.n = 1; break; } failed === null || failed === void 0 || failed('Token is missing.'); return _context5.a(2); case 1: configs = { headers: { Authorization: "Bearer ".concat(token) ? "Bearer ".concat(token) : 0, // Ensure correct Bearer format 'Content-Type': 'application/json', Accept: 'application/json' }, data: data !== null && data !== void 0 ? data : {} }; _context5.p = 2; _context5.n = 3; return axiosInstance["delete"](url, configs); case 3: response = _context5.v; success === null || success === void 0 || success(response.data); _context5.n = 5; break; case 4: _context5.p = 4; _t5 = _context5.v; message = (_err$response$data$me2 = (_err$response3 = _t5.response) === null || _err$response3 === void 0 || (_err$response3 = _err$response3.data) === null || _err$response3 === void 0 ? void 0 : _err$response3.message) !== null && _err$response$data$me2 !== void 0 ? _err$response$data$me2 : 'Unknown error!'; failed === null || failed === void 0 || failed(message); case 5: return _context5.a(2); } }, _callee5, null, [[2, 4]]); })); return function removeWithConfig(_x1, _x10, _x11, _x12) { return _ref5.apply(this, arguments); }; }(); /** * Helper function to make PUT requests with token authorization. * * @param url - The API endpoint. * @param data - The request payload. * @param success - Callback function to handle success response. * @param failed - Callback function to handle error response. */ var putWithConfig = /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(url, data) { var token, configs, response, _t6; return _regenerator().w(function (_context6) { while (1) switch (_context6.n) { case 0: token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA"; if (token) { _context6.n = 1; break; } throw new Error("Token is missing."); case 1: configs = { headers: { Authorization: "Bearer ".concat(token), Accept: "application/json" } }; _context6.p = 2; _context6.n = 3; return axiosInstance.put(url, data, configs); case 3: response = _context6.v; return _context6.a(2, response.data); case 4: _context6.p = 4; _t6 = _context6.v; throw _t6; case 5: return _context6.a(2); } }, _callee6, null, [[2, 4]]); })); return function putWithConfig(_x13, _x14) { return _ref6.apply(this, arguments); }; }(); /** * Function to upload files. * * @param data - The file data to upload. * @returns A promise with the response data. */ var postUpload = /*#__PURE__*/function () { var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(data) { var url, configure, response, _t7; return _regenerator().w(function (_context7) { while (1) switch (_context7.n) { case 0: _context7.p = 0; url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_0__["default"].upload_url, "/media/file"); configure = { headers: { token: '949b71ef-a5d2-4a3c-8a95-d77bb7fb2ff4', 'Content-Type': 'multipart/form-data' } }; _context7.n = 1; return axios__WEBPACK_IMPORTED_MODULE_1__["default"].post(url, data, configure); case 1: response = _context7.v; return _context7.a(2, response.data); case 2: _context7.p = 2; _t7 = _context7.v; console.log(_t7); case 3: return _context7.a(2); } }, _callee7, null, [[0, 2]]); })); return function postUpload(_x15) { return _ref7.apply(this, arguments); }; }(); /** * Function to push notifications to a specific recipient. * * @param recipient - The topic or currentUser ID. * @param title - The notification title. * @param messageBody - The body of the notification. * @param isDriver - Indicates whether the recipient is a driver. * @param photo - Optional photo URL for the notification. * @param failed - Callback function to handle error response. */ var pushNotification = /*#__PURE__*/function () { var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(recipient, title, messageBody, isDriver, photo, failed) { var url, headers, configure, data, response, _err$response$data$me3, _err$response4, message, _t8; return _regenerator().w(function (_context8) { while (1) switch (_context8.n) { case 0: url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_0__["default"].notification_url, "notification/"); headers = isDriver ? { 'Driver-Header': 'true' } : {}; configure = { headers: headers }; data = { topic_name: recipient, message_title: title, message_body: messageBody, photo: photo }; _context8.p = 1; _context8.n = 2; return axios__WEBPACK_IMPORTED_MODULE_1__["default"].post(url, data, configure); case 2: response = _context8.v; _context8.n = 4; break; case 3: _context8.p = 3; _t8 = _context8.v; message = (_err$response$data$me3 = (_err$response4 = _t8.response) === null || _err$response4 === void 0 || (_err$response4 = _err$response4.data) === null || _err$response4 === void 0 ? void 0 : _err$response4.message) !== null && _err$response$data$me3 !== void 0 ? _err$response$data$me3 : 'Unknown error!'; failed === null || failed === void 0 || failed(message); case 4: return _context8.a(2); } }, _callee8, null, [[1, 3]]); })); return function pushNotification(_x16, _x17, _x18, _x19, _x20, _x21) { return _ref8.apply(this, arguments); }; }(); /** * Function to push notifications to all users in the app. * * @param data - The notification payload. * @returns A promise with the response data. */ var pushNotificationAllApp = /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(data) { var url, configure, response, _t9; return _regenerator().w(function (_context9) { while (1) switch (_context9.n) { case 0: url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_0__["default"].notification_url, "notification/"); configure = { headers: {} }; _context9.p = 1; _context9.n = 2; return axios__WEBPACK_IMPORTED_MODULE_1__["default"].post(url, data, configure); case 2: response = _context9.v; return _context9.a(2, response.data); case 3: _context9.p = 3; _t9 = _context9.v; throw new Error('Notification failed'); case 4: return _context9.a(2); } }, _callee9, null, [[1, 3]]); })); return function pushNotificationAllApp(_x22) { return _ref9.apply(this, arguments); }; }(); /***/ }), /***/ "./src/shared/redux/store.ts": /*!***********************************!*\ !*** ./src/shared/redux/store.ts ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ store: () => (/* binding */ store) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../services/authentication/login/core/reducer */ "./src/services/authentication/login/core/reducer.ts"); /* harmony import */ var _services_volunteer_core_reducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../services/volunteer/core/reducer */ "./src/services/volunteer/core/reducer.ts"); /* harmony import */ var _services_disability_type_core_reducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/disability_type/core/reducer */ "./src/services/disability_type/core/reducer.ts"); /* harmony import */ var _services_education_institution_core_reducer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/education_institution/core/reducer */ "./src/services/education_institution/core/reducer.ts"); /* harmony import */ var _services_food_core_reducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/food/core/reducer */ "./src/services/food/core/reducer.ts"); /* harmony import */ var _services_interested_team_core_reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/interested_team/core/reducer */ "./src/services/interested_team/core/reducer.ts"); /* harmony import */ var _services_occupation_core_reducer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/occupation/core/reducer */ "./src/services/occupation/core/reducer.ts"); /* harmony import */ var _services_opportunity_source_core_reducer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/opportunity_source/core/reducer */ "./src/services/opportunity_source/core/reducer.ts"); /* harmony import */ var _services_province_core_reducer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/province/core/reducer */ "./src/services/province/core/reducer.ts"); /* harmony import */ var _services_skill_core_reducer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/skill/core/reducer */ "./src/services/skill/core/reducer.ts"); /* harmony import */ var _services_terms_condition_core_reducer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/terms_condition/core/reducer */ "./src/services/terms_condition/core/reducer.ts"); /* harmony import */ var _services_training_session_core_reducer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../services/training_session/core/reducer */ "./src/services/training_session/core/reducer.ts"); /* harmony import */ var _services_volunteer_event_core_reducer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../services/volunteer_event/core/reducer */ "./src/services/volunteer_event/core/reducer.ts"); /* harmony import */ var _services_language_core_reducer__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../services/language/core/reducer */ "./src/services/language/core/reducer.ts"); /* harmony import */ var _services_user_core_reducer__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../services/user/core/reducer */ "./src/services/user/core/reducer.ts"); /* harmony import */ var _services_offer_program_core_reducer__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../services/offer_program/core/reducer */ "./src/services/offer_program/core/reducer.ts"); /* harmony import */ var _services_travel_day_core_reducer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../services/travel_day/core/reducer */ "./src/services/travel_day/core/reducer.ts"); /* harmony import */ var _services_user_attendance_core_reducer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../services/user_attendance/core/reducer */ "./src/services/user_attendance/core/reducer.ts"); var store = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_18__.configureStore)({ reducer: { auth: _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_0__["default"], volunteer: _services_volunteer_core_reducer__WEBPACK_IMPORTED_MODULE_1__["default"], disabilityType: _services_disability_type_core_reducer__WEBPACK_IMPORTED_MODULE_2__["default"], educationInstitution: _services_education_institution_core_reducer__WEBPACK_IMPORTED_MODULE_3__["default"], food: _services_food_core_reducer__WEBPACK_IMPORTED_MODULE_4__["default"], interestedTeam: _services_interested_team_core_reducer__WEBPACK_IMPORTED_MODULE_5__["default"], occupation: _services_occupation_core_reducer__WEBPACK_IMPORTED_MODULE_6__["default"], opportunitySource: _services_opportunity_source_core_reducer__WEBPACK_IMPORTED_MODULE_7__["default"], province: _services_province_core_reducer__WEBPACK_IMPORTED_MODULE_8__["default"], language: _services_language_core_reducer__WEBPACK_IMPORTED_MODULE_13__["default"], skill: _services_skill_core_reducer__WEBPACK_IMPORTED_MODULE_9__["default"], termsCondition: _services_terms_condition_core_reducer__WEBPACK_IMPORTED_MODULE_10__["default"], trainingSession: _services_training_session_core_reducer__WEBPACK_IMPORTED_MODULE_11__["default"], volunteerEvent: _services_volunteer_event_core_reducer__WEBPACK_IMPORTED_MODULE_12__["default"], user: _services_user_core_reducer__WEBPACK_IMPORTED_MODULE_14__["default"], offerProgram: _services_offer_program_core_reducer__WEBPACK_IMPORTED_MODULE_15__["default"], travelDay: _services_travel_day_core_reducer__WEBPACK_IMPORTED_MODULE_16__["default"], userAttendance: _services_user_attendance_core_reducer__WEBPACK_IMPORTED_MODULE_17__["default"] }, devTools: "development" !== 'production' }); /***/ }), /***/ "./src/shared/routes/index.tsx": /*!*************************************!*\ !*** ./src/shared/routes/index.tsx ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var 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_9__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _views_main_home_main__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../views/main/home/main */ "./src/shared/views/main/home/main.tsx"); /* harmony import */ var _views_login_login__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../views/login/login */ "./src/shared/views/login/login.tsx"); /* harmony import */ var _views_not_found_not_found__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../views/not-found/not-found */ "./src/shared/views/not-found/not-found.tsx"); /* harmony import */ var _protected_route__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./protected-route */ "./src/shared/routes/protected-route.tsx"); /* harmony import */ var _views_volunteer_volunteer_register__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../views/volunteer/volunteer-register */ "./src/shared/views/volunteer/volunteer-register.tsx"); /* harmony import */ var _views_login_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../views/login/auth */ "./src/shared/views/login/auth.tsx"); /* harmony import */ var _views_login_attendance_qr__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../views/login/attendance_qr */ "./src/shared/views/login/attendance_qr.tsx"); /* harmony import */ var _services_authentication_login_pages_attendance_verification__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/authentication/login/pages/attendance_verification */ "./src/services/authentication/login/pages/attendance_verification.tsx"); // Required for JSX var AppRoutes = function AppRoutes() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Routes, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, { path: "/login", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_login__WEBPACK_IMPORTED_MODULE_2__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, { path: "/auth", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_auth__WEBPACK_IMPORTED_MODULE_6__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, { path: "/attendance", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_attendance_verification__WEBPACK_IMPORTED_MODULE_8__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, { path: "/qr", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_attendance_qr__WEBPACK_IMPORTED_MODULE_7__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, { path: "/*", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_protected_route__WEBPACK_IMPORTED_MODULE_4__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_main_home_main__WEBPACK_IMPORTED_MODULE_1__["default"], null)) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, { path: "/register", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_protected_route__WEBPACK_IMPORTED_MODULE_4__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_volunteer_volunteer_register__WEBPACK_IMPORTED_MODULE_5__["default"], null)) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, { path: "*", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_not_found_not_found__WEBPACK_IMPORTED_MODULE_3__["default"], null) })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AppRoutes); /***/ }), /***/ "./src/shared/routes/protected-route.tsx": /*!***********************************************!*\ !*** ./src/shared/routes/protected-route.tsx ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); var ProtectedRoute = function ProtectedRoute(_ref) { var children = _ref.children; var accessToken = sessionStorage.getItem('token'); var storedUser = sessionStorage.getItem('currentUser'); var user = null; if (storedUser) { try { user = JSON.parse(storedUser); } catch (error) { console.error('Error parsing currentUser from sessionStorage:', error); } } console.log('Parsed user:', user); // Check for a valid token and that the user's role is not "USER" var isAuthenticated = Boolean(accessToken && accessToken.length > 0 && user); return isAuthenticated ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Navigate, { to: "/login" }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProtectedRoute); /***/ }), /***/ "./src/shared/views/login/attendance_qr.tsx": /*!**************************************************!*\ !*** ./src/shared/views/login/attendance_qr.tsx ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _services_authentication_login_pages_qrcode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/qrcode */ "./src/services/authentication/login/pages/qrcode.tsx"); var AttendanceQR = function AttendanceQR() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_qrcode__WEBPACK_IMPORTED_MODULE_1__["default"], null); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AttendanceQR); /***/ }), /***/ "./src/shared/views/login/auth.tsx": /*!*****************************************!*\ !*** ./src/shared/views/login/auth.tsx ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/login */ "./src/services/authentication/login/pages/login.tsx"); var Auth = function Auth() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__["default"], null); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Auth); /***/ }), /***/ "./src/shared/views/login/login.tsx": /*!******************************************!*\ !*** ./src/shared/views/login/login.tsx ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _services_authentication_login_pages_login_telegram__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/login_telegram */ "./src/services/authentication/login/pages/login_telegram.tsx"); var Login = function Login() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_login_telegram__WEBPACK_IMPORTED_MODULE_1__["default"], null); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Login); /***/ }), /***/ "./src/shared/views/main/disability_type/form.tsx": /*!********************************************************!*\ !*** ./src/shared/views/main/disability_type/form.tsx ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/disability_type/core/actions */ "./src/services/disability_type/core/actions.ts"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var NewEditDisabilityTypePage = function NewEditDisabilityTypePage() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(function (state) { return state.disabilityType; }), disabilityType = _useSelector.disabilityType, registerErrorMessage = _useSelector.registerErrorMessage, disabilityTypeUpdatePending = _useSelector.disabilityTypeUpdatePending; var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].useForm(), _Form$useForm2 = _slicedToArray(_Form$useForm, 1), form = _Form$useForm2[0]; var searchParams = new URLSearchParams(location.search); var id = searchParams.get('id'); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false), _useState2 = _slicedToArray(_useState, 2), isClick = _useState2[0], setIsClick = _useState2[1]; // 👉 Fetch data when editing or reset form when adding (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (id) { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_1__.disabilityTypeDetailAction)(Number(id))); } else { form.resetFields(); // Reset form fields when adding a new item } }, [dispatch, id, form]); // 👉 Populate form with fetched data (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (id && disabilityType) { form.setFieldsValue({ name: disabilityType.name || '', description: disabilityType.description || '' }); } }, [disabilityType, form, id]); // 👉 Show success or error alerts (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (!disabilityTypeUpdatePending && isClick) { if (registerErrorMessage) { antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].error(registerErrorMessage); } else { antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].success(id ? 'Updated successfully!' : 'Created successfully!'); navigate('/disability-types'); } } }, [disabilityTypeUpdatePending, registerErrorMessage, id, isClick, navigate]); // 👉 Handle form submit var onFinish = function onFinish(values) { if (id) { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_1__.updateDisabilityTypeAction)({ id: Number(id), data: values })); form.resetFields(); } else { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_1__.createDisabilityTypeAction)({ data: values })); form.resetFields(); // Reset form after successful creation } setIsClick(true); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, id ? 'កែប្រែប្រភេទពិការភាព' : 'បន្ថែមថ្មីប្រភេទពិការភាព'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"], { form: form, layout: "vertical", onFinish: onFinish, style: { maxWidth: '100%', margin: '0 auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_6__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, { label: "\u1788\u17D2\u1798\u17C4\u17C7", name: "name", rules: [{ required: true, message: 'Please enter a name' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_8__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, { label: "\u1794\u179A\u17B7\u1799\u17B6\u1799", name: "description" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__["default"], { rows: 3 })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_6__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_10___default()), { type: "primary", block: true, htmlType: "submit", loading: disabilityTypeUpdatePending }, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_10___default()), { htmlType: "button", onClick: function onClick() { return navigate('/disability-types'); } }, "Cancel")))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditDisabilityTypePage); /***/ }), /***/ "./src/shared/views/main/disability_type/index.tsx": /*!*********************************************************!*\ !*** ./src/shared/views/main/disability_type/index.tsx ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js"); /* harmony import */ var _services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../services/disability_type/core/actions */ "./src/services/disability_type/core/actions.ts"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_3__); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var DisabilityTypeList = function DisabilityTypeList() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_5__.useNavigate)(); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), _useState2 = _slicedToArray(_useState, 2), selectedRows = _useState2[0], setSelectedRows = _useState2[1]; var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''), _useState4 = _slicedToArray(_useState3, 2), searchText = _useState4[0], setSearchText = _useState4[1]; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(function (state) { return state.disabilityType; }), disabilityTypes = _useSelector.disabilityTypes, disabilityTypesPending = _useSelector.disabilityTypesPending; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchDisabilityTypes)()); }, [dispatch]); var handleEdit = function handleEdit(id) { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_2__.disabilityTypeDetailAction)(id)); navigate("/disability-types/form?id=".concat(id)); }; var handleDelete = function handleDelete(id) { sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().fire({ title: 'Are you sure?', text: 'You won\'t be able to revert this!', icon: 'warning', showConfirmButton: false, showCancelButton: false, html: "\n
\n \n \n
\n ", didOpen: function didOpen() { var _Swal$getPopup, _Swal$getPopup2; var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete'); var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete'); confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_2__.deleteDisabilityTypeAction)(id)).then(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().fire('Deleted!', 'The item has been deleted.', 'success'); dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchDisabilityTypes)()); }); sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().close(); }); cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () { sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().close(); }); } }); }; var handleSearch = function handleSearch() { // Triggers search by setting state setSearchText(searchText.trim()); }; var handleReset = function handleReset() { // Clears input and shows all data setSearchText(''); }; var columns = [{ title: 'លេខរៀង', dataIndex: 'index', key: 'index', responsive: ['sm'] }, { title: 'ឈ្មោះ', dataIndex: 'name', key: 'name', responsive: ['sm'] }, { title: 'បរិយាយ', dataIndex: 'description', key: 'description', responsive: ['sm'] }, { title: 'Action', key: 'action', responsive: ['xs', 'sm', 'md', 'lg'], render: function render(_, record) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], { size: "middle" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null), type: "primary", onClick: function onClick() { return handleEdit(record.id); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null), danger: true, onClick: function onClick() { return handleDelete(record.id); } })); } }]; var filteredData = (disabilityTypes || []).filter(function (it) { var _it$name; return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase()); }); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { overflowX: 'auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u1794\u17D2\u179A\u1797\u17C1\u1791\u1796\u17B7\u1780\u17B6\u179A\u1797\u17B6\u1796"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { display: 'flex', justifyContent: 'space-between', padding: '10px', background: '#f5f5f5', marginBottom: '10px', flexWrap: 'wrap' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_10__["default"], { placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...", style: { width: 200 }, value: searchText, onChange: function onChange(e) { return setSearchText(e.target.value); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { onClick: handleSearch, type: "primary" }, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { onClick: handleReset }, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__["default"], null), type: "primary", onClick: function onClick() { return navigate("/disability-types/form"); } }, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_12__["default"], { rowSelection: { type: 'checkbox', onChange: function onChange(_, selectedRows) { return setSelectedRows(selectedRows); } }, columns: columns, dataSource: filteredData.map(function (it, index) { return _objectSpread({ key: it.id, index: index + 1, name: it.name }, it); }), pagination: { pageSize: 10, showSizeChanger: true }, scroll: { x: 'max-content' } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__["default"], { visible: disabilityTypesPending })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DisabilityTypeList); /***/ }), /***/ "./src/shared/views/main/education_institution/form.tsx": /*!**************************************************************!*\ !*** ./src/shared/views/main/education_institution/form.tsx ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/education_institution/core/actions */ "./src/services/education_institution/core/actions.ts"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var NewEditEducationInstitutionPage = function NewEditEducationInstitutionPage() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(function (state) { return state.educationInstitution; }), educationInstitution = _useSelector.educationInstitution, registerErrorMessage = _useSelector.registerErrorMessage, educationInstitutionUpdatePending = _useSelector.educationInstitutionUpdatePending; var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].useForm(), _Form$useForm2 = _slicedToArray(_Form$useForm, 1), form = _Form$useForm2[0]; var searchParams = new URLSearchParams(location.search); var id = searchParams.get('id'); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false), _useState2 = _slicedToArray(_useState, 2), isClick = _useState2[0], setIsClick = _useState2[1]; // 👉 Fetch data when editing or reset form when adding (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (id) { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_1__.educationInstitutionDetailAction)(Number(id))); } else { form.resetFields(); // Reset form fields when adding a new item } }, [dispatch, id, form]); // 👉 Populate form with fetched data (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (id && educationInstitution) { form.setFieldsValue({ name: educationInstitution.name || '', description: educationInstitution.description || '' }); } }, [educationInstitution, form, id]); // 👉 Show success or error alerts (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (!educationInstitutionUpdatePending && isClick) { if (registerErrorMessage) { antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].error(registerErrorMessage); } else { antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].success(id ? 'Updated successfully!' : 'Created successfully!'); navigate('/education-institutions'); } } }, [educationInstitutionUpdatePending, registerErrorMessage, id, isClick, navigate]); // 👉 Handle form submit var onFinish = function onFinish(values) { if (id) { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_1__.updateEducationInstitutionAction)({ id: Number(id), data: values })); form.resetFields(); } else { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_1__.createEducationInstitutionAction)({ data: values })); form.resetFields(); // Reset form after successful creation } setIsClick(true); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, id ? 'កែប្រែស្ថាប័នអប់រំ' : 'បន្ថែមថ្មីស្ថាប័នអប់រំ'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"], { form: form, layout: "vertical", onFinish: onFinish, style: { maxWidth: '100%', margin: '0 auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_6__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, { label: "\u1788\u17D2\u1798\u17C4\u17C7", name: "name", rules: [{ required: true, message: 'Please enter a name' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_8__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, { label: "\u1794\u179A\u17B7\u1799\u17B6\u1799", name: "description" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__["default"], { rows: 3 })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_6__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_10___default()), { type: "primary", block: true, htmlType: "submit", loading: educationInstitutionUpdatePending }, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_10___default()), { htmlType: "button", onClick: function onClick() { return navigate('/education-institutions'); } }, "Cancel")))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditEducationInstitutionPage); /***/ }), /***/ "./src/shared/views/main/education_institution/index.tsx": /*!***************************************************************!*\ !*** ./src/shared/views/main/education_institution/index.tsx ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js"); /* harmony import */ var _services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../services/education_institution/core/actions */ "./src/services/education_institution/core/actions.ts"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_3__); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var EducationInstitutionList = function EducationInstitutionList() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_5__.useNavigate)(); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), _useState2 = _slicedToArray(_useState, 2), selectedRows = _useState2[0], setSelectedRows = _useState2[1]; var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''), _useState4 = _slicedToArray(_useState3, 2), searchText = _useState4[0], setSearchText = _useState4[1]; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(function (state) { return state.educationInstitution; }), educationInstitutions = _useSelector.educationInstitutions, educationInstitutionsPending = _useSelector.educationInstitutionsPending; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchEducationInstitutions)()); }, [dispatch]); var handleEdit = function handleEdit(id) { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_2__.educationInstitutionDetailAction)(id)); navigate("/education-institutions/form?id=".concat(id)); }; var handleDelete = function handleDelete(id) { sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().fire({ title: 'Are you sure?', text: 'You won\'t be able to revert this!', icon: 'warning', showConfirmButton: false, showCancelButton: false, html: "\n
\n \n \n
\n ", didOpen: function didOpen() { var _Swal$getPopup, _Swal$getPopup2; var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete'); var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete'); confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_2__.deleteEducationInstitutionAction)(id)).then(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().fire('Deleted!', 'The item has been deleted.', 'success'); dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchEducationInstitutions)()); }); sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().close(); }); cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () { sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().close(); }); } }); }; var handleSearch = function handleSearch() { // Triggers search by setting state setSearchText(searchText.trim()); }; var handleReset = function handleReset() { // Clears input and shows all data setSearchText(''); }; var columns = [{ title: 'លេខរៀង', dataIndex: 'index', key: 'index', responsive: ['sm'] }, { title: 'ឈ្មោះ', dataIndex: 'name', key: 'name', responsive: ['sm'] }, { title: 'បរិយាយ', dataIndex: 'description', key: 'description', responsive: ['sm'] }, { title: 'Action', key: 'action', responsive: ['xs', 'sm', 'md', 'lg'], render: function render(_, record) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], { size: "middle" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null), type: "primary", onClick: function onClick() { return handleEdit(record.id); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null), danger: true, onClick: function onClick() { return handleDelete(record.id); } })); } }]; var filteredData = (educationInstitutions || []).filter(function (it) { var _it$name; return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase()); }); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { overflowX: 'auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u179F\u17D2\u1790\u17B6\u1794\u17D0\u1793\u17A2\u1794\u17CB\u179A\u17C6"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { display: 'flex', justifyContent: 'space-between', padding: '10px', background: '#f5f5f5', marginBottom: '10px', flexWrap: 'wrap' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_10__["default"], { placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...", style: { width: 200 }, value: searchText, onChange: function onChange(e) { return setSearchText(e.target.value); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { onClick: handleSearch, type: "primary" }, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { onClick: handleReset }, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__["default"], null), type: "primary", onClick: function onClick() { return navigate("/education-institutions/form"); } }, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_12__["default"], { rowSelection: { type: 'checkbox', onChange: function onChange(_, selectedRows) { return setSelectedRows(selectedRows); } }, columns: columns, dataSource: filteredData.map(function (it, index) { return _objectSpread({ key: it.id, index: index + 1, name: it.name }, it); }), pagination: { pageSize: 10, showSizeChanger: true }, scroll: { x: 'max-content' } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__["default"], { visible: educationInstitutionsPending })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EducationInstitutionList); /***/ }), /***/ "./src/shared/views/main/food/form.tsx": /*!*********************************************!*\ !*** ./src/shared/views/main/food/form.tsx ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_food_core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/food/core/actions */ "./src/services/food/core/actions.ts"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var NewEditFoodPage = function NewEditFoodPage() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(function (state) { return state.food; }), food = _useSelector.food, registerErrorMessage = _useSelector.registerErrorMessage, foodUpdatePending = _useSelector.foodUpdatePending; var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].useForm(), _Form$useForm2 = _slicedToArray(_Form$useForm, 1), form = _Form$useForm2[0]; var searchParams = new URLSearchParams(location.search); var id = searchParams.get('id'); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false), _useState2 = _slicedToArray(_useState, 2), isClick = _useState2[0], setIsClick = _useState2[1]; // 👉 Fetch data when editing or reset form when adding (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (id) { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_1__.foodDetailAction)(Number(id))); } else { form.resetFields(); // Reset form fields when adding a new item } }, [dispatch, id, form]); // 👉 Populate form with fetched data (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (id && food) { form.setFieldsValue({ name: food.name || '', description: food.description || '' }); } }, [food, form, id]); // 👉 Show success or error alerts (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { if (!foodUpdatePending && isClick) { if (registerErrorMessage) { antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].error(registerErrorMessage); } else { antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].success(id ? 'Updated successfully!' : 'Created successfully!'); navigate('/foods'); } } }, [foodUpdatePending, registerErrorMessage, id, isClick, navigate]); // 👉 Handle form submit var onFinish = function onFinish(values) { if (id) { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_1__.updateFoodAction)({ id: Number(id), data: values })); form.resetFields(); } else { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_1__.createFoodAction)({ data: values })); form.resetFields(); // Reset form after successful creation } setIsClick(true); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, id ? 'កែប្រែអាហារ' : 'បន្ថែមថ្មីអាហារ'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"], { form: form, layout: "vertical", onFinish: onFinish, style: { maxWidth: '100%', margin: '0 auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_6__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, { label: "\u1788\u17D2\u1798\u17C4\u17C7", name: "name", rules: [{ required: true, message: 'Please enter a name' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_8__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, { label: "\u1794\u179A\u17B7\u1799\u17B6\u1799", name: "description" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__["default"], { rows: 3 })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_6__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_10___default()), { type: "primary", block: true, htmlType: "submit", loading: foodUpdatePending }, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_7__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_4__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_10___default()), { htmlType: "button", onClick: function onClick() { return navigate('/foods'); } }, "Cancel")))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditFoodPage); /***/ }), /***/ "./src/shared/views/main/food/index.tsx": /*!**********************************************!*\ !*** ./src/shared/views/main/food/index.tsx ***! \**********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js"); /* harmony import */ var _services_food_core_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../services/food/core/actions */ "./src/services/food/core/actions.ts"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_3__); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var FoodList = function FoodList() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_5__.useNavigate)(); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), _useState2 = _slicedToArray(_useState, 2), selectedRows = _useState2[0], setSelectedRows = _useState2[1]; var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''), _useState4 = _slicedToArray(_useState3, 2), searchText = _useState4[0], setSearchText = _useState4[1]; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(function (state) { return state.food; }), foods = _useSelector.foods, foodsPending = _useSelector.foodsPending; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchFoods)()); }, [dispatch]); var handleEdit = function handleEdit(id) { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_2__.foodDetailAction)(id)); navigate("/foods/form?id=".concat(id)); }; var handleDelete = function handleDelete(id) { sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().fire({ title: 'Are you sure?', text: 'You won\'t be able to revert this!', icon: 'warning', showConfirmButton: false, showCancelButton: false, html: "\n
\n \n \n
\n ", didOpen: function didOpen() { var _Swal$getPopup, _Swal$getPopup2; var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete'); var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete'); confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_2__.deleteFoodAction)(id)).then(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().fire('Deleted!', 'The item has been deleted.', 'success'); dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_2__.fetchFoods)()); }); sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().close(); }); cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () { sweetalert2__WEBPACK_IMPORTED_MODULE_3___default().close(); }); } }); }; var handleSearch = function handleSearch() { // Triggers search by setting state setSearchText(searchText.trim()); }; var handleReset = function handleReset() { // Clears input and shows all data setSearchText(''); }; var columns = [{ title: 'លេខរៀង', dataIndex: 'index', key: 'index', responsive: ['sm'] }, { title: 'ឈ្មោះ', dataIndex: 'name', key: 'name', responsive: ['sm'] }, { title: 'បរិយាយ', dataIndex: 'description', key: 'description', responsive: ['sm'] }, { title: 'Action', key: 'action', responsive: ['xs', 'sm', 'md', 'lg'], render: function render(_, record) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], { size: "middle" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null), type: "primary", onClick: function onClick() { return handleEdit(record.id); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null), danger: true, onClick: function onClick() { return handleDelete(record.id); } })); } }]; var filteredData = (foods || []).filter(function (it) { var _it$name; return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase()); }); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { overflowX: 'auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17B6\u17A0\u17B6\u179A"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { display: 'flex', justifyContent: 'space-between', padding: '10px', background: '#f5f5f5', marginBottom: '10px', flexWrap: 'wrap' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_10__["default"], { placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...", style: { width: 200 }, value: searchText, onChange: function onChange(e) { return setSearchText(e.target.value); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { onClick: handleSearch, type: "primary" }, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { onClick: handleReset }, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_6__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_7___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__["default"], null), type: "primary", onClick: function onClick() { return navigate("/foods/form"); } }, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_12__["default"], { rowSelection: { type: 'checkbox', onChange: function onChange(_, selectedRows) { return setSelectedRows(selectedRows); } }, columns: columns, dataSource: filteredData.map(function (it, index) { return _objectSpread({ key: it.id, index: index + 1, name: it.name }, it); }), pagination: { pageSize: 10, showSizeChanger: true }, scroll: { x: 'max-content' } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_1__["default"], { visible: foodsPending })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FoodList); /***/ }), /***/ "./src/shared/views/main/home/index.tsx": /*!**********************************************!*\ !*** ./src/shared/views/main/home/index.tsx ***! \**********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_statistic__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! antd/es/statistic */ "../../../node_modules/antd/lib/statistic/index.js"); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/breadcrumb */ "../../../node_modules/antd/lib/breadcrumb/index.js"); /* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/index.js"); /* harmony import */ var antd_es_typography__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/typography */ "../../../node_modules/antd/lib/typography/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/volunteer/core/actions */ "./src/services/volunteer/core/actions.ts"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileExcelOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/CalendarOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/TeamOutlined.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/ResponsiveContainer.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/chart/BarChart.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/CartesianGrid.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/XAxis.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/YAxis.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Tooltip.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/Bar.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/chart/PieChart.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/polar/Pie.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Cell.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Legend.js"); /* harmony import */ var xlsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! xlsx */ "../../../node_modules/xlsx/xlsx.mjs"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } // ✅ Import XLSX for Excel export var Title = antd_es_typography__WEBPACK_IMPORTED_MODULE_2__["default"].Title; var Content = antd_es_layout__WEBPACK_IMPORTED_MODULE_3__["default"].Content; var COLORS = ['#0088FE', '#00C49F', '#FFBB28', '#FF8042', '#A28DFF', '#FF4560', '#775DD0', '#F86624']; var STAT_COLORS = ['#FF5733', '#0073e6', '#2ECC71', '#1E90FF', '#FF69B4', '#FFA500', '#F0BBF0FF']; var DashboardHome = function DashboardHome() { var _dashboard$count_user, _dashboard$count_volu, _dashboard$count_volu2; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(function (state) { return state.volunteer; }), dashboard = _useSelector.dashboard; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)(); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDashboardAction)()); }, [dispatch]); var chartData = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_status) || {}).map(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1]; return { name: key.replace("count_", "").replace("_", " "), value: value }; }); var chatVolunteerProvince = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_provinces) || {}).map(function (_ref3) { var _ref4 = _slicedToArray(_ref3, 2), key = _ref4[0], value = _ref4[1]; return { name: key.split("/").pop().trim(), value: value }; }); var chatVolunteerGender = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_genders) || {}).map(function (_ref5) { var _ref6 = _slicedToArray(_ref5, 2), key = _ref6[0], value = _ref6[1]; return { name: key.replace("count_", "").replace("_", " "), value: value }; }); var chatVolunteerTshirt = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_shirt_sizes) || {}).map(function (_ref7) { var _ref8 = _slicedToArray(_ref7, 2), key = _ref8[0], value = _ref8[1]; return { name: key, value: value }; }); // count_volunteer_occupations var chatVolunteerOccupations = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_occupations) || {}).map(function (_ref9) { var _ref0 = _slicedToArray(_ref9, 2), key = _ref0[0], value = _ref0[1]; return { name: key, value: value }; }); // count_volunteer_education_institutions var chatVolunteerEducationInst = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_education_institutions) || {}).map(function (_ref1) { var _ref10 = _slicedToArray(_ref1, 2), key = _ref10[0], value = _ref10[1]; return { name: key, value: value }; }); // count_interested_team var chatVolunteerInterestedTeam = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_interested_team) || {}).map(function (_ref11) { var _ref12 = _slicedToArray(_ref11, 2), key = _ref12[0], value = _ref12[1]; return { name: key, value: value }; }); // ✅ Function to Export All Data to Excel var exportToExcel = function exportToExcel() { var wb = xlsx__WEBPACK_IMPORTED_MODULE_5__.utils.book_new(); // Create individual sheets for each dataset var sheets = { "Volunteer Status": chartData, "Volunteer by Province": chatVolunteerProvince, "Volunteer Gender": chatVolunteerGender, "Volunteer T-Shirt Size": chatVolunteerTshirt, "Volunteer Occupations": chatVolunteerOccupations, "Education Institutions": chatVolunteerEducationInst, "Team": chatVolunteerInterestedTeam }; Object.entries(sheets).forEach(function (_ref13) { var _ref14 = _slicedToArray(_ref13, 2), sheetName = _ref14[0], data = _ref14[1]; var ws = xlsx__WEBPACK_IMPORTED_MODULE_5__.utils.json_to_sheet(data); xlsx__WEBPACK_IMPORTED_MODULE_5__.utils.book_append_sheet(wb, ws, sheetName); }); // ✅ Generate and Download the Excel File xlsx__WEBPACK_IMPORTED_MODULE_5__.writeFile(wb, "Volunteer_Dashboard_Report.xlsx"); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_3__["default"], { style: { padding: '16px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_6__["default"], { style: { marginBottom: '12px', display: 'flex', justifyContent: 'space-between', alignItems: 'center' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_6__["default"].Item, null, "Dashboard")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Content, { style: { background: '#fff', padding: '16px', borderRadius: '8px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_7__["default"], { justify: "space-between", align: "middle", style: { marginBottom: "16px" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Title, { level: 4, style: { margin: 0 } }, "Dashboard Overview")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), { type: "primary", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null), onClick: exportToExcel, style: { display: "flex", alignItems: "center", gap: "8px" } }, "Export to Excel"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_7__["default"], { gutter: [8, 8] }, [{ title: 'Total Volunteers', value: dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteers, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__["default"], null), color: STAT_COLORS[0] }, { title: 'Total Events', value: 1, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["default"], null), color: STAT_COLORS[1] }, { title: 'Total Admin Users', value: dashboard === null || dashboard === void 0 || (_dashboard$count_user = dashboard.count_user_roles) === null || _dashboard$count_user === void 0 ? void 0 : _dashboard$count_user.count_super_admin, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null), color: STAT_COLORS[2] }, // { title: 'Total Users', value: dashboard?.count_user_roles?.count_user, icon: , color: STAT_COLORS[3] }, { title: 'Male Volunteers', value: dashboard === null || dashboard === void 0 || (_dashboard$count_volu = dashboard.count_volunteer_genders) === null || _dashboard$count_volu === void 0 ? void 0 : _dashboard$count_volu.count_male, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null), color: STAT_COLORS[4] }, { title: 'Female Volunteers', value: dashboard === null || dashboard === void 0 || (_dashboard$count_volu2 = dashboard.count_volunteer_genders) === null || _dashboard$count_volu2 === void 0 ? void 0 : _dashboard$count_volu2.count_female, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null), color: STAT_COLORS[5] } // { title: 'Total Training Sessions', value: dashboard?.count_training_sessions, icon: , color: STAT_COLORS[6] }, ].map(function (stat, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], { xs: 24, sm: 24, md: 6, key: index }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_14__["default"], { style: { backgroundColor: stat.color, color: '#fff', minHeight: 160 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_statistic__WEBPACK_IMPORTED_MODULE_15__["default"], { title: stat.title, value: stat.value, prefix: stat.icon, valueStyle: { color: '#fff' } }))); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_7__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Status Breakdown"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.BarChart, { data: chartData, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_7__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Team"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.BarChart, { data: chatVolunteerInterestedTeam, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_7__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Status Breakdown"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.Pie, { data: chartData, dataKey: "value", nameKey: "name", cx: "50%", cy: "50%", outerRadius: 80, label: true }, chartData.map(function (_, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_26__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Tooltip, null)))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_7__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer by Province"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.BarChart, { data: chatVolunteerProvince, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Gender"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.Pie, { data: chatVolunteerGender, dataKey: "value", nameKey: "name", cx: "50%", cy: "50%", outerRadius: 80, label: true }, chatVolunteerGender.map(function (_, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_26__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer T-Shirt Size"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.Pie, { data: chatVolunteerTshirt, dataKey: "value", nameKey: "name", cx: "50%", cy: "50%", outerRadius: 80, label: true }, chatVolunteerTshirt.map(function (_, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_26__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Occupation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.Pie, { data: chatVolunteerOccupations, dataKey: "value", nameKey: "name", cx: "50%", cy: "50%", outerRadius: 80, label: true }, chatVolunteerOccupations.map(function (_, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_26__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_8__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_14__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Education Institude"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.BarChart, { data: chatVolunteerEducationInst, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 })))))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DashboardHome); /***/ }), /***/ "./src/shared/views/main/home/main.tsx": /*!*********************************************!*\ !*** ./src/shared/views/main/home/main.tsx ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_drawer__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! antd/es/drawer */ "../../../node_modules/antd/lib/drawer/index.js"); /* harmony import */ var antd_es_menu__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! antd/es/menu */ "../../../node_modules/antd/lib/menu/index.js"); /* harmony import */ var antd_es_avatar__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! antd/es/avatar */ "../../../node_modules/antd/lib/avatar/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_61___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_61__); /* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/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 _ant_design_icons__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DashboardOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/AppstoreOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileAddOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/TeamOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/SettingOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/BookOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/ShopOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/GlobalOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/BuildOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EnvironmentOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/SketchOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/BulbOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/CarOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/NotificationOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/MenuOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/LogoutOutlined.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router-dom/dist/index.js"); /* harmony import */ var _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/authentication/login/core/reducer */ "./src/services/authentication/login/core/reducer.ts"); /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! . */ "./src/shared/views/main/home/index.tsx"); /* harmony import */ var _components_footer_footer_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../components/footer/footer-component */ "./src/shared/components/footer/footer-component.tsx"); /* harmony import */ var _assets_logos_logo_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../assets/logos/logo.png */ "./src/shared/assets/logos/logo.png"); /* harmony import */ var _volunteer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../volunteer */ "./src/shared/views/main/volunteer/index.tsx"); /* harmony import */ var _volunteer_form__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../volunteer/form */ "./src/shared/views/main/volunteer/form.tsx"); /* harmony import */ var _disability_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../disability_type */ "./src/shared/views/main/disability_type/index.tsx"); /* harmony import */ var _disability_type_form__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../disability_type/form */ "./src/shared/views/main/disability_type/form.tsx"); /* harmony import */ var _education_institution_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../education_institution/form */ "./src/shared/views/main/education_institution/form.tsx"); /* harmony import */ var _education_institution__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../education_institution */ "./src/shared/views/main/education_institution/index.tsx"); /* harmony import */ var _food__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../food */ "./src/shared/views/main/food/index.tsx"); /* harmony import */ var _food_form__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../food/form */ "./src/shared/views/main/food/form.tsx"); /* harmony import */ var _interested_team__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../interested_team */ "./src/shared/views/main/interested_team/index.tsx"); /* harmony import */ var _interested_team_form__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../interested_team/form */ "./src/shared/views/main/interested_team/form.tsx"); /* harmony import */ var _language__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../language */ "./src/shared/views/main/language/index.tsx"); /* harmony import */ var _language_form__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../language/form */ "./src/shared/views/main/language/form.tsx"); /* harmony import */ var _occupation__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../occupation */ "./src/shared/views/main/occupation/index.tsx"); /* harmony import */ var _occupation_form__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../occupation/form */ "./src/shared/views/main/occupation/form.tsx"); /* harmony import */ var _opportunity_source__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../opportunity_source */ "./src/shared/views/main/opportunity_source/index.tsx"); /* harmony import */ var _opportunity_source_form__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../opportunity_source/form */ "./src/shared/views/main/opportunity_source/form.tsx"); /* harmony import */ var _province__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../province */ "./src/shared/views/main/province/index.tsx"); /* harmony import */ var _province_form__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../province/form */ "./src/shared/views/main/province/form.tsx"); /* harmony import */ var _skill__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../skill */ "./src/shared/views/main/skill/index.tsx"); /* harmony import */ var _skill_form__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../skill/form */ "./src/shared/views/main/skill/form.tsx"); /* harmony import */ var _terms_condition__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../terms_condition */ "./src/shared/views/main/terms_condition/index.tsx"); /* harmony import */ var _terms_condition_form__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../terms_condition/form */ "./src/shared/views/main/terms_condition/form.tsx"); /* harmony import */ var _training_session__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../training_session */ "./src/shared/views/main/training_session/index.tsx"); /* harmony import */ var _training_session_form__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../training_session/form */ "./src/shared/views/main/training_session/form.tsx"); /* harmony import */ var _volunteer_event__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../volunteer_event */ "./src/shared/views/main/volunteer_event/index.tsx"); /* harmony import */ var _volunteer_event_form__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../volunteer_event/form */ "./src/shared/views/main/volunteer_event/form.tsx"); /* harmony import */ var _user__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../user */ "./src/shared/views/main/user/index.tsx"); /* harmony import */ var _user_form__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../user/form */ "./src/shared/views/main/user/form.tsx"); /* harmony import */ var _offer_program_form__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../offer_program/form */ "./src/shared/views/main/offer_program/form.tsx"); /* harmony import */ var _offer_program__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../offer_program */ "./src/shared/views/main/offer_program/index.tsx"); /* harmony import */ var _travel_day__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../travel_day */ "./src/shared/views/main/travel_day/index.tsx"); /* harmony import */ var _travel_day_form__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../travel_day/form */ "./src/shared/views/main/travel_day/form.tsx"); /* harmony import */ var _notification_index__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../notification/index */ "./src/shared/views/main/notification/index.tsx"); /* harmony import */ var _volunteer_upload_csv__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../volunteer/upload_csv */ "./src/shared/views/main/volunteer/upload_csv.tsx"); /* harmony import */ var _volunteer_update_team_csv__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../volunteer/update_team_csv */ "./src/shared/views/main/volunteer/update_team_csv.tsx"); /* harmony import */ var _volunteer_update_identity_csv__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../volunteer/update_identity_csv */ "./src/shared/views/main/volunteer/update_identity_csv.tsx"); /* harmony import */ var _user_attendance_index__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../user_attendance/index */ "./src/shared/views/main/user_attendance/index.tsx"); /* harmony import */ var _user_attendance_form__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../user_attendance/form */ "./src/shared/views/main/user_attendance/form.tsx"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var Header = antd_es_layout__WEBPACK_IMPORTED_MODULE_43__["default"].Header, Content = antd_es_layout__WEBPACK_IMPORTED_MODULE_43__["default"].Content, Sider = antd_es_layout__WEBPACK_IMPORTED_MODULE_43__["default"].Sider; // Menu Configuration var menus = [{ key: "/", title: "Dashboard", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_44__["default"], null), to: "/" }, { key: "/volunteers", title: "អ្នកស្ម័គ្រចិត្ត", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_45__["default"], null), to: "/volunteers" }, { key: "/volunteer/upload-csv", title: "Import Volunteers", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_46__["default"], null), to: "/volunteer/upload-csv" }, { key: "/volunteer/update-team-csv", title: "Assign to Teams", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_47__["default"], null), to: "/volunteer/update-team-csv" }, { key: "/volunteer/update-identity-csv", title: "Update Identity", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_48__["default"], null), to: "/volunteer/update-identity-csv" }, { key: "/user-attendances", title: "User Attendances", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_47__["default"], null), to: "/user-attendances" }, { key: "settings", title: "ការកំណត់", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_49__["default"], null), children: [{ key: '/users', title: 'គ្រប់គ្រងអ្នកប្រើប្រាស់', to: '/users', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_48__["default"], null) }, { key: '/disability-types', title: 'ប្រភេទពិការភាព', to: '/disability-types', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_48__["default"], null) }, { key: '/education-institutions', title: 'ស្ថាប័នអប់រំ', to: '/education-institutions', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_50__["default"], null) }, { key: '/foods', title: 'អាហារ', to: '/foods', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_51__["default"], null) }, { key: '/interested-teams', title: 'ក្រុម', to: '/interested-teams', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_47__["default"], null) }, { key: '/languages', title: 'ភាសា', to: '/languages', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_52__["default"], null) }, { key: '/occupations', title: 'មុខរបរ', to: '/occupations', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_53__["default"], null) }, { key: '/opportunity-sources', title: 'ប្រភពឱកាស', to: '/opportunity-sources', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_48__["default"], null) }, { key: '/provinces', title: 'ខេត្ត/ក្រុង', to: '/provinces', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_54__["default"], null) }, { key: '/skills', title: 'ជំនាញ', to: '/skills', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_55__["default"], null) }, { key: '/terms-conditions', title: 'លក្ខខណ្ឌ', to: '/terms-conditions', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_49__["default"], null) }, { key: '/training-sessions', title: 'វគ្គបណ្តុះបណ្តាល', to: '/training-sessions', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_56__["default"], null) }, { key: '/volunteer-events', title: 'ព្រឹត្តិការណ៍ស្ម័គ្រចិត្ត', to: '/volunteer-events', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_45__["default"], null) }, { key: '/offer-programs', title: 'កម្មវីធីផ្ដល់ជូន', to: '/offer-programs', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_45__["default"], null) }, { key: '/travel-days', title: 'ថ្ងៃធ្វើដំណើរ', to: '/travel-days', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_57__["default"], null) }] }, { key: "notification", title: "សារជូនដំណឹង", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_58__["default"], null), to: "/notification" }]; var Main = function Main() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_59__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_60__.useNavigate)(); var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_60__.useLocation)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_59__.useSelector)(function (state) { return state; }), auth = _useSelector.auth; var currentUser = auth.currentUser; var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(location.pathname), _useState2 = _slicedToArray(_useState, 2), activeMenuKey = _useState2[0], setActiveMenuKey = _useState2[1]; var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false), _useState4 = _slicedToArray(_useState3, 2), collapsed = _useState4[0], setCollapsed = _useState4[1]; var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false), _useState6 = _slicedToArray(_useState5, 2), drawerVisible = _useState6[0], setDrawerVisible = _useState6[1]; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { setActiveMenuKey(location.pathname); }, [location]); var handleLogout = function handleLogout() { dispatch((0,_services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_1__.logout)()); navigate("/login"); }; // Check if user has admin access var canAccessAdminRoutes = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) !== "user"; // Filter menus: Only show "Volunteers" if not admin var filteredMenus = canAccessAdminRoutes ? menus // Show all menus for admins : menus.filter(function (menu) { return menu.key === "/volunteers"; }); // Only show volunteers for non-admins return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_43__["default"], { style: { minHeight: "100vh" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Header, { style: { position: "fixed", top: 0, left: 0, right: 0, width: "100%", zIndex: 1000, height: 65, background: "#318ADEFF", display: "flex", alignItems: "center", padding: "0 20px", boxShadow: "0 2px 8px rgba(0, 0, 0, 0.15)" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_61___default()), { type: "text", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_62__["default"], null), onClick: function onClick() { return setDrawerVisible(true); }, style: { marginRight: 10, display: 'none' }, className: "mobile-menu-button" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { flex: 1, display: 'flex', alignItems: 'center' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", { src: _assets_logos_logo_png__WEBPACK_IMPORTED_MODULE_4__, style: { width: 45, marginRight: 16 }, alt: "Logo" })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { display: 'flex', alignItems: 'center' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_avatar__WEBPACK_IMPORTED_MODULE_63__["default"], { src: currentUser.photo_url, size: "large" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { fontWeight: 'bold', color: '#fff', marginRight: '16px', marginLeft: 16 } }, currentUser !== null && currentUser !== void 0 && currentUser.username ? currentUser.username.split('-').pop() : 'Guest'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { fontSize: 12, color: '#fff', marginRight: '16px' } }, (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) || 'Addministrator')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"], { theme: "dark", mode: "horizontal", style: { background: 'transparent', borderBottom: 'none' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"].Item, { key: "logout", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_65__["default"], null), onClick: handleLogout }, "Logout"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_43__["default"], { style: { marginTop: 65 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Sider, { collapsible: true, collapsed: collapsed, onCollapse: setCollapsed, width: 200, style: { background: "#fff", overflow: "auto", height: "100vh", position: "fixed", left: 0, top: 65 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"], { mode: "inline", selectedKeys: [activeMenuKey], style: { height: "100%" } }, filteredMenus.map(function (menu) { return menu.children ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"].SubMenu, { key: menu.key, icon: menu.icon, title: menu.title }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { style: { maxHeight: '60vh', overflowY: 'auto' } }, menu.children.map(function (submenu) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"].Item, { key: submenu.key, icon: submenu.icon }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_66__.Link, { to: submenu.to }, submenu.title)); }))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"].Item, { key: menu.key, icon: menu.icon }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_66__.Link, { to: menu.to }, menu.title)); }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_drawer__WEBPACK_IMPORTED_MODULE_67__["default"], { title: "Menu", placement: "left", closable: true, onClose: function onClose() { return setDrawerVisible(false); }, open: drawerVisible, bodyStyle: { padding: 0 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"], { mode: "inline", selectedKeys: [activeMenuKey], style: { height: "100%" } }, filteredMenus.map(function (menu) { return menu.children ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"].SubMenu, { key: menu.key, icon: menu.icon, title: menu.title }, menu.children.map(function (submenu) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"].Item, { key: submenu.key }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_66__.Link, { to: submenu.to }, submenu.title)); })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_64__["default"].Item, { key: menu.key, icon: menu.icon }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_66__.Link, { to: menu.to }, menu.title)); }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_43__["default"], { style: { marginLeft: collapsed ? 80 : 200, padding: "24px" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Content, { style: { background: "#fff", padding: "24px", minHeight: "calc(100vh - 65px)" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Routes, null, canAccessAdminRoutes && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/volunteers", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_volunteer__WEBPACK_IMPORTED_MODULE_5__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/volunteer/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_volunteer_form__WEBPACK_IMPORTED_MODULE_6__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/volunteer/upload-csv", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_volunteer_upload_csv__WEBPACK_IMPORTED_MODULE_38__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/volunteer/update-team-csv", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_volunteer_update_team_csv__WEBPACK_IMPORTED_MODULE_39__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/volunteer/update-identity-csv", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_volunteer_update_identity_csv__WEBPACK_IMPORTED_MODULE_40__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/user-attendances", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_user_attendance_index__WEBPACK_IMPORTED_MODULE_41__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/user-attendances/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_user_attendance_form__WEBPACK_IMPORTED_MODULE_42__["default"], null) }), canAccessAdminRoutes && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/notification", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_notification_index__WEBPACK_IMPORTED_MODULE_37__["default"], null) }), canAccessAdminRoutes && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/users", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_user__WEBPACK_IMPORTED_MODULE_31__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/users/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_user_form__WEBPACK_IMPORTED_MODULE_32__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/disability-types", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_disability_type__WEBPACK_IMPORTED_MODULE_7__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/disability-types/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_disability_type_form__WEBPACK_IMPORTED_MODULE_8__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/education-institutions", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_education_institution__WEBPACK_IMPORTED_MODULE_10__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/education-institutions/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_education_institution_form__WEBPACK_IMPORTED_MODULE_9__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/foods", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_food__WEBPACK_IMPORTED_MODULE_11__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/foods/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_food_form__WEBPACK_IMPORTED_MODULE_12__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/interested-teams", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_interested_team__WEBPACK_IMPORTED_MODULE_13__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/interested-teams/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_interested_team_form__WEBPACK_IMPORTED_MODULE_14__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/languages", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_language__WEBPACK_IMPORTED_MODULE_15__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/languages/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_language_form__WEBPACK_IMPORTED_MODULE_16__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/occupations", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_occupation__WEBPACK_IMPORTED_MODULE_17__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/occupations/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_occupation_form__WEBPACK_IMPORTED_MODULE_18__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/opportunity-sources", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_opportunity_source__WEBPACK_IMPORTED_MODULE_19__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/opportunity-sources/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_opportunity_source_form__WEBPACK_IMPORTED_MODULE_20__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/provinces", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_province__WEBPACK_IMPORTED_MODULE_21__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/provinces/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_province_form__WEBPACK_IMPORTED_MODULE_22__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/skills", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_skill__WEBPACK_IMPORTED_MODULE_23__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/skills/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_skill_form__WEBPACK_IMPORTED_MODULE_24__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/terms-conditions", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_terms_condition__WEBPACK_IMPORTED_MODULE_25__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/terms-conditions/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_terms_condition_form__WEBPACK_IMPORTED_MODULE_26__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/training-sessions", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_training_session__WEBPACK_IMPORTED_MODULE_27__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/training-sessions/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_training_session_form__WEBPACK_IMPORTED_MODULE_28__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/volunteer-events", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_volunteer_event__WEBPACK_IMPORTED_MODULE_29__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/volunteer-events/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_volunteer_event_form__WEBPACK_IMPORTED_MODULE_30__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/offer-programs", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_offer_program__WEBPACK_IMPORTED_MODULE_34__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/offer-programs/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_offer_program_form__WEBPACK_IMPORTED_MODULE_33__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/travel-days", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_travel_day__WEBPACK_IMPORTED_MODULE_35__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_60__.Route, { path: "/travel-days/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_travel_day_form__WEBPACK_IMPORTED_MODULE_36__["default"], null) })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_footer_footer_component__WEBPACK_IMPORTED_MODULE_3__["default"], null)))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Main); /***/ }) }]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX2Eudm9sdW50ZWVyYXBpLjIxNzVkNDYzN2Y1OWJiYzdlOWM2LmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwQjtBQUcxQixJQUFRQyxNQUFNLEdBQUFDLHNEQUFBLENBQU5ELE1BQU07QUFFZCxJQUFNRSxlQUF5QixHQUFHLFNBQTVCQSxlQUF5QkEsQ0FBQTtFQUFBLG9CQUM3QkgsMERBQUEsQ0FBQ0MsTUFBTTtJQUNMSSxLQUFLLEVBQUU7TUFBRUMsVUFBVSxFQUFFLFNBQVM7TUFBRUMsT0FBTyxFQUFFLE1BQU07TUFBRUMsU0FBUyxFQUFFO0lBQVM7RUFBRSxnQkFFdkVSLDBEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO0VBQUUsZ0JBQ3BCViwwREFBQSxDQUFBVyxtREFBQTtJQUFLQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUU7RUFBRSxnQkFDekJkLDBEQUFBLGFBQUksVUFBWSxDQUFDLGVBQ2pCQSwwREFBQSxZQUFHLDBDQUEyQyxDQUMzQyxDQUFDLGVBQ05BLDBEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRTtFQUFFLGdCQUN6QmQsMERBQUEsYUFBSSxTQUFXLENBQUMsZUFDaEJBLDBEQUFBLFlBQUcsMEJBQTJCLENBQUMsZUFDL0JBLDBEQUFBLFlBQUcsMEJBQTJCLENBQzNCLENBQUMsZUFDTkEsMERBQUEsQ0FBQVcsbURBQUE7SUFBS0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFO0VBQUUsZ0JBQ3pCZCwwREFBQSxhQUFJLFdBQWEsQ0FBQyxlQUNsQkEs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QUF1QixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQzNFbG9CLDBEQUFBLENBQUNrVixvREFBSztJQUFDVSxJQUFJLEVBQUMsY0FBYztJQUFDQyxPQUFPLGVBQUU3ViwwREFBQSxDQUFDb29CLG9EQUFhLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDekRwb0IsMERBQUEsQ0FBQ2tWLG9EQUFLO0lBQUNVLElBQUksRUFBQyxtQkFBbUI7SUFBQ0MsT0FBTyxlQUFFN1YsMERBQUEsQ0FBQ3FvQix5REFBb0IsTUFBRTtFQUFFLENBQUUsQ0FDcEUsQ0FFRSxDQUNELENBQUMsZUFDVnJvQiwwREFBQSxDQUFDRywyRUFBZSxNQUFFLENBQ1osQ0FDRixDQUNGLENBQUM7QUFFYixDQUFDO0FBRUQsaUVBQWVnVixJQUFJLEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItY29tcG9uZW50LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9jb25maWdzL2NvbmZpZy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9jb250YWluZXIvZGlhbG9ncy9sb2FkaW5nLWRpYWxvZy50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3JlZHV4L3N0b3JlLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3JvdXRlcy9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvcm91dGVzL3Byb3RlY3RlZC1yb3V0ZS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXR0ZW5kYW5jZV9xci50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXV0aC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vbG9naW4udHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vZGlzYWJpbGl0eV90eXBlL2Zvcm0udHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vZGlzYWJpbGl0eV90eXBlL2luZGV4LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2VkdWNhdGlvbl9pbnN0aXR1dGlvbi9mb3JtLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2VkdWNhdGlvbl9pbnN0aXR1dGlvbi9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9mb29kL2Zvcm0udHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vZm9vZC9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9ob21lL2luZGV4LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2hvbWUvbWFpbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExheW91dCwgUm93LCBDb2wgfSBmcm9tICdhbnRkJztcblxuY29uc3QgeyBGb290ZXIgfSA9IExheW91dDtcblxuY29uc3QgRm9vdGVyQ29tcG9uZW50OiBSZWFjdC5GQyA9ICgpID0+IChcbiAgPEZvb3RlclxuICAgIHN0eWxlPXt7IGJhY2tncm91bmQ6ICcjZjVmNWY1JywgcGFkZGluZzogJzI0cHgnLCB0ZXh0QWxpZ246ICdjZW50ZXInIH19XG4gID5cbiAgICA8Um93IGd1dHRlcj17WzE2LCAxNl19PlxuICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9PlxuICAgICAgICA8aDQ+QWJvdXQgVXM8L2g0PlxuICAgICAgICA8cD5MZWFybiBtb3JlIGFib3V0IG91ciBtaXNzaW9uIGFuZCB2YWx1ZXMuPC9wPlxuICAgICAgPC9Db2w+XG4gICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0+XG4gICAgICAgIDxoND5Db250YWN0PC9oND5cbiAgICAgICAgPHA+RW1haWw6IHN1cHBvcnRAZ21haWwuY29tPC9wPlxuICAgICAgICA8cD5QaG9uZTogKzg1NSAxMjMgNDU2IDc4OTA8L3A+XG4gICAgICA8L0NvbD5cbiAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fT5cbiAgICAgICAgPGg0PkZvbGxvdyBVczwvaDQ+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxhIGhyZWY9JycgdGFyZ2V0PSdfYmxhbmsnIHJlbD0nIyc+XG4gICAgICAgICAgICAjXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L3A+XG4gICAgICA8L0NvbD5cbiAgICA8L1Jvdz5cbiAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpblRvcDogJzE2cHgnIH19PsKpIHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCl9ICM8L2Rpdj5cbiAgPC9Gb290ZXI+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBGb290ZXJDb21wb25lbnQ7XG4iLCJleHBvcnQgZGVmYXVsdCB7XG4gIC8vIGVudjogcHJvY2Vzcy5lbnYuTk9ERV9FTlYsXG4gIGVudjogJ2RldmVsb3BtZW50JyxcbiAgLy8gYXNzZXRfdXJsOiBwcm9jZXNzLmVudi5TM0lNQUdFU0JVQ0tFVCxcbiAgYXNzZXRfdXJsOiAnJyxcbiAgYXBpX3VybDogcHJvY2Vzcy5lbnYuQkFTRV9VUkwsXG4gIHVwbG9hZF91cmw6IHByb2Nlc3MuZW52Lk1FRElBX0FQSSxcbiAgc29ja2V0X3VybDogcHJvY2Vzcy5lbnYuU09DS0VSX1NFUlZFUixcbiAgbm90aWZpY2F0aW9uX3VybDogcHJvY2Vzcy5lbnYuTk9USUZJQ0FUSU9OLFxuICBBV1NfQUNDRVNTX0tFWV9JRDogcHJvY2Vzcy5lbnYuQVdTX0FDQ0VTU19LRVlfSUQsXG4gIEFXU19TRUNSRVRfQUNDRVNTX0tFWTogcHJvY2Vzcy5lbnYuQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZLFxuICBSRUFDVF9BUFBfQVBJX1RPS0VOOiBwcm9jZXNzLmVudi5SRUFDVF9BUFBfQVBJX1RPS0VOLFxuICBTM19CVUNLRVQ6IHByb2Nlc3MuZW52LlMzX0JVQ0tFVCxcbiAgZmlyZWJhc2VfY29uZmlnX2hlYWRlcnM6IHtcbiAgfSxcbiAgbGltaXQ6IDEwLFxuICB3YWxsZXRfbGltaXQ6IDEwMDAwLFxuICB3ZWJzb2NrZXRFdmVudDoge1xuICAgIERSSVZFUl9MSVZFX0xPQ0FUSU9OOiAnRFJJVkVSX0xJVkVfTE9DQVRJT04nLFxuICAgIFVQREFURV9KTl9XQUxMRVQ6ICdVUERBVEVfSk5fV0FMTEVUJyxcbiAgICBDQVNIX0lOX1NVQ0NFU1M6ICdDQVNIX0lOX1NVQ0NFU1MnLFxuICAgIENBU0hfT1VUX1NVQ0NFU1M6ICdDQVNIX09VVF9TVUNDRVNTJyxcbiAgICBOT19EUklWRVJfQVZBSUxBQkxFOiAnTk9fRFJJVkVSX0FWQUlMQUJMRScsXG4gICAgUEFDS0FHRV9UUkFDS0lORzogJ1BBQ0tBR0VfVFJBQ0tJTkcnLFxuICB9LFxuICBkZWZhdWx0QWRtaW5BY2NvdW50OiAnREVGQVVMVF9BRE1JTl9BQ0NPVU5UX0lEJyxcbiAgdGVsZWdyYW1JZDoge1xuICAgIGRldjogJy0xMDAxMTM2Mjg0NTU3JyxcbiAgICBkZXZMb2dnZXI6ICctMTAwMTQ5NTYxNjM4NicsXG4gICAgZXhwcmVzc0h1YjogJy0xMDAxMTM2Mjg0NTU3JyxcbiAgICBleHByZXNzTWVyY2hhbnQ6ICctMTAwMTEzNjI4NDU1NycsXG4gICAgZXhwcmVzc0ZpbmFuY2U6XG4gICAgICAnLTEwMDExMzYyODQ1NTcnLFxuICAgIGV4cHJlc3NEcml2ZXI6XG4gICAgICAnLTEwMDExMzYyODQ1NTcnXG4gICAgLFxuICB9LFxufTtcbiIsImltcG9ydCB7IFVTRVJfQVRURU5EQU5DRSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9jb3JlL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgY29uc3QgU1RBUlRfTE9HSU4gPSAnU1RBUlRfTE9HSU4nO1xuZXhwb3J0IGNvbnN0IEFVVEhfTE9HSU4gPSAnQVVUSF9MT0dJTic7XG5leHBvcnQgY29uc3QgTE9HSU5fRkFJTEVEID0gJ0xPR0lOX0ZBSUxFRCc7XG5leHBvcnQgY29uc3QgVVJMID0ge1xuICBMT0dJTjogJy9hdXRoL2xvZ2luJyxcbiAgTE9HSU5fVEVMRUdSQU06ICcvYXV0aC9sb2dpbicsXG4gIFZFUklGWV9UT1A6ICdhcGkvdjEvdmVyaWZ5JyxcbiAgU0lHTlVQOiAnYXV0aC9yZWdpc3RlcicsXG4gIERJU0FCSUxJVFlfVFlQRTogJ2Rpc2FiaWxpdHktdHlwZXMvJyxcbiAgUFJPVklOQ0U6ICdwcm92aW5jZXMvJyxcbiAgT0NDVVBBVElPTjogJ29jY3VwYXRpb25zLycsXG4gIEVEVUNBVElPTl9JTlNUSVRVVElPTjogJ2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvJyxcbiAgRk9PRFM6ICdmb29kcy8nLFxuICBGT09EOiAnZm9vZHMvJyxcbiAgVEVBTTogJ2ludGVyZXN0ZWQtdGVhbXMvJyxcbiAgRVZFTlQ6ICd2b2x1bnRlZXItZXZlbnRzLycsXG4gIFNPVVJDRTogJ29wcG9ydHVuaXR5LXNvdXJjZXMvJyxcbiAgVFJBSU5JTkdfU0VTU0lPTjogJ3RyYWluaW5nLXNlc3Npb25zLycsXG4gIExBTkdVQUdFOiAnbGFuZ3VhZ2VzLycsXG4gIFNLSUxMOiAnc2tpbGxzLycsXG4gIFRFUk1TX0NPTkRJVElPTjogJ3Rlcm1zLWNvbmRpdGlvbnMvJyxcbiAgVk9MVU5URUVSX0VWRU5UOiAndm9sdW50ZWVyLWV2ZW50cy8nLFxuICBWT0xVTlRFRVJTOiAndm9sdW50ZWVycy8nLFxuICBEQVNIQk9BUkQ6ICdkYXNoYm9hcmQvJyxcbiAgT0ZGRVJfUFJPR1JBTTogJ29mZmVyLXByb2dyYW1zLycsXG4gIFRSQVZFTF9EQVk6ICd0cmF2ZWwtZGF5cy8nLFxuICBVU0VSOiAndXNlcnMvJyxcbiAgUFVCTElDOiAncHVibGljLycsXG4gIE5PVElGWTogJ25vdGlmeS9zZW5kL3RlbGVncmFtJyxcbiAgTk9USUZZX1NUQVRVUzogJ25vdGlmeS9zZW5kL3N0YXR1cycsXG4gIFVTRVJfQVRURU5EQU5DRTogJy91c2VyLWF0dGVuZGFuY2VzLydcbn07XG5cbmV4cG9ydCBjb25zdCBDVVJSRU5DWV9UWVBFID0ge1xuICBVU0Q6ICdVU0QnLFxuICBLSFI6ICdLSFInLFxufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNb2RhbCwgU3BpbiB9IGZyb20gJ2FudGQnO1xuXG5pbnRlcmZhY2UgTG9hZGluZ0RpYWxvZ1Byb3BzIHtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbn1cblxuY2xhc3MgTG9hZGluZ0RpYWxvZyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxMb2FkaW5nRGlhbG9nUHJvcHM+IHtcbiAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gICAgY29uc3QgeyB2aXNpYmxlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbFxuICAgICAgICB3aWR0aD17MjAwfVxuICAgICAgICB2aXNpYmxlPXt2aXNpYmxlfVxuICAgICAgICBjZW50ZXJlZFxuICAgICAgICBmb290ZXI9e251bGx9XG4gICAgICAgIGNsb3NhYmxlPXtmYWxzZX1cbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgbWFyZ2luVG9wOiAyMCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFNwaW4gc2l6ZT0nbGFyZ2UnIC8+XG4gICAgICAgICAgPHAgc3R5bGU9e3sgdGV4dEFsaWduOiAnY2VudGVyJywgbWFyZ2luVG9wOiAnMXJlbScgfX0+TG9hZGluZy4uLjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L01vZGFsPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTG9hZGluZ0RpYWxvZztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCBheGlvcywgeyBBeGlvc1JlcXVlc3RDb25maWcsIEF4aW9zUmVzcG9uc2UgfSBmcm9tICdheGlvcyc7XG5pbXBvcnQgY29uZmlnIGZyb20gJy4uLy4uL2NvbmZpZ3MvY29uZmlnJztcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBHRVQgcmVxdWVzdHMgd2l0aCB0b2tlbiBhdXRob3JpemF0aW9uIGFuZCBvcHRpb25hbCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSB1cmwgLSBUaGUgQVBJIGVuZHBvaW50LlxuICogQHBhcmFtIHBhcmFtcyAtIE9wdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlcnMuXG4gKiBAcGFyYW0gc3VjY2VzcyAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSBzdWNjZXNzIHJlc3BvbnNlLlxuICogQHBhcmFtIGZhaWxlZCAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSBlcnJvciByZXNwb25zZS5cbiAqL1xuXG4vLyBFbnN1cmUgYXhpb3NJbnN0YW5jZSBpcyBjb25maWd1cmVkIHByb3Blcmx5XG5jb25zdCBheGlvc0luc3RhbmNlID0gYXhpb3MuY3JlYXRlKHtcbiAgYmFzZVVSTDogY29uZmlnLmFwaV91cmwsXG4gIHRpbWVvdXQ6IDEwMDAwMCwgLy8gRXhhbXBsZSB0aW1lb3V0XG59KVxuXG5cbmV4cG9ydCBjb25zdCBnZXRXaXRoQ29uZmlnID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgc3VjY2Vzcz86IChkYXRhOiBUKSA9PiB2b2lkLFxuICBmYWlsZWQ/OiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkXG4pOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+ID0+IHsgIC8vIOKchSBOb3cgcmV0dXJucyBkYXRhXG4gIHRyeSB7XG4gICAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwidG9rZW5cIikgfHwgXCJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKemRXSWlPaUpxWVhsQVoyMWhhV3d1WTI5dElpd2laWGh3SWpveE56azROVGczTlRFMmZRLjhkcmdub1E3ZjRkWVFZYjMxRmNCdkJhMkJkZ0FHanVSSlhjaGlQbVM3ZEFcIjtcblxuICAgIGNvbnN0IGNvbmZpZ3MgPSB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IHRva2VuID8gYEJlYXJlciAke3Rva2VufWAgOiBcIlwiLCAvLyDinIUgRml4ZWQgaW5jb3JyZWN0IGNvbmRpdGlvbmFsXG4gICAgICAgIEFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICB9LFxuICAgICAgcGFyYW1zLFxuICAgIH07XG5cblxuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5nZXQodXJsLCBjb25maWdzKTtcblxuXG4gICAgc3VjY2Vzcz8uKHJlc3BvbnNlLmRhdGEpO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7IC8vIOKchSBFbnN1cmVzIGNhbGxpbmcgZnVuY3Rpb25zIHJlY2VpdmUgZGF0YVxuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJBeGlvcyBHRVQgcmVxdWVzdCBmYWlsZWQ6XCIsIGVycik7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlID8/IFwiVW5rbm93biBlcnJvciFcIjtcbiAgICBjb25zdCBlcnJvciA9IGVyci5yZXNwb25zZT8uZGF0YT8uZXJyb3IgPz8gXCJVbmtub3duIGVycm9yIVwiO1xuXG4gICAgY29uc29sZS5lcnJvcih7IGVycm9yIH0pO1xuXG4gICAgZmFpbGVkPy4obWVzc2FnZSk7XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyDinIUgUHJldmVudCB1bmRlZmluZWQgaXNzdWVzIGluIFJlZHV4XG4gIH1cbn07XG5cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBQT1NUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbi5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHRoZSByZXNwb25zZSBkYXRhLlxuICovXG5leHBvcnQgY29uc3QgcG9zdFdpdGhDb25maWcgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpID8/ICcnO1xuXG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfTtcblxuICBpZiAodG9rZW4pIHtcbiAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dG9rZW59YDtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zSW5zdGFuY2UucG9zdCh1cmwsIGRhdGEsIGNvbmZpZyk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignUE9TVCByZXF1ZXN0IGVycm9yOicsIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuXG5leHBvcnQgY29uc3QgcG9zdFdpdGhDb25maWdGb3JtRGF0YSA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIGRhdGE6IEZvcm1EYXRhXG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpID8/ICcnO1xuXG4gIGNvbnNvbGUubG9nKCdmb3JtRGF0YSAnLCBkYXRhKTtcblxuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICdDb250ZW50LVR5cGUnOiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsXG4gICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gIH07XG5cbiAgaWYgKHRva2VuKSB7XG4gICAgaGVhZGVyc1snQXV0aG9yaXphdGlvbiddID0gYEJlYXJlciAke3Rva2VufWA7XG4gIH1cblxuICBjb25zdCBjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgaGVhZGVycyB9O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvc0luc3RhbmNlLnBvc3QodXJsLCBkYXRhLCBjb25maWcpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1BPU1QgcmVxdWVzdCBlcnJvcjonLCBlcnJvcik7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgUE9TVCByZXF1ZXN0cyB3aXRoIHRva2VuIGF1dGhvcml6YXRpb24uXG4gKlxuICogQHBhcmFtIHVybCAtIFRoZSBBUEkgZW5kcG9pbnQuXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSByZXF1ZXN0IHBheWxvYWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCB0aGUgcmVzcG9uc2UgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IHBvc3RXaXRoQ29uZmlnV2hpdGVsaXN0ID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRva2VuXCIpIHx8IFwiZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lKcVlYbEFaMjFoYVd3dVkyOXRJaXdpWlhod0lqb3hOems0TlRnM05URTJmUS44ZHJnbm9RN2Y0ZFlRWWIzMUZjQnZCYTJCZGdBR2p1UkpYY2hpUG1TN2RBXCI7XG5cbiAgY29uc3Qgc3RvcmVkVXNlciA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2N1cnJlbnRVc2VyJyk7XG4gIGNvbnN0IHVzZXIgPSBzdG9yZWRVc2VyID8gSlNPTi5wYXJzZShzdG9yZWRVc2VyKSA6IG51bGw7ICAvLyDinIUgUHJldmVudHNcbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICB9O1xuXG4gIGlmICh0b2tlbikge1xuICAgIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXSA9IGBCZWFyZXIgJHt0b2tlbn1gO1xuICB9XG5cbiAgY29uc3QgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7IGhlYWRlcnMgfTtcblxuICB0cnkge1xuICAgIC8vIEVuc3VyZSByZXF1aXJlZCBmaWVsZHMgYXJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IHBheWxvYWRcbiAgICBkYXRhLnBob25lX251bWJlciA9IGRhdGEucGhvbmVfbnVtYmVyID8gYCske2RhdGEucGhvbmVfbnVtYmVyLmNvdW50cnlDb2RlfSAke2RhdGEucGhvbmVfbnVtYmVyLmFyZWFDb2RlfSAke2RhdGEucGhvbmVfbnVtYmVyLnBob25lTnVtYmVyfWAgOiB1bmRlZmluZWQ7XG4gICAgZGF0YS50ZXJtc19jb25kaXRpb25zX2lkID0gMjtcbiAgICBkYXRhLnZvbHVudGVlcl9zdGF0dXMgPSBcIlJlZ2lzdGVyXCI7XG4gICAgZGF0YS51c2VyX2lkID0gdXNlci5pZDtcbiAgICBjb25zdCBleHBlcnRpc2VTdHIgPSAgZGF0YS5leHBlcnRpc2UudG9TdHJpbmcoKTtcbiAgICBkYXRhLmV4cGVydGlzZSA9IGV4cGVydGlzZVN0cjtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zSW5zdGFuY2UucG9zdCh1cmwsIGRhdGEsIGNvbmZpZyk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignUE9TVCByZXF1ZXN0IGVycm9yOicsIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBtYWtlIERFTEVURSByZXF1ZXN0cyB3aXRoIHRva2VuIGF1dGhvcml6YXRpb24gYW5kIG9wdGlvbmFsIGRhdGEuXG4gKlxuICogQHBhcmFtIHVybCAtIFRoZSBBUEkgZW5kcG9pbnQuXG4gKiBAcGFyYW0gZGF0YSAtIE9wdGlvbmFsIHBheWxvYWQgZm9yIHRoZSBERUxFVEUgcmVxdWVzdC5cbiAqIEBwYXJhbSBzdWNjZXNzIC0gQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHN1Y2Nlc3MgcmVzcG9uc2UuXG4gKiBAcGFyYW0gZmFpbGVkIC0gQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIGVycm9yIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlV2l0aENvbmZpZyA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBzdWNjZXNzPzogKGRhdGE6IFQpID0+IHZvaWQsXG4gIGZhaWxlZD86IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQsXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpID8/ICcnO1xuICBpZiAodG9rZW4gPT09ICcnKSB7XG4gICAgZmFpbGVkPy4oJ1Rva2VuIGlzIG1pc3NpbmcuJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgY29uZmlnczogQXhpb3NSZXF1ZXN0Q29uZmlnID0ge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gID8gYEJlYXJlciAke3Rva2VufWAgOiAnJywgLy8gRW5zdXJlIGNvcnJlY3QgQmVhcmVyIGZvcm1hdFxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH0sXG4gICAgZGF0YTogZGF0YSA/PyB7fSxcbiAgfTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5kZWxldGUodXJsLCBjb25maWdzKTtcbiAgICBzdWNjZXNzPy4ocmVzcG9uc2UuZGF0YSk7XG4gIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVyci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSA/PyAnVW5rbm93biBlcnJvciEnO1xuICAgIGZhaWxlZD8uKG1lc3NhZ2UpO1xuICB9XG59O1xuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBtYWtlIFBVVCByZXF1ZXN0cyB3aXRoIHRva2VuIGF1dGhvcml6YXRpb24uXG4gKlxuICogQHBhcmFtIHVybCAtIFRoZSBBUEkgZW5kcG9pbnQuXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSByZXF1ZXN0IHBheWxvYWQuXG4gKiBAcGFyYW0gc3VjY2VzcyAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSBzdWNjZXNzIHJlc3BvbnNlLlxuICogQHBhcmFtIGZhaWxlZCAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSBlcnJvciByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHB1dFdpdGhDb25maWcgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwidG9rZW5cIikgfHwgXCJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKemRXSWlPaUpxWVhsQVoyMWhhV3d1WTI5dElpd2laWGh3SWpveE56azROVGczTlRFMmZRLjhkcmdub1E3ZjRkWVFZYjMxRmNCdkJhMkJkZ0FHanVSSlhjaGlQbVM3ZEFcIjtcblxuICBpZiAoIXRva2VuKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVG9rZW4gaXMgbWlzc2luZy5cIik7XG4gIH1cblxuICBjb25zdCBjb25maWdzOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgaGVhZGVyczoge1xuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgIH0sXG4gIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zSW5zdGFuY2UucHV0KHVybCwgZGF0YSwgY29uZmlncyk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBGdW5jdGlvbiB0byB1cGxvYWQgZmlsZXMuXG4gKlxuICogQHBhcmFtIGRhdGEgLSBUaGUgZmlsZSBkYXRhIHRvIHVwbG9hZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHRoZSByZXNwb25zZSBkYXRhLlxuICovXG5leHBvcnQgY29uc3QgcG9zdFVwbG9hZCA9IGFzeW5jIDxUID0gYW55PihkYXRhOiBGb3JtRGF0YSk6IFByb21pc2U8VD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHVybCA9IGAke2NvbmZpZy51cGxvYWRfdXJsfS9tZWRpYS9maWxlYDtcbiAgICBjb25zdCBjb25maWd1cmU6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgdG9rZW46ICc5NDliNzFlZi1hNWQyLTRhM2MtOGE5NS1kNzdiYjdmYjJmZjQnLFxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ211bHRpcGFydC9mb3JtLWRhdGEnLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3MucG9zdCh1cmwsIGRhdGEsIGNvbmZpZ3VyZSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgY29uc29sZS5sb2coZXJyKTtcbiAgfVxuXG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHB1c2ggbm90aWZpY2F0aW9ucyB0byBhIHNwZWNpZmljIHJlY2lwaWVudC5cbiAqXG4gKiBAcGFyYW0gcmVjaXBpZW50IC0gVGhlIHRvcGljIG9yIGN1cnJlbnRVc2VyIElELlxuICogQHBhcmFtIHRpdGxlIC0gVGhlIG5vdGlmaWNhdGlvbiB0aXRsZS5cbiAqIEBwYXJhbSBtZXNzYWdlQm9keSAtIFRoZSBib2R5IG9mIHRoZSBub3RpZmljYXRpb24uXG4gKiBAcGFyYW0gaXNEcml2ZXIgLSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcmVjaXBpZW50IGlzIGEgZHJpdmVyLlxuICogQHBhcmFtIHBob3RvIC0gT3B0aW9uYWwgcGhvdG8gVVJMIGZvciB0aGUgbm90aWZpY2F0aW9uLlxuICogQHBhcmFtIGZhaWxlZCAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSBlcnJvciByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHB1c2hOb3RpZmljYXRpb24gPSBhc3luYyAoXG4gIHJlY2lwaWVudDogc3RyaW5nLFxuICB0aXRsZTogc3RyaW5nLFxuICBtZXNzYWdlQm9keTogc3RyaW5nLFxuICBpc0RyaXZlcjogYm9vbGVhbixcbiAgcGhvdG8/OiBzdHJpbmcsXG4gIGZhaWxlZD86IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQsXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgdXJsID0gYCR7Y29uZmlnLm5vdGlmaWNhdGlvbl91cmx9bm90aWZpY2F0aW9uL2A7XG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSBpc0RyaXZlclxuICAgID8geyAnRHJpdmVyLUhlYWRlcic6ICd0cnVlJyB9XG4gICAgOiB7fTtcbiAgY29uc3QgY29uZmlndXJlOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7IGhlYWRlcnMgfTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgIHRvcGljX25hbWU6IHJlY2lwaWVudCxcbiAgICBtZXNzYWdlX3RpdGxlOiB0aXRsZSxcbiAgICBtZXNzYWdlX2JvZHk6IG1lc3NhZ2VCb2R5LFxuICAgIHBob3RvLFxuICB9O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KHVybCwgZGF0YSwgY29uZmlndXJlKTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlID8/ICdVbmtub3duIGVycm9yISc7XG4gICAgZmFpbGVkPy4obWVzc2FnZSk7XG4gIH1cbn07XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gcHVzaCBub3RpZmljYXRpb25zIHRvIGFsbCB1c2VycyBpbiB0aGUgYXBwLlxuICpcbiAqIEBwYXJhbSBkYXRhIC0gVGhlIG5vdGlmaWNhdGlvbiBwYXlsb2FkLlxuICogQHJldHVybnMgQSBwcm9taXNlIHdpdGggdGhlIHJlc3BvbnNlIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBwdXNoTm90aWZpY2F0aW9uQWxsQXBwID0gYXN5bmMgPFQgPSBhbnk+KFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHVybCA9IGAke2NvbmZpZy5ub3RpZmljYXRpb25fdXJsfW5vdGlmaWNhdGlvbi9gO1xuICBjb25zdCBjb25maWd1cmU6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgaGVhZGVyczoge30gfTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3MucG9zdCh1cmwsIGRhdGEsIGNvbmZpZ3VyZSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3RpZmljYXRpb24gZmFpbGVkJyk7XG4gIH1cbn07XG4iLCJpbXBvcnQgeyBjb25maWd1cmVTdG9yZSwgVGh1bmtBY3Rpb24sIEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuXG5pbXBvcnQgYXV0aFNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdm9sdW50ZWVyU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgZGlzYWJpbGl0eVR5cGVTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kaXNhYmlsaXR5X3R5cGUvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBlZHVjYXRpb25JbnN0aXR1dGlvblNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2VkdWNhdGlvbl9pbnN0aXR1dGlvbi9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGZvb2RTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb29kL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgaW50ZXJlc3RlZFRlYW1TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnRlcmVzdGVkX3RlYW0vY29yZS9yZWR1Y2VyJztcbmltcG9ydCBvY2N1cGF0aW9uU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvb2NjdXBhdGlvbi9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IG9wcG9ydHVuaXR5U291cmNlU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvb3Bwb3J0dW5pdHlfc291cmNlL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgcHJvdmluY2VTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm92aW5jZS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHNraWxsU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvc2tpbGwvY29yZS9yZWR1Y2VyJztcbmltcG9ydCB0ZXJtc0NvbmRpdGlvblNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rlcm1zX2NvbmRpdGlvbi9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHRyYWluaW5nU2Vzc2lvblNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYWluaW5nX3Nlc3Npb24vY29yZS9yZWR1Y2VyJztcbmltcG9ydCB2b2x1bnRlZXJFdmVudFNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlcl9ldmVudC9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGxhbmd1YWdlU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvbGFuZ3VhZ2UvY29yZS9yZWR1Y2VyJztcbmltcG9ydCB1c2VyU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdXNlci9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IG9mZmVyUHJvZ3JhbVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL29mZmVyX3Byb2dyYW0vY29yZS9yZWR1Y2VyJztcbmltcG9ydCB0cmF2ZWxEYXlTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF2ZWxfZGF5L2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdXNlckF0dGVuZGFuY2VTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyX2F0dGVuZGFuY2UvY29yZS9yZWR1Y2VyJztcblxuZXhwb3J0IGNvbnN0IHN0b3JlID0gY29uZmlndXJlU3RvcmUoe1xuICByZWR1Y2VyOiB7XG4gICAgYXV0aDogYXV0aFNsaWNlLFxuICAgIHZvbHVudGVlcjogdm9sdW50ZWVyU2xpY2UsXG4gICAgZGlzYWJpbGl0eVR5cGU6IGRpc2FiaWxpdHlUeXBlU2xpY2UsXG4gICAgZWR1Y2F0aW9uSW5zdGl0dXRpb246IGVkdWNhdGlvbkluc3RpdHV0aW9uU2xpY2UsXG4gICAgZm9vZDogZm9vZFNsaWNlLFxuICAgIGludGVyZXN0ZWRUZWFtOiBpbnRlcmVzdGVkVGVhbVNsaWNlLFxuICAgIG9jY3VwYXRpb246IG9jY3VwYXRpb25TbGljZSxcbiAgICBvcHBvcnR1bml0eVNvdXJjZTogb3Bwb3J0dW5pdHlTb3VyY2VTbGljZSxcbiAgICBwcm92aW5jZTogcHJvdmluY2VTbGljZSxcbiAgICBsYW5ndWFnZTogbGFuZ3VhZ2VTbGljZSxcbiAgICBza2lsbDogc2tpbGxTbGljZSxcbiAgICB0ZXJtc0NvbmRpdGlvbjogdGVybXNDb25kaXRpb25TbGljZSxcbiAgICB0cmFpbmluZ1Nlc3Npb246IHRyYWluaW5nU2Vzc2lvblNsaWNlLFxuICAgIHZvbHVudGVlckV2ZW50OiB2b2x1bnRlZXJFdmVudFNsaWNlLFxuICAgIHVzZXI6IHVzZXJTbGljZSxcbiAgICBvZmZlclByb2dyYW06IG9mZmVyUHJvZ3JhbVNsaWNlLFxuICAgIHRyYXZlbERheTogdHJhdmVsRGF5U2xpY2UsXG4gICAgdXNlckF0dGVuZGFuY2U6IHVzZXJBdHRlbmRhbmNlU2xpY2UsXG4gIH0sXG4gIGRldlRvb2xzOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxufSk7XG5cbmV4cG9ydCB0eXBlIEFwcERpc3BhdGNoID0gdHlwZW9mIHN0b3JlLmRpc3BhdGNoO1xuZXhwb3J0IHR5cGUgUm9vdFN0YXRlID0gUmV0dXJuVHlwZTx0eXBlb2Ygc3RvcmUuZ2V0U3RhdGU+O1xuZXhwb3J0IHR5cGUgQXBwVGh1bms8UmV0dXJuVHlwZSA9IHZvaWQ+ID0gVGh1bmtBY3Rpb248XG4gIFJldHVyblR5cGUsXG4gIFJvb3RTdGF0ZSxcbiAgdW5rbm93bixcbiAgQWN0aW9uPHN0cmluZz5cbj47XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnOyAvLyBSZXF1aXJlZCBmb3IgSlNYXG5pbXBvcnQgeyBSb3V0ZXMgYXMgUm91dGVyUm91dGVzLCBSb3V0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbXBvcnQgTWFpbiBmcm9tICcuLi92aWV3cy9tYWluL2hvbWUvbWFpbic7XG5pbXBvcnQgTG9naW4gZnJvbSAnLi4vdmlld3MvbG9naW4vbG9naW4nO1xuaW1wb3J0IE5vdEZvdW5kIGZyb20gJy4uL3ZpZXdzL25vdC1mb3VuZC9ub3QtZm91bmQnO1xuaW1wb3J0IFByb3RlY3RlZFJvdXRlIGZyb20gJy4vcHJvdGVjdGVkLXJvdXRlJztcbmltcG9ydCBWb2x1bnRlZXJSZWdpc3RlckZvcm0gZnJvbSAnLi4vdmlld3Mvdm9sdW50ZWVyL3ZvbHVudGVlci1yZWdpc3Rlcic7XG5pbXBvcnQgQXV0aCBmcm9tICcuLi92aWV3cy9sb2dpbi9hdXRoJztcbmltcG9ydCBBdHRlbmRhbmNlUVIgZnJvbSAnLi4vdmlld3MvbG9naW4vYXR0ZW5kYW5jZV9xcic7XG5pbXBvcnQgVGVsZWdyYW1Mb2dpbkF0dGVuZGFuY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vcGFnZXMvYXR0ZW5kYW5jZV92ZXJpZmljYXRpb24nO1xuXG5jb25zdCBBcHBSb3V0ZXM6IFJlYWN0LkZDID0gKCkgPT4gKFxuICA8Um91dGVyUm91dGVzPlxuICAgIHsvKiBQdWJsaWMgUm91dGVzICovfVxuICAgIDxSb3V0ZSBwYXRoPScvbG9naW4nIGVsZW1lbnQ9ezxMb2dpbiAvPn0gLz5cbiAgICA8Um91dGUgcGF0aD0nL2F1dGgnIGVsZW1lbnQ9ezxBdXRoIC8+fSAvPlxuICAgIDxSb3V0ZSBwYXRoPScvYXR0ZW5kYW5jZScgZWxlbWVudD17PFRlbGVncmFtTG9naW5BdHRlbmRhbmNlIC8+fSAvPlxuICAgIDxSb3V0ZSBwYXRoPScvcXInIGVsZW1lbnQ9ezxBdHRlbmRhbmNlUVIgLz59IC8+XG4gICAgXG5cbiAgICB7LyogUHJvdGVjdGVkIFJvdXRlcyAtIFdyYXBwaW5nIGV2ZXJ5dGhpbmcgaW5zaWRlIE1haW4gKi99XG4gICAgPFJvdXRlXG4gICAgICBwYXRoPScvKidcbiAgICAgIGVsZW1lbnQ9e1xuICAgICAgICA8UHJvdGVjdGVkUm91dGU+XG4gICAgICAgICAgPE1haW4gLz5cbiAgICAgICAgPC9Qcm90ZWN0ZWRSb3V0ZT5cbiAgICAgIH1cbiAgICAvPlxuICAgIHsvKiBQcm90ZWN0ZWQgUm91dGVzIC0gV3JhcHBpbmcgZXZlcnl0aGluZyBpbnNpZGUgTWFpbiAqL31cbiAgICA8Um91dGVcbiAgICAgIHBhdGg9Jy9yZWdpc3RlcidcbiAgICAgIGVsZW1lbnQ9e1xuICAgICAgICA8UHJvdGVjdGVkUm91dGU+XG4gICAgICAgICAgPFZvbHVudGVlclJlZ2lzdGVyRm9ybSAvPlxuICAgICAgICA8L1Byb3RlY3RlZFJvdXRlPlxuICAgICAgfVxuICAgIC8+XG5cbiAgICB7LyogQ2F0Y2gtQWxsIFJvdXRlICovfVxuICAgIDxSb3V0ZSBwYXRoPScqJyBlbGVtZW50PXs8Tm90Rm91bmQgLz59IC8+XG4gIDwvUm91dGVyUm91dGVzPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwUm91dGVzO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBQcm90ZWN0ZWRSb3V0ZVByb3BzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmNvbnN0IFByb3RlY3RlZFJvdXRlOiBSZWFjdC5GQzxQcm90ZWN0ZWRSb3V0ZVByb3BzPiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpO1xuICBjb25zdCBzdG9yZWRVc2VyID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFVzZXInKTtcbiAgbGV0IHVzZXIgPSBudWxsO1xuXG4gIGlmIChzdG9yZWRVc2VyKSB7XG4gICAgdHJ5IHtcbiAgICAgIHVzZXIgPSBKU09OLnBhcnNlKHN0b3JlZFVzZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIGN1cnJlbnRVc2VyIGZyb20gc2Vzc2lvblN0b3JhZ2U6JywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUubG9nKCdQYXJzZWQgdXNlcjonLCB1c2VyKTtcblxuICAvLyBDaGVjayBmb3IgYSB2YWxpZCB0b2tlbiBhbmQgdGhhdCB0aGUgdXNlcidzIHJvbGUgaXMgbm90IFwiVVNFUlwiXG4gIGNvbnN0IGlzQXV0aGVudGljYXRlZCA9XG4gICAgQm9vbGVhbihhY2Nlc3NUb2tlbiAmJiBhY2Nlc3NUb2tlbi5sZW5ndGggPiAwICYmIHVzZXIpO1xuXG4gIHJldHVybiBpc0F1dGhlbnRpY2F0ZWQgPyA8PntjaGlsZHJlbn08Lz4gOiA8TmF2aWdhdGUgdG89XCIvbG9naW5cIiAvPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFByb3RlY3RlZFJvdXRlO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IFZvbHVudGVlckF0dGVuZGFuY2VQYWdlIGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL3FyY29kZSc7XG5cbmNvbnN0IEF0dGVuZGFuY2VRUjogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFZvbHVudGVlckF0dGVuZGFuY2VQYWdlIC8+KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEF0dGVuZGFuY2VRUjtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBMb2dpbkZvcm0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vcGFnZXMvbG9naW4nO1xuXG5jb25zdCBBdXRoOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8TG9naW5Gb3JtIC8+KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEF1dGg7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgVGVsZWdyYW1Mb2dpbkZvcm0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vcGFnZXMvbG9naW5fdGVsZWdyYW0nO1xuXG5jb25zdCBMb2dpbjogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFRlbGVncmFtTG9naW5Gb3JtLz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvZ2luO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtLCBJbnB1dCwgQnV0dG9uLCBSb3csIENvbCwgbWVzc2FnZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IERpc2FiaWxpdHlUeXBlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiwgZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24sIHVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZGlzYWJpbGl0eV90eXBlL2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IFRleHRBcmVhIGZyb20gJ2FudGQvZXMvaW5wdXQvVGV4dEFyZWEnO1xuXG5jb25zdCBOZXdFZGl0RGlzYWJpbGl0eVR5cGVQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHsgZGlzYWJpbGl0eVR5cGUsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBkaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5kaXNhYmlsaXR5VHlwZVxuICApO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcblxuICBjb25zdCBbaXNDbGljaywgc2V0SXNDbGlja10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8g8J+RiSBGZXRjaCBkYXRhIHdoZW4gZWRpdGluZyBvciByZXNldCBmb3JtIHdoZW4gYWRkaW5nXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaChkaXNhYmlsaXR5VHlwZURldGFpbEFjdGlvbihOdW1iZXIoaWQpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBmaWVsZHMgd2hlbiBhZGRpbmcgYSBuZXcgaXRlbVxuICAgIH1cbiAgfSwgW2Rpc3BhdGNoLCBpZCwgZm9ybV0pO1xuXG4gIC8vIPCfkYkgUG9wdWxhdGUgZm9ybSB3aXRoIGZldGNoZWQgZGF0YVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCAmJiBkaXNhYmlsaXR5VHlwZSkge1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7XG4gICAgICAgIG5hbWU6IGRpc2FiaWxpdHlUeXBlLm5hbWUgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBkaXNhYmlsaXR5VHlwZS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2Rpc2FiaWxpdHlUeXBlLCBmb3JtLCBpZF0pO1xuXG4gIC8vIPCfkYkgU2hvdyBzdWNjZXNzIG9yIGVycm9yIGFsZXJ0c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZGlzYWJpbGl0eVR5cGVVcGRhdGVQZW5kaW5nICYmIGlzQ2xpY2spIHtcbiAgICAgIGlmIChyZWdpc3RlckVycm9yTWVzc2FnZSkge1xuICAgICAgICBtZXNzYWdlLmVycm9yKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhpZCA/ICdVcGRhdGVkIHN1Y2Nlc3NmdWxseSEnIDogJ0NyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgICBuYXZpZ2F0ZSgnL2Rpc2FiaWxpdHktdHlwZXMnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtkaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBpZCwgaXNDbGljaywgbmF2aWdhdGVdKTtcblxuICAvLyDwn5GJIEhhbmRsZSBmb3JtIHN1Ym1pdFxuICBjb25zdCBvbkZpbmlzaCA9ICh2YWx1ZXM6IERpc2FiaWxpdHlUeXBlKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbih7IGlkOiBOdW1iZXIoaWQpLCBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChjcmVhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbih7IGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gYWZ0ZXIgc3VjY2Vzc2Z1bCBjcmVhdGlvblxuICAgIH1cbiAgICBzZXRJc0NsaWNrKHRydWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMj57aWQgPyAn4Z6A4Z+C4Z6U4Z+S4Z6a4Z+C4Z6U4Z+S4Z6a4Z6X4Z+B4Z6R4Z6W4Z634Z6A4Z624Z6a4Z6X4Z624Z6WJyA6ICfhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5LhnpjhnrjhnpThn5Lhnprhnpfhn4HhnpHhnpbhnrfhnoDhnrbhnprhnpfhnrbhnpYnfTwvaDI+XG4gICAgICA8Rm9ybSBmb3JtPXtmb3JtfSBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiIG9uRmluaXNoPXtvbkZpbmlzaH0gc3R5bGU9e3sgbWF4V2lkdGg6ICcxMDAlJywgbWFyZ2luOiAnMCBhdXRvJyB9fT5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4dcIiBuYW1lPVwibmFtZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ1BsZWFzZSBlbnRlciBhIG5hbWUnIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpThnprhnrfhnpnhnrbhnplcIiBuYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPFRleHRBcmVhIHJvd3M9ezN9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInByaW1hcnlcIiBibG9jayBodG1sVHlwZT1cInN1Ym1pdFwiIGxvYWRpbmc9e2Rpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZ30+XG4gICAgICAgICAgICAgICAgU3VibWl0XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gaHRtbFR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZSgnL2Rpc2FiaWxpdHktdHlwZXMnKX0+XG4gICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Gb3JtPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmV3RWRpdERpc2FiaWxpdHlUeXBlUGFnZTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBJbnB1dCwgU3BhY2UsIFRhYmxlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvcmVkdXgvc3RvcmUnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBMb2FkaW5nRGlhbG9nIGZyb20gJy4uLy4uLy4uL2NvbnRhaW5lci9kaWFsb2dzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IERlbGV0ZU91dGxpbmVkLCBFZGl0T3V0bGluZWQsIFBsdXNPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCB7IGRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLCBkaXNhYmlsaXR5VHlwZURldGFpbEFjdGlvbiwgZmV0Y2hEaXNhYmlsaXR5VHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9kaXNhYmlsaXR5X3R5cGUvY29yZS9hY3Rpb25zJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuY29uc3QgRGlzYWJpbGl0eVR5cGVMaXN0ID0gKCkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgW3NlbGVjdGVkUm93cywgc2V0U2VsZWN0ZWRSb3dzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbc2VhcmNoVGV4dCwgc2V0U2VhcmNoVGV4dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IHsgZGlzYWJpbGl0eVR5cGVzLCBkaXNhYmlsaXR5VHlwZXNQZW5kaW5nIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuZGlzYWJpbGl0eVR5cGUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hEaXNhYmlsaXR5VHlwZXMoKSk7XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIGNvbnN0IGhhbmRsZUVkaXQgPSAoaWQ6IGFueSkgPT4ge1xuICAgIGRpc3BhdGNoKGRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uKGlkKSk7XG4gICAgbmF2aWdhdGUoYC9kaXNhYmlsaXR5LXR5cGVzL2Zvcm0/aWQ9JHtpZH1gKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZWxldGUgPSAoaWQ6IGFueSkgPT4ge1xuICAgIFN3YWwuZmlyZSh7XG4gICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZT8nLFxuICAgICAgdGV4dDogJ1lvdSB3b25cXCd0IGJlIGFibGUgdG8gcmV2ZXJ0IHRoaXMhJyxcbiAgICAgIGljb246ICd3YXJuaW5nJyxcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgaHRtbDogYFxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMjBweDtcIj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY29uZmlybS1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNvbmZpcm0gc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzO1wiPkRlbGV0ZTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjYW5jZWwtZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jYW5jZWwgc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMzA4NWQ2O1wiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGAsXG4gICAgICBkaWRPcGVuOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1CdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjb25maXJtLWRlbGV0ZScpO1xuICAgICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjYW5jZWwtZGVsZXRlJyk7XG5cbiAgICAgICAgY29uZmlybUJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgZGlzcGF0Y2goZGVsZXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24oaWQpKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIFN3YWwuZmlyZSgnRGVsZXRlZCEnLCAnVGhlIGl0ZW0gaGFzIGJlZW4gZGVsZXRlZC4nLCAnc3VjY2VzcycpO1xuICAgICAgICAgICAgZGlzcGF0Y2goZmV0Y2hEaXNhYmlsaXR5VHlwZXMoKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjYW5jZWxCdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9ICgpID0+IHtcbiAgICAvLyBUcmlnZ2VycyBzZWFyY2ggYnkgc2V0dGluZyBzdGF0ZVxuICAgIHNldFNlYXJjaFRleHQoc2VhcmNoVGV4dC50cmltKCkpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVJlc2V0ID0gKCkgPT4ge1xuICAgIC8vIENsZWFycyBpbnB1dCBhbmQgc2hvd3MgYWxsIGRhdGFcbiAgICBzZXRTZWFyY2hUZXh0KCcnKTtcbiAgfTtcblxuICBjb25zdCBjb2x1bW5zID0gW1xuICAgIHsgdGl0bGU6ICfhnpvhn4HhnoHhnprhn4DhnoQnLCBkYXRhSW5kZXg6ICdpbmRleCcsIGtleTogJ2luZGV4JywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAgeyB0aXRsZTogJ+GeiOGfkuGemOGfhOGfhycsIGRhdGFJbmRleDogJ25hbWUnLCBrZXk6ICduYW1lJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAgeyB0aXRsZTogJ+GelOGemuGet+GemeGetuGemScsIGRhdGFJbmRleDogJ2Rlc2NyaXB0aW9uJywga2V5OiAnZGVzY3JpcHRpb24nLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0FjdGlvbicsXG4gICAgICBrZXk6ICdhY3Rpb24nLFxuICAgICAgcmVzcG9uc2l2ZTogWyd4cycsICdzbScsICdtZCcsICdsZyddLFxuICAgICAgcmVuZGVyOiAoXzogc3RyaW5nLCByZWNvcmQ6IGFueSkgPT4gKFxuICAgICAgICA8U3BhY2Ugc2l6ZT1cIm1pZGRsZVwiPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PEVkaXRPdXRsaW5lZCAvPn0gdHlwZT1cInByaW1hcnlcIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVFZGl0KHJlY29yZC5pZCl9IC8+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8RGVsZXRlT3V0bGluZWQgLz59IGRhbmdlciBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGUocmVjb3JkLmlkKX0gLz5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgICksXG4gICAgfSxcbiAgXTtcblxuICBjb25zdCBmaWx0ZXJlZERhdGEgPSAoZGlzYWJpbGl0eVR5cGVzIHx8IFtdKS5maWx0ZXIoKGl0KSA9PlxuICAgIGl0Lm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBvdmVyZmxvd1g6ICdhdXRvJyB9fT5cbiAgICAgIDxoMj7hnpThnonhn5LhnofhnrjhnpThn5Lhnprhnpfhn4HhnpHhnpbhnrfhnoDhnrbhnprhnpfhnrbhnpY8L2gyPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y1ZjVmNScsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTBweCcsXG4gICAgICAgICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFNwYWNlIHdyYXA+XG4gICAgICAgICAgPHNwYW4+4Z6f4Z6a4Z674Z6UOiB7ZmlsdGVyZWREYXRhPy5sZW5ndGggfHwgMH08L3NwYW4+XG4gICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuGen+GfkuGenOGfguGehOGemuGegC4uLlwiXG4gICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogMjAwIH19XG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVGV4dH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0U2VhcmNoVGV4dChlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVNlYXJjaH0gdHlwZT1cInByaW1hcnlcIj7hnoXhnpjhn5Lhnprhn4Thn4c8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVJlc2V0fT7hnoDhn4bhno7hno/hn4vhnqHhnr7hnoThnpzhnrfhnok8L0J1dHRvbj5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgICAgPFNwYWNlIHdyYXA+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8UGx1c091dGxpbmVkIC8+fSB0eXBlPVwicHJpbWFyeVwiIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlKGAvZGlzYWJpbGl0eS10eXBlcy9mb3JtYCl9PuGelOGek+GfkuGekOGfguGemOGekOGfkuGemOGeuDwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgPC9kaXY+XG4gICAgICA8VGFibGVcbiAgICAgICAgcm93U2VsZWN0aW9uPXt7XG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICBvbkNoYW5nZTogKF8sIHNlbGVjdGVkUm93cykgPT4gc2V0U2VsZWN0ZWRSb3dzKHNlbGVjdGVkUm93cyksXG4gICAgICAgIH19XG4gICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgIGRhdGFTb3VyY2U9e2ZpbHRlcmVkRGF0YS5tYXAoKGl0LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICBrZXk6IGl0LmlkLFxuICAgICAgICAgIGluZGV4OiBpbmRleCArIDEsXG4gICAgICAgICAgbmFtZTogaXQubmFtZSxcbiAgICAgICAgICAuLi5pdCxcbiAgICAgICAgfSkpfVxuICAgICAgICBwYWdpbmF0aW9uPXt7IHBhZ2VTaXplOiAxMCwgc2hvd1NpemVDaGFuZ2VyOiB0cnVlIH19XG4gICAgICAgIHNjcm9sbD17eyB4OiAnbWF4LWNvbnRlbnQnIH19XG4gICAgICAvPlxuICAgICAgPExvYWRpbmdEaWFsb2cgdmlzaWJsZT17ZGlzYWJpbGl0eVR5cGVzUGVuZGluZ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpc2FiaWxpdHlUeXBlTGlzdDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybSwgSW5wdXQsIEJ1dHRvbiwgUm93LCBDb2wsIG1lc3NhZ2UgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEVkdWNhdGlvbkluc3RpdHV0aW9uIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiwgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb24sIHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IFRleHRBcmVhIGZyb20gJ2FudGQvZXMvaW5wdXQvVGV4dEFyZWEnO1xuXG5jb25zdCBOZXdFZGl0RWR1Y2F0aW9uSW5zdGl0dXRpb25QYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHsgZWR1Y2F0aW9uSW5zdGl0dXRpb24sIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBlZHVjYXRpb25JbnN0aXR1dGlvblVwZGF0ZVBlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvblxuICApO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcblxuICBjb25zdCBbaXNDbGljaywgc2V0SXNDbGlja10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8g8J+RiSBGZXRjaCBkYXRhIHdoZW4gZWRpdGluZyBvciByZXNldCBmb3JtIHdoZW4gYWRkaW5nXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaChlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbihOdW1iZXIoaWQpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBmaWVsZHMgd2hlbiBhZGRpbmcgYSBuZXcgaXRlbVxuICAgIH1cbiAgfSwgW2Rpc3BhdGNoLCBpZCwgZm9ybV0pO1xuXG4gIC8vIPCfkYkgUG9wdWxhdGUgZm9ybSB3aXRoIGZldGNoZWQgZGF0YVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCAmJiBlZHVjYXRpb25JbnN0aXR1dGlvbikge1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7XG4gICAgICAgIG5hbWU6IGVkdWNhdGlvbkluc3RpdHV0aW9uLm5hbWUgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBlZHVjYXRpb25JbnN0aXR1dGlvbi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2VkdWNhdGlvbkluc3RpdHV0aW9uLCBmb3JtLCBpZF0pO1xuXG4gIC8vIPCfkYkgU2hvdyBzdWNjZXNzIG9yIGVycm9yIGFsZXJ0c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nICYmIGlzQ2xpY2spIHtcbiAgICAgIGlmIChyZWdpc3RlckVycm9yTWVzc2FnZSkge1xuICAgICAgICBtZXNzYWdlLmVycm9yKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhpZCA/ICdVcGRhdGVkIHN1Y2Nlc3NmdWxseSEnIDogJ0NyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgICBuYXZpZ2F0ZSgnL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZHVjYXRpb25JbnN0aXR1dGlvblVwZGF0ZVBlbmRpbmcsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBpZCwgaXNDbGljaywgbmF2aWdhdGVdKTtcblxuICAvLyDwn5GJIEhhbmRsZSBmb3JtIHN1Ym1pdFxuICBjb25zdCBvbkZpbmlzaCA9ICh2YWx1ZXM6IEVkdWNhdGlvbkluc3RpdHV0aW9uKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbih7IGlkOiBOdW1iZXIoaWQpLCBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbih7IGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gYWZ0ZXIgc3VjY2Vzc2Z1bCBjcmVhdGlvblxuICAgIH1cbiAgICBzZXRJc0NsaWNrKHRydWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMj57aWQgPyAn4Z6A4Z+C4Z6U4Z+S4Z6a4Z+C4Z6f4Z+S4Z6Q4Z624Z6U4Z+Q4Z6T4Z6i4Z6U4Z+L4Z6a4Z+GJyA6ICfhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5Lhnpjhnrjhnp/hn5LhnpDhnrbhnpThn5DhnpPhnqLhnpThn4vhnprhn4YnfTwvaDI+XG4gICAgICA8Rm9ybSBmb3JtPXtmb3JtfSBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiIG9uRmluaXNoPXtvbkZpbmlzaH0gc3R5bGU9e3sgbWF4V2lkdGg6ICcxMDAlJywgbWFyZ2luOiAnMCBhdXRvJyB9fT5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4dcIiBuYW1lPVwibmFtZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ1BsZWFzZSBlbnRlciBhIG5hbWUnIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpThnprhnrfhnpnhnrbhnplcIiBuYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPFRleHRBcmVhIHJvd3M9ezN9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInByaW1hcnlcIiBibG9jayBodG1sVHlwZT1cInN1Ym1pdFwiIGxvYWRpbmc9e2VkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZ30+XG4gICAgICAgICAgICAgICAgU3VibWl0XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gaHRtbFR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZSgnL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMnKX0+XG4gICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Gb3JtPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmV3RWRpdEVkdWNhdGlvbkluc3RpdHV0aW9uUGFnZTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBJbnB1dCwgU3BhY2UsIFRhYmxlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi4vLi4vLi4vY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgRGVsZXRlT3V0bGluZWQsIEVkaXRPdXRsaW5lZCwgUGx1c091dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHsgZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24sIGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uLCBmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2VkdWNhdGlvbl9pbnN0aXR1dGlvbi9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5jb25zdCBFZHVjYXRpb25JbnN0aXR1dGlvbkxpc3QgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBbc2VsZWN0ZWRSb3dzLCBzZXRTZWxlY3RlZFJvd3NdID0gdXNlU3RhdGU8YW55PihbXSk7XG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgeyBlZHVjYXRpb25JbnN0aXR1dGlvbnMsIGVkdWNhdGlvbkluc3RpdHV0aW9uc1BlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbik7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucygpKTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cbiAgY29uc3QgaGFuZGxlRWRpdCA9IChpZDogYW55KSA9PiB7XG4gICAgZGlzcGF0Y2goZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb24oaWQpKTtcbiAgICBuYXZpZ2F0ZShgL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvZm9ybT9pZD0ke2lkfWApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IChpZDogYW55KSA9PiB7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgICB0ZXh0OiAnWW91IHdvblxcJ3QgYmUgYWJsZSB0byByZXZlcnQgdGhpcyEnLFxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXG4gICAgICBodG1sOiBgXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjb25maXJtLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY29uZmlybSBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNkMzM7XCI+RGVsZXRlPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNhbmNlbC1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNhbmNlbCBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMzMDg1ZDY7XCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYCxcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NvbmZpcm0tZGVsZXRlJyk7XG4gICAgICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NhbmNlbC1kZWxldGUnKTtcblxuICAgICAgICBjb25maXJtQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBkaXNwYXRjaChkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbihpZCkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgU3dhbC5maXJlKCdEZWxldGVkIScsICdUaGUgaXRlbSBoYXMgYmVlbiBkZWxldGVkLicsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICBkaXNwYXRjaChmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucygpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbmNlbEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gKCkgPT4ge1xuICAgIC8vIFRyaWdnZXJzIHNlYXJjaCBieSBzZXR0aW5nIHN0YXRlXG4gICAgc2V0U2VhcmNoVGV4dChzZWFyY2hUZXh0LnRyaW0oKSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXQgPSAoKSA9PiB7XG4gICAgLy8gQ2xlYXJzIGlucHV0IGFuZCBzaG93cyBhbGwgZGF0YVxuICAgIHNldFNlYXJjaFRleHQoJycpO1xuICB9O1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAgeyB0aXRsZTogJ+Gem+GfgeGegeGemuGfgOGehCcsIGRhdGFJbmRleDogJ2luZGV4Jywga2V5OiAnaW5kZXgnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6I4Z+S4Z6Y4Z+E4Z+HJywgZGF0YUluZGV4OiAnbmFtZScsIGtleTogJ25hbWUnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6U4Z6a4Z634Z6Z4Z624Z6ZJywgZGF0YUluZGV4OiAnZGVzY3JpcHRpb24nLCBrZXk6ICdkZXNjcmlwdGlvbicsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnQWN0aW9uJyxcbiAgICAgIGtleTogJ2FjdGlvbicsXG4gICAgICByZXNwb25zaXZlOiBbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJ10sXG4gICAgICByZW5kZXI6IChfOiBzdHJpbmcsIHJlY29yZDogYW55KSA9PiAoXG4gICAgICAgIDxTcGFjZSBzaXplPVwibWlkZGxlXCI+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8RWRpdE91dGxpbmVkIC8+fSB0eXBlPVwicHJpbWFyeVwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX0gLz5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxEZWxldGVPdXRsaW5lZCAvPn0gZGFuZ2VyIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShyZWNvcmQuaWQpfSAvPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgKSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IGZpbHRlcmVkRGF0YSA9IChlZHVjYXRpb25JbnN0aXR1dGlvbnMgfHwgW10pLmZpbHRlcigoaXQpID0+XG4gICAgaXQubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IG92ZXJmbG93WDogJ2F1dG8nIH19PlxuICAgICAgPGgyPuGelOGeieGfkuGeh+GeuOGen+GfkuGekOGetuGelOGfkOGek+GeouGelOGfi+GemuGfhjwvaDI+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgcGFkZGluZzogJzEwcHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjZjVmNWY1JyxcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8c3Bhbj7hnp/hnprhnrvhnpQ6IHtmaWx0ZXJlZERhdGE/Lmxlbmd0aCB8fCAwfTwvc3Bhbj5cbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi4Z6f4Z+S4Z6c4Z+C4Z6E4Z6a4Z6ALi4uXCJcbiAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAyMDAgfX1cbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hUZXh0fVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRTZWFyY2hUZXh0KGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlU2VhcmNofSB0eXBlPVwicHJpbWFyeVwiPuGeheGemOGfkuGemuGfhOGfhzwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlUmVzZXR9PuGegOGfhuGejuGej+Gfi+GeoeGevuGehOGenOGet+GeiTwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxQbHVzT3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gbmF2aWdhdGUoYC9lZHVjYXRpb24taW5zdGl0dXRpb25zL2Zvcm1gKX0+4Z6U4Z6T4Z+S4Z6Q4Z+C4Z6Y4Z6Q4Z+S4Z6Y4Z64PC9CdXR0b24+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxUYWJsZVxuICAgICAgICByb3dTZWxlY3Rpb249e3tcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIG9uQ2hhbmdlOiAoXywgc2VsZWN0ZWRSb3dzKSA9PiBzZXRTZWxlY3RlZFJvd3Moc2VsZWN0ZWRSb3dzKSxcbiAgICAgICAgfX1cbiAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgZGF0YVNvdXJjZT17ZmlsdGVyZWREYXRhLm1hcCgoaXQsIGluZGV4KSA9PiAoe1xuICAgICAgICAgIGtleTogaXQuaWQsXG4gICAgICAgICAgaW5kZXg6IGluZGV4ICsgMSxcbiAgICAgICAgICBuYW1lOiBpdC5uYW1lLFxuICAgICAgICAgIC4uLml0LFxuICAgICAgICB9KSl9XG4gICAgICAgIHBhZ2luYXRpb249e3sgcGFnZVNpemU6IDEwLCBzaG93U2l6ZUNoYW5nZXI6IHRydWUgfX1cbiAgICAgICAgc2Nyb2xsPXt7IHg6ICdtYXgtY29udGVudCcgfX1cbiAgICAgIC8+XG4gICAgICA8TG9hZGluZ0RpYWxvZyB2aXNpYmxlPXtlZHVjYXRpb25JbnN0aXR1dGlvbnNQZW5kaW5nfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRWR1Y2F0aW9uSW5zdGl0dXRpb25MaXN0O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtLCBJbnB1dCwgQnV0dG9uLCBSb3csIENvbCwgbWVzc2FnZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vcmVkdXgvc3RvcmUnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgRm9vZCB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlRm9vZEFjdGlvbiwgZm9vZERldGFpbEFjdGlvbiwgdXBkYXRlRm9vZEFjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Zvb2QvY29yZS9hY3Rpb25zJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgVGV4dEFyZWEgZnJvbSAnYW50ZC9lcy9pbnB1dC9UZXh0QXJlYSc7XG5cbmNvbnN0IE5ld0VkaXRGb29kUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCB7IGZvb2QsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBmb29kVXBkYXRlUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmZvb2RcbiAgKTtcbiAgY29uc3QgW2Zvcm1dID0gRm9ybS51c2VGb3JtKCk7XG5cbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICBjb25zdCBpZCA9IHNlYXJjaFBhcmFtcy5nZXQoJ2lkJyk7XG5cbiAgY29uc3QgW2lzQ2xpY2ssIHNldElzQ2xpY2tdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIC8vIPCfkYkgRmV0Y2ggZGF0YSB3aGVuIGVkaXRpbmcgb3IgcmVzZXQgZm9ybSB3aGVuIGFkZGluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgZGlzcGF0Y2goZm9vZERldGFpbEFjdGlvbihOdW1iZXIoaWQpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBmaWVsZHMgd2hlbiBhZGRpbmcgYSBuZXcgaXRlbVxuICAgIH1cbiAgfSwgW2Rpc3BhdGNoLCBpZCwgZm9ybV0pO1xuXG4gIC8vIPCfkYkgUG9wdWxhdGUgZm9ybSB3aXRoIGZldGNoZWQgZGF0YVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCAmJiBmb29kKSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHtcbiAgICAgICAgbmFtZTogZm9vZC5uYW1lIHx8ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogZm9vZC5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2Zvb2QsIGZvcm0sIGlkXSk7XG5cbiAgLy8g8J+RiSBTaG93IHN1Y2Nlc3Mgb3IgZXJyb3IgYWxlcnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFmb29kVXBkYXRlUGVuZGluZyAmJiBpc0NsaWNrKSB7XG4gICAgICBpZiAocmVnaXN0ZXJFcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgbWVzc2FnZS5lcnJvcihyZWdpc3RlckVycm9yTWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoaWQgPyAnVXBkYXRlZCBzdWNjZXNzZnVsbHkhJyA6ICdDcmVhdGVkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgICAgICAgbmF2aWdhdGUoJy9mb29kcycpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2Zvb2RVcGRhdGVQZW5kaW5nLCByZWdpc3RlckVycm9yTWVzc2FnZSwgaWQsIGlzQ2xpY2ssIG5hdmlnYXRlXSk7XG5cbiAgLy8g8J+RiSBIYW5kbGUgZm9ybSBzdWJtaXRcbiAgY29uc3Qgb25GaW5pc2ggPSAodmFsdWVzOiBGb29kKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVGb29kQWN0aW9uKHsgaWQ6IE51bWJlcihpZCksIGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKGNyZWF0ZUZvb2RBY3Rpb24oeyBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpOyAvLyBSZXNldCBmb3JtIGFmdGVyIHN1Y2Nlc3NmdWwgY3JlYXRpb25cbiAgICB9XG4gICAgc2V0SXNDbGljayh0cnVlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aDI+e2lkID8gJ+GegOGfguGelOGfkuGemuGfguGeouGetuGeoOGetuGemicgOiAn4Z6U4Z6T4Z+S4Z6Q4Z+C4Z6Y4Z6Q4Z+S4Z6Y4Z644Z6i4Z624Z6g4Z624Z6aJ308L2gyPlxuICAgICAgPEZvcm0gZm9ybT17Zm9ybX0gbGF5b3V0PVwidmVydGljYWxcIiBvbkZpbmlzaD17b25GaW5pc2h9IHN0eWxlPXt7IG1heFdpZHRoOiAnMTAwJScsIG1hcmdpbjogJzAgYXV0bycgfX0+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0+XG4gICAgICAgICAgPENvbCBzcGFuPXsxMn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6I4Z+S4Z6Y4Z+E4Z+HXCIgbmFtZT1cIm5hbWVcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICdQbGVhc2UgZW50ZXIgYSBuYW1lJyB9XX0+XG4gICAgICAgICAgICAgIDxJbnB1dCAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXsxMn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6U4Z6a4Z634Z6Z4Z624Z6ZXCIgbmFtZT1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgIDxUZXh0QXJlYSByb3dzPXszfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgICA8Um93IGd1dHRlcj17WzEyLCAxMl19PlxuICAgICAgICAgIDxDb2wgc3Bhbj17M30+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgYmxvY2sgaHRtbFR5cGU9XCJzdWJtaXRcIiBsb2FkaW5nPXtmb29kVXBkYXRlUGVuZGluZ30+XG4gICAgICAgICAgICAgICAgU3VibWl0XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gaHRtbFR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZSgnL2Zvb2RzJyl9PlxuICAgICAgICAgICAgICAgIENhbmNlbFxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvRm9ybT5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5ld0VkaXRGb29kUGFnZTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBJbnB1dCwgU3BhY2UsIFRhYmxlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi4vLi4vLi4vY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgRGVsZXRlT3V0bGluZWQsIEVkaXRPdXRsaW5lZCwgUGx1c091dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHsgZGVsZXRlRm9vZEFjdGlvbiwgZm9vZERldGFpbEFjdGlvbiwgZmV0Y2hGb29kcyB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Zvb2QvY29yZS9hY3Rpb25zJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuY29uc3QgRm9vZExpc3QgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBbc2VsZWN0ZWRSb3dzLCBzZXRTZWxlY3RlZFJvd3NdID0gdXNlU3RhdGU8YW55PihbXSk7XG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgeyBmb29kcywgZm9vZHNQZW5kaW5nIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuZm9vZCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaEZvb2RzKCkpO1xuICB9LCBbZGlzcGF0Y2hdKTtcblxuICBjb25zdCBoYW5kbGVFZGl0ID0gKGlkOiBhbnkpID0+IHtcbiAgICBkaXNwYXRjaChmb29kRGV0YWlsQWN0aW9uKGlkKSk7XG4gICAgbmF2aWdhdGUoYC9mb29kcy9mb3JtP2lkPSR7aWR9YCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlID0gKGlkOiBhbnkpID0+IHtcbiAgICBTd2FsLmZpcmUoe1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmU/JyxcbiAgICAgIHRleHQ6ICdZb3Ugd29uXFwndCBiZSBhYmxlIHRvIHJldmVydCB0aGlzIScsXG4gICAgICBpY29uOiAnd2FybmluZycsXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZSxcbiAgICAgIGh0bWw6IGBcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDEwcHg7IG1hcmdpbi10b3A6IDIwcHg7XCI+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNvbmZpcm0tZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jb25maXJtIHN3YWwyLXN0eWxlZFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2QzMztcIj5EZWxldGU8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY2FuY2VsLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY2FuY2VsIHN3YWwyLXN0eWxlZFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzMwODVkNjtcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgLFxuICAgICAgZGlkT3BlbjogKCkgPT4ge1xuICAgICAgICBjb25zdCBjb25maXJtQnV0dG9uID0gU3dhbC5nZXRQb3B1cCgpPy5xdWVyeVNlbGVjdG9yKCcjY29uZmlybS1kZWxldGUnKTtcbiAgICAgICAgY29uc3QgY2FuY2VsQnV0dG9uID0gU3dhbC5nZXRQb3B1cCgpPy5xdWVyeVNlbGVjdG9yKCcjY2FuY2VsLWRlbGV0ZScpO1xuXG4gICAgICAgIGNvbmZpcm1CdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIGRpc3BhdGNoKGRlbGV0ZUZvb2RBY3Rpb24oaWQpKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIFN3YWwuZmlyZSgnRGVsZXRlZCEnLCAnVGhlIGl0ZW0gaGFzIGJlZW4gZGVsZXRlZC4nLCAnc3VjY2VzcycpO1xuICAgICAgICAgICAgZGlzcGF0Y2goZmV0Y2hGb29kcygpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbmNlbEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gKCkgPT4ge1xuICAgIC8vIFRyaWdnZXJzIHNlYXJjaCBieSBzZXR0aW5nIHN0YXRlXG4gICAgc2V0U2VhcmNoVGV4dChzZWFyY2hUZXh0LnRyaW0oKSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXQgPSAoKSA9PiB7XG4gICAgLy8gQ2xlYXJzIGlucHV0IGFuZCBzaG93cyBhbGwgZGF0YVxuICAgIHNldFNlYXJjaFRleHQoJycpO1xuICB9O1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAgeyB0aXRsZTogJ+Gem+GfgeGegeGemuGfgOGehCcsIGRhdGFJbmRleDogJ2luZGV4Jywga2V5OiAnaW5kZXgnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6I4Z+S4Z6Y4Z+E4Z+HJywgZGF0YUluZGV4OiAnbmFtZScsIGtleTogJ25hbWUnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6U4Z6a4Z634Z6Z4Z624Z6ZJywgZGF0YUluZGV4OiAnZGVzY3JpcHRpb24nLCBrZXk6ICdkZXNjcmlwdGlvbicsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnQWN0aW9uJyxcbiAgICAgIGtleTogJ2FjdGlvbicsXG4gICAgICByZXNwb25zaXZlOiBbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJ10sXG4gICAgICByZW5kZXI6IChfOiBzdHJpbmcsIHJlY29yZDogYW55KSA9PiAoXG4gICAgICAgIDxTcGFjZSBzaXplPVwibWlkZGxlXCI+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8RWRpdE91dGxpbmVkIC8+fSB0eXBlPVwicHJpbWFyeVwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX0gLz5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxEZWxldGVPdXRsaW5lZCAvPn0gZGFuZ2VyIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShyZWNvcmQuaWQpfSAvPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgKSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IGZpbHRlcmVkRGF0YSA9IChmb29kcyB8fCBbXSkuZmlsdGVyKChpdCkgPT5cbiAgICBpdC5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSlcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgb3ZlcmZsb3dYOiAnYXV0bycgfX0+XG4gICAgICA8aDI+4Z6U4Z6J4Z+S4Z6H4Z644Z6i4Z624Z6g4Z624Z6aPC9oMj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogJyNmNWY1ZjUnLFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEwcHgnLFxuICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgIDxzcGFuPuGen+GemuGeu+GelDoge2ZpbHRlcmVkRGF0YT8ubGVuZ3RoIHx8IDB9PC9zcGFuPlxuICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLhnp/hn5Lhnpzhn4LhnoThnprhnoAuLi5cIlxuICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IDIwMCB9fVxuICAgICAgICAgICAgdmFsdWU9e3NlYXJjaFRleHR9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldFNlYXJjaFRleHQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTZWFyY2h9IHR5cGU9XCJwcmltYXJ5XCI+4Z6F4Z6Y4Z+S4Z6a4Z+E4Z+HPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVSZXNldH0+4Z6A4Z+G4Z6O4Z6P4Z+L4Z6h4Z6+4Z6E4Z6c4Z634Z6JPC9CdXR0b24+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PFBsdXNPdXRsaW5lZCAvPn0gdHlwZT1cInByaW1hcnlcIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZShgL2Zvb2RzL2Zvcm1gKX0+4Z6U4Z6T4Z+S4Z6Q4Z+C4Z6Y4Z6Q4Z+S4Z6Y4Z64PC9CdXR0b24+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxUYWJsZVxuICAgICAgICByb3dTZWxlY3Rpb249e3tcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIG9uQ2hhbmdlOiAoXywgc2VsZWN0ZWRSb3dzKSA9PiBzZXRTZWxlY3RlZFJvd3Moc2VsZWN0ZWRSb3dzKSxcbiAgICAgICAgfX1cbiAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgZGF0YVNvdXJjZT17ZmlsdGVyZWREYXRhLm1hcCgoaXQsIGluZGV4KSA9PiAoe1xuICAgICAgICAgIGtleTogaXQuaWQsXG4gICAgICAgICAgaW5kZXg6IGluZGV4ICsgMSxcbiAgICAgICAgICBuYW1lOiBpdC5uYW1lLFxuICAgICAgICAgIC4uLml0LFxuICAgICAgICB9KSl9XG4gICAgICAgIHBhZ2luYXRpb249e3sgcGFnZVNpemU6IDEwLCBzaG93U2l6ZUNoYW5nZXI6IHRydWUgfX1cbiAgICAgICAgc2Nyb2xsPXt7IHg6ICdtYXgtY29udGVudCcgfX1cbiAgICAgIC8+XG4gICAgICA8TG9hZGluZ0RpYWxvZyB2aXNpYmxlPXtmb29kc1BlbmRpbmd9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGb29kTGlzdDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tIFwicmVhY3QtcmVkdXhcIjtcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvcmVkdXgvc3RvcmVcIjtcbmltcG9ydCB7IGZldGNoRGFzaGJvYXJkQWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlci9jb3JlL2FjdGlvbnNcIjtcbmltcG9ydCB7IExheW91dCwgQnJlYWRjcnVtYiwgUm93LCBDb2wsIENhcmQsIFN0YXRpc3RpYywgQnV0dG9uLCBUeXBvZ3JhcGh5IH0gZnJvbSBcImFudGRcIjtcbmltcG9ydCB7IFVzZXJPdXRsaW5lZCwgQ2FsZW5kYXJPdXRsaW5lZCwgVGVhbU91dGxpbmVkLCBGaWxlRXhjZWxPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xuaW1wb3J0IHsgQmFyQ2hhcnQsIFhBeGlzLCBZQXhpcywgVG9vbHRpcCBhcyBSZWNoYXJ0c1Rvb2x0aXAsIEJhciwgUmVzcG9uc2l2ZUNvbnRhaW5lciwgQ2FydGVzaWFuR3JpZCwgUGllQ2hhcnQsIFBpZSwgQ2VsbCwgTGVnZW5kIH0gZnJvbSBcInJlY2hhcnRzXCI7XG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gXCJ4bHN4XCI7IC8vIOKchSBJbXBvcnQgWExTWCBmb3IgRXhjZWwgZXhwb3J0XG5cbmNvbnN0IHsgVGl0bGUgfSA9IFR5cG9ncmFwaHk7XG5jb25zdCB7IENvbnRlbnQgfSA9IExheW91dDtcblxuY29uc3QgQ09MT1JTID0gWycjMDA4OEZFJywgJyMwMEM0OUYnLCAnI0ZGQkIyOCcsICcjRkY4MDQyJywgJyNBMjhERkYnLCAnI0ZGNDU2MCcsICcjNzc1REQwJywgJyNGODY2MjQnXTtcbmNvbnN0IFNUQVRfQ09MT1JTID0gWycjRkY1NzMzJywgJyMwMDczZTYnLCAnIzJFQ0M3MScsICcjMUU5MEZGJywgJyNGRjY5QjQnLCAnI0ZGQTUwMCcsICcjRjBCQkYwRkYnXTtcblxuY29uc3QgRGFzaGJvYXJkSG9tZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZGFzaGJvYXJkIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUudm9sdW50ZWVyKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hEYXNoYm9hcmRBY3Rpb24oKSk7XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIGNvbnN0IGNoYXJ0RGF0YSA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX3N0YXR1cyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgbmFtZToga2V5LnJlcGxhY2UoXCJjb3VudF9cIiwgXCJcIikucmVwbGFjZShcIl9cIiwgXCIgXCIpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgY29uc3QgY2hhdFZvbHVudGVlclByb3ZpbmNlID0gT2JqZWN0LmVudHJpZXMoZGFzaGJvYXJkPy5jb3VudF92b2x1bnRlZXJfcHJvdmluY2VzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBuYW1lOiBrZXkuc3BsaXQoXCIvXCIpLnBvcCgpLnRyaW0oKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIGNvbnN0IGNoYXRWb2x1bnRlZXJHZW5kZXIgPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9nZW5kZXJzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBuYW1lOiBrZXkucmVwbGFjZShcImNvdW50X1wiLCBcIlwiKS5yZXBsYWNlKFwiX1wiLCBcIiBcIiksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICBjb25zdCBjaGF0Vm9sdW50ZWVyVHNoaXJ0ID0gT2JqZWN0LmVudHJpZXMoZGFzaGJvYXJkPy5jb3VudF92b2x1bnRlZXJfc2hpcnRfc2l6ZXMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG5cbiAgLy8gY291bnRfdm9sdW50ZWVyX29jY3VwYXRpb25zXG5cblxuICBjb25zdCBjaGF0Vm9sdW50ZWVyT2NjdXBhdGlvbnMgPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9vY2N1cGF0aW9ucyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgbmFtZToga2V5LFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgLy8gY291bnRfdm9sdW50ZWVyX2VkdWNhdGlvbl9pbnN0aXR1dGlvbnNcbiAgY29uc3QgY2hhdFZvbHVudGVlckVkdWNhdGlvbkluc3QgPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9lZHVjYXRpb25faW5zdGl0dXRpb25zIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBuYW1lOiBrZXksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICAvLyBjb3VudF9pbnRlcmVzdGVkX3RlYW1cbiAgY29uc3QgY2hhdFZvbHVudGVlckludGVyZXN0ZWRUZWFtID0gT2JqZWN0LmVudHJpZXMoZGFzaGJvYXJkPy5jb3VudF9pbnRlcmVzdGVkX3RlYW0gfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIC8vIOKchSBGdW5jdGlvbiB0byBFeHBvcnQgQWxsIERhdGEgdG8gRXhjZWxcbiAgY29uc3QgZXhwb3J0VG9FeGNlbCA9ICgpID0+IHtcbiAgICBjb25zdCB3YiA9IFhMU1gudXRpbHMuYm9va19uZXcoKTtcblxuICAgIC8vIENyZWF0ZSBpbmRpdmlkdWFsIHNoZWV0cyBmb3IgZWFjaCBkYXRhc2V0XG4gICAgY29uc3Qgc2hlZXRzID0ge1xuICAgICAgXCJWb2x1bnRlZXIgU3RhdHVzXCI6IGNoYXJ0RGF0YSxcbiAgICAgIFwiVm9sdW50ZWVyIGJ5IFByb3ZpbmNlXCI6IGNoYXRWb2x1bnRlZXJQcm92aW5jZSxcbiAgICAgIFwiVm9sdW50ZWVyIEdlbmRlclwiOiBjaGF0Vm9sdW50ZWVyR2VuZGVyLFxuICAgICAgXCJWb2x1bnRlZXIgVC1TaGlydCBTaXplXCI6IGNoYXRWb2x1bnRlZXJUc2hpcnQsXG4gICAgICBcIlZvbHVudGVlciBPY2N1cGF0aW9uc1wiOiBjaGF0Vm9sdW50ZWVyT2NjdXBhdGlvbnMsXG4gICAgICBcIkVkdWNhdGlvbiBJbnN0aXR1dGlvbnNcIjogY2hhdFZvbHVudGVlckVkdWNhdGlvbkluc3QsXG4gICAgICBcIlRlYW1cIjogY2hhdFZvbHVudGVlckludGVyZXN0ZWRUZWFtLFxuICAgIH07XG5cbiAgICBPYmplY3QuZW50cmllcyhzaGVldHMpLmZvckVhY2goKFtzaGVldE5hbWUsIGRhdGFdKSA9PiB7XG4gICAgICBjb25zdCB3cyA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChkYXRhKTtcbiAgICAgIFhMU1gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod2IsIHdzLCBzaGVldE5hbWUpO1xuICAgIH0pO1xuXG4gICAgLy8g4pyFIEdlbmVyYXRlIGFuZCBEb3dubG9hZCB0aGUgRXhjZWwgRmlsZVxuICAgIFhMU1gud3JpdGVGaWxlKHdiLCBcIlZvbHVudGVlcl9EYXNoYm9hcmRfUmVwb3J0Lnhsc3hcIik7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8TGF5b3V0IHN0eWxlPXt7IHBhZGRpbmc6ICcxNnB4JyB9fT5cbiAgICAgIDxCcmVhZGNydW1iIHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogJzEycHgnLCBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuXG4gICAgICAgIDxCcmVhZGNydW1iLkl0ZW0+RGFzaGJvYXJkPC9CcmVhZGNydW1iLkl0ZW0+XG5cbiAgICAgIDwvQnJlYWRjcnVtYj5cblxuICAgICAgPENvbnRlbnQgc3R5bGU9e3sgYmFja2dyb3VuZDogJyNmZmYnLCBwYWRkaW5nOiAnMTZweCcsIGJvcmRlclJhZGl1czogJzhweCcgfX0+XG4gICAgICAgIDxSb3cganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBhbGlnbj1cIm1pZGRsZVwiIHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogXCIxNnB4XCIgfX0+XG4gICAgICAgICAgPENvbD5cbiAgICAgICAgICAgIDxUaXRsZSBsZXZlbD17NH0gc3R5bGU9e3sgbWFyZ2luOiAwIH19PkRhc2hib2FyZCBPdmVydmlldzwvVGl0bGU+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbD5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICBpY29uPXs8RmlsZUV4Y2VsT3V0bGluZWQgLz59XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2V4cG9ydFRvRXhjZWx9XG4gICAgICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBnYXA6IFwiOHB4XCIgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgRXhwb3J0IHRvIEV4Y2VsXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cblxuXG5cblxuXG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbOCwgOF19PlxuICAgICAgICAgIHtbXG4gICAgICAgICAgICB7IHRpdGxlOiAnVG90YWwgVm9sdW50ZWVycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcnMsIGljb246IDxVc2VyT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1swXSB9LFxuICAgICAgICAgICAgeyB0aXRsZTogJ1RvdGFsIEV2ZW50cycsIHZhbHVlOiAxLCBpY29uOiA8Q2FsZW5kYXJPdXRsaW5lZCAvPiwgY29sb3I6IFNUQVRfQ09MT1JTWzFdIH0sXG4gICAgICAgICAgICB7IHRpdGxlOiAnVG90YWwgQWRtaW4gVXNlcnMnLCB2YWx1ZTogZGFzaGJvYXJkPy5jb3VudF91c2VyX3JvbGVzPy5jb3VudF9zdXBlcl9hZG1pbiwgaWNvbjogPFRlYW1PdXRsaW5lZCAvPiwgY29sb3I6IFNUQVRfQ09MT1JTWzJdIH0sXG4gICAgICAgICAgICAvLyB7IHRpdGxlOiAnVG90YWwgVXNlcnMnLCB2YWx1ZTogZGFzaGJvYXJkPy5jb3VudF91c2VyX3JvbGVzPy5jb3VudF91c2VyLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+LCBjb2xvcjogU1RBVF9DT0xPUlNbM10gfSxcbiAgICAgICAgICAgIHsgdGl0bGU6ICdNYWxlIFZvbHVudGVlcnMnLCB2YWx1ZTogZGFzaGJvYXJkPy5jb3VudF92b2x1bnRlZXJfZ2VuZGVycz8uY291bnRfbWFsZSwgaWNvbjogPFRlYW1PdXRsaW5lZCAvPiwgY29sb3I6IFNUQVRfQ09MT1JTWzRdIH0sXG4gICAgICAgICAgICB7IHRpdGxlOiAnRmVtYWxlIFZvbHVudGVlcnMnLCB2YWx1ZTogZGFzaGJvYXJkPy5jb3VudF92b2x1bnRlZXJfZ2VuZGVycz8uY291bnRfZmVtYWxlLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+LCBjb2xvcjogU1RBVF9DT0xPUlNbNV0gfSxcbiAgICAgICAgICAgIC8vIHsgdGl0bGU6ICdUb3RhbCBUcmFpbmluZyBTZXNzaW9ucycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3RyYWluaW5nX3Nlc3Npb25zLCBpY29uOiA8UmVhZE91dGxpbmVkIC8+LCBjb2xvcjogU1RBVF9DT0xPUlNbNl0gfSxcbiAgICAgICAgICBdLm1hcCgoc3RhdCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MjR9IG1kPXs2fSBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgPENhcmQgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBzdGF0LmNvbG9yLCBjb2xvcjogJyNmZmYnLCBtaW5IZWlnaHQ6IDE2MCB9fT5cbiAgICAgICAgICAgICAgICA8U3RhdGlzdGljIHRpdGxlPXtzdGF0LnRpdGxlfSB2YWx1ZT17c3RhdC52YWx1ZX0gcHJlZml4PXtzdGF0Lmljb259IHZhbHVlU3R5bGU9e3sgY29sb3I6ICcjZmZmJyB9fSAvPlxuICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICApKX1cblxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdz5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezI0fT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBTdGF0dXMgQnJlYWtkb3duPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxCYXJDaGFydCBkYXRhPXtjaGFydERhdGF9IG1hcmdpbj17eyB0b3A6IDEwLCByaWdodDogMjAsIGxlZnQ6IDEwLCBib3R0b206IDUgfX0+XG4gICAgICAgICAgICAgICAgICA8Q2FydGVzaWFuR3JpZCBzdHJva2VEYXNoYXJyYXk9XCIzIDNcIiAvPlxuICAgICAgICAgICAgICAgICAgPFhBeGlzIGRhdGFLZXk9XCJuYW1lXCIgdGljaz17eyBmb250U2l6ZTogMTAgfX0gLz5cbiAgICAgICAgICAgICAgICAgIDxZQXhpcyBhbGxvd0RlY2ltYWxzPXtmYWxzZX0gLz5cbiAgICAgICAgICAgICAgICAgIDxSZWNoYXJ0c1Rvb2x0aXAgLz5cbiAgICAgICAgICAgICAgICAgIDxCYXIgZGF0YUtleT1cInZhbHVlXCIgZmlsbD1cIiMzYjgyZjZcIiBiYXJTaXplPXszMH0gLz5cbiAgICAgICAgICAgICAgICA8L0JhckNoYXJ0PlxuICAgICAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgICB7Lyogdm9sdW50ZWVyIGJ5IGdyb3VwICovfVxuICAgICAgICA8Um93PlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MjR9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIFRlYW08L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPEJhckNoYXJ0IGRhdGE9e2NoYXRWb2x1bnRlZXJJbnRlcmVzdGVkVGVhbX0gbWFyZ2luPXt7IHRvcDogMTAsIHJpZ2h0OiAyMCwgbGVmdDogMTAsIGJvdHRvbTogNSB9fT5cbiAgICAgICAgICAgICAgICAgIDxDYXJ0ZXNpYW5HcmlkIHN0cm9rZURhc2hhcnJheT1cIjMgM1wiIC8+XG4gICAgICAgICAgICAgICAgICA8WEF4aXMgZGF0YUtleT1cIm5hbWVcIiB0aWNrPXt7IGZvbnRTaXplOiAxMCB9fSAvPlxuICAgICAgICAgICAgICAgICAgPFlBeGlzIGFsbG93RGVjaW1hbHM9e2ZhbHNlfSAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgICAgPEJhciBkYXRhS2V5PVwidmFsdWVcIiBmaWxsPVwiIzNiODJmNlwiIGJhclNpemU9ezMwfSAvPlxuICAgICAgICAgICAgICAgIDwvQmFyQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbCB4cz17MjR9IGxnPXsxMn0+XG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIG1iLTJcIj5Wb2x1bnRlZXIgU3RhdHVzIEJyZWFrZG93bjwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8UGllQ2hhcnQ+XG4gICAgICAgICAgICAgICAgICA8UGllIGRhdGE9e2NoYXJ0RGF0YX0gZGF0YUtleT1cInZhbHVlXCIgbmFtZUtleT1cIm5hbWVcIiBjeD1cIjUwJVwiIGN5PVwiNTAlXCIgb3V0ZXJSYWRpdXM9ezgwfSBsYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge2NoYXJ0RGF0YS5tYXAoKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPENlbGwga2V5PXtgY2VsbC0ke2luZGV4fWB9IGZpbGw9e0NPTE9SU1tpbmRleCAlIENPTE9SUy5sZW5ndGhdfSAvPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgIDwvUGllPlxuICAgICAgICAgICAgICAgICAgPExlZ2VuZCAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgIDwvUGllQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbCB4cz17MjR9IGxnPXsyNH0+XG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIG1iLTJcIj5Wb2x1bnRlZXIgYnkgUHJvdmluY2U8L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPEJhckNoYXJ0IGRhdGE9e2NoYXRWb2x1bnRlZXJQcm92aW5jZX0gbWFyZ2luPXt7IHRvcDogMTAsIHJpZ2h0OiAyMCwgbGVmdDogMTAsIGJvdHRvbTogNSB9fT5cbiAgICAgICAgICAgICAgICAgIDxDYXJ0ZXNpYW5HcmlkIHN0cm9rZURhc2hhcnJheT1cIjMgM1wiIC8+XG4gICAgICAgICAgICAgICAgICA8WEF4aXMgZGF0YUtleT1cIm5hbWVcIiB0aWNrPXt7IGZvbnRTaXplOiAxMCB9fSAvPlxuICAgICAgICAgICAgICAgICAgPFlBeGlzIGFsbG93RGVjaW1hbHM9e2ZhbHNlfSAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgICAgPEJhciBkYXRhS2V5PVwidmFsdWVcIiBmaWxsPVwiIzNiODJmNlwiIGJhclNpemU9ezMwfSAvPlxuICAgICAgICAgICAgICAgIDwvQmFyQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezEyfT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBHZW5kZXI8L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPFBpZUNoYXJ0PlxuICAgICAgICAgICAgICAgICAgPFBpZSBkYXRhPXtjaGF0Vm9sdW50ZWVyR2VuZGVyfSBkYXRhS2V5PVwidmFsdWVcIiBuYW1lS2V5PVwibmFtZVwiIGN4PVwiNTAlXCIgY3k9XCI1MCVcIiBvdXRlclJhZGl1cz17ODB9IGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7Y2hhdFZvbHVudGVlckdlbmRlci5tYXAoKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPENlbGwga2V5PXtgY2VsbC0ke2luZGV4fWB9IGZpbGw9e0NPTE9SU1tpbmRleCAlIENPTE9SUy5sZW5ndGhdfSAvPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgIDwvUGllPlxuICAgICAgICAgICAgICAgICAgPExlZ2VuZCAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgIDwvUGllQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cblxuICAgICAgICAgIHsvKiAvLyB0X3NoaXJ0X3NpemUgKi99XG4gICAgICAgICAgPENvbCB4cz17MjR9IGxnPXsxMn0+XG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIG1iLTJcIj5Wb2x1bnRlZXIgVC1TaGlydCBTaXplPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxQaWVDaGFydD5cbiAgICAgICAgICAgICAgICAgIDxQaWUgZGF0YT17Y2hhdFZvbHVudGVlclRzaGlydH0gZGF0YUtleT1cInZhbHVlXCIgbmFtZUtleT1cIm5hbWVcIiBjeD1cIjUwJVwiIGN5PVwiNTAlXCIgb3V0ZXJSYWRpdXM9ezgwfSBsYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge2NoYXRWb2x1bnRlZXJUc2hpcnQubWFwKChfLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxDZWxsIGtleT17YGNlbGwtJHtpbmRleH1gfSBmaWxsPXtDT0xPUlNbaW5kZXggJSBDT0xPUlMubGVuZ3RoXX0gLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1BpZT5cbiAgICAgICAgICAgICAgICAgIDxMZWdlbmQgLz5cbiAgICAgICAgICAgICAgICAgIDxSZWNoYXJ0c1Rvb2x0aXAgLz5cbiAgICAgICAgICAgICAgICA8L1BpZUNoYXJ0PlxuICAgICAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9Db2w+XG5cbiAgICAgICAgICB7LyogLy8gb2NjdXBhdGlvbiAqL31cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezEyfT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBPY2N1cGF0aW9uPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxQaWVDaGFydD5cbiAgICAgICAgICAgICAgICAgIDxQaWUgZGF0YT17Y2hhdFZvbHVudGVlck9jY3VwYXRpb25zfSBkYXRhS2V5PVwidmFsdWVcIiBuYW1lS2V5PVwibmFtZVwiIGN4PVwiNTAlXCIgY3k9XCI1MCVcIiBvdXRlclJhZGl1cz17ODB9IGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7Y2hhdFZvbHVudGVlck9jY3VwYXRpb25zLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBrZXk9e2BjZWxsLSR7aW5kZXh9YH0gZmlsbD17Q09MT1JTW2luZGV4ICUgQ09MT1JTLmxlbmd0aF19IC8+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9QaWU+XG4gICAgICAgICAgICAgICAgICA8TGVnZW5kIC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgPC9QaWVDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuXG4gICAgICAgICAgPENvbCB4cz17MjR9IGxnPXsyNH0+XG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIG1iLTJcIj5Wb2x1bnRlZXIgRWR1Y2F0aW9uIEluc3RpdHVkZTwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8QmFyQ2hhcnQgZGF0YT17Y2hhdFZvbHVudGVlckVkdWNhdGlvbkluc3R9IG1hcmdpbj17eyB0b3A6IDEwLCByaWdodDogMjAsIGxlZnQ6IDEwLCBib3R0b206IDUgfX0+XG4gICAgICAgICAgICAgICAgICA8Q2FydGVzaWFuR3JpZCBzdHJva2VEYXNoYXJyYXk9XCIzIDNcIiAvPlxuICAgICAgICAgICAgICAgICAgPFhBeGlzIGRhdGFLZXk9XCJuYW1lXCIgdGljaz17eyBmb250U2l6ZTogMTAgfX0gLz5cbiAgICAgICAgICAgICAgICAgIDxZQXhpcyBhbGxvd0RlY2ltYWxzPXtmYWxzZX0gLz5cbiAgICAgICAgICAgICAgICAgIDxSZWNoYXJ0c1Rvb2x0aXAgLz5cbiAgICAgICAgICAgICAgICAgIDxCYXIgZGF0YUtleT1cInZhbHVlXCIgZmlsbD1cIiMzYjgyZjZcIiBiYXJTaXplPXszMH0gLz5cbiAgICAgICAgICAgICAgICA8L0JhckNoYXJ0PlxuICAgICAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250ZW50PlxuICAgIDwvTGF5b3V0PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGFzaGJvYXJkSG9tZTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBBcHBzdG9yZU91dGxpbmVkLFxuICBEYXNoYm9hcmRPdXRsaW5lZCxcbiAgTG9nb3V0T3V0bGluZWQsXG4gIE1lbnVPdXRsaW5lZCxcbiAgU2V0dGluZ091dGxpbmVkLFxuICBFbnZpcm9ubWVudE91dGxpbmVkLFxuICBVc2VyT3V0bGluZWQsXG4gIEJvb2tPdXRsaW5lZCxcbiAgU2hvcE91dGxpbmVkLFxuICBUZWFtT3V0bGluZWQsXG4gIEdsb2JhbE91dGxpbmVkLFxuICBCdWlsZE91dGxpbmVkLFxuICBTa2V0Y2hPdXRsaW5lZCxcbiAgQnVsYk91dGxpbmVkLFxuICBDYXJPdXRsaW5lZCxcbiAgTm90aWZpY2F0aW9uT3V0bGluZWQsXG4gIEZpbGVBZGRPdXRsaW5lZCxcbn0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHsgTGF5b3V0LCBNZW51LCBCdXR0b24sIERyYXdlciwgQXZhdGFyIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCBSb3V0ZSwgUm91dGVzLCB1c2VMb2NhdGlvbiwgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IGxvZ291dCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgSG9tZVBhZ2UgZnJvbSAnLic7XG5pbXBvcnQgRm9vdGVyQ29tcG9uZW50IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1jb21wb25lbnQnO1xuaW1wb3J0IGxvZ28gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xvZ29zL2xvZ28ucG5nJztcbmltcG9ydCBWb2x1bnRlZXJMaXN0IGZyb20gJy4uL3ZvbHVudGVlcic7XG5pbXBvcnQgTmV3RWRpdFZvbHVudGVlclBhZ2UgZnJvbSAnLi4vdm9sdW50ZWVyL2Zvcm0nO1xuaW1wb3J0IERpc2FiaWxpdHlUeXBlTGlzdCBmcm9tICcuLi9kaXNhYmlsaXR5X3R5cGUnO1xuaW1wb3J0IE5ld0VkaXREaXNhYmlsaXR5VHlwZVBhZ2UgZnJvbSAnLi4vZGlzYWJpbGl0eV90eXBlL2Zvcm0nO1xuaW1wb3J0IE5ld0VkaXRFZHVjYXRpb25JbnN0aXR1dGlvblBhZ2UgZnJvbSAnLi4vZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2Zvcm0nO1xuaW1wb3J0IEVkdWNhdGlvbkluc3RpdHV0aW9uTGlzdCBmcm9tICcuLi9lZHVjYXRpb25faW5zdGl0dXRpb24nO1xuaW1wb3J0IEZvb2RMaXN0IGZyb20gJy4uL2Zvb2QnO1xuaW1wb3J0IE5ld0VkaXRGb29kUGFnZSBmcm9tICcuLi9mb29kL2Zvcm0nO1xuaW1wb3J0IEludGVyZXN0ZWRUZWFtTGlzdCBmcm9tICcuLi9pbnRlcmVzdGVkX3RlYW0nO1xuaW1wb3J0IE5ld0VkaXRJbnRlcmVzdGVkVGVhbVBhZ2UgZnJvbSAnLi4vaW50ZXJlc3RlZF90ZWFtL2Zvcm0nO1xuaW1wb3J0IExhbmd1YWdlTGlzdCBmcm9tICcuLi9sYW5ndWFnZSc7XG5pbXBvcnQgTmV3RWRpdExhbmd1YWdlUGFnZSBmcm9tICcuLi9sYW5ndWFnZS9mb3JtJztcbmltcG9ydCBPY2N1cGF0aW9uTGlzdCBmcm9tICcuLi9vY2N1cGF0aW9uJztcbmltcG9ydCBOZXdFZGl0T2NjdXBhdGlvblBhZ2UgZnJvbSAnLi4vb2NjdXBhdGlvbi9mb3JtJztcbmltcG9ydCBPcHBvcnR1bml0eVNvdXJjZUxpc3QgZnJvbSAnLi4vb3Bwb3J0dW5pdHlfc291cmNlJztcbmltcG9ydCBOZXdFZGl0T3Bwb3J0dW5pdHlTb3VyY2VQYWdlIGZyb20gJy4uL29wcG9ydHVuaXR5X3NvdXJjZS9mb3JtJztcbmltcG9ydCBQcm92aW5jZUxpc3QgZnJvbSAnLi4vcHJvdmluY2UnO1xuaW1wb3J0IE5ld0VkaXRQcm92aW5jZVBhZ2UgZnJvbSAnLi4vcHJvdmluY2UvZm9ybSc7XG5pbXBvcnQgU2tpbGxMaXN0IGZyb20gJy4uL3NraWxsJztcbmltcG9ydCBOZXdFZGl0U2tpbGxQYWdlIGZyb20gJy4uL3NraWxsL2Zvcm0nO1xuaW1wb3J0IFRlcm1zQ29uZGl0aW9uTGlzdCBmcm9tICcuLi90ZXJtc19jb25kaXRpb24nO1xuaW1wb3J0IE5ld0VkaXRUZXJtc0NvbmRpdGlvblBhZ2UgZnJvbSAnLi4vdGVybXNfY29uZGl0aW9uL2Zvcm0nO1xuaW1wb3J0IFRyYWluaW5nU2Vzc2lvbkxpc3QgZnJvbSAnLi4vdHJhaW5pbmdfc2Vzc2lvbic7XG5pbXBvcnQgTmV3RWRpdFRyYWluaW5nU2Vzc2lvblBhZ2UgZnJvbSAnLi4vdHJhaW5pbmdfc2Vzc2lvbi9mb3JtJztcbmltcG9ydCBWb2x1bnRlZXJFdmVudExpc3QgZnJvbSAnLi4vdm9sdW50ZWVyX2V2ZW50JztcbmltcG9ydCBOZXdFZGl0Vm9sdW50ZWVyRXZlbnRQYWdlIGZyb20gJy4uL3ZvbHVudGVlcl9ldmVudC9mb3JtJztcbmltcG9ydCBVc2VyTGlzdCBmcm9tIFwiLi4vdXNlclwiO1xuaW1wb3J0IE5ld0VkaXRVc2VyUGFnZSBmcm9tIFwiLi4vdXNlci9mb3JtXCI7XG5pbXBvcnQgTmV3RWRpdE9mZmVyUHJvZ3JhbVBhZ2UgZnJvbSBcIi4uL29mZmVyX3Byb2dyYW0vZm9ybVwiO1xuaW1wb3J0IE9mZmVyUHJvZ3JhbUxpc3QgZnJvbSBcIi4uL29mZmVyX3Byb2dyYW1cIjtcbmltcG9ydCBUcmF2ZWxEYXlMaXN0IGZyb20gXCIuLi90cmF2ZWxfZGF5XCI7XG5pbXBvcnQgTmV3RWRpdFRyYXZlbERheVBhZ2UgZnJvbSBcIi4uL3RyYXZlbF9kYXkvZm9ybVwiO1xuaW1wb3J0IE5vdGlmaWNhdGlvblBhZ2UgZnJvbSBcIi4uL25vdGlmaWNhdGlvbi9pbmRleFwiO1xuaW1wb3J0IFVwbG9hZENTVlBhZ2UgZnJvbSBcIi4uL3ZvbHVudGVlci91cGxvYWRfY3N2XCI7XG5pbXBvcnQgVXBkYXRlVGVhbUNzdlBhZ2UgZnJvbSBcIi4uL3ZvbHVudGVlci91cGRhdGVfdGVhbV9jc3ZcIjtcbmltcG9ydCBVcGRhdGVJZGVudGl0eUNzdlBhZ2UgZnJvbSBcIi4uL3ZvbHVudGVlci91cGRhdGVfaWRlbnRpdHlfY3N2XCI7XG5pbXBvcnQgVXNlckF0dGVuZGFuY2VMaXN0IGZyb20gXCIuLi91c2VyX2F0dGVuZGFuY2UvaW5kZXhcIjtcbmltcG9ydCBOZXdFZGl0VXNlckF0dGVuZGFuY2VQYWdlIGZyb20gXCIuLi91c2VyX2F0dGVuZGFuY2UvZm9ybVwiO1xuXG5jb25zdCB7IEhlYWRlciwgQ29udGVudCwgU2lkZXIgfSA9IExheW91dDtcblxuLy8gTWVudSBDb25maWd1cmF0aW9uXG5jb25zdCBtZW51cyA9IFtcbiAgeyBrZXk6IFwiL1wiLCB0aXRsZTogXCJEYXNoYm9hcmRcIiwgaWNvbjogPERhc2hib2FyZE91dGxpbmVkIC8+LCB0bzogXCIvXCIgfSxcbiAgeyBrZXk6IFwiL3ZvbHVudGVlcnNcIiwgdGl0bGU6IFwi4Z6i4Z+S4Z6T4Z6A4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6PXCIsIGljb246IDxBcHBzdG9yZU91dGxpbmVkIC8+LCB0bzogXCIvdm9sdW50ZWVyc1wiIH0sXG4gIHsga2V5OiBcIi92b2x1bnRlZXIvdXBsb2FkLWNzdlwiLCB0aXRsZTogXCJJbXBvcnQgVm9sdW50ZWVyc1wiLCBpY29uOiA8RmlsZUFkZE91dGxpbmVkIC8+LCB0bzogXCIvdm9sdW50ZWVyL3VwbG9hZC1jc3ZcIiB9LFxuICB7IGtleTogXCIvdm9sdW50ZWVyL3VwZGF0ZS10ZWFtLWNzdlwiLCB0aXRsZTogXCJBc3NpZ24gdG8gVGVhbXNcIiwgaWNvbjogPFRlYW1PdXRsaW5lZCAvPiwgdG86IFwiL3ZvbHVudGVlci91cGRhdGUtdGVhbS1jc3ZcIiB9LFxuICB7IGtleTogXCIvdm9sdW50ZWVyL3VwZGF0ZS1pZGVudGl0eS1jc3ZcIiwgdGl0bGU6IFwiVXBkYXRlIElkZW50aXR5XCIsIGljb246IDxVc2VyT3V0bGluZWQgLz4sIHRvOiBcIi92b2x1bnRlZXIvdXBkYXRlLWlkZW50aXR5LWNzdlwiIH0sXG4gIHsga2V5OiBcIi91c2VyLWF0dGVuZGFuY2VzXCIsIHRpdGxlOiBcIlVzZXIgQXR0ZW5kYW5jZXNcIiwgaWNvbjogPFRlYW1PdXRsaW5lZCAvPiwgdG86IFwiL3VzZXItYXR0ZW5kYW5jZXNcIiB9LFxuICB7XG4gICAga2V5OiBcInNldHRpbmdzXCIsXG4gICAgdGl0bGU6IFwi4Z6A4Z624Z6a4Z6A4Z+G4Z6O4Z6P4Z+LXCIsXG4gICAgaWNvbjogPFNldHRpbmdPdXRsaW5lZCAvPixcbiAgICBjaGlsZHJlbjogW1xuICAgICAgeyBrZXk6ICcvdXNlcnMnLCB0aXRsZTogJ+GeguGfkuGemuGelOGfi+GeguGfkuGemuGehOGeouGfkuGek+GegOGelOGfkuGemuGevuGelOGfkuGemuGetuGen+GfiycsIHRvOiAnL3VzZXJzJywgaWNvbjogPFVzZXJPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvZGlzYWJpbGl0eS10eXBlcycsIHRpdGxlOiAn4Z6U4Z+S4Z6a4Z6X4Z+B4Z6R4Z6W4Z634Z6A4Z624Z6a4Z6X4Z624Z6WJywgdG86ICcvZGlzYWJpbGl0eS10eXBlcycsIGljb246IDxVc2VyT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMnLCB0aXRsZTogJ+Gen+GfkuGekOGetuGelOGfkOGek+GeouGelOGfi+GemuGfhicsIHRvOiAnL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMnLCBpY29uOiA8Qm9va091dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9mb29kcycsIHRpdGxlOiAn4Z6i4Z624Z6g4Z624Z6aJywgdG86ICcvZm9vZHMnLCBpY29uOiA8U2hvcE91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9pbnRlcmVzdGVkLXRlYW1zJywgdGl0bGU6ICfhnoDhn5LhnprhnrvhnpgnLCB0bzogJy9pbnRlcmVzdGVkLXRlYW1zJywgaWNvbjogPFRlYW1PdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvbGFuZ3VhZ2VzJywgdGl0bGU6ICfhnpfhnrbhnp/hnrYnLCB0bzogJy9sYW5ndWFnZXMnLCBpY29uOiA8R2xvYmFsT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL29jY3VwYXRpb25zJywgdGl0bGU6ICfhnpjhnrvhnoHhnprhnpThnponLCB0bzogJy9vY2N1cGF0aW9ucycsIGljb246IDxCdWlsZE91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9vcHBvcnR1bml0eS1zb3VyY2VzJywgdGl0bGU6ICfhnpThn5LhnprhnpfhnpbhnrHhnoDhnrbhnp8nLCB0bzogJy9vcHBvcnR1bml0eS1zb3VyY2VzJywgaWNvbjogPFVzZXJPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvcHJvdmluY2VzJywgdGl0bGU6ICfhnoHhn4Hhno/hn5Lhno8v4Z6A4Z+S4Z6a4Z674Z6EJywgdG86ICcvcHJvdmluY2VzJywgaWNvbjogPEVudmlyb25tZW50T3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL3NraWxscycsIHRpdGxlOiAn4Z6H4Z+G4Z6T4Z624Z6JJywgdG86ICcvc2tpbGxzJywgaWNvbjogPFNrZXRjaE91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy90ZXJtcy1jb25kaXRpb25zJywgdGl0bGU6ICfhnpvhnoDhn5LhnoHhnoHhno7hn5LhnownLCB0bzogJy90ZXJtcy1jb25kaXRpb25zJywgaWNvbjogPFNldHRpbmdPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvdHJhaW5pbmctc2Vzc2lvbnMnLCB0aXRsZTogJ+GenOGeguGfkuGeguGelOGejuGfkuGej+Geu+Gfh+GelOGejuGfkuGej+GetuGemycsIHRvOiAnL3RyYWluaW5nLXNlc3Npb25zJywgaWNvbjogPEJ1bGJPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvdm9sdW50ZWVyLWV2ZW50cycsIHRpdGxlOiAn4Z6W4Z+S4Z6a4Z654Z6P4Z+S4Z6P4Z634Z6A4Z624Z6a4Z6O4Z+N4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6PJywgdG86ICcvdm9sdW50ZWVyLWV2ZW50cycsIGljb246IDxBcHBzdG9yZU91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9vZmZlci1wcm9ncmFtcycsIHRpdGxlOiAn4Z6A4Z6Y4Z+S4Z6Y4Z6c4Z644Z6S4Z644Z6V4Z+S4Z6K4Z6b4Z+L4Z6H4Z684Z6TJywgdG86ICcvb2ZmZXItcHJvZ3JhbXMnLCBpY29uOiA8QXBwc3RvcmVPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvdHJhdmVsLWRheXMnLCB0aXRsZTogJ+GekOGfkuGehOGfg+GekuGfkuGenOGevuGeiuGfhuGejuGevuGemicsIHRvOiAnL3RyYXZlbC1kYXlzJywgaWNvbjogPENhck91dGxpbmVkIC8+IH0sXG4gICAgXVxuICB9LFxuICB7XG4gICAga2V5OiBcIm5vdGlmaWNhdGlvblwiLFxuICAgIHRpdGxlOiBcIuGen+GetuGemuGeh+GevOGek+GeiuGfhuGejuGeueGehFwiLFxuICAgIGljb246IDxOb3RpZmljYXRpb25PdXRsaW5lZCAvPixcbiAgICB0bzogXCIvbm90aWZpY2F0aW9uXCJcbiAgfVxuXTtcblxuY29uc3QgTWFpbjogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gIGNvbnN0IHsgYXV0aCB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBjdXJyZW50VXNlciB9ID0gYXV0aDtcblxuICBjb25zdCBbYWN0aXZlTWVudUtleSwgc2V0QWN0aXZlTWVudUtleV0gPSB1c2VTdGF0ZShsb2NhdGlvbi5wYXRobmFtZSk7XG4gIGNvbnN0IFtjb2xsYXBzZWQsIHNldENvbGxhcHNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtkcmF3ZXJWaXNpYmxlLCBzZXREcmF3ZXJWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVNZW51S2V5KGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgfSwgW2xvY2F0aW9uXSk7XG5cbiAgY29uc3QgaGFuZGxlTG9nb3V0ID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKGxvZ291dCgpKTtcbiAgICBuYXZpZ2F0ZShcIi9sb2dpblwiKTtcbiAgfTtcbiAgLy8gQ2hlY2sgaWYgdXNlciBoYXMgYWRtaW4gYWNjZXNzXG4gIGNvbnN0IGNhbkFjY2Vzc0FkbWluUm91dGVzID0gY3VycmVudFVzZXI/LnJvbGUgIT09IFwidXNlclwiO1xuXG4gIC8vIEZpbHRlciBtZW51czogT25seSBzaG93IFwiVm9sdW50ZWVyc1wiIGlmIG5vdCBhZG1pblxuICBjb25zdCBmaWx0ZXJlZE1lbnVzID0gY2FuQWNjZXNzQWRtaW5Sb3V0ZXNcbiAgICA/IG1lbnVzIC8vIFNob3cgYWxsIG1lbnVzIGZvciBhZG1pbnNcbiAgICA6IG1lbnVzLmZpbHRlcihtZW51ID0+IG1lbnUua2V5ID09PSBcIi92b2x1bnRlZXJzXCIpOyAvLyBPbmx5IHNob3cgdm9sdW50ZWVycyBmb3Igbm9uLWFkbWluc1xuXG5cbiAgcmV0dXJuIChcbiAgICA8TGF5b3V0IHN0eWxlPXt7IG1pbkhlaWdodDogXCIxMDB2aFwiIH19PlxuICAgICAgey8qIEZpeGVkIEhlYWRlciAqL31cbiAgICAgIDxIZWFkZXJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICB6SW5kZXg6IDEwMDAsXG4gICAgICAgICAgaGVpZ2h0OiA2NSxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBcIiMzMThBREVGRlwiLFxuICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgcGFkZGluZzogXCIwIDIwcHhcIixcbiAgICAgICAgICBib3hTaGFkb3c6IFwiMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSlcIixcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBpY29uPXs8TWVudU91dGxpbmVkIC8+fVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldERyYXdlclZpc2libGUodHJ1ZSl9XG4gICAgICAgICAgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDEwLCBkaXNwbGF5OiAnbm9uZScgfX1cbiAgICAgICAgICBjbGFzc05hbWU9XCJtb2JpbGUtbWVudS1idXR0b25cIlxuICAgICAgICAvPlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGZsZXg6IDEsIGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG4gICAgICAgICAgPGltZyBzcmM9e2xvZ299IHN0eWxlPXt7IHdpZHRoOiA0NSwgbWFyZ2luUmlnaHQ6IDE2IH19IGFsdD1cIkxvZ29cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgIHNyYz17Y3VycmVudFVzZXIucGhvdG9fdXJsfVxuICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250V2VpZ2h0OiAnYm9sZCcsIGNvbG9yOiAnI2ZmZicsIG1hcmdpblJpZ2h0OiAnMTZweCcsIG1hcmdpbkxlZnQ6IDE2IH19PlxuICAgICAgICAgICAge2N1cnJlbnRVc2VyPy51c2VybmFtZSA/IGN1cnJlbnRVc2VyLnVzZXJuYW1lLnNwbGl0KCctJykucG9wKCkgOiAnR3Vlc3QnfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZm9udFNpemU6IDEyLCBjb2xvcjogJyNmZmYnLCBtYXJnaW5SaWdodDogJzE2cHgnIH19PlxuICAgICAgICAgICAge2N1cnJlbnRVc2VyPy5yb2xlIHx8ICdBZGRtaW5pc3RyYXRvcid9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8TWVudSB0aGVtZT1cImRhcmtcIiBtb2RlPVwiaG9yaXpvbnRhbFwiIHN0eWxlPXt7IGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsIGJvcmRlckJvdHRvbTogJ25vbmUnIH19PlxuICAgICAgICAgIDxNZW51Lkl0ZW0ga2V5PVwibG9nb3V0XCIgaWNvbj17PExvZ291dE91dGxpbmVkIC8+fSBvbkNsaWNrPXtoYW5kbGVMb2dvdXR9PlxuICAgICAgICAgICAgTG9nb3V0XG4gICAgICAgICAgPC9NZW51Lkl0ZW0+XG4gICAgICAgIDwvTWVudT5cbiAgICAgIDwvSGVhZGVyPlxuXG4gICAgICA8TGF5b3V0IHN0eWxlPXt7IG1hcmdpblRvcDogNjUgfX0+XG5cbiAgICAgICAgey8qIFNpZGViYXIgKi99XG4gICAgICAgIDxTaWRlciBjb2xsYXBzaWJsZSBjb2xsYXBzZWQ9e2NvbGxhcHNlZH0gb25Db2xsYXBzZT17c2V0Q29sbGFwc2VkfSB3aWR0aD17MjAwfSBzdHlsZT17eyBiYWNrZ3JvdW5kOiBcIiNmZmZcIiwgb3ZlcmZsb3c6IFwiYXV0b1wiLCBoZWlnaHQ6IFwiMTAwdmhcIiwgcG9zaXRpb246IFwiZml4ZWRcIiwgbGVmdDogMCwgdG9wOiA2NSB9fT5cbiAgICAgICAgICA8TWVudSBtb2RlPVwiaW5saW5lXCIgc2VsZWN0ZWRLZXlzPXtbYWN0aXZlTWVudUtleV19IHN0eWxlPXt7IGhlaWdodDogXCIxMDAlXCIgfX0+XG4gICAgICAgICAgICB7ZmlsdGVyZWRNZW51cy5tYXAobWVudSA9PlxuICAgICAgICAgICAgICBtZW51LmNoaWxkcmVuID8gKFxuICAgICAgICAgICAgICAgIDxNZW51LlN1Yk1lbnUga2V5PXttZW51LmtleX0gaWNvbj17bWVudS5pY29ufSB0aXRsZT17bWVudS50aXRsZX0+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1heEhlaWdodDogJzYwdmgnLCBvdmVyZmxvd1k6ICdhdXRvJyB9fT5cbiAgICAgICAgICAgICAgICAgICAge21lbnUuY2hpbGRyZW4ubWFwKHN1Ym1lbnUgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxNZW51Lkl0ZW0ga2V5PXtzdWJtZW51LmtleX0gaWNvbj17c3VibWVudS5pY29ufT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPXtzdWJtZW51LnRvfT57c3VibWVudS50aXRsZX08L0xpbms+XG4gICAgICAgICAgICAgICAgICAgICAgPC9NZW51Lkl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9NZW51LlN1Yk1lbnU+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPE1lbnUuSXRlbSBrZXk9e21lbnUua2V5fSBpY29uPXttZW51Lmljb259PlxuICAgICAgICAgICAgICAgICAgPExpbmsgdG89e21lbnUudG99PnttZW51LnRpdGxlfTwvTGluaz5cbiAgICAgICAgICAgICAgICA8L01lbnUuSXRlbT5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L01lbnU+XG4gICAgICAgIDwvU2lkZXI+XG5cbiAgICAgICAgey8qIERyYXdlciBmb3IgTW9iaWxlIE1lbnUgKi99XG4gICAgICAgIHsvKiBEcmF3ZXIgZm9yIE1vYmlsZSBNZW51ICovfVxuICAgICAgICA8RHJhd2VyIHRpdGxlPVwiTWVudVwiIHBsYWNlbWVudD1cImxlZnRcIiBjbG9zYWJsZSBvbkNsb3NlPXsoKSA9PiBzZXREcmF3ZXJWaXNpYmxlKGZhbHNlKX0gb3Blbj17ZHJhd2VyVmlzaWJsZX0gYm9keVN0eWxlPXt7IHBhZGRpbmc6IDAgfX0+XG4gICAgICAgICAgPE1lbnUgbW9kZT1cImlubGluZVwiIHNlbGVjdGVkS2V5cz17W2FjdGl2ZU1lbnVLZXldfSBzdHlsZT17eyBoZWlnaHQ6IFwiMTAwJVwiIH19PlxuICAgICAgICAgICAge2ZpbHRlcmVkTWVudXMubWFwKG1lbnUgPT5cbiAgICAgICAgICAgICAgbWVudS5jaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgICA8TWVudS5TdWJNZW51IGtleT17bWVudS5rZXl9IGljb249e21lbnUuaWNvbn0gdGl0bGU9e21lbnUudGl0bGV9PlxuICAgICAgICAgICAgICAgICAge21lbnUuY2hpbGRyZW4ubWFwKHN1Ym1lbnUgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8TWVudS5JdGVtIGtleT17c3VibWVudS5rZXl9PlxuICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPXtzdWJtZW51LnRvfT57c3VibWVudS50aXRsZX08L0xpbms+XG4gICAgICAgICAgICAgICAgICAgIDwvTWVudS5JdGVtPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9NZW51LlN1Yk1lbnU+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPE1lbnUuSXRlbSBrZXk9e21lbnUua2V5fSBpY29uPXttZW51Lmljb259PlxuICAgICAgICAgICAgICAgICAgPExpbmsgdG89e21lbnUudG99PnttZW51LnRpdGxlfTwvTGluaz5cbiAgICAgICAgICAgICAgICA8L01lbnUuSXRlbT5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L01lbnU+XG4gICAgICAgIDwvRHJhd2VyPlxuXG5cbiAgICAgICAgey8qIE1haW4gQ29udGVudCAqL31cbiAgICAgICAgPExheW91dCBzdHlsZT17eyBtYXJnaW5MZWZ0OiBjb2xsYXBzZWQgPyA4MCA6IDIwMCwgcGFkZGluZzogXCIyNHB4XCIgfX0+XG4gICAgICAgICAgPENvbnRlbnQgc3R5bGU9e3sgYmFja2dyb3VuZDogXCIjZmZmXCIsIHBhZGRpbmc6IFwiMjRweFwiLCBtaW5IZWlnaHQ6IFwiY2FsYygxMDB2aCAtIDY1cHgpXCIgfX0+XG4gICAgICAgICAgICA8Um91dGVzPlxuICAgICAgICAgICAgICB7Y2FuQWNjZXNzQWRtaW5Sb3V0ZXMgJiYgPFJvdXRlIHBhdGg9XCIvXCIgZWxlbWVudD17PEhvbWVQYWdlIC8+fSAvPn1cbiAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdm9sdW50ZWVyc1wiIGVsZW1lbnQ9ezxWb2x1bnRlZXJMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi92b2x1bnRlZXIvZm9ybVwiIGVsZW1lbnQ9ezxOZXdFZGl0Vm9sdW50ZWVyUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdm9sdW50ZWVyL3VwbG9hZC1jc3ZcIiBlbGVtZW50PXs8VXBsb2FkQ1NWUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdm9sdW50ZWVyL3VwZGF0ZS10ZWFtLWNzdlwiIGVsZW1lbnQ9ezxVcGRhdGVUZWFtQ3N2UGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdm9sdW50ZWVyL3VwZGF0ZS1pZGVudGl0eS1jc3ZcIiBlbGVtZW50PXs8VXBkYXRlSWRlbnRpdHlDc3ZQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi91c2VyLWF0dGVuZGFuY2VzXCIgZWxlbWVudD17PFVzZXJBdHRlbmRhbmNlTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdXNlci1hdHRlbmRhbmNlcy9mb3JtXCIgZWxlbWVudD17PE5ld0VkaXRVc2VyQXR0ZW5kYW5jZVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgIHtjYW5BY2Nlc3NBZG1pblJvdXRlcyAmJiA8Um91dGUgcGF0aD1cIi9ub3RpZmljYXRpb25cIiBlbGVtZW50PXs8Tm90aWZpY2F0aW9uUGFnZSAvPn0gLz59XG4gICAgICAgICAgICAgIHtjYW5BY2Nlc3NBZG1pblJvdXRlcyAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3VzZXJzXCIgZWxlbWVudD17PFVzZXJMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdXNlcnMvZm9ybVwiIGVsZW1lbnQ9ezxOZXdFZGl0VXNlclBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9kaXNhYmlsaXR5LXR5cGVzXCIgZWxlbWVudD17PERpc2FiaWxpdHlUeXBlTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2Rpc2FiaWxpdHktdHlwZXMvZm9ybVwiIGVsZW1lbnQ9ezxOZXdFZGl0RGlzYWJpbGl0eVR5cGVQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9lZHVjYXRpb24taW5zdGl0dXRpb25zJyBlbGVtZW50PXs8RWR1Y2F0aW9uSW5zdGl0dXRpb25MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9lZHVjYXRpb24taW5zdGl0dXRpb25zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0RWR1Y2F0aW9uSW5zdGl0dXRpb25QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9mb29kcycgZWxlbWVudD17PEZvb2RMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9mb29kcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdEZvb2RQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9pbnRlcmVzdGVkLXRlYW1zJyBlbGVtZW50PXs8SW50ZXJlc3RlZFRlYW1MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9pbnRlcmVzdGVkLXRlYW1zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0SW50ZXJlc3RlZFRlYW1QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9sYW5ndWFnZXMnIGVsZW1lbnQ9ezxMYW5ndWFnZUxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2xhbmd1YWdlcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdExhbmd1YWdlUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb2NjdXBhdGlvbnMnIGVsZW1lbnQ9ezxPY2N1cGF0aW9uTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb2NjdXBhdGlvbnMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRPY2N1cGF0aW9uUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb3Bwb3J0dW5pdHktc291cmNlcycgZWxlbWVudD17PE9wcG9ydHVuaXR5U291cmNlTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb3Bwb3J0dW5pdHktc291cmNlcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdE9wcG9ydHVuaXR5U291cmNlUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvcHJvdmluY2VzJyBlbGVtZW50PXs8UHJvdmluY2VMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9wcm92aW5jZXMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRQcm92aW5jZVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3NraWxscycgZWxlbWVudD17PFNraWxsTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvc2tpbGxzL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0U2tpbGxQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy90ZXJtcy1jb25kaXRpb25zJyBlbGVtZW50PXs8VGVybXNDb25kaXRpb25MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy90ZXJtcy1jb25kaXRpb25zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0VGVybXNDb25kaXRpb25QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy90cmFpbmluZy1zZXNzaW9ucycgZWxlbWVudD17PFRyYWluaW5nU2Vzc2lvbkxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3RyYWluaW5nLXNlc3Npb25zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0VHJhaW5pbmdTZXNzaW9uUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdm9sdW50ZWVyLWV2ZW50cycgZWxlbWVudD17PFZvbHVudGVlckV2ZW50TGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdm9sdW50ZWVyLWV2ZW50cy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdFZvbHVudGVlckV2ZW50UGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb2ZmZXItcHJvZ3JhbXMnIGVsZW1lbnQ9ezxPZmZlclByb2dyYW1MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9vZmZlci1wcm9ncmFtcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdE9mZmVyUHJvZ3JhbVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3RyYXZlbC1kYXlzJyBlbGVtZW50PXs8VHJhdmVsRGF5TGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdHJhdmVsLWRheXMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRUcmF2ZWxEYXlQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Sb3V0ZXM+XG4gICAgICAgICAgPC9Db250ZW50PlxuICAgICAgICAgIDxGb290ZXJDb21wb25lbnQgLz5cbiAgICAgICAgPC9MYXlvdXQ+XG4gICAgICA8L0xheW91dD5cbiAgICA8L0xheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1haW47XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJGb290ZXIiLCJfTGF5b3V0IiwiRm9vdGVyQ29tcG9uZW50IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiYmFja2dyb3VuZCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJfUm93IiwiZ3V0dGVyIiwiX0NvbCIsInhzIiwic20iLCJtZCIsImhyZWYiLCJ0YXJnZXQiLCJyZWwiLCJtYXJnaW5Ub3AiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJlbnYiLCJhc3NldF91cmwiLCJhcGlfdXJsIiwicHJvY2VzcyIsIkJBU0VfVVJMIiwidXBsb2FkX3VybCIsIk1FRElBX0FQSSIsInNvY2tldF91cmwiLCJTT0NLRVJfU0VSVkVSIiwibm90aWZpY2F0aW9uX3VybCIsIk5PVElGSUNBVElPTiIsIkFXU19BQ0NFU1NfS0VZX0lEIiwiQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIiwiUkVBQ1RfQVBQX0FQSV9UT0tFTiIsIlMzX0JVQ0tFVCIsImZpcmViYXNlX2NvbmZpZ19oZWFkZXJzIiwibGltaXQiLCJ3YWxsZXRfbGltaXQiLCJ3ZWJzb2NrZXRFdmVudCIsIkRSSVZFUl9MSVZFX0xPQ0FUSU9OIiwiVVBEQVRFX0pOX1dBTExFVCIsIkNBU0hfSU5fU1VDQ0VTUyIsIkNBU0hfT1VUX1NVQ0NFU1MiLCJOT19EUklWRVJfQVZBSUxBQkxFIiwiUEFDS0FHRV9UUkFDS0lORyIsImRlZmF1bHRBZG1pbkFjY291bnQiLCJ0ZWxlZ3JhbUlkIiwiZGV2IiwiZGV2TG9nZ2VyIiwiZXhwcmVzc0h1YiIsImV4cHJlc3NNZXJjaGFudCIsImV4cHJlc3NGaW5hbmNlIiwiZXhwcmVzc0RyaXZlciIsIlNUQVJUX0xPR0lOIiwiQVVUSF9MT0dJTiIsIkxPR0lOX0ZBSUxFRCIsIlVSTCIsIkxPR0lOIiwiTE9HSU5fVEVMRUdSQU0iLCJWRVJJRllfVE9QIiwiU0lHTlVQIiwiRElTQUJJTElUWV9UWVBFIiwiUFJPVklOQ0UiLCJPQ0NVUEFUSU9OIiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OIiwiRk9PRFMiLCJGT09EIiwiVEVBTSIsIkVWRU5UIiwiU09VUkNFIiwiVFJBSU5JTkdfU0VTU0lPTiIsIkxBTkdVQUdFIiwiU0tJTEwiLCJURVJNU19DT05ESVRJT04iLCJWT0xVTlRFRVJfRVZFTlQiLCJWT0xVTlRFRVJTIiwiREFTSEJPQVJEIiwiT0ZGRVJfUFJPR1JBTSIsIlRSQVZFTF9EQVkiLCJVU0VSIiwiUFVCTElDIiwiTk9USUZZIiwiTk9USUZZX1NUQVRVUyIsIlVTRVJfQVRURU5EQU5DRSIsIkNVUlJFTkNZX1RZUEUiLCJVU0QiLCJLSFIiLCJMb2FkaW5nRGlhbG9nIiwiX1JlYWN0JENvbXBvbmVudCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jYWxsU3VwZXIiLCJhcmd1bWVudHMiLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsInJlbmRlciIsInZpc2libGUiLCJwcm9wcyIsIl9Nb2RhbCIsIndpZHRoIiwiY2VudGVyZWQiLCJmb290ZXIiLCJjbG9zYWJsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwiX1NwaW4iLCJzaXplIiwiQ29tcG9uZW50IiwiZSIsInQiLCJyIiwiU3ltYm9sIiwibiIsIml0ZXJhdG9yIiwibyIsInRvU3RyaW5nVGFnIiwiaSIsImMiLCJwcm90b3R5cGUiLCJHZW5lcmF0b3IiLCJ1IiwiT2JqZWN0IiwiY3JlYXRlIiwiX3JlZ2VuZXJhdG9yRGVmaW5lMiIsImYiLCJwIiwieSIsIkciLCJ2IiwiYSIsImQiLCJiaW5kIiwibGVuZ3RoIiwibCIsIlR5cGVFcnJvciIsImNhbGwiLCJkb25lIiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsImdldFByb3RvdHlwZU9mIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJkaXNwbGF5TmFtZSIsIl9yZWdlbmVyYXRvciIsInciLCJtIiwiZGVmaW5lUHJvcGVydHkiLCJfcmVnZW5lcmF0b3JEZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfaW52b2tlIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiYXhpb3MiLCJjb25maWciLCJheGlvc0luc3RhbmNlIiwiYmFzZVVSTCIsInRpbWVvdXQiLCJnZXRXaXRoQ29uZmlnIiwiX3JlZiIsIl9jYWxsZWUiLCJ1cmwiLCJwYXJhbXMiLCJzdWNjZXNzIiwiZmFpbGVkIiwidG9rZW4iLCJjb25maWdzIiwicmVzcG9uc2UiLCJfZXJyJHJlc3BvbnNlJGRhdGEkbWUiLCJfZXJyJHJlc3BvbnNlIiwiX2VyciRyZXNwb25zZSRkYXRhJGVyIiwiX2VyciRyZXNwb25zZTIiLCJtZXNzYWdlIiwiZXJyb3IiLCJfdCIsIl9jb250ZXh0Iiwic2Vzc2lvblN0b3JhZ2UiLCJnZXRJdGVtIiwiaGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJjb25jYXQiLCJBY2NlcHQiLCJnZXQiLCJkYXRhIiwiY29uc29sZSIsInVuZGVmaW5lZCIsIl94IiwiX3gyIiwiX3gzIiwiX3g0IiwicG9zdFdpdGhDb25maWciLCJfcmVmMiIsIl9jYWxsZWUyIiwiX3Nlc3Npb25TdG9yYWdlJGdldEl0IiwiX3QyIiwiX2NvbnRleHQyIiwicG9zdCIsIl94NSIsIl94NiIsInBvc3RXaXRoQ29uZmlnRm9ybURhdGEiLCJfcmVmMyIsIl9jYWxsZWUzIiwiX3Nlc3Npb25TdG9yYWdlJGdldEl0MiIsIl90MyIsIl9jb250ZXh0MyIsImxvZyIsIl94NyIsIl94OCIsInBvc3RXaXRoQ29uZmlnV2hpdGVsaXN0IiwiX3JlZjQiLCJfY2FsbGVlNCIsInN0b3JlZFVzZXIiLCJ1c2VyIiwiZXhwZXJ0aXNlU3RyIiwiX3Q0IiwiX2NvbnRleHQ0IiwiSlNPTiIsInBhcnNlIiwicGhvbmVfbnVtYmVyIiwiY291bnRyeUNvZGUiLCJhcmVhQ29kZSIsInBob25lTnVtYmVyIiwidGVybXNfY29uZGl0aW9uc19pZCIsInZvbHVudGVlcl9zdGF0dXMiLCJ1c2VyX2lkIiwiaWQiLCJleHBlcnRpc2UiLCJ0b1N0cmluZyIsIl94OSIsIl94MCIsInJlbW92ZVdpdGhDb25maWciLCJfcmVmNSIsIl9jYWxsZWU1IiwiX3Nlc3Npb25TdG9yYWdlJGdldEl0MyIsIl9lcnIkcmVzcG9uc2UkZGF0YSRtZTIiLCJfZXJyJHJlc3BvbnNlMyIsIl90NSIsIl9jb250ZXh0NSIsIl94MSIsIl94MTAiLCJfeDExIiwiX3gxMiIsInB1dFdpdGhDb25maWciLCJfcmVmNiIsIl9jYWxsZWU2IiwiX3Q2IiwiX2NvbnRleHQ2IiwiRXJyb3IiLCJwdXQiLCJfeDEzIiwiX3gxNCIsInBvc3RVcGxvYWQiLCJfcmVmNyIsIl9jYWxsZWU3IiwiY29uZmlndXJlIiwiX3Q3IiwiX2NvbnRleHQ3IiwiX3gxNSIsInB1c2hOb3RpZmljYXRpb24iLCJfcmVmOCIsIl9jYWxsZWU4IiwicmVjaXBpZW50IiwidGl0bGUiLCJtZXNzYWdlQm9keSIsImlzRHJpdmVyIiwicGhvdG8iLCJfZXJyJHJlc3BvbnNlJGRhdGEkbWUzIiwiX2VyciRyZXNwb25zZTQiLCJfdDgiLCJfY29udGV4dDgiLCJ0b3BpY19uYW1lIiwibWVzc2FnZV90aXRsZSIsIm1lc3NhZ2VfYm9keSIsIl94MTYiLCJfeDE3IiwiX3gxOCIsIl94MTkiLCJfeDIwIiwiX3gyMSIsInB1c2hOb3RpZmljYXRpb25BbGxBcHAiLCJfcmVmOSIsIl9jYWxsZWU5IiwiX3Q5IiwiX2NvbnRleHQ5IiwiX3gyMiIsImNvbmZpZ3VyZVN0b3JlIiwiYXV0aFNsaWNlIiwidm9sdW50ZWVyU2xpY2UiLCJkaXNhYmlsaXR5VHlwZVNsaWNlIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZSIsImZvb2RTbGljZSIsImludGVyZXN0ZWRUZWFtU2xpY2UiLCJvY2N1cGF0aW9uU2xpY2UiLCJvcHBvcnR1bml0eVNvdXJjZVNsaWNlIiwicHJvdmluY2VTbGljZSIsInNraWxsU2xpY2UiLCJ0ZXJtc0NvbmRpdGlvblNsaWNlIiwidHJhaW5pbmdTZXNzaW9uU2xpY2UiLCJ2b2x1bnRlZXJFdmVudFNsaWNlIiwibGFuZ3VhZ2VTbGljZSIsInVzZXJTbGljZSIsIm9mZmVyUHJvZ3JhbVNsaWNlIiwidHJhdmVsRGF5U2xpY2UiLCJ1c2VyQXR0ZW5kYW5jZVNsaWNlIiwic3RvcmUiLCJyZWR1Y2VyIiwiYXV0aCIsInZvbHVudGVlciIsImRpc2FiaWxpdHlUeXBlIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb24iLCJmb29kIiwiaW50ZXJlc3RlZFRlYW0iLCJvY2N1cGF0aW9uIiwib3Bwb3J0dW5pdHlTb3VyY2UiLCJwcm92aW5jZSIsImxhbmd1YWdlIiwic2tpbGwiLCJ0ZXJtc0NvbmRpdGlvbiIsInRyYWluaW5nU2Vzc2lvbiIsInZvbHVudGVlckV2ZW50Iiwib2ZmZXJQcm9ncmFtIiwidHJhdmVsRGF5IiwidXNlckF0dGVuZGFuY2UiLCJkZXZUb29scyIsIk5PREVfRU5WIiwiUm91dGVzIiwiUm91dGVyUm91dGVzIiwiUm91dGUiLCJNYWluIiwiTG9naW4iLCJOb3RGb3VuZCIsIlByb3RlY3RlZFJvdXRlIiwiVm9sdW50ZWVyUmVnaXN0ZXJGb3JtIiwiQXV0aCIsIkF0dGVuZGFuY2VRUiIsIlRlbGVncmFtTG9naW5BdHRlbmRhbmNlIiwiQXBwUm91dGVzIiwicGF0aCIsImVsZW1lbnQiLCJOYXZpZ2F0ZSIsImNoaWxkcmVuIiwiYWNjZXNzVG9rZW4iLCJpc0F1dGhlbnRpY2F0ZWQiLCJCb29sZWFuIiwiRnJhZ21lbnQiLCJ0byIsIlZvbHVudGVlckF0dGVuZGFuY2VQYWdlIiwiTG9naW5Gb3JtIiwiVGVsZWdyYW1Mb2dpbkZvcm0iLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZURpc3BhdGNoIiwidXNlU2VsZWN0b3IiLCJjcmVhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiIsImRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uIiwidXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24iLCJ1c2VOYXZpZ2F0ZSIsIlRleHRBcmVhIiwiTmV3RWRpdERpc2FiaWxpdHlUeXBlUGFnZSIsImRpc3BhdGNoIiwibmF2aWdhdGUiLCJfdXNlU2VsZWN0b3IiLCJzdGF0ZSIsInJlZ2lzdGVyRXJyb3JNZXNzYWdlIiwiZGlzYWJpbGl0eVR5cGVVcGRhdGVQZW5kaW5nIiwiX0Zvcm0kdXNlRm9ybSIsIl9Gb3JtIiwidXNlRm9ybSIsIl9Gb3JtJHVzZUZvcm0yIiwiX3NsaWNlZFRvQXJyYXkiLCJmb3JtIiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiaXNDbGljayIsInNldElzQ2xpY2siLCJOdW1iZXIiLCJyZXNldEZpZWxkcyIsInNldEZpZWxkc1ZhbHVlIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiX21lc3NhZ2UiLCJvbkZpbmlzaCIsInZhbHVlcyIsImxheW91dCIsIm1heFdpZHRoIiwibWFyZ2luIiwic3BhbiIsIkl0ZW0iLCJsYWJlbCIsInJ1bGVzIiwicmVxdWlyZWQiLCJfSW5wdXQiLCJyb3dzIiwiX0J1dHRvbiIsInR5cGUiLCJibG9jayIsImh0bWxUeXBlIiwibG9hZGluZyIsIm9uQ2xpY2siLCJEZWxldGVPdXRsaW5lZCIsIkVkaXRPdXRsaW5lZCIsIlBsdXNPdXRsaW5lZCIsImRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIiwiZmV0Y2hEaXNhYmlsaXR5VHlwZXMiLCJTd2FsIiwiRGlzYWJpbGl0eVR5cGVMaXN0Iiwic2VsZWN0ZWRSb3dzIiwic2V0U2VsZWN0ZWRSb3dzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWFyY2hUZXh0Iiwic2V0U2VhcmNoVGV4dCIsImRpc2FiaWxpdHlUeXBlcyIsImRpc2FiaWxpdHlUeXBlc1BlbmRpbmciLCJoYW5kbGVFZGl0IiwiaGFuZGxlRGVsZXRlIiwiZmlyZSIsInRleHQiLCJpY29uIiwic2hvd0NvbmZpcm1CdXR0b24iLCJzaG93Q2FuY2VsQnV0dG9uIiwiaHRtbCIsImRpZE9wZW4iLCJfU3dhbCRnZXRQb3B1cCIsIl9Td2FsJGdldFBvcHVwMiIsImNvbmZpcm1CdXR0b24iLCJnZXRQb3B1cCIsInF1ZXJ5U2VsZWN0b3IiLCJjYW5jZWxCdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwiY2xvc2UiLCJoYW5kbGVTZWFyY2giLCJ0cmltIiwiaGFuZGxlUmVzZXQiLCJjb2x1bW5zIiwiZGF0YUluZGV4IiwicmVzcG9uc2l2ZSIsIl8iLCJyZWNvcmQiLCJfU3BhY2UiLCJkYW5nZXIiLCJmaWx0ZXJlZERhdGEiLCJmaWx0ZXIiLCJpdCIsIl9pdCRuYW1lIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsIm92ZXJmbG93WCIsIm1hcmdpbkJvdHRvbSIsImZsZXhXcmFwIiwid3JhcCIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJfVGFibGUiLCJyb3dTZWxlY3Rpb24iLCJkYXRhU291cmNlIiwibWFwIiwiaW5kZXgiLCJfb2JqZWN0U3ByZWFkIiwicGFnaW5hdGlvbiIsInBhZ2VTaXplIiwic2hvd1NpemVDaGFuZ2VyIiwic2Nyb2xsIiwieCIsImNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb24iLCJ1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiIsIk5ld0VkaXRFZHVjYXRpb25JbnN0aXR1dGlvblBhZ2UiLCJlZHVjYXRpb25JbnN0aXR1dGlvblVwZGF0ZVBlbmRpbmciLCJkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiIsImZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zIiwiRWR1Y2F0aW9uSW5zdGl0dXRpb25MaXN0IiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25zIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25zUGVuZGluZyIsImNyZWF0ZUZvb2RBY3Rpb24iLCJmb29kRGV0YWlsQWN0aW9uIiwidXBkYXRlRm9vZEFjdGlvbiIsIk5ld0VkaXRGb29kUGFnZSIsImZvb2RVcGRhdGVQZW5kaW5nIiwiZGVsZXRlRm9vZEFjdGlvbiIsImZldGNoRm9vZHMiLCJGb29kTGlzdCIsImZvb2RzIiwiZm9vZHNQZW5kaW5nIiwiZmV0Y2hEYXNoYm9hcmRBY3Rpb24iLCJVc2VyT3V0bGluZWQiLCJDYWxlbmRhck91dGxpbmVkIiwiVGVhbU91dGxpbmVkIiwiRmlsZUV4Y2VsT3V0bGluZWQiLCJCYXJDaGFydCIsIlhBeGlzIiwiWUF4aXMiLCJUb29sdGlwIiwiUmVjaGFydHNUb29sdGlwIiwiQmFyIiwiUmVzcG9uc2l2ZUNvbnRhaW5lciIsIkNhcnRlc2lhbkdyaWQiLCJQaWVDaGFydCIsIlBpZSIsIkNlbGwiLCJMZWdlbmQiLCJYTFNYIiwiVGl0bGUiLCJfVHlwb2dyYXBoeSIsIkNvbnRlbnQiLCJDT0xPUlMiLCJTVEFUX0NPTE9SUyIsIkRhc2hib2FyZEhvbWUiLCJfZGFzaGJvYXJkJGNvdW50X3VzZXIiLCJfZGFzaGJvYXJkJGNvdW50X3ZvbHUiLCJfZGFzaGJvYXJkJGNvdW50X3ZvbHUyIiwiZGFzaGJvYXJkIiwiY2hhcnREYXRhIiwiZW50cmllcyIsImNvdW50X3ZvbHVudGVlcl9zdGF0dXMiLCJyZXBsYWNlIiwiY2hhdFZvbHVudGVlclByb3ZpbmNlIiwiY291bnRfdm9sdW50ZWVyX3Byb3ZpbmNlcyIsInNwbGl0IiwicG9wIiwiY2hhdFZvbHVudGVlckdlbmRlciIsImNvdW50X3ZvbHVudGVlcl9nZW5kZXJzIiwiY2hhdFZvbHVudGVlclRzaGlydCIsImNvdW50X3ZvbHVudGVlcl9zaGlydF9zaXplcyIsImNoYXRWb2x1bnRlZXJPY2N1cGF0aW9ucyIsImNvdW50X3ZvbHVudGVlcl9vY2N1cGF0aW9ucyIsIl9yZWYwIiwiY2hhdFZvbHVudGVlckVkdWNhdGlvbkluc3QiLCJjb3VudF92b2x1bnRlZXJfZWR1Y2F0aW9uX2luc3RpdHV0aW9ucyIsIl9yZWYxIiwiX3JlZjEwIiwiY2hhdFZvbHVudGVlckludGVyZXN0ZWRUZWFtIiwiY291bnRfaW50ZXJlc3RlZF90ZWFtIiwiX3JlZjExIiwiX3JlZjEyIiwiZXhwb3J0VG9FeGNlbCIsIndiIiwidXRpbHMiLCJib29rX25ldyIsInNoZWV0cyIsImZvckVhY2giLCJfcmVmMTMiLCJfcmVmMTQiLCJzaGVldE5hbWUiLCJ3cyIsImpzb25fdG9fc2hlZXQiLCJib29rX2FwcGVuZF9zaGVldCIsIndyaXRlRmlsZSIsIl9CcmVhZGNydW1iIiwiYm9yZGVyUmFkaXVzIiwianVzdGlmeSIsImFsaWduIiwibGV2ZWwiLCJnYXAiLCJjb3VudF92b2x1bnRlZXJzIiwiY29sb3IiLCJjb3VudF91c2VyX3JvbGVzIiwiY291bnRfc3VwZXJfYWRtaW4iLCJjb3VudF9tYWxlIiwiY291bnRfZmVtYWxlIiwic3RhdCIsIl9DYXJkIiwiYmFja2dyb3VuZENvbG9yIiwibWluSGVpZ2h0IiwiX1N0YXRpc3RpYyIsInByZWZpeCIsInZhbHVlU3R5bGUiLCJsZyIsImNsYXNzTmFtZSIsImhlaWdodCIsInRvcCIsInJpZ2h0IiwibGVmdCIsImJvdHRvbSIsInN0cm9rZURhc2hhcnJheSIsImRhdGFLZXkiLCJ0aWNrIiwiZm9udFNpemUiLCJhbGxvd0RlY2ltYWxzIiwiZmlsbCIsImJhclNpemUiLCJuYW1lS2V5IiwiY3giLCJjeSIsIm91dGVyUmFkaXVzIiwiQXBwc3RvcmVPdXRsaW5lZCIsIkRhc2hib2FyZE91dGxpbmVkIiwiTG9nb3V0T3V0bGluZWQiLCJNZW51T3V0bGluZWQiLCJTZXR0aW5nT3V0bGluZWQiLCJFbnZpcm9ubWVudE91dGxpbmVkIiwiQm9va091dGxpbmVkIiwiU2hvcE91dGxpbmVkIiwiR2xvYmFsT3V0bGluZWQiLCJCdWlsZE91dGxpbmVkIiwiU2tldGNoT3V0bGluZWQiLCJCdWxiT3V0bGluZWQiLCJDYXJPdXRsaW5lZCIsIk5vdGlmaWNhdGlvbk91dGxpbmVkIiwiRmlsZUFkZE91dGxpbmVkIiwiTGluayIsInVzZUxvY2F0aW9uIiwibG9nb3V0IiwiSG9tZVBhZ2UiLCJsb2dvIiwiVm9sdW50ZWVyTGlzdCIsIk5ld0VkaXRWb2x1bnRlZXJQYWdlIiwiSW50ZXJlc3RlZFRlYW1MaXN0IiwiTmV3RWRpdEludGVyZXN0ZWRUZWFtUGFnZSIsIkxhbmd1YWdlTGlzdCIsIk5ld0VkaXRMYW5ndWFnZVBhZ2UiLCJPY2N1cGF0aW9uTGlzdCIsIk5ld0VkaXRPY2N1cGF0aW9uUGFnZSIsIk9wcG9ydHVuaXR5U291cmNlTGlzdCIsIk5ld0VkaXRPcHBvcnR1bml0eVNvdXJjZVBhZ2UiLCJQcm92aW5jZUxpc3QiLCJOZXdFZGl0UHJvdmluY2VQYWdlIiwiU2tpbGxMaXN0IiwiTmV3RWRpdFNraWxsUGFnZSIsIlRlcm1zQ29uZGl0aW9uTGlzdCIsIk5ld0VkaXRUZXJtc0NvbmRpdGlvblBhZ2UiLCJUcmFpbmluZ1Nlc3Npb25MaXN0IiwiTmV3RWRpdFRyYWluaW5nU2Vzc2lvblBhZ2UiLCJWb2x1bnRlZXJFdmVudExpc3QiLCJOZXdFZGl0Vm9sdW50ZWVyRXZlbnRQYWdlIiwiVXNlckxpc3QiLCJOZXdFZGl0VXNlclBhZ2UiLCJOZXdFZGl0T2ZmZXJQcm9ncmFtUGFnZSIsIk9mZmVyUHJvZ3JhbUxpc3QiLCJUcmF2ZWxEYXlMaXN0IiwiTmV3RWRpdFRyYXZlbERheVBhZ2UiLCJOb3RpZmljYXRpb25QYWdlIiwiVXBsb2FkQ1NWUGFnZSIsIlVwZGF0ZVRlYW1Dc3ZQYWdlIiwiVXBkYXRlSWRlbnRpdHlDc3ZQYWdlIiwiVXNlckF0dGVuZGFuY2VMaXN0IiwiTmV3RWRpdFVzZXJBdHRlbmRhbmNlUGFnZSIsIkhlYWRlciIsIlNpZGVyIiwibWVudXMiLCJjdXJyZW50VXNlciIsInBhdGhuYW1lIiwiYWN0aXZlTWVudUtleSIsInNldEFjdGl2ZU1lbnVLZXkiLCJjb2xsYXBzZWQiLCJzZXRDb2xsYXBzZWQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImRyYXdlclZpc2libGUiLCJzZXREcmF3ZXJWaXNpYmxlIiwiaGFuZGxlTG9nb3V0IiwiY2FuQWNjZXNzQWRtaW5Sb3V0ZXMiLCJyb2xlIiwiZmlsdGVyZWRNZW51cyIsIm1lbnUiLCJwb3NpdGlvbiIsInpJbmRleCIsImJveFNoYWRvdyIsIm1hcmdpblJpZ2h0IiwiZmxleCIsInNyYyIsImFsdCIsIl9BdmF0YXIiLCJwaG90b191cmwiLCJmb250V2VpZ2h0IiwibWFyZ2luTGVmdCIsInVzZXJuYW1lIiwiX01lbnUiLCJ0aGVtZSIsIm1vZGUiLCJib3JkZXJCb3R0b20iLCJjb2xsYXBzaWJsZSIsIm9uQ29sbGFwc2UiLCJvdmVyZmxvdyIsInNlbGVjdGVkS2V5cyIsIlN1Yk1lbnUiLCJtYXhIZWlnaHQiLCJvdmVyZmxvd1kiLCJzdWJtZW51IiwiX0RyYXdlciIsInBsYWNlbWVudCIsIm9uQ2xvc2UiLCJvcGVuIiwiYm9keVN0eWxlIl0sInNvdXJjZVJvb3QiOiIifQ==