Files
mamad-app/.next/static/webpack/app/admin/page.04155940ceb3b9bb.hot-update.js
2026-01-16 17:48:46 +02:00

22 lines
475 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/admin/page",{
/***/ "(app-pages-browser)/./app/admin/page.tsx":
/*!****************************!*\
!*** ./app/admin/page.tsx ***!
\****************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ AdminPage; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(app-pages-browser)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _types_user__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/types/user */ \"(app-pages-browser)/./types/user.ts\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(app-pages-browser)/./components/ui/button.tsx\");\n/* harmony import */ var _components_ui_card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/card */ \"(app-pages-browser)/./components/ui/card.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/input */ \"(app-pages-browser)/./components/ui/input.tsx\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/ui/label */ \"(app-pages-browser)/./components/ui/label.tsx\");\n/* harmony import */ var _components_ui_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/ui/select */ \"(app-pages-browser)/./components/ui/select.tsx\");\n/* harmony import */ var _components_ui_alert__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/ui/alert */ \"(app-pages-browser)/./components/ui/alert.tsx\");\n/* harmony import */ var _components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/ui/tabs */ \"(app-pages-browser)/./components/ui/tabs.tsx\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/users.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/refresh-cw.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/chart-column.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/chart-pie.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/pencil.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/message-square.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/lock.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/lock-open.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/zap.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/wifi-off.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/user-cog.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/house.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/building-2.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/globe.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/rotate-ccw.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/eye.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/user-plus.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var _components_ui_table__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ui/table */ \"(app-pages-browser)/./components/ui/table.tsx\");\n/* harmony import */ var _components_user_category_modal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/user-category-modal */ \"(app-pages-browser)/./components/user-category-modal.tsx\");\n/* harmony import */ var _components_team_user_category_modal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/components/team-user-category-modal */ \"(app-pages-browser)/./components/team-user-category-modal.tsx\");\n/* harmony import */ var _components_stats_pie_chart__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/components/stats-pie-chart */ \"(app-pages-browser)/./components/stats-pie-chart.tsx\");\n/* harmony import */ var _components_simple_pie_chart__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/components/simple-pie-chart */ \"(app-pages-browser)/./components/simple-pie-chart.tsx\");\n/* harmony import */ var _hooks_useRealTimeUpdates__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/hooks/useRealTimeUpdates */ \"(app-pages-browser)/./hooks/useRealTimeUpdates.ts\");\n/* harmony import */ var _hooks_useTeamRealTimeUpdates__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/hooks/useTeamRealTimeUpdates */ \"(app-pages-browser)/./hooks/useTeamRealTimeUpdates.ts\");\n/* harmony import */ var _components_department_user_category_modal__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/components/department-user-category-modal */ \"(app-pages-browser)/./components/department-user-category-modal.tsx\");\n/* harmony import */ var _hooks_useDepartmentRealTimeUpdates__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/hooks/useDepartmentRealTimeUpdates */ \"(app-pages-browser)/./hooks/useDepartmentRealTimeUpdates.ts\");\n/* harmony import */ var _components_field_user_category_modal__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/components/field-user-category-modal */ \"(app-pages-browser)/./components/field-user-category-modal.tsx\");\n/* harmony import */ var _hooks_useFieldRealTimeUpdates__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/hooks/useFieldRealTimeUpdates */ \"(app-pages-browser)/./hooks/useFieldRealTimeUpdates.ts\");\n/* harmony import */ var _components_report_on_behalf_modal__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/components/report-on-behalf-modal */ \"(app-pages-browser)/./components/report-on-behalf-modal.tsx\");\n/* harmony import */ var _components_user_scope_modal__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/components/user-scope-modal */ \"(app-pages-browser)/./components/user-scope-modal.tsx\");\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n// app/admin/page.tsx\n// ... (other imports)\n// Updated import to get all necessary types and constants from types/user.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction AdminPage() {\n var _this = this;\n _s();\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [activeTab, setActiveTab] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"team\");\n // Global stats and data\n const [globalStats, setGlobalStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [globalUsers, setGlobalUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [globalLastReset, setGlobalLastReset] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [globalResetCooldown, setGlobalResetCooldown] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n // Team stats and data\n const [teamStats, setTeamStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [teamUsers, setTeamUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [teamName, setTeamName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [teamResetCooldown, setTeamResetCooldown] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n // Department stats and data\n const [departmentStats, setDepartmentStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [departmentUsers, setDepartmentUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [departmentName, setDepartmentName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [departmentResetCooldown, setDepartmentResetCooldown] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [departmentChangedRows, setDepartmentChangedRows] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n const [departmentModalOpen, setDepartmentModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n // Field stats and data\n const [fieldStats, setFieldStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [fieldUsers, setFieldUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [fieldName, setFieldName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [fieldResetCooldown, setFieldResetCooldown] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [fieldChangedRows, setFieldChangedRows] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n const [fieldModalOpen, setFieldModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [newUser, setNewUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n name: \"\",\n isAdmin: false,\n field: \"\",\n department: \"\",\n team: \"\",\n role: \"\"\n });\n const [managedTypes, setManagedTypes] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n fields: [],\n departments: [],\n teams: []\n });\n const [managedTypesLoading, setManagedTypesLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [managedTypeTab, setManagedTypeTab] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"field\");\n const [newFieldName, setNewFieldName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [newDepartmentName, setNewDepartmentName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [newTeamName, setNewTeamName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [newDepartmentParentId, setNewDepartmentParentId] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [newTeamParentId, setNewTeamParentId] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [scopeModalOpen, setScopeModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [scopeUser, setScopeUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [scopeSaving, setScopeSaving] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [message, setMessage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [loadingUsers, setLoadingUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [modalOpen, setModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [teamModalOpen, setTeamModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [selectedCategory, setSelectedCategory] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [selectedCategoryName, setSelectedCategoryName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [isRefreshing, setIsRefreshing] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [changedRows, setChangedRows] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n const [teamChangedRows, setTeamChangedRows] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n const [viewMode, setViewMode] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"list\");\n const [debugMode, setDebugMode] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [useSimpleChart, setUseSimpleChart] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const [reportModalOpen, setReportModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [selectedUserForReport, setSelectedUserForReport] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n // Global real-time updates\n const { isConnected: globalConnected, refetch: refetchGlobal } = (0,_hooks_useRealTimeUpdates__WEBPACK_IMPORTED_MODULE_16__.useRealTimeUpdates)((data)=>{\n var _data_lastReset;\n if (data.stats) {\n setGlobalStats(data.stats);\n }\n if (data.users) {\n const newChangedRows = new Set();\n data.users.forEach((newUser)=>{\n const existingUser = globalUsers.find((u)=>u.national_id === newUser.national_id);\n if (existingUser && (existingUser.in_shelter !== newUser.in_shelter || existingUser.last_updated !== newUser.last_updated)) {\n newChangedRows.add(newUser.national_id);\n }\n });\n setGlobalUsers(data.users);\n setChangedRows(newChangedRows);\n if (newChangedRows.size > 0) {\n setTimeout(()=>setChangedRows(new Set()), 3000);\n }\n }\n if ((_data_lastReset = data.lastReset) === null || _data_lastReset === void 0 ? void 0 : _data_lastReset.lastReset) {\n setGlobalLastReset(data.lastReset.lastReset);\n if (data.lastReset.timestamp) {\n const resetTime = new Date(data.lastReset.timestamp).getTime();\n const now = new Date().getTime();\n const cooldownMs = 2 * 60 // 2 minutes\n ;\n const remaining = Math.max(0, cooldownMs - (now - resetTime));\n setGlobalResetCooldown(Math.ceil(remaining / 1000));\n }\n }\n });\n // Team real-time updates\n const { isConnected: teamConnected, refetch: refetchTeam } = (0,_hooks_useTeamRealTimeUpdates__WEBPACK_IMPORTED_MODULE_17__.useTeamRealTimeUpdates)((user === null || user === void 0 ? void 0 : user.national_id) || \"\", (data)=>{\n if (data.stats) {\n setTeamStats(data.stats);\n }\n if (data.users) {\n const newChangedRows = new Set();\n data.users.forEach((newUser)=>{\n const existingUser = teamUsers.find((u)=>u.national_id === newUser.national_id);\n if (existingUser && (existingUser.in_shelter !== newUser.in_shelter || existingUser.last_updated !== newUser.last_updated)) {\n newChangedRows.add(newUser.national_id);\n }\n });\n setTeamUsers(data.users);\n setTeamChangedRows(newChangedRows);\n if (newChangedRows.size > 0) {\n setTimeout(()=>setTeamChangedRows(new Set()), 3000);\n }\n }\n if (data.team) {\n setTeamName(data.team);\n }\n });\n // Department real-time updates\n const { isConnected: departmentConnected, refetch: refetchDepartment } = (0,_hooks_useDepartmentRealTimeUpdates__WEBPACK_IMPORTED_MODULE_19__.useDepartmentRealTimeUpdates)((user === null || user === void 0 ? void 0 : user.national_id) || \"\", (data)=>{\n if (data.stats) {\n setDepartmentStats(data.stats);\n }\n if (data.users) {\n const newChangedRows = new Set();\n data.users.forEach((newUser)=>{\n const existingUser = departmentUsers.find((u)=>u.national_id === newUser.national_id);\n if (existingUser && (existingUser.in_shelter !== newUser.in_shelter || existingUser.last_updated !== newUser.last_updated)) {\n newChangedRows.add(newUser.national_id);\n }\n });\n setDepartmentUsers(data.users);\n setDepartmentChangedRows(newChangedRows);\n if (newChangedRows.size > 0) {\n setTimeout(()=>setDepartmentChangedRows(new Set()), 3000);\n }\n }\n if (data.department) {\n setDepartmentName(data.department);\n }\n });\n // Field real-time updates\n const { isConnected: fieldConnected, refetch: refetchField } = (0,_hooks_useFieldRealTimeUpdates__WEBPACK_IMPORTED_MODULE_21__.useFieldRealTimeUpdates)((user === null || user === void 0 ? void 0 : user.national_id) || \"\", (data)=>{\n if (data.stats) {\n setFieldStats(data.stats);\n }\n if (data.users) {\n const newChangedRows = new Set();\n data.users.forEach((newUser)=>{\n const existingUser = fieldUsers.find((u)=>u.national_id === newUser.national_id);\n if (existingUser && (existingUser.in_shelter !== newUser.in_shelter || existingUser.last_updated !== newUser.last_updated)) {\n newChangedRows.add(newUser.national_id);\n }\n });\n setFieldUsers(data.users);\n setFieldChangedRows(newChangedRows);\n if (newChangedRows.size > 0) {\n setTimeout(()=>setFieldChangedRows(new Set()), 3000);\n }\n }\n if (data.field) {\n setFieldName(data.field);\n }\n });\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const userData = localStorage.getItem(\"user\");\n if (!userData) {\n router.push(\"/login\");\n return;\n }\n const parsedUser = JSON.parse(userData);\n if (![\n \"global_admin\",\n \"field_admin\",\n \"department_admin\",\n \"team_admin\"\n ].includes(parsedUser.role)) {\n router.push(\"/dashboard\");\n return;\n }\n setUser(parsedUser);\n }, [\n router\n ]);\n const fetchManagedTypes = async ()=>{\n setManagedTypesLoading(true);\n try {\n const response = await fetch(\"/api/admin/managed-types?adminId=\".concat(encodeURIComponent((user === null || user === void 0 ? void 0 : user.national_id) || \"\")));\n const data = await response.json();\n if (response.ok) {\n setManagedTypes({\n fields: data.fields || [],\n departments: data.departments || [],\n teams: data.teams || []\n });\n } else {\n setMessage(data.error || \"Failed to load managed types.\");\n }\n } catch (error) {\n console.error(\"Managed types fetch error:\", error);\n setMessage(\"Failed to load managed types.\");\n } finally{\n setManagedTypesLoading(false);\n }\n };\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (user === null || user === void 0 ? void 0 : user.national_id) {\n fetchManagedTypes();\n }\n }, [\n user === null || user === void 0 ? void 0 : user.national_id\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (!newDepartmentParentId && managedTypes.fields.length === 1 && managedTypes.fields[0].id) {\n setNewDepartmentParentId(String(managedTypes.fields[0].id));\n }\n if (!newTeamParentId && managedTypes.departments.length === 1 && managedTypes.departments[0].id) {\n setNewTeamParentId(String(managedTypes.departments[0].id));\n }\n }, [\n managedTypes,\n newDepartmentParentId,\n newTeamParentId\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (globalResetCooldown > 0) {\n const timer = setTimeout(()=>setGlobalResetCooldown(globalResetCooldown - 1), 1000);\n return ()=>clearTimeout(timer);\n }\n }, [\n globalResetCooldown\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (teamResetCooldown > 0) {\n const timer = setTimeout(()=>setTeamResetCooldown(teamResetCooldown - 1), 1000);\n return ()=>clearTimeout(timer);\n }\n }, [\n teamResetCooldown\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (departmentResetCooldown > 0) {\n const timer = setTimeout(()=>setDepartmentResetCooldown(departmentResetCooldown - 1), 1000);\n return ()=>clearTimeout(timer);\n }\n }, [\n departmentResetCooldown\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (fieldResetCooldown > 0) {\n const timer = setTimeout(()=>setFieldResetCooldown(fieldResetCooldown - 1), 1000);\n return ()=>clearTimeout(timer);\n }\n }, [\n fieldResetCooldown\n ]);\n const handleGlobalResetAll = async ()=>{\n if (globalResetCooldown > 0) return;\n try {\n const response = await fetch(\"/api/admin/reset-all\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"כל הסטטוסים אופסו בהצלחה\");\n setGlobalResetCooldown(30) // 2 minutes\n ;\n setGlobalLastReset(\"\".concat(user === null || user === void 0 ? void 0 : user.name, \" - \").concat(new Date().toLocaleString(\"he-IL\")));\n refetchGlobal();\n refetchTeam() // Also refresh team data\n ;\n refetchDepartment();\n refetchField();\n } else {\n // Handle cooldown error specifically\n if (response.status === 429 && data.remainingSeconds) {\n setGlobalResetCooldown(data.remainingSeconds);\n setMessage(\"יש להמתין \".concat(data.remainingSeconds, \" שניות לפני איפוס נוסף\"));\n } else {\n setMessage(data.error || \"שגיאה באיפוס הסטטוסים\");\n }\n }\n } catch (err) {\n setMessage(\"שגיאה באיפוס הסטטוסים\");\n }\n };\n const handleTeamReset = async ()=>{\n if (teamResetCooldown > 0) return;\n try {\n const response = await fetch(\"/api/admin/team-reset\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"כל הסטטוסים של צוות \".concat(data.team, \" אופסו בהצלחה\"));\n setTeamResetCooldown(60) // 1 minute\n ;\n refetchTeam();\n refetchGlobal() // Also refresh global data\n ;\n refetchDepartment();\n refetchField();\n } else {\n if (response.status === 429 && data.remainingSeconds) {\n setTeamResetCooldown(data.remainingSeconds);\n setMessage(\"יש להמתין \".concat(data.remainingSeconds, \" שניות לפני איפוס צוות נוסף\"));\n } else {\n setMessage(data.error || \"שגיאה באיפוס הצוות\");\n }\n }\n } catch (err) {\n setMessage(\"שגיאה באיפוס הצוות\");\n }\n };\n const handleDepartmentReset = async ()=>{\n if (departmentResetCooldown > 0) return;\n try {\n const response = await fetch(\"/api/admin/department-reset\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"כל הסטטוסים של מסגרת \".concat(data.department, \" אופסו בהצלחה\"));\n setDepartmentResetCooldown(90) // 1.5 minutes\n ;\n refetchDepartment();\n refetchGlobal() // Also refresh global data\n ;\n refetchTeam();\n refetchField();\n } else {\n if (response.status === 429 && data.remainingSeconds) {\n setDepartmentResetCooldown(data.remainingSeconds);\n setMessage(\"יש להמתין \".concat(data.remainingSeconds, \" שניות לפני איפוס מסגרת נוסף\"));\n } else {\n setMessage(data.error || \"שגיאה באיפוס המסגרת\");\n }\n }\n } catch (err) {\n setMessage(\"שגיאה באיפוס המסגרת\");\n }\n };\n const handleFieldReset = async ()=>{\n if (fieldResetCooldown > 0) return;\n try {\n const response = await fetch(\"/api/admin/field-reset\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"כל הסטטוסים של תחום \".concat(data.field, \" אופסו בהצלחה\"));\n setFieldResetCooldown(120) // 2 minutes\n ;\n refetchField();\n refetchGlobal() // Also refresh global data\n ;\n refetchTeam();\n refetchDepartment();\n } else {\n if (response.status === 429 && data.remainingSeconds) {\n setFieldResetCooldown(data.remainingSeconds);\n setMessage(\"יש להמתין \".concat(data.remainingSeconds, \" שניות לפני איפוס תחום נוסף\"));\n } else {\n setMessage(data.error || \"שגיאה באיפוס התחום\");\n }\n }\n } catch (err) {\n setMessage(\"שגיאה באיפוס התחום\");\n }\n };\n const handleAddManagedType = async (type)=>{\n const name = type === \"field\" ? newFieldName : type === \"department\" ? newDepartmentName : newTeamName;\n if (!name.trim()) {\n return;\n }\n const parentId = type === \"department\" ? newDepartmentParentId : type === \"team\" ? newTeamParentId : \"\";\n if ((type === \"department\" || type === \"team\") && !parentId) {\n setMessage(\"Select a parent before adding.\");\n return;\n }\n try {\n const response = await fetch(\"/api/admin/managed-types\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id,\n type,\n name: name.trim(),\n parentId: parentId ? Number(parentId) : undefined\n })\n });\n const data = await response.json();\n if (response.ok) {\n if (type === \"field\") setNewFieldName(\"\");\n if (type === \"department\") setNewDepartmentName(\"\");\n if (type === \"team\") setNewTeamName(\"\");\n if (type === \"department\") setNewDepartmentParentId(\"\");\n if (type === \"team\") setNewTeamParentId(\"\");\n await fetchManagedTypes();\n } else {\n setMessage(data.error || \"Failed to add managed type.\");\n }\n } catch (error) {\n console.error(\"Managed type add error:\", error);\n setMessage(\"Failed to add managed type.\");\n }\n };\n const handleDeleteManagedType = async (id)=>{\n if (!id || !(user === null || user === void 0 ? void 0 : user.national_id)) return;\n if (!confirm(\"Delete this value? Users assigned to it must be moved first.\")) {\n return;\n }\n try {\n const response = await fetch(\"/api/admin/managed-types/\".concat(id), {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n await fetchManagedTypes();\n } else {\n setMessage(data.error || \"Failed to delete managed type.\");\n }\n } catch (error) {\n console.error(\"Managed type delete error:\", error);\n setMessage(\"Failed to delete managed type.\");\n }\n };\n const handleRenameManagedType = async (id, currentName)=>{\n if (!id || !(user === null || user === void 0 ? void 0 : user.national_id) || !currentName) return;\n const nextName = prompt(\"Rename value:\", currentName);\n if (!nextName || nextName.trim() === currentName) return;\n try {\n const response = await fetch(\"/api/admin/managed-types/\".concat(id), {\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user.national_id,\n name: nextName.trim()\n })\n });\n const data = await response.json();\n if (response.ok) {\n await fetchManagedTypes();\n await Promise.all([\n refetchGlobal(),\n refetchTeam(),\n refetchDepartment(),\n refetchField()\n ]);\n } else {\n setMessage(data.error || \"Failed to rename managed type.\");\n }\n } catch (error) {\n console.error(\"Managed type rename error:\", error);\n setMessage(\"Failed to rename managed type.\");\n }\n };\n const handleAddUser = async (e)=>{\n e.preventDefault();\n if (!newUser.field || !newUser.department || !newUser.team || !newUser.role) {\n setMessage(\"יש לבחור תפקיד, תחום, מסגרת וצוות\");\n return;\n }\n try {\n const response = await fetch(\"/api/admin/add-user\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n ...newUser,\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(\"\".concat(data.message, \". הסיסמה הזמנית: password123\"));\n setNewUser({\n name: \"\",\n isAdmin: false,\n field: \"\",\n department: \"\",\n team: \"\",\n role: \"\"\n });\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n } else {\n setMessage(data.error || \"שגיאה בהוספת משתמש\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const handleDeleteUser = async (nationalId)=>{\n try {\n const response = await fetch(\"/api/admin/users/\".concat(nationalId), {\n method: \"DELETE\"\n });\n if (response.ok) {\n setMessage(\"משתמש נמחק בהצלחה\");\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n } else {\n const data = await response.json();\n setMessage(data.error || \"שגיאה במחיקת משתמש\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const handleResetPassword = async (nationalId, userName)=>{\n try {\n const response = await fetch(\"/api/admin/reset-password\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id,\n targetUserId: nationalId\n })\n });\n if (response.ok) {\n setMessage(\"סיסמה אופסה בהצלחה עבור \".concat(userName, \". הסיסמה החדשה: password123\"));\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n } else {\n const data = await response.json();\n setMessage(data.error || \"שגיאה באיפוס סיסמה\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const handleToggleUserLock = async (nationalId, currentLockStatus, userName)=>{\n try {\n const response = await fetch(\"/api/admin/toggle-user-lock\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id,\n targetUserId: nationalId,\n lockStatus: !currentLockStatus\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message);\n // Immediately update the local state to reflect the change\n const updateUserLockStatus = (users)=>users.map((u)=>u.national_id === nationalId ? {\n ...u,\n lock_status: !currentLockStatus\n } : u);\n setGlobalUsers((prev)=>updateUserLockStatus(prev));\n setTeamUsers((prev)=>updateUserLockStatus(prev));\n setDepartmentUsers((prev)=>updateUserLockStatus(prev));\n setFieldUsers((prev)=>updateUserLockStatus(prev));\n // Also refresh from server to ensure consistency\n setTimeout(()=>{\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n }, 100);\n } else {\n setMessage(data.error || \"שגיאה בשינוי סטטוס נעילה\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const handleUpdateUserScope = async (payload)=>{\n if (!(user === null || user === void 0 ? void 0 : user.national_id)) return;\n setScopeSaving(true);\n try {\n const response = await fetch(\"/api/admin/update-user-scope\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user.national_id,\n targetUserId: payload.userId,\n field: payload.field,\n department: payload.department,\n team: payload.team\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"User updated.\");\n setScopeModalOpen(false);\n setScopeUser(null);\n await Promise.all([\n refetchGlobal(),\n refetchTeam(),\n refetchDepartment(),\n refetchField()\n ]);\n } else {\n setMessage(data.error || \"Failed to update user.\");\n }\n } catch (error) {\n console.error(\"User scope update error:\", error);\n setMessage(\"Failed to update user.\");\n } finally{\n setScopeSaving(false);\n }\n };\n const getStatusText = (status)=>{\n switch(status){\n case \"yes\":\n return {\n text: \"במקלט/חדר מוגן\",\n color: \"text-green-600\"\n };\n case \"no\":\n return {\n text: \"לא במקלט\",\n color: \"text-orange-600\"\n };\n case \"no_alarm\":\n return {\n text: \"אין אזעקה\",\n color: \"text-blue-600\"\n };\n case \"safe_after_exit\":\n return {\n text: \"אני בטוח.ה (סוף אירוע)\",\n color: \"text-emerald-600\"\n };\n default:\n return {\n text: \"דיווח חסר\",\n color: \"text-gray-500\"\n };\n }\n };\n const handleGlobalCategoryClick = (category, categoryName)=>{\n setSelectedCategory(category);\n setSelectedCategoryName(categoryName);\n setModalOpen(true);\n };\n const handleTeamCategoryClick = (category, categoryName)=>{\n setSelectedCategory(category);\n setSelectedCategoryName(categoryName);\n setTeamModalOpen(true);\n };\n const handleDepartmentCategoryClick = (category, categoryName)=>{\n setSelectedCategory(category);\n setSelectedCategoryName(categoryName);\n setDepartmentModalOpen(true);\n };\n const handleFieldCategoryClick = (category, categoryName)=>{\n setSelectedCategory(category);\n setSelectedCategoryName(categoryName);\n setFieldModalOpen(true);\n };\n const handleManualRefresh = async ()=>{\n setIsRefreshing(true);\n try {\n await Promise.all([\n refetchGlobal(),\n refetchTeam(),\n refetchDepartment(),\n refetchField()\n ]);\n } catch (error) {\n console.error(\"Manual refresh failed:\", error);\n setMessage(\"שגיאה ברענון הנתונים\");\n } finally{\n setTimeout(()=>setIsRefreshing(false), 500);\n }\n };\n const handleReportOnBehalf = async (userId, status)=>{\n try {\n const response = await fetch(\"/api/admin/report-on-behalf\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id,\n targetUserId: userId,\n status\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message);\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n } else {\n setMessage(data.error || \"שגיאה בדיווח\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const formatCooldownTime = (seconds)=>{\n if (seconds <= 0) return \"\";\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = seconds % 60;\n if (minutes > 0) {\n return \"\".concat(minutes, \":\").concat(remainingSeconds.toString().padStart(2, \"0\"));\n }\n return \"\".concat(remainingSeconds, \" שניות\");\n };\n const renderStatsSection = function(stats, onCategoryClick) {\n let isTeam = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false, customName = arguments.length > 3 ? arguments[3] : void 0;\n const displayName = customName || (isTeam ? \"צוות \".concat(teamName) : \"כלליות\");\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 898,\n columnNumber: 15\n }, _this),\n isTeam ? \"צוות \".concat(teamName) : customName ? \"מסגרת \".concat(customName) : \"כללי\",\n \" \",\n isRefreshing && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_25__[\"default\"], {\n className: \"h-4 w-4 animate-spin text-blue-500\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 904,\n columnNumber: 32\n }, _this),\n (isTeam ? teamConnected : departmentConnected ? departmentConnected : fieldConnected ? fieldConnected : globalConnected) && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-green-500 rounded-full animate-pulse\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 911,\n columnNumber: 43\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 897,\n columnNumber: 13\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: viewMode === \"list\" ? \"default\" : \"outline\",\n size: \"sm\",\n onClick: ()=>setViewMode(\"list\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_26__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 919,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 914,\n columnNumber: 15\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: viewMode === \"pie\" ? \"default\" : \"outline\",\n size: \"sm\",\n onClick: ()=>setViewMode(\"pie\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_27__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 922,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 921,\n columnNumber: 15\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 913,\n columnNumber: 13\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 896,\n columnNumber: 11\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 895,\n columnNumber: 9\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"text-center\",\n dir: \"rtl\",\n children: [\n stats ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: viewMode === \"list\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2 text-center\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-pointer transition-colors\",\n onClick: ()=>onCategoryClick(\"no_report\", \"לא דיווחו\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"לא דיווחו:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 936,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-red-600\",\n children: stats.no_report\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 937,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 932,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-pointer transition-colors\",\n onClick: ()=>onCategoryClick(\"in_shelter\", \"במקלט/חדר מוגן\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"במקלט:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 943,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-green-600\",\n children: stats.in_shelter\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 944,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 939,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-pointer transition-colors\",\n onClick: ()=>onCategoryClick(\"not_in_shelter\", \"לא במקלט - אין מקלט בקרבת מקום\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"לא במקלט:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 950,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-orange-600\",\n children: stats.not_in_shelter\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 951,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 946,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-pointer transition-colors\",\n onClick: ()=>onCategoryClick(\"no_alarm\", \"אין אזעקה באזור\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"אין אזעקה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 957,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-blue-600\",\n children: stats.no_alarm\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 958,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 953,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-point transition-colors\",\n onClick: ()=>onCategoryClick(\"safe_after_exit\", \"אני בטוח.ה (סוף אירוע)\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"אני בטוח.ה (סוף אירוע)\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 964,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-emerald-600\",\n children: stats.safe_after_exit\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 965,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 960,\n columnNumber: 19\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 931,\n columnNumber: 17\n }, _this) : useSimpleChart ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_simple_pie_chart__WEBPACK_IMPORTED_MODULE_15__.SimplePieChart, {\n stats: stats,\n onCategoryClick: onCategoryClick\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 969,\n columnNumber: 17\n }, _this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_stats_pie_chart__WEBPACK_IMPORTED_MODULE_14__.StatsPieChart, {\n stats: stats,\n onCategoryClick: onCategoryClick\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 971,\n columnNumber: 17\n }, _this)\n }, void 0, false) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8 text-gray-500\",\n children: \"טוען סטטיסטיקות...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 975,\n columnNumber: 13\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 text-xs text-gray-500 text-center\",\n children: (isTeam ? teamConnected : departmentConnected ? departmentConnected : fieldConnected ? fieldConnected : globalConnected) ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-green-600 font-medium\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 987,\n columnNumber: 15\n }, _this) : \"מנסה להתחבר לעדכונים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 977,\n columnNumber: 11\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 927,\n columnNumber: 9\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 894,\n columnNumber: 7\n }, _this);\n };\n const renderUsersTable = function(users, changedRows) {\n let isReadOnly = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-x-auto\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.Table, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableRow, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"שם\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1003,\n columnNumber: 15\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"דיווח\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1004,\n columnNumber: 15\n }, _this),\n !isReadOnly && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"פעולות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1005,\n columnNumber: 31\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"תחום\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1006,\n columnNumber: 15\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"מסגרת\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1007,\n columnNumber: 15\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"צוות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1008,\n columnNumber: 15\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1002,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1001,\n columnNumber: 11\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableBody, {\n children: users.map((userData)=>{\n const status = getStatusText(userData.in_shelter);\n const isChanged = changedRows.has(userData.national_id);\n const isLocked = userData.lock_status || false;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableRow, {\n className: isChanged ? \"bg-green-50 border-green-200 animate-pulse\" : \"\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n className: \"font-medium\",\n children: [\n userData.name,\n isChanged && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-2 text-green-600\",\n children: \"\\uD83D\\uDD04\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1023,\n columnNumber: 35\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1021,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: status.color,\n children: status.text\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1026,\n columnNumber: 21\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1025,\n columnNumber: 19\n }, _this),\n !isReadOnly && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n (user === null || user === void 0 ? void 0 : user.role) !== \"user\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n onClick: ()=>{\n setScopeUser(userData);\n setScopeModalOpen(true);\n },\n className: \"text-blue-600 hover:text-blue-700\",\n title: \"Edit assignment\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1042,\n columnNumber: 29\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1032,\n columnNumber: 27\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n onClick: ()=>{\n setSelectedUserForReport(userData);\n setReportModalOpen(true);\n },\n className: \"text-green-600 hover:text-green-700\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_29__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1054,\n columnNumber: 27\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1045,\n columnNumber: 25\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n onClick: ()=>handleToggleUserLock(userData.national_id, isLocked, userData.name),\n className: isLocked ? \"text-yellow-600 hover:text-yellow-700 bg-yellow-50 border-yellow-200\" : \"text-gray-600 hover:text-gray-700 bg-gray-50 border-gray-200\",\n title: isLocked ? \"לחץ לביטול נעילה\" : \"לחץ לנעילה\",\n children: isLocked ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_30__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1068,\n columnNumber: 39\n }, _this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_31__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1068,\n columnNumber: 70\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1057,\n columnNumber: 25\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1030,\n columnNumber: 23\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1029,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm bg-green-100 text-green-800 px-2 py-1 rounded\",\n children: userData.field || \"לא הוגדר\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1074,\n columnNumber: 21\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1073,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm bg-blue-100 text-blue-800 px-2 py-1 rounded\",\n children: userData.department || \"לא הוגדר\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1079,\n columnNumber: 21\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1078,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm bg-purple-100 text-purple-800 px-2 py-1 rounded\",\n children: userData.team || \"לא הוגדר\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1084,\n columnNumber: 21\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1083,\n columnNumber: 19\n }, _this)\n ]\n }, userData.national_id, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1017,\n columnNumber: 17\n }, _this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1011,\n columnNumber: 11\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1000,\n columnNumber: 9\n }, _this),\n users.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8 text-gray-500\",\n children: \"אין משתמשים\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1096,\n columnNumber: 32\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 999,\n columnNumber: 7\n }, _this);\n };\n const fieldNameById = new Map(managedTypes.fields.map((field)=>[\n field.id,\n field.name\n ]));\n const departmentNameById = new Map(managedTypes.departments.map((dept)=>[\n dept.id,\n dept.name\n ]));\n const allowedManagedTabs = (user === null || user === void 0 ? void 0 : user.role) === \"global_admin\" || (user === null || user === void 0 ? void 0 : user.role) === \"field_admin\" ? [\n \"field\",\n \"department\",\n \"team\"\n ] : (user === null || user === void 0 ? void 0 : user.role) === \"department_admin\" ? [\n \"department\",\n \"team\"\n ] : [];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (allowedManagedTabs.length > 0 && !allowedManagedTabs.includes(managedTypeTab)) {\n setManagedTypeTab(allowedManagedTabs[0]);\n }\n }, [\n allowedManagedTabs,\n managedTypeTab\n ]);\n if (!user) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen bg-gray-50 p-4\",\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto space-y-6\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"text-xl\",\n children: \"ניהול\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1124,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 text-sm text-gray-600 text-center\",\n children: globalConnected || teamConnected || departmentConnected || fieldConnected ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_32__[\"default\"], {\n className: \"h-4 w-4 text-green-500\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1129,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-green-600\",\n children: \"מקוון\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1130,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_33__[\"default\"], {\n className: \"h-4 w-4 text-red-500\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1134,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-red-600\",\n children: \"מתחבר...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1135,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1126,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n onClick: handleManualRefresh,\n disabled: isRefreshing,\n className: \"flex items-center gap-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_25__[\"default\"], {\n className: \"h-4 w-4 \".concat(isRefreshing ? \"animate-spin\" : \"\")\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1146,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1139,\n columnNumber: 17\n }, this),\n (user === null || user === void 0 ? void 0 : user.role) !== \"user\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n onClick: ()=>router.push(\"/role-admin\"),\n className: \"flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_34__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1154,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1149,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n onClick: ()=>router.push(\"/dashboard\"),\n className: \"flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_35__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1158,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1157,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1125,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1123,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1122,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1121,\n columnNumber: 9\n }, this),\n message && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_alert__WEBPACK_IMPORTED_MODULE_9__.Alert, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_alert__WEBPACK_IMPORTED_MODULE_9__.AlertDescription, {\n children: message\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1167,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1166,\n columnNumber: 11\n }, this),\n debugMode && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_alert__WEBPACK_IMPORTED_MODULE_9__.Alert, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_alert__WEBPACK_IMPORTED_MODULE_9__.AlertDescription, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"Debug Info:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1174,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs mt-2 bg-gray-100 p-2 rounded space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"User: \",\n user === null || user === void 0 ? void 0 : user.name,\n \" (\",\n user === null || user === void 0 ? void 0 : user.role,\n \")\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1176,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Team: \",\n teamName\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1177,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Global Users: \",\n globalUsers.length\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1178,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Global Connected: \",\n globalConnected ? \"Yes\" : \"No\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1179,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Global Reset Cooldown: \",\n globalResetCooldown,\n \" seconds\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1180,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Team Reset Cooldown: \",\n teamResetCooldown,\n \" seconds\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1181,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Department Reset Cooldown: \",\n departmentResetCooldown,\n \" seconds\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1182,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Field Reset Cooldown: \",\n fieldResetCooldown,\n \" seconds\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1183,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1175,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1173,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1172,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.Tabs, {\n value: activeTab,\n onValueChange: setActiveTab,\n className: \"w-full\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsList, {\n className: \"grid w-full grid-cols-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"team\",\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1192,\n columnNumber: 15\n }, this),\n \"צוות\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1191,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"department\",\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_36__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1196,\n columnNumber: 15\n }, this),\n \"מסגרת\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1195,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"field\",\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_37__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1200,\n columnNumber: 15\n }, this),\n \"תחום\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1199,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"global\",\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_37__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1204,\n columnNumber: 15\n }, this),\n \"כללי\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1203,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1190,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"team\",\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1214,\n columnNumber: 21\n }, this),\n \"איפוס סטטוסי הצוות\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1213,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1212,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleTeamReset,\n disabled: teamResetCooldown > 0,\n className: \"w-full\",\n variant: teamResetCooldown > 0 ? \"secondary\" : \"destructive\",\n children: teamResetCooldown > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1227,\n columnNumber: 25\n }, this),\n \"המתן \",\n formatCooldownTime(teamResetCooldown)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1226,\n columnNumber: 23\n }, this) : \"אפס את כל הסטטוסים של צוות \".concat(teamName)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1219,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500 bg-yellow-50 p-2 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1235,\n columnNumber: 21\n }, this),\n \" איפוס יאפס רק את המשתמשים מהצוות שלך (\",\n teamName,\n \") שאינם נעולים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1234,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1218,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1211,\n columnNumber: 15\n }, this),\n renderStatsSection(teamStats, handleTeamCategoryClick, true)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1210,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1246,\n columnNumber: 19\n }, this),\n \"ניהול משתמשי צוות \",\n teamName,\n teamChangedRows.size > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full\",\n children: [\n teamChangedRows.size,\n \" עדכונים חדשים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1249,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1245,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1244,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: loadingUsers ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-4\",\n children: \"טוען משתמשים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1257,\n columnNumber: 19\n }, this) : renderUsersTable(teamUsers, teamChangedRows)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1255,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1243,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1209,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"department\",\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1270,\n columnNumber: 21\n }, this),\n (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" ? \"צפייה במסגרת\" : \"איפוס סטטוסי המסגרת\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1269,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1268,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"space-y-4\",\n children: (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center p-4 bg-blue-50 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-blue-800 font-semibold\",\n children: \"צפייה בלבד\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1277,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-blue-600\",\n children: \"כמנהל צוות, אתה יכול לראות את המסגרת שלך אך לא לאפס אותה\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1278,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1276,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleDepartmentReset,\n disabled: departmentResetCooldown > 0,\n className: \"w-full\",\n variant: departmentResetCooldown > 0 ? \"secondary\" : \"destructive\",\n children: departmentResetCooldown > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1290,\n columnNumber: 29\n }, this),\n \"המתן \",\n formatCooldownTime(departmentResetCooldown)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1289,\n columnNumber: 27\n }, this) : \"אפס את כל הסטטוסים של מסגרת \".concat(departmentName)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1282,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500 bg-yellow-50 p-2 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1298,\n columnNumber: 25\n }, this),\n \" איפוס יאפס את כל המשתמשים מהמסגרת שלך (\",\n departmentName,\n \") שאינם נעולים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1297,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1274,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1267,\n columnNumber: 15\n }, this),\n renderStatsSection(departmentStats, handleDepartmentCategoryClick, false, departmentName)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1266,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1311,\n columnNumber: 19\n }, this),\n (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" ? \"צפייה במשתמשי מסגרת\" : \"ניהול משתמשי מסגרת\",\n \" \",\n departmentName,\n departmentChangedRows.size > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full\",\n children: [\n departmentChangedRows.size,\n \" עדכונים חדשים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1314,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1310,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1309,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: loadingUsers ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-4\",\n children: \"טוען משתמשים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1322,\n columnNumber: 19\n }, this) : renderUsersTable(departmentUsers, departmentChangedRows, (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\")\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1320,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1308,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1265,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"field\",\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1335,\n columnNumber: 21\n }, this),\n \"איפוס סטטוסי התחום\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1334,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1333,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"space-y-4\",\n children: (user === null || user === void 0 ? void 0 : user.role) === \"department_admin\" || (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center p-4 bg-blue-50 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-blue-800 font-semibold\",\n children: \"צפייה בלבד\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1342,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-blue-600\",\n children: [\n \"כ\",\n _types_user__WEBPACK_IMPORTED_MODULE_3__.ROLE_NAMES[user.role],\n \", אתה יכול לראות את התחום שלך אך לא לאפס אותו\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1343,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1341,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleFieldReset,\n disabled: fieldResetCooldown > 0,\n className: \"w-full\",\n variant: fieldResetCooldown > 0 ? \"secondary\" : \"destructive\",\n children: fieldResetCooldown > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1355,\n columnNumber: 25\n }, this),\n \"המתן \",\n formatCooldownTime(fieldResetCooldown)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1354,\n columnNumber: 23\n }, this) : \"אפס את כל הסטטוסים של תחום \".concat(fieldName)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1347,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500 bg-yellow-50 p-2 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1363,\n columnNumber: 21\n }, this),\n \" איפוס יאפס את כל המשתמשים מהתחום שלך (\",\n fieldName,\n \") שאינם נעולים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1362,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1339,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1332,\n columnNumber: 15\n }, this),\n renderStatsSection(fieldStats, handleFieldCategoryClick, false, fieldName)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1331,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1376,\n columnNumber: 19\n }, this),\n (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" || (user === null || user === void 0 ? void 0 : user.role) === \"department_admin\" ? \"צפייה במשתמשי תחום\" : \"ניהול משתמשי תחום\",\n \" \",\n fieldName,\n fieldChangedRows.size > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full\",\n children: [\n fieldChangedRows.size,\n \" עדכונים חדשים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1379,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1375,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1374,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: loadingUsers ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-4\",\n children: \"טוען משתמשים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1387,\n columnNumber: 19\n }, this) : renderUsersTable(fieldUsers, fieldChangedRows, (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" || (user === null || user === void 0 ? void 0 : user.role) === \"department_admin\")\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1385,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1373,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1330,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"global\",\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1400,\n columnNumber: 21\n }, this),\n \"איפוס סטטוסים כללי\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1399,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1398,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleGlobalResetAll,\n disabled: globalResetCooldown > 0,\n className: \"w-full\",\n variant: globalResetCooldown > 0 ? \"secondary\" : \"destructive\",\n children: globalResetCooldown > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1413,\n columnNumber: 25\n }, this),\n \"המתן \",\n formatCooldownTime(globalResetCooldown)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1412,\n columnNumber: 23\n }, this) : \"אפס את כל הסטטוסים\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1405,\n columnNumber: 19\n }, this),\n globalLastReset && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-gray-600\",\n children: [\n \"איפוס אחרון: \",\n globalLastReset\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1420,\n columnNumber: 39\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500 bg-yellow-50 p-2 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1422,\n columnNumber: 21\n }, this),\n \" איפוס יאפס את כל המשתמשים במערכת (כולל מנהלים) שאינם נעולים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1421,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1404,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1397,\n columnNumber: 15\n }, this),\n renderStatsSection(globalStats, handleGlobalCategoryClick, false)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1396,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_41__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1433,\n columnNumber: 19\n }, this),\n \"הוספת משתמש חדש\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1432,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1431,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleAddUser,\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"name\",\n children: \"שם\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1441,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n id: \"name\",\n value: newUser.name,\n onChange: (e)=>setNewUser({\n ...newUser,\n name: e.target.value\n }),\n placeholder: \"שם\",\n required: true\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1442,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1440,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1439,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"field\",\n children: \"תחום\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1453,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newUser.field,\n onValueChange: (value)=>setNewUser({\n ...newUser,\n field: value\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"בחר תחום\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1456,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1455,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.fields.map((field)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: field.name,\n children: field.name\n }, field.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1460,\n columnNumber: 29\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1458,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1454,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1452,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"department\",\n children: \"מסגרת\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1468,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newUser.department,\n onValueChange: (value)=>setNewUser({\n ...newUser,\n department: value\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"בחר מסגרת\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1474,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1473,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.departments.map((dept)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: dept.name,\n children: dept.name\n }, dept.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1478,\n columnNumber: 29\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1476,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1469,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1467,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"team\",\n children: \"צוות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1486,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newUser.team,\n onValueChange: (value)=>setNewUser({\n ...newUser,\n team: value\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"בחר צוות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1489,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1488,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.teams.map((team)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: team.name,\n children: team.name\n }, team.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1493,\n columnNumber: 29\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1491,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1487,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1485,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"role\",\n children: \"הרשאה\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1501,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newUser.role,\n onValueChange: (value)=>setNewUser({\n ...newUser,\n role: value,\n isAdmin: value !== \"user\"\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"בחר הרשאה\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1513,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1512,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"user\",\n children: \"משתמש רגיל\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1516,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"team_admin\",\n children: \"מנהל צוות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1517,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"department_admin\",\n children: \"מנהל מסגרת\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1518,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"field_admin\",\n children: \"מנהל תחום\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1519,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1515,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1502,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1500,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1451,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-600 bg-blue-50 p-3 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1525,\n columnNumber: 21\n }, this),\n ' המשתמש יקבל את הסיסמה הזמנית \"password123\" ויידרש לשנותה בכניסה הראשונה'\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1524,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"submit\",\n className: \"w-full\",\n children: \"הוסף משתמש\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1527,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1438,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1437,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1430,\n columnNumber: 13\n }, this),\n allowedManagedTabs.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1538,\n columnNumber: 21\n }, this),\n \"Manage fields, departments, and teams\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1537,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1536,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.Tabs, {\n value: managedTypeTab,\n onValueChange: (value)=>setManagedTypeTab(value),\n className: \"w-full\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsList, {\n className: \"grid w-full grid-cols-3\",\n children: [\n allowedManagedTabs.includes(\"field\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"field\",\n children: \"Fields\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1550,\n columnNumber: 64\n }, this),\n allowedManagedTabs.includes(\"department\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"department\",\n children: \"Departments\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1552,\n columnNumber: 25\n }, this),\n allowedManagedTabs.includes(\"team\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"team\",\n children: \"Teams\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1554,\n columnNumber: 63\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1549,\n columnNumber: 21\n }, this),\n allowedManagedTabs.includes(\"field\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"field\",\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n value: newFieldName,\n onChange: (e)=>setNewFieldName(e.target.value),\n placeholder: \"New field\",\n disabled: managedTypesLoading\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1560,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: ()=>handleAddManagedType(\"field\"),\n disabled: managedTypesLoading || !newFieldName.trim(),\n children: \"Add\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1566,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1559,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500\",\n children: \"Values assigned to users must be reassigned before deletion.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1573,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: managedTypes.fields.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-500\",\n children: \"No fields yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1578,\n columnNumber: 27\n }, this) : managedTypes.fields.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between rounded border p-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.name\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1583,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1582,\n columnNumber: 31\n }, this),\n item.managed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleRenameManagedType(item.id, item.name),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4 text-blue-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1592,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1587,\n columnNumber: 35\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleDeleteManagedType(item.id),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_42__[\"default\"], {\n className: \"h-4 w-4 text-red-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1599,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1594,\n columnNumber: 35\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1586,\n columnNumber: 33\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400\",\n children: \"In use\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1603,\n columnNumber: 33\n }, this)\n ]\n }, item.name, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1581,\n columnNumber: 29\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1576,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1558,\n columnNumber: 21\n }, this),\n allowedManagedTabs.includes(\"department\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"department\",\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newDepartmentParentId,\n onValueChange: setNewDepartmentParentId,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"Select field\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1617,\n columnNumber: 31\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1616,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.fields.filter((field)=>field.id).map((field)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: String(field.id),\n children: field.name\n }, field.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1621,\n columnNumber: 33\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1619,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1615,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n value: newDepartmentName,\n onChange: (e)=>setNewDepartmentName(e.target.value),\n placeholder: \"New department\",\n disabled: managedTypesLoading\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1627,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: ()=>handleAddManagedType(\"department\"),\n disabled: managedTypesLoading || !newDepartmentName.trim(),\n children: \"Add\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1633,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1614,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500\",\n children: \"Values assigned to users must be reassigned before deletion.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1640,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: managedTypes.departments.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-500\",\n children: \"No departments yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1645,\n columnNumber: 29\n }, this) : managedTypes.departments.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between rounded border p-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.name\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1650,\n columnNumber: 35\n }, this),\n item.parentId && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-500\",\n children: [\n \"Field: \",\n fieldNameById.get(item.parentId) || \"Unknown\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1652,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1649,\n columnNumber: 33\n }, this),\n item.managed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleRenameManagedType(item.id, item.name),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4 text-blue-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1664,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1659,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleDeleteManagedType(item.id),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_42__[\"default\"], {\n className: \"h-4 w-4 text-red-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1671,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1666,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1658,\n columnNumber: 35\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400\",\n children: \"In use\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1675,\n columnNumber: 35\n }, this)\n ]\n }, item.name, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1648,\n columnNumber: 31\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1643,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1613,\n columnNumber: 23\n }, this),\n allowedManagedTabs.includes(\"team\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"team\",\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newTeamParentId,\n onValueChange: setNewTeamParentId,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"Select department\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1689,\n columnNumber: 31\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1688,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.departments.filter((dept)=>dept.id).map((dept)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: String(dept.id),\n children: dept.name\n }, dept.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1693,\n columnNumber: 33\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1691,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1687,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n value: newTeamName,\n onChange: (e)=>setNewTeamName(e.target.value),\n placeholder: \"New team\",\n disabled: managedTypesLoading\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1699,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: ()=>handleAddManagedType(\"team\"),\n disabled: managedTypesLoading || !newTeamName.trim(),\n children: \"Add\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1705,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1686,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500\",\n children: \"Values assigned to users must be reassigned before deletion.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1712,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: managedTypes.teams.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-500\",\n children: \"No teams yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1717,\n columnNumber: 29\n }, this) : managedTypes.teams.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between rounded border p-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.name\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1722,\n columnNumber: 35\n }, this),\n item.parentId && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-500\",\n children: [\n \"Department: \",\n departmentNameById.get(item.parentId) || \"Unknown\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1724,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1721,\n columnNumber: 33\n }, this),\n item.managed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleRenameManagedType(item.id, item.name),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4 text-blue-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1736,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1731,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleDeleteManagedType(item.id),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_42__[\"default\"], {\n className: \"h-4 w-4 text-red-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1743,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1738,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1730,\n columnNumber: 35\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400\",\n children: \"In use\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1747,\n columnNumber: 35\n }, this)\n ]\n }, item.name, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1720,\n columnNumber: 31\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1715,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1685,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1543,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1542,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1535,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1764,\n columnNumber: 19\n }, this),\n \"ניהול כל המשתמשים\",\n changedRows.size > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full\",\n children: [\n changedRows.size,\n \" עדכונים חדשים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1767,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1763,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1762,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: loadingUsers ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-4\",\n children: \"טוען משתמשים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1775,\n columnNumber: 19\n }, this) : renderUsersTable(globalUsers, changedRows)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1773,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1761,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1395,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1189,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_user_category_modal__WEBPACK_IMPORTED_MODULE_12__.UserCategoryModal, {\n isOpen: modalOpen,\n onClose: ()=>setModalOpen(false),\n category: selectedCategory,\n categoryName: selectedCategoryName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1784,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_team_user_category_modal__WEBPACK_IMPORTED_MODULE_13__.TeamUserCategoryModal, {\n isOpen: teamModalOpen,\n onClose: ()=>setTeamModalOpen(false),\n category: selectedCategory,\n categoryName: selectedCategoryName,\n adminId: (user === null || user === void 0 ? void 0 : user.national_id) || \"\",\n teamName: teamName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1791,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_department_user_category_modal__WEBPACK_IMPORTED_MODULE_18__.DepartmentUserCategoryModal, {\n isOpen: departmentModalOpen,\n onClose: ()=>setDepartmentModalOpen(false),\n category: selectedCategory,\n categoryName: selectedCategoryName,\n adminId: (user === null || user === void 0 ? void 0 : user.national_id) || \"\",\n departmentName: departmentName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1800,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_field_user_category_modal__WEBPACK_IMPORTED_MODULE_20__.FieldUserCategoryModal, {\n isOpen: fieldModalOpen,\n onClose: ()=>setFieldModalOpen(false),\n category: selectedCategory,\n categoryName: selectedCategoryName,\n adminId: (user === null || user === void 0 ? void 0 : user.national_id) || \"\",\n fieldName: fieldName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1809,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_user_scope_modal__WEBPACK_IMPORTED_MODULE_23__.UserScopeModal, {\n isOpen: scopeModalOpen,\n onClose: ()=>setScopeModalOpen(false),\n user: scopeUser,\n fields: managedTypes.fields,\n departments: managedTypes.departments,\n teams: managedTypes.teams,\n onSave: handleUpdateUserScope,\n isSaving: scopeSaving\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1818,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_report_on_behalf_modal__WEBPACK_IMPORTED_MODULE_22__.ReportOnBehalfModal, {\n isOpen: reportModalOpen,\n onClose: ()=>setReportModalOpen(false),\n user: selectedUserForReport,\n onReport: handleReportOnBehalf\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1829,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n className: \"mt-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"py-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center text-xs text-gray-500\",\n children: [\n \"סביבה: \",\n process.env.NEXT_PUBLIC_HOSTNAME || \"vmx-k3s-01\" || 0,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"br\", {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1841,\n columnNumber: 15\n }, this),\n \"גרסה: \",\n \"1.0.4\" || 0,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"br\", {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1843,\n columnNumber: 15\n }, this),\n \"2025 COPYRIGHT TR-WEB\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1839,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1838,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1837,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1120,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1119,\n columnNumber: 5\n }, this);\n}\n_s(AdminPage, \"vqeQxkpWd1KXdhJpseX8L3VdTIo=\", false, function() {\n return [\n next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter,\n _hooks_useRealTimeUpdates__WEBPACK_IMPORTED_MODULE_16__.useRealTimeUpdates,\n _hooks_useTeamRealTimeUpdates__WEBPACK_IMPORTED_MODULE_17__.useTeamRealTimeUpdates,\n _hooks_useDepartmentRealTimeUpdates__WEBPACK_IMPORTED_MODULE_19__.useDepartmentRealTimeUpdates,\n _hooks_useFieldRealTimeUpdates__WEBPACK_IMPORTED_MODULE_21__.useFieldRealTimeUpdates\n ];\n});\n_c = AdminPage;\nvar _c;\n$RefreshReg$(_c, \"AdminPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9hZG1pbi9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJMkM7QUFDQTtBQUMzQyxxQkFBcUI7QUFFckIsc0JBQXNCO0FBRXRCLDZFQUE2RTtBQUNWO0FBZ0JwQjtBQUNnQztBQUNsQztBQUNBO0FBRXlEO0FBQ3ZDO0FBQ2dCO0FBeUIxRDtBQUNnRjtBQUNqQztBQUNTO0FBQ2pCO0FBQ0U7QUFDQztBQUNRO0FBQ2tCO0FBQ047QUFDSjtBQUNOO0FBQ0E7QUFDWDtBQThCL0MsU0FBUzREOzs7SUFDdEIsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUc5RCwrQ0FBUUEsQ0FBYztJQUM5QyxNQUFNLENBQUMrRCxXQUFXQyxhQUFhLEdBQUdoRSwrQ0FBUUEsQ0FBQztJQUUzQyx3QkFBd0I7SUFDeEIsTUFBTSxDQUFDaUUsYUFBYUMsZUFBZSxHQUFHbEUsK0NBQVFBLENBQWU7SUFDN0QsTUFBTSxDQUFDbUUsYUFBYUMsZUFBZSxHQUFHcEUsK0NBQVFBLENBQWEsRUFBRTtJQUM3RCxNQUFNLENBQUNxRSxpQkFBaUJDLG1CQUFtQixHQUFHdEUsK0NBQVFBLENBQWdCO0lBQ3RFLE1BQU0sQ0FBQ3VFLHFCQUFxQkMsdUJBQXVCLEdBQUd4RSwrQ0FBUUEsQ0FBQztJQUUvRCxzQkFBc0I7SUFDdEIsTUFBTSxDQUFDeUUsV0FBV0MsYUFBYSxHQUFHMUUsK0NBQVFBLENBQWU7SUFDekQsTUFBTSxDQUFDMkUsV0FBV0MsYUFBYSxHQUFHNUUsK0NBQVFBLENBQWEsRUFBRTtJQUN6RCxNQUFNLENBQUM2RSxVQUFVQyxZQUFZLEdBQUc5RSwrQ0FBUUEsQ0FBUztJQUNqRCxNQUFNLENBQUMrRSxtQkFBbUJDLHFCQUFxQixHQUFHaEYsK0NBQVFBLENBQUM7SUFFM0QsNEJBQTRCO0lBQzVCLE1BQU0sQ0FBQ2lGLGlCQUFpQkMsbUJBQW1CLEdBQUdsRiwrQ0FB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bi9wYWdlLnRzeD82YWE1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcbi8vZXhwb3J0IGNvbnN0IGR5bmFtaWMgPSAnZm9yY2UtZHluYW1pYydcclxuLy9leHBvcnQgY29uc3QgcmV2YWxpZGF0ZSA9IDBcclxuaW1wb3J0IHR5cGUgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gXCJuZXh0L25hdmlnYXRpb25cIlxyXG4vLyBhcHAvYWRtaW4vcGFnZS50c3hcclxuXHJcbi8vIC4uLiAob3RoZXIgaW1wb3J0cylcclxuXHJcbi8vIFVwZGF0ZWQgaW1wb3J0IHRvIGdldCBhbGwgbmVjZXNzYXJ5IHR5cGVzIGFuZCBjb25zdGFudHMgZnJvbSB0eXBlcy91c2VyLnRzXHJcbmltcG9ydCB7IHR5cGUgVXNlciwgdHlwZSBVc2VyUm9sZSwgUk9MRV9OQU1FUyB9IGZyb20gXCJAL3R5cGVzL3VzZXJcIlxuXHJcbi8vIC4uLiAocmVzdCBvZiB5b3VyIGNvbXBvbmVudCBjb2RlKVxyXG5cclxuaW1wb3J0IHtcclxuICBBbGVydERpYWxvZyxcclxuICBBbGVydERpYWxvZ1RyaWdnZXIsXHJcbiAgQWxlcnREaWFsb2dDb250ZW50LFxyXG4gIEFsZXJ0RGlhbG9nSGVhZGVyLFxyXG4gIEFsZXJ0RGlhbG9nRm9vdGVyLFxyXG4gIEFsZXJ0RGlhbG9nVGl0bGUsXHJcbiAgQWxlcnREaWFsb2dEZXNjcmlwdGlvbixcclxuICBBbGVydERpYWxvZ0FjdGlvbixcclxuICBBbGVydERpYWxvZ0NhbmNlbCxcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2FsZXJ0LWRpYWxvZ1wiXHJcblxyXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2J1dHRvblwiXHJcbmltcG9ydCB7IENhcmQsIENhcmRDb250ZW50LCBDYXJkSGVhZGVyLCBDYXJkVGl0bGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2NhcmRcIlxyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvaW5wdXRcIlxyXG5pbXBvcnQgeyBMYWJlbCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvbGFiZWxcIlxyXG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY2hlY2tib3hcIlxyXG5pbXBvcnQgeyBTZWxlY3QsIFNlbGVjdENvbnRlbnQsIFNlbGVjdEl0ZW0sIFNlbGVjdFRyaWdnZXIsIFNlbGVjdFZhbHVlIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9zZWxlY3RcIlxyXG5pbXBvcnQgeyBBbGVydCwgQWxlcnREZXNjcmlwdGlvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYWxlcnRcIlxyXG5pbXBvcnQgeyBUYWJzLCBUYWJzQ29udGVudCwgVGFic0xpc3QsIFRhYnNUcmlnZ2VyIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS90YWJzXCJcclxuaW1wb3J0IHtcclxuICBBcnJvd1JpZ2h0LFxyXG4gIFJvdGF0ZUNjdyxcclxuICBVc2VycyxcclxuICBVc2VyUGx1cyxcclxuICBDbG9jayxcclxuICBUcmFzaDIsXHJcbiAgRXllLFxyXG4gIEtleVJvdW5kLFxyXG4gIFJlZnJlc2hDdyxcclxuICBXaWZpT2ZmLFxyXG4gIFphcCxcclxuICBCYXJDaGFydDMsXHJcbiAgUGllQ2hhcnQsXHJcbiAgVXNlcnNJY29uLFxyXG4gIEdsb2JlLFxyXG4gIEJ1aWxkaW5nMixcclxuICBVc2VyQ29nLFxyXG4gIE1lc3NhZ2VTcXVhcmUsXHJcbiAgTG9jayxcclxuICBMb2NrT3BlbixcclxuICBQZW5jaWwsXHJcbiAgQXJyb3dMZWZ0LFxyXG4gIEhvbWUsXHJcbn0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IFRhYmxlLCBUYWJsZUJvZHksIFRhYmxlQ2VsbCwgVGFibGVIZWFkLCBUYWJsZUhlYWRlciwgVGFibGVSb3cgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3RhYmxlXCJcclxuaW1wb3J0IHsgVXNlckNhdGVnb3J5TW9kYWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VzZXItY2F0ZWdvcnktbW9kYWxcIlxyXG5pbXBvcnQgeyBUZWFtVXNlckNhdGVnb3J5TW9kYWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RlYW0tdXNlci1jYXRlZ29yeS1tb2RhbFwiXHJcbmltcG9ydCB7IFN0YXRzUGllQ2hhcnQgfSBmcm9tIFwiQC9jb21wb25lbnRzL3N0YXRzLXBpZS1jaGFydFwiXHJcbmltcG9ydCB7IFNpbXBsZVBpZUNoYXJ0IH0gZnJvbSBcIkAvY29tcG9uZW50cy9zaW1wbGUtcGllLWNoYXJ0XCJcclxuaW1wb3J0IHsgdXNlUmVhbFRpbWVVcGRhdGVzIH0gZnJvbSBcIkAvaG9va3MvdXNlUmVhbFRpbWVVcGRhdGVzXCJcclxuaW1wb3J0IHsgdXNlVGVhbVJlYWxUaW1lVXBkYXRlcyB9IGZyb20gXCJAL2hvb2tzL3VzZVRlYW1SZWFsVGltZVVwZGF0ZXNcIlxyXG5pbXBvcnQgeyBEZXBhcnRtZW50VXNlckNhdGVnb3J5TW9kYWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL2RlcGFydG1lbnQtdXNlci1jYXRlZ29yeS1tb2RhbFwiXHJcbmltcG9ydCB7IHVzZURlcGFydG1lbnRSZWFsVGltZVVwZGF0ZXMgfSBmcm9tIFwiQC9ob29rcy91c2VEZXBhcnRtZW50UmVhbFRpbWVVcGRhdGVzXCJcclxuaW1wb3J0IHsgRmllbGRVc2VyQ2F0ZWdvcnlNb2RhbCB9IGZyb20gXCJAL2NvbXBvbmVudHMvZmllbGQtdXNlci1jYXRlZ29yeS1tb2RhbFwiXHJcbmltcG9ydCB7IHVzZUZpZWxkUmVhbFRpbWVVcGRhdGVzIH0gZnJvbSBcIkAvaG9va3MvdXNlRmllbGRSZWFsVGltZVVwZGF0ZXNcIlxyXG5pbXBvcnQgeyBSZXBvcnRPbkJlaGFsZk1vZGFsIH0gZnJvbSBcIkAvY29tcG9uZW50cy9yZXBvcnQtb24tYmVoYWxmLW1vZGFsXCJcclxuaW1wb3J0IHsgVXNlclNjb3BlTW9kYWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VzZXItc2NvcGUtbW9kYWxcIlxyXG5cclxuaW50ZXJmYWNlIFN0YXRzIHtcclxuICBub19yZXBvcnQ6IG51bWJlclxyXG4gIGluX3NoZWx0ZXI6IG51bWJlclxyXG4gIG5vdF9pbl9zaGVsdGVyOiBudW1iZXJcclxuICBub19hbGFybTogbnVtYmVyXHJcbiAgc2FmZV9hZnRlcl9leGl0OiBudW1iZXJcclxufVxyXG5cclxuaW50ZXJmYWNlIFVzZXJEYXRhIHtcclxuICBuYXRpb25hbF9pZDogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaW5fc2hlbHRlcj86IHN0cmluZ1xyXG4gIGxhc3RfdXBkYXRlZD86IHN0cmluZ1xyXG4gIGlzX2FkbWluOiBib29sZWFuXHJcbiAgbXVzdF9jaGFuZ2VfcGFzc3dvcmQ/OiBib29sZWFuXHJcbiAgZmllbGQ/OiBzdHJpbmdcclxuICBkZXBhcnRtZW50Pzogc3RyaW5nXHJcbiAgdGVhbT86IHN0cmluZ1xyXG4gIGxvY2tfc3RhdHVzPzogYm9vbGVhblxyXG59XHJcblxyXG5pbnRlcmZhY2UgTWFuYWdlZFR5cGVPcHRpb24ge1xuICBpZD86IG51bWJlclxuICBuYW1lOiBzdHJpbmdcbiAgbWFuYWdlZDogYm9vbGVhblxuICBwYXJlbnRJZD86IG51bWJlciB8IG51bGxcbn1cblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBZG1pblBhZ2UoKSB7XHJcbiAgY29uc3QgW3VzZXIsIHNldFVzZXJdID0gdXNlU3RhdGU8VXNlciB8IG51bGw+KG51bGwpXHJcbiAgY29uc3QgW2FjdGl2ZVRhYiwgc2V0QWN0aXZlVGFiXSA9IHVzZVN0YXRlKFwidGVhbVwiKVxyXG5cclxuICAvLyBHbG9iYWwgc3RhdHMgYW5kIGRhdGFcclxuICBjb25zdCBbZ2xvYmFsU3RhdHMsIHNldEdsb2JhbFN0YXRzXSA9IHVzZVN0YXRlPFN0YXRzIHwgbnVsbD4obnVsbClcclxuICBjb25zdCBbZ2xvYmFsVXNlcnMsIHNldEdsb2JhbFVzZXJzXSA9IHVzZVN0YXRlPFVzZXJEYXRhW10+KFtdKVxyXG4gIGNvbnN0IFtnbG9iYWxMYXN0UmVzZXQsIHNldEdsb2JhbExhc3RSZXNldF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxyXG4gIGNvbnN0IFtnbG9iYWxSZXNldENvb2xkb3duLCBzZXRHbG9iYWxSZXNldENvb2xkb3duXSA9IHVzZVN0YXRlKDApXHJcblxyXG4gIC8vIFRlYW0gc3RhdHMgYW5kIGRhdGFcclxuICBjb25zdCBbdGVhbVN0YXRzLCBzZXRUZWFtU3RhdHNdID0gdXNlU3RhdGU8U3RhdHMgfCBudWxsPihudWxsKVxyXG4gIGNvbnN0IFt0ZWFtVXNlcnMsIHNldFRlYW1Vc2Vyc10gPSB1c2VTdGF0ZTxVc2VyRGF0YVtdPihbXSlcclxuICBjb25zdCBbdGVhbU5hbWUsIHNldFRlYW1OYW1lXSA9IHVzZVN0YXRlPHN0cmluZz4oXCJcIilcclxuICBjb25zdCBbdGVhbVJlc2V0Q29vbGRvd24sIHNldFRlYW1SZXNldENvb2xkb3duXSA9IHVzZVN0YXRlKDApXHJcblxyXG4gIC8vIERlcGFydG1lbnQgc3RhdHMgYW5kIGRhdGFcclxuICBjb25zdCBbZGVwYXJ0bWVudFN0YXRzLCBzZXREZXBhcnRtZW50U3RhdHNdID0gdXNlU3RhdGU8U3RhdHMgfCBudWxsPihudWxsKVxyXG4gIGNvbnN0IFtkZXBhcnRtZW50VXNlcnMsIHNldERlcGFydG1lbnRVc2Vyc10gPSB1c2VTdGF0ZTxVc2VyRGF0YVtdPihbXSlcclxuICBjb25zdCBbZGVwYXJ0bWVudE5hbWUsIHNldERlcGFydG1lbnROYW1lXSA9IHVzZVN0YXRlPHN0cmluZz4oXCJcIilcclxuICBjb25zdCBbZGVwYXJ0bWVudFJlc2V0Q29vbGRvd24sIHNldERlcGFydG1lbnRSZXNldENvb2xkb3duXSA9IHVzZVN0YXRlKDApXHJcbiAgY29uc3QgW2RlcGFydG1lbnRDaGFuZ2VkUm93cywgc2V0RGVwYXJ0bWVudENoYW5nZWRSb3dzXSA9IHVzZVN0YXRlPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpXHJcbiAgY29uc3QgW2RlcGFydG1lbnRNb2RhbE9wZW4sIHNldERlcGFydG1lbnRNb2RhbE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXHJcblxyXG4gIC8vIEZpZWxkIHN0YXRzIGFuZCBkYXRhXHJcbiAgY29uc3QgW2ZpZWxkU3RhdHMsIHNldEZpZWxkU3RhdHNdID0gdXNlU3RhdGU8U3RhdHMgfCBudWxsPihudWxsKVxyXG4gIGNvbnN0IFtmaWVsZFVzZXJzLCBzZXRGaWVsZFVzZXJzXSA9IHVzZVN0YXRlPFVzZXJEYXRhW10+KFtdKVxyXG4gIGNvbnN0IFtmaWVsZE5hbWUsIHNldEZpZWxkTmFtZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KFwiXCIpXHJcbiAgY29uc3QgW2ZpZWxkUmVzZXRDb29sZG93biwgc2V0RmllbGRSZXNldENvb2xkb3duXSA9IHVzZVN0YXRlKDApXHJcbiAgY29uc3QgW2ZpZWxkQ2hhbmdlZFJvd3MsIHNldEZpZWxkQ2hhbmdlZFJvd3NdID0gdXNlU3RhdGU8U2V0PHN0cmluZz4+KG5ldyBTZXQoKSlcclxuICBjb25zdCBbZmllbGRNb2RhbE9wZW4sIHNldEZpZWxkTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxyXG5cclxuICBjb25zdCBbbmV3VXNlciwgc2V0TmV3VXNlcl0gPSB1c2VTdGF0ZSh7XHJcbiAgICBuYW1lOiBcIlwiLFxyXG4gICAgaXNBZG1pbjogZmFsc2UsXHJcbiAgICBmaWVsZDogXCJcIixcclxuICAgIGRlcGFydG1lbnQ6IFwiXCIsXHJcbiAgICB0ZWFtOiBcIlwiLFxyXG4gICAgcm9sZTogXCJcIixcclxuICB9KVxyXG4gIGNvbnN0IFttYW5hZ2VkVHlwZXMsIHNldE1hbmFnZWRUeXBlc10gPSB1c2VTdGF0ZTx7XHJcbiAgICBmaWVsZHM6IE1hbmFnZWRUeXBlT3B0aW9uW11cclxuICAgIGRlcGFydG1lbnRzOiBNYW5hZ2VkVHlwZU9wdGlvbltdXHJcbiAgICB0ZWFtczogTWFuYWdlZFR5cGVPcHRpb25bXVxyXG4gIH0+KHtcclxuICAgIGZpZWxkczogW10sXHJcbiAgICBkZXBhcnRtZW50czogW10sXHJcbiAgICB0ZWFtczogW10sXHJcbiAgfSlcclxuICBjb25zdCBbbWFuYWdlZFR5cGVzTG9hZGluZywgc2V0TWFuYWdlZFR5cGVzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW21hbmFnZWRUeXBlVGFiLCBzZXRNYW5hZ2VkVHlwZVRhYl0gPSB1c2VTdGF0ZTxcImZpZWxkXCIgfCBcImRlcGFydG1lbnRcIiB8IFwidGVhbVwiPihcImZpZWxkXCIpXG4gIGNvbnN0IFtuZXdGaWVsZE5hbWUsIHNldE5ld0ZpZWxkTmFtZV0gPSB1c2VTdGF0ZShcIlwiKVxuICBjb25zdCBbbmV3RGVwYXJ0bWVudE5hbWUsIHNldE5ld0RlcGFydG1lbnROYW1lXSA9IHVzZVN0YXRlKFwiXCIpXG4gIGNvbnN0IFtuZXdUZWFtTmFtZSwgc2V0TmV3VGVhbU5hbWVdID0gdXNlU3RhdGUoXCJcIilcbiAgY29uc3QgW25ld0RlcGFydG1lbnRQYXJlbnRJZCwgc2V0TmV3RGVwYXJ0bWVudFBhcmVudElkXSA9IHVzZVN0YXRlPHN0cmluZz4oXCJcIilcbiAgY29uc3QgW25ld1RlYW1QYXJlbnRJZCwgc2V0TmV3VGVhbVBhcmVudElkXSA9IHVzZVN0YXRlPHN0cmluZz4oXCJcIilcbiAgY29uc3QgW3Njb3BlTW9kYWxPcGVuLCBzZXRTY29wZU1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcclxuICBjb25zdCBbc2NvcGVVc2VyLCBzZXRTY29wZVVzZXJdID0gdXNlU3RhdGU8VXNlckRhdGEgfCBudWxsPihudWxsKVxyXG4gIGNvbnN0IFtzY29wZVNhdmluZywgc2V0U2NvcGVTYXZpbmddID0gdXNlU3RhdGUoZmFsc2UpXHJcbiAgY29uc3QgW21lc3NhZ2UsIHNldE1lc3NhZ2VdID0gdXNlU3RhdGUoXCJcIilcclxuICBjb25zdCBbbG9hZGluZ1VzZXJzLCBzZXRMb2FkaW5nVXNlcnNdID0gdXNlU3RhdGUoZmFsc2UpXHJcbiAgY29uc3QgW21vZGFsT3Blbiwgc2V0TW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxyXG4gIGNvbnN0IFt0ZWFtTW9kYWxPcGVuLCBzZXRUZWFtTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxyXG4gIGNvbnN0IFtzZWxlY3RlZENhdGVnb3J5LCBzZXRTZWxlY3RlZENhdGVnb3J5XSA9IHVzZVN0YXRlKFwiXCIpXHJcbiAgY29uc3QgW3NlbGVjdGVkQ2F0ZWdvcnlOYW1lLCBzZXRTZWxlY3RlZENhdGVnb3J5TmFtZV0gPSB1c2VTdGF0ZShcIlwiKVxyXG4gIGNvbnN0IFtpc1JlZnJlc2hpbmcsIHNldElzUmVmcmVzaGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcclxuICBjb25zdCBbY2hhbmdlZFJvd3MsIHNldENoYW5nZWRSb3dzXSA9IHVzZVN0YXRlPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpXHJcbiAgY29uc3QgW3RlYW1DaGFuZ2VkUm93cywgc2V0VGVhbUNoYW5nZWRSb3dzXSA9IHVzZVN0YXRlPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpXHJcbiAgY29uc3QgW3ZpZXdNb2RlLCBzZXRWaWV3TW9kZV0gPSB1c2VTdGF0ZTxcImxpc3RcIiB8IFwicGllXCI+KFwibGlzdFwiKVxyXG4gIGNvbnN0IFtkZWJ1Z01vZGUsIHNldERlYnVnTW9kZV0gPSB1c2VTdGF0ZShmYWxzZSlcclxuICBjb25zdCBbdXNlU2ltcGxlQ2hhcnQsIHNldFVzZVNpbXBsZUNoYXJ0XSA9IHVzZVN0YXRlKGZhbHNlKVxyXG4gIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpXHJcblxyXG4gIGNvbnN0IFtyZXBvcnRNb2RhbE9wZW4sIHNldFJlcG9ydE1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcclxuICBjb25zdCBbc2VsZWN0ZWRVc2VyRm9yUmVwb3J0LCBzZXRTZWxlY3RlZFVzZXJGb3JSZXBvcnRdID0gdXNlU3RhdGU8VXNlckRhdGEgfCBudWxsPihudWxsKVxyXG5cclxuICAvLyBHbG9iYWwgcmVhbC10aW1lIHVwZGF0ZXNcclxuICBjb25zdCB7IGlzQ29ubmVjdGVkOiBnbG9iYWxDb25uZWN0ZWQsIHJlZmV0Y2g6IHJlZmV0Y2hHbG9iYWwgfSA9IHVzZVJlYWxUaW1lVXBkYXRlcygoZGF0YSkgPT4ge1xyXG4gICAgaWYgKGRhdGEuc3RhdHMpIHtcclxuICAgICAgc2V0R2xvYmFsU3RhdHMoZGF0YS5zdGF0cylcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0YS51c2Vycykge1xyXG4gICAgICBjb25zdCBuZXdDaGFuZ2VkUm93cyA9IG5ldyBTZXQ8c3RyaW5nPigpXHJcbiAgICAgIGRhdGEudXNlcnMuZm9yRWFjaCgobmV3VXNlcjogVXNlckRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBleGlzdGluZ1VzZXIgPSBnbG9iYWxVc2Vycy5maW5kKCh1KSA9PiB1Lm5hdGlvbmFsX2lkID09PSBuZXdVc2VyLm5hdGlvbmFsX2lkKVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGV4aXN0aW5nVXNlciAmJlxyXG4gICAgICAgICAgKGV4aXN0aW5nVXNlci5pbl9zaGVsdGVyICE9PSBuZXdVc2VyLmluX3NoZWx0ZXIgfHwgZXhpc3RpbmdVc2VyLmxhc3RfdXBkYXRlZCAhPT0gbmV3VXNlci5sYXN0X3VwZGF0ZWQpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBuZXdDaGFuZ2VkUm93cy5hZGQobmV3VXNlci5uYXRpb25hbF9pZClcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBzZXRHbG9iYWxVc2VycyhkYXRhLnVzZXJzKVxyXG4gICAgICBzZXRDaGFuZ2VkUm93cyhuZXdDaGFuZ2VkUm93cylcclxuXHJcbiAgICAgIGlmIChuZXdDaGFuZ2VkUm93cy5zaXplID4gMCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0Q2hhbmdlZFJvd3MobmV3IFNldCgpKSwgMzAwMClcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChkYXRhLmxhc3RSZXNldD8ubGFzdFJlc2V0KSB7XHJcbiAgICAgIHNldEdsb2JhbExhc3RSZXNldChkYXRhLmxhc3RSZXNldC5sYXN0UmVzZXQpXHJcbiAgICAgIGlmIChkYXRhLmxhc3RSZXNldC50aW1lc3RhbXApIHtcclxuICAgICAgICBjb25zdCByZXNldFRpbWUgPSBuZXcgRGF0ZShkYXRhLmxhc3RSZXNldC50aW1lc3RhbXApLmdldFRpbWUoKVxyXG4gICAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpXHJcbiAgICAgICAgY29uc3QgY29vbGRvd25NcyA9IDIgKiA2MCAvLyAyIG1pbnV0ZXNcclxuICAgICAgICBjb25zdCByZW1haW5pbmcgPSBNYXRoLm1heCgwLCBjb29sZG93bk1zIC0gKG5vdyAtIHJlc2V0VGltZSkpXHJcbiAgICAgICAgc2V0R2xvYmFsUmVzZXRDb29sZG93bihNYXRoLmNlaWwocmVtYWluaW5nIC8gMTAwMCkpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KVxyXG5cclxuICAvLyBUZWFtIHJlYWwtdGltZSB1cGRhdGVzXHJcbiAgY29uc3QgeyBpc0Nvbm5lY3RlZDogdGVhbUNvbm5lY3RlZCwgcmVmZXRjaDogcmVmZXRjaFRlYW0gfSA9IHVzZVRlYW1SZWFsVGltZVVwZGF0ZXMoXHJcbiAgICB1c2VyPy5uYXRpb25hbF9pZCB8fCBcIlwiLFxyXG4gICAgKGRhdGEpID0+IHtcclxuICAgICAgaWYgKGRhdGEuc3RhdHMpIHtcclxuICAgICAgICBzZXRUZWFtU3RhdHMoZGF0YS5zdGF0cylcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGRhdGEudXNlcnMpIHtcclxuICAgICAgICBjb25zdCBuZXdDaGFuZ2VkUm93cyA9IG5ldyBTZXQ8c3RyaW5nPigpXHJcbiAgICAgICAgZGF0YS51c2Vycy5mb3JFYWNoKChuZXdVc2VyOiBVc2VyRGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdVc2VyID0gdGVhbVVzZXJzLmZpbmQoKHUpID0+IHUubmF0aW9uYWxfaWQgPT09IG5ld1VzZXIubmF0aW9uYWxfaWQpXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGV4aXN0aW5nVXNlciAmJlxyXG4gICAgICAgICAgICAoZXhpc3RpbmdVc2VyLmluX3NoZWx0ZXIgIT09IG5ld1VzZXIuaW5fc2hlbHRlciB8fCBleGlzdGluZ1VzZXIubGFzdF91cGRhdGVkICE9PSBuZXdVc2VyLmxhc3RfdXBkYXRlZClcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBuZXdDaGFuZ2VkUm93cy5hZGQobmV3VXNlci5uYXRpb25hbF9pZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICBzZXRUZWFtVXNlcnMoZGF0YS51c2VycylcclxuICAgICAgICBzZXRUZWFtQ2hhbmdlZFJvd3MobmV3Q2hhbmdlZFJvd3MpXHJcblxyXG4gICAgICAgIGlmIChuZXdDaGFuZ2VkUm93cy5zaXplID4gMCkge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBzZXRUZWFtQ2hhbmdlZFJvd3MobmV3IFNldCgpKSwgMzAwMClcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkYXRhLnRlYW0pIHtcclxuICAgICAgICBzZXRUZWFtTmFtZShkYXRhLnRlYW0pXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgKVxyXG5cclxuICAvLyBEZXBhcnRtZW50IHJlYWwtdGltZSB1cGRhdGVzXHJcbiAgY29uc3QgeyBpc0Nvbm5lY3RlZDogZGVwYXJ0bWVudENvbm5lY3RlZCwgcmVmZXRjaDogcmVmZXRjaERlcGFydG1lbnQgfSA9IHVzZURlcGFydG1lbnRSZWFsVGltZVVwZGF0ZXMoXHJcbiAgICB1c2VyPy5uYXRpb25hbF9pZCB8fCBcIlwiLFxyXG4gICAgKGRhdGEpID0+IHtcclxuICAgICAgaWYgKGRhdGEuc3RhdHMpIHtcclxuICAgICAgICBzZXREZXBhcnRtZW50U3RhdHMoZGF0YS5zdGF0cylcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGRhdGEudXNlcnMpIHtcclxuICAgICAgICBjb25zdCBuZXdDaGFuZ2VkUm93cyA9IG5ldyBTZXQ8c3RyaW5nPigpXHJcbiAgICAgICAgZGF0YS51c2Vycy5mb3JFYWNoKChuZXdVc2VyOiBVc2VyRGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdVc2VyID0gZGVwYXJ0bWVudFVzZXJzLmZpbmQoKHUpID0+IHUubmF0aW9uYWxfaWQgPT09IG5ld1VzZXIubmF0aW9uYWxfaWQpXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGV4aXN0aW5nVXNlciAmJlxyXG4gICAgICAgICAgICAoZXhpc3RpbmdVc2VyLmluX3NoZWx0ZXIgIT09IG5ld1VzZXIuaW5fc2hlbHRlciB8fCBleGlzdGluZ1VzZXIubGFzdF91cGRhdGVkICE9PSBuZXdVc2VyLmxhc3RfdXBkYXRlZClcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBuZXdDaGFuZ2VkUm93cy5hZGQobmV3VXNlci5uYXRpb25hbF9pZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICBzZXREZXBhcnRtZW50VXNlcnMoZGF0YS51c2VycylcclxuICAgICAgICBzZXREZXBhcnRtZW50Q2hhbmdlZFJvd3MobmV3Q2hhbmdlZFJvd3MpXHJcblxyXG4gICAgICAgIGlmIChuZXdDaGFuZ2VkUm93cy5zaXplID4gMCkge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBzZXREZXBhcnRtZW50Q2hhbmdlZFJvd3MobmV3IFNldCgpKSwgMzAwMClcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkYXRhLmRlcGFydG1lbnQpIHtcclxuICAgICAgICBzZXREZXBhcnRtZW50TmFtZShkYXRhLmRlcGFydG1lbnQpXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgKVxyXG5cclxuICAvLyBGaWVsZCByZWFsLXRpbWUgdXBkYXRlc1xyXG4gIGNvbnN0IHsgaXNDb25uZWN0ZWQ6IGZpZWxkQ29ubmVjdGVkLCByZWZldGNoOiByZWZldGNoRmllbGQgfSA9IHVzZUZpZWxkUmVhbFRpbWVVcGRhdGVzKFxyXG4gICAgdXNlcj8ubmF0aW9uYWxfaWQgfHwgXCJcIixcclxuICAgIChkYXRhKSA9PiB7XHJcbiAgICAgIGlmIChkYXRhLnN0YXRzKSB7XHJcbiAgICAgICAgc2V0RmllbGRTdGF0cyhkYXRhLnN0YXRzKVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZGF0YS51c2Vycykge1xyXG4gICAgICAgIGNvbnN0IG5ld0NoYW5nZWRSb3dzID0gbmV3IFNldDxzdHJpbmc+KClcclxuICAgICAgICBkYXRhLnVzZXJzLmZvckVhY2goKG5ld1VzZXI6IFVzZXJEYXRhKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBleGlzdGluZ1VzZXIgPSBmaWVsZFVzZXJzLmZpbmQoKHUpID0+IHUubmF0aW9uYWxfaWQgPT09IG5ld1VzZXIubmF0aW9uYWxfaWQpXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGV4aXN0aW5nVXNlciAmJlxyXG4gICAgICAgICAgICAoZXhpc3RpbmdVc2VyLmluX3NoZWx0ZXIgIT09IG5ld1VzZXIuaW5fc2hlbHRlciB8fCBleGlzdGluZ1VzZXIubGFzdF91cGRhdGVkICE9PSBuZXdVc2VyLmxhc3RfdXBkYXRlZClcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBuZXdDaGFuZ2VkUm93cy5hZGQobmV3VXNlci5uYXRpb25hbF9pZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICBzZXRGaWVsZFVzZXJzKGRhdGEudXNlcnMpXHJcbiAgICAgICAgc2V0RmllbGRDaGFuZ2VkUm93cyhuZXdDaGFuZ2VkUm93cylcclxuXHJcbiAgICAgICAgaWYgKG5ld0NoYW5nZWRSb3dzLnNpemUgPiAwKSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHNldEZpZWxkQ2hhbmdlZFJvd3MobmV3IFNldCgpKSwgMzAwMClcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkYXRhLmZpZWxkKSB7XHJcbiAgICAgICAgc2V0RmllbGROYW1lKGRhdGEuZmllbGQpXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgKVxyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgY29uc3QgdXNlckRhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXJcIilcclxuICAgIGlmICghdXNlckRhdGEpIHtcclxuICAgICAgcm91dGVyLnB1c2goXCIvbG9naW5cIilcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcGFyc2VkVXNlciA9IEpTT04ucGFyc2UodXNlckRhdGEpXHJcbiAgICAgIGlmICghW1wiZ2xvYmFsX2FkbWluXCIsIFwiZmllbGRfYWRtaW5cIiwgXCJkZXBhcnRtZW50X2FkbWluXCIsIFwidGVhbV9hZG1pblwiXS5pbmNsdWRlcyhwYXJzZWRVc2VyLnJvbGUpKSB7XHJcbiAgICAgICAgcm91dGVyLnB1c2goXCIvZGFzaGJvYXJkXCIpXHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgc2V0VXNlcihwYXJzZWRVc2VyKVxyXG4gIH0sIFtyb3V0ZXJdKVxyXG5cclxuICBjb25zdCBmZXRjaE1hbmFnZWRUeXBlcyA9IGFzeW5jICgpID0+IHtcclxuICAgIHNldE1hbmFnZWRUeXBlc0xvYWRpbmcodHJ1ZSlcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYC9hcGkvYWRtaW4vbWFuYWdlZC10eXBlcz9hZG1pbklkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVzZXI/Lm5hdGlvbmFsX2lkIHx8IFwiXCIpfWApXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIHNldE1hbmFnZWRUeXBlcyh7XHJcbiAgICAgICAgICBmaWVsZHM6IGRhdGEuZmllbGRzIHx8IFtdLFxyXG4gICAgICAgICAgZGVwYXJ0bWVudHM6IGRhdGEuZGVwYXJ0bWVudHMgfHwgW10sXHJcbiAgICAgICAgICB0ZWFtczogZGF0YS50ZWFtcyB8fCBbXSxcclxuICAgICAgICB9KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcIkZhaWxlZCB0byBsb2FkIG1hbmFnZWQgdHlwZXMuXCIpXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJNYW5hZ2VkIHR5cGVzIGZldGNoIGVycm9yOlwiLCBlcnJvcilcclxuICAgICAgc2V0TWVzc2FnZShcIkZhaWxlZCB0byBsb2FkIG1hbmFnZWQgdHlwZXMuXCIpXHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICBzZXRNYW5hZ2VkVHlwZXNMb2FkaW5nKGZhbHNlKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodXNlcj8ubmF0aW9uYWxfaWQpIHtcbiAgICAgIGZldGNoTWFuYWdlZFR5cGVzKClcbiAgICB9XG4gIH0sIFt1c2VyPy5uYXRpb25hbF9pZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW5ld0RlcGFydG1lbnRQYXJlbnRJZCAmJiBtYW5hZ2VkVHlwZXMuZmllbGRzLmxlbmd0aCA9PT0gMSAmJiBtYW5hZ2VkVHlwZXMuZmllbGRzWzBdLmlkKSB7XG4gICAgICBzZXROZXdEZXBhcnRtZW50UGFyZW50SWQoU3RyaW5nKG1hbmFnZWRUeXBlcy5maWVsZHNbMF0uaWQpKVxuICAgIH1cbiAgICBpZiAoIW5ld1RlYW1QYXJlbnRJZCAmJiBtYW5hZ2VkVHlwZXMuZGVwYXJ0bWVudHMubGVuZ3RoID09PSAxICYmIG1hbmFnZWRUeXBlcy5kZXBhcnRtZW50c1swXS5pZCkge1xuICAgICAgc2V0TmV3VGVhbVBhcmVudElkKFN0cmluZyhtYW5hZ2VkVHlwZXMuZGVwYXJ0bWVudHNbMF0uaWQpKVxuICAgIH1cbiAgfSwgW21hbmFnZWRUeXBlcywgbmV3RGVwYXJ0bWVudFBhcmVudElkLCBuZXdUZWFtUGFyZW50SWRdKVxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmIChnbG9iYWxSZXNldENvb2xkb3duID4gMCkge1xyXG4gICAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gc2V0R2xvYmFsUmVzZXRDb29sZG93bihnbG9iYWxSZXNldENvb2xkb3duIC0gMSksIDEwMDApXHJcbiAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpXHJcbiAgICB9XHJcbiAgfSwgW2dsb2JhbFJlc2V0Q29vbGRvd25dKVxyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKHRlYW1SZXNldENvb2xkb3duID4gMCkge1xyXG4gICAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gc2V0VGVhbVJlc2V0Q29vbGRvd24odGVhbVJlc2V0Q29vbGRvd24gLSAxKSwgMTAwMClcclxuICAgICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lcilcclxuICAgIH1cclxuICB9LCBbdGVhbVJlc2V0Q29vbGRvd25dKVxyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKGRlcGFydG1lbnRSZXNldENvb2xkb3duID4gMCkge1xyXG4gICAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gc2V0RGVwYXJ0bWVudFJlc2V0Q29vbGRvd24oZGVwYXJ0bWVudFJlc2V0Q29vbGRvd24gLSAxKSwgMTAwMClcclxuICAgICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lcilcclxuICAgIH1cclxuICB9LCBbZGVwYXJ0bWVudFJlc2V0Q29vbGRvd25dKVxyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKGZpZWxkUmVzZXRDb29sZG93biA+IDApIHtcclxuICAgICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHNldEZpZWxkUmVzZXRDb29sZG93bihmaWVsZFJlc2V0Q29vbGRvd24gLSAxKSwgMTAwMClcclxuICAgICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lcilcclxuICAgIH1cclxuICB9LCBbZmllbGRSZXNldENvb2xkb3duXSlcclxuXHJcbiAgY29uc3QgaGFuZGxlR2xvYmFsUmVzZXRBbGwgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBpZiAoZ2xvYmFsUmVzZXRDb29sZG93biA+IDApIHJldHVyblxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXCIvYXBpL2FkbWluL3Jlc2V0LWFsbFwiLCB7XHJcbiAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBhZG1pbklkOiB1c2VyPy5uYXRpb25hbF9pZCB9KSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5tZXNzYWdlIHx8IFwi15vXnCDXlNeh15jXmNeV16HXmdedINeQ15XXpNeh15Ug15HXlNem15zXl9eUXCIpXHJcbiAgICAgICAgc2V0R2xvYmFsUmVzZXRDb29sZG93bigzMCkgLy8gMiBtaW51dGVzXHJcbiAgICAgICAgc2V0R2xvYmFsTGFzdFJlc2V0KGAke3VzZXI/Lm5hbWV9IC0gJHtuZXcgRGF0ZSgpLnRvTG9jYWxlU3RyaW5nKFwiaGUtSUxcIil9YClcclxuICAgICAgICByZWZldGNoR2xvYmFsKClcclxuICAgICAgICByZWZldGNoVGVhbSgpIC8vIEFsc28gcmVmcmVzaCB0ZWFtIGRhdGFcclxuICAgICAgICByZWZldGNoRGVwYXJ0bWVudCgpXHJcbiAgICAgICAgcmVmZXRjaEZpZWxkKClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIEhhbmRsZSBjb29sZG93biBlcnJvciBzcGVjaWZpY2FsbHlcclxuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MjkgJiYgZGF0YS5yZW1haW5pbmdTZWNvbmRzKSB7XHJcbiAgICAgICAgICBzZXRHbG9iYWxSZXNldENvb2xkb3duKGRhdGEucmVtYWluaW5nU2Vjb25kcylcclxuICAgICAgICAgIHNldE1lc3NhZ2UoYNeZ16kg15zXlNee16rXmdefICR7ZGF0YS5yZW1haW5pbmdTZWNvbmRzfSDXqdeg15nXldeqINec16TXoNeZINeQ15nXpNeV16Eg16DXldeh16NgKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLmVycm9yIHx8IFwi16nXkteZ15DXlCDXkdeQ15nXpNeV16Eg15TXodeY15jXldeh15nXnVwiKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgc2V0TWVzc2FnZShcItep15LXmdeQ15Qg15HXkNeZ16TXldehINeU16HXmNeY15XXodeZ151cIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZVRlYW1SZXNldCA9IGFzeW5jICgpID0+IHtcclxuICAgIGlmICh0ZWFtUmVzZXRDb29sZG93biA+IDApIHJldHVyblxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXCIvYXBpL2FkbWluL3RlYW0tcmVzZXRcIiwge1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxyXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgYWRtaW5JZDogdXNlcj8ubmF0aW9uYWxfaWQgfSksXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEubWVzc2FnZSB8fCBg15vXnCDXlNeh15jXmNeV16HXmdedINep15wg16bXldeV16ogJHtkYXRhLnRlYW19INeQ15XXpNeh15Ug15HXlNem15zXl9eUYClcclxuICAgICAgICBzZXRUZWFtUmVzZXRDb29sZG93big2MCkgLy8gMSBtaW51dGVcclxuICAgICAgICByZWZldGNoVGVhbSgpXHJcbiAgICAgICAgcmVmZXRjaEdsb2JhbCgpIC8vIEFsc28gcmVmcmVzaCBnbG9iYWwgZGF0YVxyXG4gICAgICAgIHJlZmV0Y2hEZXBhcnRtZW50KClcclxuICAgICAgICByZWZldGNoRmllbGQoKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDI5ICYmIGRhdGEucmVtYWluaW5nU2Vjb25kcykge1xyXG4gICAgICAgICAgc2V0VGVhbVJlc2V0Q29vbGRvd24oZGF0YS5yZW1haW5pbmdTZWNvbmRzKVxyXG4gICAgICAgICAgc2V0TWVzc2FnZShg15nXqSDXnNeU157XqteZ158gJHtkYXRhLnJlbWFpbmluZ1NlY29uZHN9INep16DXmdeV16og15zXpNeg15kg15DXmdek15XXoSDXpteV15XXqiDXoNeV16HXo2ApXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLmVycm9yIHx8IFwi16nXkteZ15DXlCDXkdeQ15nXpNeV16Eg15TXpteV15XXqlwiKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgc2V0TWVzc2FnZShcItep15LXmdeQ15Qg15HXkNeZ16TXldehINeU16bXldeV16pcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZURlcGFydG1lbnRSZXNldCA9IGFzeW5jICgpID0+IHtcclxuICAgIGlmIChkZXBhcnRtZW50UmVzZXRDb29sZG93biA+IDApIHJldHVyblxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXCIvYXBpL2FkbWluL2RlcGFydG1lbnQtcmVzZXRcIiwge1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxyXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgYWRtaW5JZDogdXNlcj8ubmF0aW9uYWxfaWQgfSksXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEubWVzc2FnZSB8fCBg15vXnCDXlNeh15jXmNeV16HXmdedINep15wg157XodeS16jXqiAke2RhdGEuZGVwYXJ0bWVudH0g15DXldek16HXlSDXkdeU16bXnNeX15RgKVxyXG4gICAgICAgIHNldERlcGFydG1lbnRSZXNldENvb2xkb3duKDkwKSAvLyAxLjUgbWludXRlc1xyXG4gICAgICAgIHJlZmV0Y2hEZXBhcnRtZW50KClcclxuICAgICAgICByZWZldGNoR2xvYmFsKCkgLy8gQWxzbyByZWZyZXNoIGdsb2JhbCBkYXRhXHJcbiAgICAgICAgcmVmZXRjaFRlYW0oKVxyXG4gICAgICAgIHJlZmV0Y2hGaWVsZCgpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MjkgJiYgZGF0YS5yZW1haW5pbmdTZWNvbmRzKSB7XHJcbiAgICAgICAgICBzZXREZXBhcnRtZW50UmVzZXRDb29sZG93bihkYXRhLnJlbWFpbmluZ1NlY29uZHMpXHJcbiAgICAgICAgICBzZXRNZXNzYWdlKGDXmdepINec15TXnteq15nXnyAke2RhdGEucmVtYWluaW5nU2Vjb25kc30g16nXoNeZ15XXqiDXnNek16DXmSDXkNeZ16TXldehINee16HXkteo16og16DXldeh16NgKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcItep15LXmdeQ15Qg15HXkNeZ16TXldehINeU157XodeS16jXqlwiKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgc2V0TWVzc2FnZShcItep15LXmdeQ15Qg15HXkNeZ16TXldehINeU157XodeS16jXqlwiKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlRmllbGRSZXNldCA9IGFzeW5jICgpID0+IHtcclxuICAgIGlmIChmaWVsZFJlc2V0Q29vbGRvd24gPiAwKSByZXR1cm5cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZG1pbi9maWVsZC1yZXNldFwiLCB7XHJcbiAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBhZG1pbklkOiB1c2VyPy5uYXRpb25hbF9pZCB9KSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5tZXNzYWdlIHx8IGDXm9ecINeU16HXmNeY15XXodeZ150g16nXnCDXqteX15XXnSAke2RhdGEuZmllbGR9INeQ15XXpNeh15Ug15HXlNem15zXl9eUYClcclxuICAgICAgICBzZXRGaWVsZFJlc2V0Q29vbGRvd24oMTIwKSAvLyAyIG1pbnV0ZXNcclxuICAgICAgICByZWZldGNoRmllbGQoKVxyXG4gICAgICAgIHJlZmV0Y2hHbG9iYWwoKSAvLyBBbHNvIHJlZnJlc2ggZ2xvYmFsIGRhdGFcclxuICAgICAgICByZWZldGNoVGVhbSgpXHJcbiAgICAgICAgcmVmZXRjaERlcGFydG1lbnQoKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDI5ICYmIGRhdGEucmVtYWluaW5nU2Vjb25kcykge1xyXG4gICAgICAgICAgc2V0RmllbGRSZXNldENvb2xkb3duKGRhdGEucmVtYWluaW5nU2Vjb25kcylcclxuICAgICAgICAgIHNldE1lc3NhZ2UoYNeZ16kg15zXlNee16rXmdefICR7ZGF0YS5yZW1haW5pbmdTZWNvbmRzfSDXqdeg15nXldeqINec16TXoNeZINeQ15nXpNeV16Eg16rXl9eV150g16DXldeh16NgKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcItep15LXmdeQ15Qg15HXkNeZ16TXldehINeU16rXl9eV151cIilcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHNldE1lc3NhZ2UoXCLXqdeS15nXkNeUINeR15DXmdek15XXoSDXlNeq15fXldedXCIpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVBZGRNYW5hZ2VkVHlwZSA9IGFzeW5jICh0eXBlOiBcImZpZWxkXCIgfCBcImRlcGFydG1lbnRcIiB8IFwidGVhbVwiKSA9PiB7XG4gICAgY29uc3QgbmFtZSA9XG4gICAgICB0eXBlID09PSBcImZpZWxkXCIgPyBuZXdGaWVsZE5hbWUgOiB0eXBlID09PSBcImRlcGFydG1lbnRcIiA/IG5ld0RlcGFydG1lbnROYW1lIDogbmV3VGVhbU5hbWVcblxuICAgIGlmICghbmFtZS50cmltKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudElkID1cbiAgICAgIHR5cGUgPT09IFwiZGVwYXJ0bWVudFwiXG4gICAgICAgID8gbmV3RGVwYXJ0bWVudFBhcmVudElkXG4gICAgICAgIDogdHlwZSA9PT0gXCJ0ZWFtXCJcbiAgICAgICAgICA/IG5ld1RlYW1QYXJlbnRJZFxuICAgICAgICAgIDogXCJcIlxuXG4gICAgaWYgKCh0eXBlID09PSBcImRlcGFydG1lbnRcIiB8fCB0eXBlID09PSBcInRlYW1cIikgJiYgIXBhcmVudElkKSB7XG4gICAgICBzZXRNZXNzYWdlKFwiU2VsZWN0IGEgcGFyZW50IGJlZm9yZSBhZGRpbmcuXCIpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcIi9hcGkvYWRtaW4vbWFuYWdlZC10eXBlc1wiLCB7XG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGFkbWluSWQ6IHVzZXI/Lm5hdGlvbmFsX2lkLFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgbmFtZTogbmFtZS50cmltKCksXG4gICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkID8gTnVtYmVyKHBhcmVudElkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSksXG4gICAgICB9KVxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xuICAgICAgICBpZiAodHlwZSA9PT0gXCJmaWVsZFwiKSBzZXROZXdGaWVsZE5hbWUoXCJcIilcbiAgICAgICAgaWYgKHR5cGUgPT09IFwiZGVwYXJ0bWVudFwiKSBzZXROZXdEZXBhcnRtZW50TmFtZShcIlwiKVxuICAgICAgICBpZiAodHlwZSA9PT0gXCJ0ZWFtXCIpIHNldE5ld1RlYW1OYW1lKFwiXCIpXG4gICAgICAgIGlmICh0eXBlID09PSBcImRlcGFydG1lbnRcIikgc2V0TmV3RGVwYXJ0bWVudFBhcmVudElkKFwiXCIpXG4gICAgICAgIGlmICh0eXBlID09PSBcInRlYW1cIikgc2V0TmV3VGVhbVBhcmVudElkKFwiXCIpXG4gICAgICAgIGF3YWl0IGZldGNoTWFuYWdlZFR5cGVzKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcIkZhaWxlZCB0byBhZGQgbWFuYWdlZCB0eXBlLlwiKVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJNYW5hZ2VkIHR5cGUgYWRkIGVycm9yOlwiLCBlcnJvcilcclxuICAgICAgc2V0TWVzc2FnZShcIkZhaWxlZCB0byBhZGQgbWFuYWdlZCB0eXBlLlwiKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlRGVsZXRlTWFuYWdlZFR5cGUgPSBhc3luYyAoaWQ/OiBudW1iZXIpID0+IHtcbiAgICBpZiAoIWlkIHx8ICF1c2VyPy5uYXRpb25hbF9pZCkgcmV0dXJuXG4gICAgaWYgKCFjb25maXJtKFwiRGVsZXRlIHRoaXMgdmFsdWU/IFVzZXJzIGFzc2lnbmVkIHRvIGl0IG11c3QgYmUgbW92ZWQgZmlyc3QuXCIpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYC9hcGkvYWRtaW4vbWFuYWdlZC10eXBlcy8ke2lkfWAsIHtcclxuICAgICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXHJcbiAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxyXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgYWRtaW5JZDogdXNlci5uYXRpb25hbF9pZCB9KSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIGF3YWl0IGZldGNoTWFuYWdlZFR5cGVzKClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCJGYWlsZWQgdG8gZGVsZXRlIG1hbmFnZWQgdHlwZS5cIilcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcIk1hbmFnZWQgdHlwZSBkZWxldGUgZXJyb3I6XCIsIGVycm9yKVxyXG4gICAgICBzZXRNZXNzYWdlKFwiRmFpbGVkIHRvIGRlbGV0ZSBtYW5hZ2VkIHR5cGUuXCIpXHJcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVSZW5hbWVNYW5hZ2VkVHlwZSA9IGFzeW5jIChpZD86IG51bWJlciwgY3VycmVudE5hbWU/OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIWlkIHx8ICF1c2VyPy5uYXRpb25hbF9pZCB8fCAhY3VycmVudE5hbWUpIHJldHVyblxuICAgIGNvbnN0IG5leHROYW1lID0gcHJvbXB0KFwiUmVuYW1lIHZhbHVlOlwiLCBjdXJyZW50TmFtZSlcbiAgICBpZiAoIW5leHROYW1lIHx8IG5leHROYW1lLnRyaW0oKSA9PT0gY3VycmVudE5hbWUpIHJldHVyblxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYC9hcGkvYWRtaW4vbWFuYWdlZC10eXBlcy8ke2lkfWAsIHtcbiAgICAgICAgbWV0aG9kOiBcIlBBVENIXCIsXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBhZG1pbklkOiB1c2VyLm5hdGlvbmFsX2lkLCBuYW1lOiBuZXh0TmFtZS50cmltKCkgfSksXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG5cbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xuICAgICAgICBhd2FpdCBmZXRjaE1hbmFnZWRUeXBlcygpXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtyZWZldGNoR2xvYmFsKCksIHJlZmV0Y2hUZWFtKCksIHJlZmV0Y2hEZXBhcnRtZW50KCksIHJlZmV0Y2hGaWVsZCgpXSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcIkZhaWxlZCB0byByZW5hbWUgbWFuYWdlZCB0eXBlLlwiKVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiTWFuYWdlZCB0eXBlIHJlbmFtZSBlcnJvcjpcIiwgZXJyb3IpXG4gICAgICBzZXRNZXNzYWdlKFwiRmFpbGVkIHRvIHJlbmFtZSBtYW5hZ2VkIHR5cGUuXCIpXG4gICAgfVxuICB9XG5cclxuICBjb25zdCBoYW5kbGVBZGRVc2VyID0gYXN5bmMgKGU6IFJlYWN0LkZvcm1FdmVudCkgPT4ge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXHJcblxyXG4gICAgaWYgKCFuZXdVc2VyLmZpZWxkIHx8ICFuZXdVc2VyLmRlcGFydG1lbnQgfHwgIW5ld1VzZXIudGVhbSB8fCAhbmV3VXNlci5yb2xlKSB7XHJcbiAgICAgIHNldE1lc3NhZ2UoXCLXmdepINec15HXl9eV16gg16rXpNen15nXkywg16rXl9eV150sINee16HXkteo16og15XXpteV15XXqlwiKVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZG1pbi9hZGQtdXNlclwiLCB7XHJcbiAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgLi4ubmV3VXNlcixcclxuICAgICAgICAgIGFkbWluSWQ6IHVzZXI/Lm5hdGlvbmFsX2lkLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShgJHtkYXRhLm1lc3NhZ2V9LiDXlNeh15nXodee15Qg15TXltee16DXmdeqOiBwYXNzd29yZDEyM2ApXHJcbiAgICAgICAgc2V0TmV3VXNlcih7IG5hbWU6IFwiXCIsIGlzQWRtaW46IGZhbHNlLCBmaWVsZDogXCJcIiwgZGVwYXJ0bWVudDogXCJcIiwgdGVhbTogXCJcIiwgcm9sZTogXCJcIiB9KVxyXG4gICAgICAgIHJlZmV0Y2hHbG9iYWwoKVxyXG4gICAgICAgIHJlZmV0Y2hUZWFtKClcclxuICAgICAgICByZWZldGNoRGVwYXJ0bWVudCgpXHJcbiAgICAgICAgcmVmZXRjaEZpZWxkKClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCLXqdeS15nXkNeUINeR15TXldeh16TXqiDXntep16rXntepXCIpXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBzZXRNZXNzYWdlKFwi16nXkteZ15DXlCDXkdeX15nXkdeV16gg15zXqdeo16pcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZURlbGV0ZVVzZXIgPSBhc3luYyAobmF0aW9uYWxJZDogc3RyaW5nKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAvYXBpL2FkbWluL3VzZXJzLyR7bmF0aW9uYWxJZH1gLCB7XHJcbiAgICAgICAgbWV0aG9kOiBcIkRFTEVURVwiLFxyXG4gICAgICB9KVxyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShcItee16nXqtee16kg16DXnteX16cg15HXlNem15zXl9eUXCIpXHJcbiAgICAgICAgcmVmZXRjaEdsb2JhbCgpXHJcbiAgICAgICAgcmVmZXRjaFRlYW0oKVxyXG4gICAgICAgIHJlZmV0Y2hEZXBhcnRtZW50KClcclxuICAgICAgICByZWZldGNoRmllbGQoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCLXqdeS15nXkNeUINeR157Xl9eZ16fXqiDXntep16rXntepXCIpXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBzZXRNZXNzYWdlKFwi16nXkteZ15DXlCDXkdeX15nXkdeV16gg15zXqdeo16pcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZVJlc2V0UGFzc3dvcmQgPSBhc3luYyAobmF0aW9uYWxJZDogc3RyaW5nLCB1c2VyTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZG1pbi9yZXNldC1wYXNzd29yZFwiLCB7XHJcbiAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgYWRtaW5JZDogdXNlcj8ubmF0aW9uYWxfaWQsXHJcbiAgICAgICAgICB0YXJnZXRVc2VySWQ6IG5hdGlvbmFsSWQsXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGDXodeZ16HXnteUINeQ15XXpNeh15Qg15HXlNem15zXl9eUINei15HXldeoICR7dXNlck5hbWV9LiDXlNeh15nXodee15Qg15TXl9eT16nXlDogcGFzc3dvcmQxMjNgKVxyXG4gICAgICAgIHJlZmV0Y2hHbG9iYWwoKVxyXG4gICAgICAgIHJlZmV0Y2hUZWFtKClcclxuICAgICAgICByZWZldGNoRGVwYXJ0bWVudCgpXHJcbiAgICAgICAgcmVmZXRjaEZpZWxkKClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLmVycm9yIHx8IFwi16nXkteZ15DXlCDXkdeQ15nXpNeV16Eg16HXmdeh157XlFwiKVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgc2V0TWVzc2FnZShcItep15LXmdeQ15Qg15HXl9eZ15HXldeoINec16nXqNeqXCIpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVUb2dnbGVVc2VyTG9jayA9IGFzeW5jIChuYXRpb25hbElkOiBzdHJpbmcsIGN1cnJlbnRMb2NrU3RhdHVzOiBib29sZWFuLCB1c2VyTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZG1pbi90b2dnbGUtdXNlci1sb2NrXCIsIHtcclxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICBhZG1pbklkOiB1c2VyPy5uYXRpb25hbF9pZCxcclxuICAgICAgICAgIHRhcmdldFVzZXJJZDogbmF0aW9uYWxJZCxcclxuICAgICAgICAgIGxvY2tTdGF0dXM6ICFjdXJyZW50TG9ja1N0YXR1cyxcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5tZXNzYWdlKVxyXG5cclxuICAgICAgICAvLyBJbW1lZGlhdGVseSB1cGRhdGUgdGhlIGxvY2FsIHN0YXRlIHRvIHJlZmxlY3QgdGhlIGNoYW5nZVxyXG4gICAgICAgIGNvbnN0IHVwZGF0ZVVzZXJMb2NrU3RhdHVzID0gKHVzZXJzOiBVc2VyRGF0YVtdKSA9PlxyXG4gICAgICAgICAgdXNlcnMubWFwKCh1KSA9PiAodS5uYXRpb25hbF9pZCA9PT0gbmF0aW9uYWxJZCA/IHsgLi4udSwgbG9ja19zdGF0dXM6ICFjdXJyZW50TG9ja1N0YXR1cyB9IDogdSkpXHJcblxyXG4gICAgICAgIHNldEdsb2JhbFVzZXJzKChwcmV2KSA9PiB1cGRhdGVVc2VyTG9ja1N0YXR1cyhwcmV2KSlcclxuICAgICAgICBzZXRUZWFtVXNlcnMoKHByZXYpID0+IHVwZGF0ZVVzZXJMb2NrU3RhdHVzKHByZXYpKVxyXG4gICAgICAgIHNldERlcGFydG1lbnRVc2VycygocHJldikgPT4gdXBkYXRlVXNlckxvY2tTdGF0dXMocHJldikpXHJcbiAgICAgICAgc2V0RmllbGRVc2VycygocHJldikgPT4gdXBkYXRlVXNlckxvY2tTdGF0dXMocHJldikpXHJcblxyXG4gICAgICAgIC8vIEFsc28gcmVmcmVzaCBmcm9tIHNlcnZlciB0byBlbnN1cmUgY29uc2lzdGVuY3lcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHJlZmV0Y2hHbG9iYWwoKVxyXG4gICAgICAgICAgcmVmZXRjaFRlYW0oKVxyXG4gICAgICAgICAgcmVmZXRjaERlcGFydG1lbnQoKVxyXG4gICAgICAgICAgcmVmZXRjaEZpZWxkKClcclxuICAgICAgICB9LCAxMDApXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLmVycm9yIHx8IFwi16nXkteZ15DXlCDXkdep15nXoNeV15kg16HXmNeY15XXoSDXoNei15nXnNeUXCIpXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBzZXRNZXNzYWdlKFwi16nXkteZ15DXlCDXkdeX15nXkdeV16gg15zXqdeo16pcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZVVwZGF0ZVVzZXJTY29wZSA9IGFzeW5jIChwYXlsb2FkOiB7XHJcbiAgICB1c2VySWQ6IHN0cmluZ1xyXG4gICAgZmllbGQ6IHN0cmluZ1xyXG4gICAgZGVwYXJ0bWVudDogc3RyaW5nXHJcbiAgICB0ZWFtOiBzdHJpbmdcclxuICB9KSA9PiB7XHJcbiAgICBpZiAoIXVzZXI/Lm5hdGlvbmFsX2lkKSByZXR1cm5cclxuICAgIHNldFNjb3BlU2F2aW5nKHRydWUpXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZG1pbi91cGRhdGUtdXNlci1zY29wZVwiLCB7XHJcbiAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgYWRtaW5JZDogdXNlci5uYXRpb25hbF9pZCxcclxuICAgICAgICAgIHRhcmdldFVzZXJJZDogcGF5bG9hZC51c2VySWQsXHJcbiAgICAgICAgICBmaWVsZDogcGF5bG9hZC5maWVsZCxcclxuICAgICAgICAgIGRlcGFydG1lbnQ6IHBheWxvYWQuZGVwYXJ0bWVudCxcclxuICAgICAgICAgIHRlYW06IHBheWxvYWQudGVhbSxcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5tZXNzYWdlIHx8IFwiVXNlciB1cGRhdGVkLlwiKVxyXG4gICAgICAgIHNldFNjb3BlTW9kYWxPcGVuKGZhbHNlKVxyXG4gICAgICAgIHNldFNjb3BlVXNlcihudWxsKVxyXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtyZWZldGNoR2xvYmFsKCksIHJlZmV0Y2hUZWFtKCksIHJlZmV0Y2hEZXBhcnRtZW50KCksIHJlZmV0Y2hGaWVsZCgpXSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIHVzZXIuXCIpXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJVc2VyIHNjb3BlIHVwZGF0ZSBlcnJvcjpcIiwgZXJyb3IpXHJcbiAgICAgIHNldE1lc3NhZ2UoXCJGYWlsZWQgdG8gdXBkYXRlIHVzZXIuXCIpXHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICBzZXRTY29wZVNhdmluZyhmYWxzZSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGdldFN0YXR1c1RleHQgPSAoc3RhdHVzPzogc3RyaW5nKSA9PiB7XHJcbiAgICBzd2l0Y2ggKHN0YXR1cykge1xyXG4gICAgICBjYXNlIFwieWVzXCI6XHJcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogXCLXkdee16fXnNeYL9eX15PXqCDXnteV15LXn1wiLCBjb2xvcjogXCJ0ZXh0LWdyZWVuLTYwMFwiIH1cclxuICAgICAgY2FzZSBcIm5vXCI6XHJcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogXCLXnNeQINeR157Xp9ec15hcIiwgY29sb3I6IFwidGV4dC1vcmFuZ2UtNjAwXCIgfVxyXG4gICAgICBjYXNlIFwibm9fYWxhcm1cIjpcclxuICAgICAgICByZXR1cm4geyB0ZXh0OiBcIteQ15nXnyDXkNeW16LXp9eUXCIsIGNvbG9yOiBcInRleHQtYmx1ZS02MDBcIiB9XHJcbiAgICAgIGNhc2UgXCJzYWZlX2FmdGVyX2V4aXRcIjpcclxuICAgICAgICByZXR1cm4geyB0ZXh0OiBcIteQ16DXmSDXkdeY15XXly7XlCAo16HXldejINeQ15nXqNeV16IpXCIsIGNvbG9yOiBcInRleHQtZW1lcmFsZC02MDBcIiB9XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogXCLXk9eZ15XXldeXINeX16HXqFwiLCBjb2xvcjogXCJ0ZXh0LWdyYXktNTAwXCIgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlR2xvYmFsQ2F0ZWdvcnlDbGljayA9IChjYXRlZ29yeTogc3RyaW5nLCBjYXRlZ29yeU5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgc2V0U2VsZWN0ZWRDYXRlZ29yeShjYXRlZ29yeSlcclxuICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnlOYW1lKGNhdGVnb3J5TmFtZSlcclxuICAgIHNldE1vZGFsT3Blbih0cnVlKVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlVGVhbUNhdGVnb3J5Q2xpY2sgPSAoY2F0ZWdvcnk6IHN0cmluZywgY2F0ZWdvcnlOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnkoY2F0ZWdvcnkpXHJcbiAgICBzZXRTZWxlY3RlZENhdGVnb3J5TmFtZShjYXRlZ29yeU5hbWUpXHJcbiAgICBzZXRUZWFtTW9kYWxPcGVuKHRydWUpXHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVEZXBhcnRtZW50Q2F0ZWdvcnlDbGljayA9IChjYXRlZ29yeTogc3RyaW5nLCBjYXRlZ29yeU5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgc2V0U2VsZWN0ZWRDYXRlZ29yeShjYXRlZ29yeSlcclxuICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnlOYW1lKGNhdGVnb3J5TmFtZSlcclxuICAgIHNldERlcGFydG1lbnRNb2RhbE9wZW4odHJ1ZSlcclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZUZpZWxkQ2F0ZWdvcnlDbGljayA9IChjYXRlZ29yeTogc3RyaW5nLCBjYXRlZ29yeU5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgc2V0U2VsZWN0ZWRDYXRlZ29yeShjYXRlZ29yeSlcclxuICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnlOYW1lKGNhdGVnb3J5TmFtZSlcclxuICAgIHNldEZpZWxkTW9kYWxPcGVuKHRydWUpXHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVNYW51YWxSZWZyZXNoID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgc2V0SXNSZWZyZXNoaW5nKHRydWUpXHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCBQcm9taXNlLmFsbChbcmVmZXRjaEdsb2JhbCgpLCByZWZldGNoVGVhbSgpLCByZWZldGNoRGVwYXJ0bWVudCgpLCByZWZldGNoRmllbGQoKV0pXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiTWFudWFsIHJlZnJlc2ggZmFpbGVkOlwiLCBlcnJvcilcclxuICAgICAgc2V0TWVzc2FnZShcItep15LXmdeQ15Qg15HXqNei16DXldefINeU16DXqteV16DXmdedXCIpXHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzUmVmcmVzaGluZyhmYWxzZSksIDUwMClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZVJlcG9ydE9uQmVoYWxmID0gYXN5bmMgKHVzZXJJZDogc3RyaW5nLCBzdGF0dXM6IHN0cmluZykgPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcIi9hcGkvYWRtaW4vcmVwb3J0LW9uLWJlaGFsZlwiLCB7XHJcbiAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgYWRtaW5JZDogdXNlcj8ubmF0aW9uYWxfaWQsXHJcbiAgICAgICAgICB0YXJnZXRVc2VySWQ6IHVzZXJJZCxcclxuICAgICAgICAgIHN0YXR1cyxcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLm1lc3NhZ2UpXHJcbiAgICAgICAgcmVmZXRjaEdsb2JhbCgpXHJcbiAgICAgICAgcmVmZXRjaFRlYW0oKVxyXG4gICAgICAgIHJlZmV0Y2hEZXBhcnRtZW50KClcclxuICAgICAgICByZWZldGNoRmllbGQoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcItep15LXmdeQ15Qg15HXk9eZ15XXldeXXCIpXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBzZXRNZXNzYWdlKFwi16nXkteZ15DXlCDXkdeX15nXkdeV16gg15zXqdeo16pcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGZvcm1hdENvb2xkb3duVGltZSA9IChzZWNvbmRzOiBudW1iZXIpID0+IHtcclxuICAgIGlmIChzZWNvbmRzIDw9IDApIHJldHVybiBcIlwiXHJcblxyXG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKVxyXG4gICAgY29uc3QgcmVtYWluaW5nU2Vjb25kcyA9IHNlY29uZHMgJSA2MFxyXG5cclxuICAgIGlmIChtaW51dGVzID4gMCkge1xyXG4gICAgICByZXR1cm4gYCR7bWludXRlc306JHtyZW1haW5pbmdTZWNvbmRzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgXCIwXCIpfWBcclxuICAgIH1cclxuICAgIHJldHVybiBgJHtyZW1haW5pbmdTZWNvbmRzfSDXqdeg15nXldeqYFxyXG4gIH1cclxuXHJcbiAgY29uc3QgcmVuZGVyU3RhdHNTZWN0aW9uID0gKFxyXG4gICAgc3RhdHM6IFN0YXRzIHwgbnVsbCxcclxuICAgIG9uQ2F0ZWdvcnlDbGljazogKGNhdGVnb3J5OiBzdHJpbmcsIGNhdGVnb3J5TmFtZTogc3RyaW5nKSA9PiB2b2lkLFxyXG4gICAgaXNUZWFtID0gZmFsc2UsXHJcbiAgICBjdXN0b21OYW1lPzogc3RyaW5nLFxyXG4gICkgPT4ge1xyXG4gICAgY29uc3QgZGlzcGxheU5hbWUgPSBjdXN0b21OYW1lIHx8IChpc1RlYW0gPyBg16bXldeV16ogJHt0ZWFtTmFtZX1gIDogXCLXm9ec15zXmdeV16pcIilcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Q2FyZCBkaXI9XCJydGxcIj5cclxuICAgICAgICA8Q2FyZEhlYWRlcj5cclxuICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8VXNlcnMgY2xhc3NOYW1lPVwiaC01IHctNVwiIC8+XHJcbiAgICAgICAgICAgICAge2lzVGVhbVxyXG4gICAgICAgICAgICAgICAgPyBg16bXldeV16ogJHt0ZWFtTmFtZX1gXHJcbiAgICAgICAgICAgICAgICA6IGN1c3RvbU5hbWVcclxuICAgICAgICAgICAgICAgICAgPyBg157XodeS16jXqiAke2N1c3RvbU5hbWV9YFxyXG4gICAgICAgICAgICAgICAgICA6IFwi15vXnNec15lcIn17XCIgXCJ9XHJcbiAgICAgICAgICAgICAge2lzUmVmcmVzaGluZyAmJiA8UmVmcmVzaEN3IGNsYXNzTmFtZT1cImgtNCB3LTQgYW5pbWF0ZS1zcGluIHRleHQtYmx1ZS01MDBcIiAvPn1cclxuICAgICAgICAgICAgICB7KGlzVGVhbVxyXG4gICAgICAgICAgICAgICAgPyB0ZWFtQ29ubmVjdGVkXHJcbiAgICAgICAgICAgICAgICA6IGRlcGFydG1lbnRDb25uZWN0ZWRcclxuICAgICAgICAgICAgICAgICAgPyBkZXBhcnRtZW50Q29ubmVjdGVkXHJcbiAgICAgICAgICAgICAgICAgIDogZmllbGRDb25uZWN0ZWRcclxuICAgICAgICAgICAgICAgICAgICA/IGZpZWxkQ29ubmVjdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgOiBnbG9iYWxDb25uZWN0ZWQpICYmIDxkaXYgY2xhc3NOYW1lPVwidy0yIGgtMiBiZy1ncmVlbi01MDAgcm91bmRlZC1mdWxsIGFuaW1hdGUtcHVsc2VcIj48L2Rpdj59XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTFcIj5cclxuICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICB2YXJpYW50PXt2aWV3TW9kZSA9PT0gXCJsaXN0XCIgPyBcImRlZmF1bHRcIiA6IFwib3V0bGluZVwifVxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFZpZXdNb2RlKFwibGlzdFwiKX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8QmFyQ2hhcnQzIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD17dmlld01vZGUgPT09IFwicGllXCIgPyBcImRlZmF1bHRcIiA6IFwib3V0bGluZVwifSBzaXplPVwic21cIiBvbkNsaWNrPXsoKSA9PiBzZXRWaWV3TW9kZShcInBpZVwiKX0+XHJcbiAgICAgICAgICAgICAgICA8UGllQ2hhcnQgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgIDxDYXJkQ29udGVudCBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlclwiIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAge3N0YXRzID8gKFxyXG4gICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgIHt2aWV3TW9kZSA9PT0gXCJsaXN0XCIgPyAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMiB0ZXh0LWNlbnRlclwiIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gcC0yIHJvdW5kZWQgaG92ZXI6YmctZ3JheS0xMDAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1jb2xvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2F0ZWdvcnlDbGljayhcIm5vX3JlcG9ydFwiLCBcItec15Ag15PXmdeV15XXl9eVXCIpfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+15zXkCDXk9eZ15XXldeX15U6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgdGV4dC1yZWQtNjAwXCI+e3N0YXRzLm5vX3JlcG9ydH08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gcC0yIHJvdW5kZWQgaG92ZXI6YmctZ3JheS0xMDAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1jb2xvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2F0ZWdvcnlDbGljayhcImluX3NoZWx0ZXJcIiwgXCLXkdee16fXnNeYL9eX15PXqCDXnteV15LXn1wiKX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPteR157Xp9ec15g6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgdGV4dC1ncmVlbi02MDBcIj57c3RhdHMuaW5fc2hlbHRlcn08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gcC0yIHJvdW5kZWQgaG92ZXI6YmctZ3JheS0xMDAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1jb2xvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2F0ZWdvcnlDbGljayhcIm5vdF9pbl9zaGVsdGVyXCIsIFwi15zXkCDXkdee16fXnNeYIC0g15DXmdefINee16fXnNeYINeR16fXqNeR16og157Xp9eV151cIil9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj7XnNeQINeR157Xp9ec15g6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgdGV4dC1vcmFuZ2UtNjAwXCI+e3N0YXRzLm5vdF9pbl9zaGVsdGVyfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBwLTIgcm91bmRlZCBob3ZlcjpiZy1ncmF5LTEwMCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9yc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DYXRlZ29yeUNsaWNrKFwibm9fYWxhcm1cIiwgXCLXkNeZ158g15DXltei16fXlCDXkdeQ15bXldeoXCIpfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+15DXmdefINeQ15bXoten15Q6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgdGV4dC1ibHVlLTYwMFwiPntzdGF0cy5ub19hbGFybX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gcC0yIHJvdW5kZWQgaG92ZXI6YmctZ3JheS0xMDAgY3Vyc29yLXBvaW50IHRyYW5zaXRpb24tY29sb3JzXCJcclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNhdGVnb3J5Q2xpY2soXCJzYWZlX2FmdGVyX2V4aXRcIiwgXCLXkNeg15kg15HXmNeV15cu15QgKNeh15XXoyDXkNeZ16jXldeiKVwiKX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPteQ16DXmSDXkdeY15XXly7XlCAo16HXldejINeQ15nXqNeV16IpPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgdGV4dC1lbWVyYWxkLTYwMFwiPntzdGF0cy5zYWZlX2FmdGVyX2V4aXR9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICkgOiB1c2VTaW1wbGVDaGFydCA/IChcclxuICAgICAgICAgICAgICAgIDxTaW1wbGVQaWVDaGFydCBzdGF0cz17c3RhdHN9IG9uQ2F0ZWdvcnlDbGljaz17b25DYXRlZ29yeUNsaWNrfSAvPlxyXG4gICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICA8U3RhdHNQaWVDaGFydCBzdGF0cz17c3RhdHN9IG9uQ2F0ZWdvcnlDbGljaz17b25DYXRlZ29yeUNsaWNrfSAvPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBweS04IHRleHQtZ3JheS01MDBcIj7XmNeV16LXnyDXodeY15jXmdeh15jXmden15XXqi4uLjwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtNCB0ZXh0LXhzIHRleHQtZ3JheS01MDAgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgeyhcclxuICAgICAgICAgICAgICBpc1RlYW1cclxuICAgICAgICAgICAgICAgID8gdGVhbUNvbm5lY3RlZFxyXG4gICAgICAgICAgICAgICAgOiBkZXBhcnRtZW50Q29ubmVjdGVkXHJcbiAgICAgICAgICAgICAgICAgID8gZGVwYXJ0bWVudENvbm5lY3RlZFxyXG4gICAgICAgICAgICAgICAgICA6IGZpZWxkQ29ubmVjdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgPyBmaWVsZENvbm5lY3RlZFxyXG4gICAgICAgICAgICAgICAgICAgIDogZ2xvYmFsQ29ubmVjdGVkXHJcbiAgICAgICAgICAgICkgPyAoXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmVlbi02MDAgZm9udC1tZWRpdW1cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgXCLXnteg16HXlCDXnNeU16rXl9eR16gg15zXoteT15vXldeg15nXnS4uLlwiXHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L0NhcmRDb250ZW50PlxuICAgICAgPC9DYXJkPlxuICAgIClcbiAgfVxuXHJcbiAgY29uc3QgcmVuZGVyVXNlcnNUYWJsZSA9ICh1c2VyczogVXNlckRhdGFbXSwgY2hhbmdlZFJvd3M6IFNldDxzdHJpbmc+LCBpc1JlYWRPbmx5ID0gZmFsc2UpID0+IHtcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm92ZXJmbG93LXgtYXV0b1wiIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgIDxUYWJsZT5cclxuICAgICAgICAgIDxUYWJsZUhlYWRlcj5cclxuICAgICAgICAgICAgPFRhYmxlUm93PlxyXG4gICAgICAgICAgICAgIDxUYWJsZUhlYWQgY2xhc3NOYW1lPVwidGV4dC1yaWdodFwiPtep1508L1RhYmxlSGVhZD5cclxuICAgICAgICAgICAgICA8VGFibGVIZWFkIGNsYXNzTmFtZT1cInRleHQtcmlnaHRcIj7Xk9eZ15XXldeXPC9UYWJsZUhlYWQ+XHJcbiAgICAgICAgICAgICAgeyFpc1JlYWRPbmx5ICYmIDxUYWJsZUhlYWQgY2xhc3NOYW1lPVwidGV4dC1yaWdodFwiPtek16LXldec15XXqjwvVGFibGVIZWFkPn1cclxuICAgICAgICAgICAgICA8VGFibGVIZWFkIGNsYXNzTmFtZT1cInRleHQtcmlnaHRcIj7XqteX15XXnTwvVGFibGVIZWFkPlxyXG4gICAgICAgICAgICAgIDxUYWJsZUhlYWQgY2xhc3NOYW1lPVwidGV4dC1yaWdodFwiPtee16HXkteo16o8L1RhYmxlSGVhZD5cclxuICAgICAgICAgICAgICA8VGFibGVIZWFkIGNsYXNzTmFtZT1cInRleHQtcmlnaHRcIj7XpteV15XXqjwvVGFibGVIZWFkPlxyXG4gICAgICAgICAgICA8L1RhYmxlUm93PlxyXG4gICAgICAgICAgPC9UYWJsZUhlYWRlcj5cclxuICAgICAgICAgIDxUYWJsZUJvZHk+XHJcbiAgICAgICAgICAgIHt1c2Vycy5tYXAoKHVzZXJEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gZ2V0U3RhdHVzVGV4dCh1c2VyRGF0YS5pbl9zaGVsdGVyKVxyXG4gICAgICAgICAgICAgIGNvbnN0IGlzQ2hhbmdlZCA9IGNoYW5nZWRSb3dzLmhhcyh1c2VyRGF0YS5uYXRpb25hbF9pZClcclxuICAgICAgICAgICAgICBjb25zdCBpc0xvY2tlZCA9IHVzZXJEYXRhLmxvY2tfc3RhdHVzIHx8IGZhbHNlXHJcbiAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgIDxUYWJsZVJvd1xyXG4gICAgICAgICAgICAgICAgICBrZXk9e3VzZXJEYXRhLm5hdGlvbmFsX2lkfVxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2lzQ2hhbmdlZCA/IFwiYmctZ3JlZW4tNTAgYm9yZGVyLWdyZWVuLTIwMCBhbmltYXRlLXB1bHNlXCIgOiBcIlwifVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8VGFibGVDZWxsIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3VzZXJEYXRhLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQ2hhbmdlZCAmJiA8c3BhbiBjbGFzc05hbWU9XCJtbC0yIHRleHQtZ3JlZW4tNjAwXCI+8J+UhDwvc3Bhbj59XHJcbiAgICAgICAgICAgICAgICAgIDwvVGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICA8VGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3RhdHVzLmNvbG9yfT57c3RhdHVzLnRleHR9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L1RhYmxlQ2VsbD5cclxuICAgICAgICAgICAgICAgICAgeyFpc1JlYWRPbmx5ICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8VGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlICE9PSBcInVzZXJcIiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNjb3BlVXNlcih1c2VyRGF0YSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2NvcGVNb2RhbE9wZW4odHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWJsdWUtNjAwIGhvdmVyOnRleHQtYmx1ZS03MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJFZGl0IGFzc2lnbm1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5jaWwgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZFVzZXJGb3JSZXBvcnQodXNlckRhdGEpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRSZXBvcnRNb2RhbE9wZW4odHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtZ3JlZW4tNjAwIGhvdmVyOnRleHQtZ3JlZW4tNzAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNZXNzYWdlU3F1YXJlIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVUb2dnbGVVc2VyTG9jayh1c2VyRGF0YS5uYXRpb25hbF9pZCwgaXNMb2NrZWQsIHVzZXJEYXRhLm5hbWUpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvY2tlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwidGV4dC15ZWxsb3ctNjAwIGhvdmVyOnRleHQteWVsbG93LTcwMCBiZy15ZWxsb3ctNTAgYm9yZGVyLXllbGxvdy0yMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwidGV4dC1ncmF5LTYwMCBob3Zlcjp0ZXh0LWdyYXktNzAwIGJnLWdyYXktNTAgYm9yZGVyLWdyYXktMjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e2lzTG9ja2VkID8gXCLXnNeX16Ug15zXkdeZ15jXldecINeg16LXmdec15RcIiA6IFwi15zXl9elINec16DXoteZ15zXlFwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9ja2VkID8gPExvY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+IDogPExvY2tPcGVuIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L1RhYmxlQ2VsbD5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgPFRhYmxlQ2VsbD5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGJnLWdyZWVuLTEwMCB0ZXh0LWdyZWVuLTgwMCBweC0yIHB5LTEgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3VzZXJEYXRhLmZpZWxkIHx8IFwi15zXkCDXlNeV15LXk9eoXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L1RhYmxlQ2VsbD5cclxuICAgICAgICAgICAgICAgICAgPFRhYmxlQ2VsbD5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGJnLWJsdWUtMTAwIHRleHQtYmx1ZS04MDAgcHgtMiBweS0xIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt1c2VyRGF0YS5kZXBhcnRtZW50IHx8IFwi15zXkCDXlNeV15LXk9eoXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L1RhYmxlQ2VsbD5cclxuICAgICAgICAgICAgICAgICAgPFRhYmxlQ2VsbD5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGJnLXB1cnBsZS0xMDAgdGV4dC1wdXJwbGUtODAwIHB4LTIgcHktMSByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dXNlckRhdGEudGVhbSB8fCBcItec15Ag15TXldeS15PXqFwifVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9UYWJsZUNlbGw+XHJcblxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L1RhYmxlUm93PlxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICA8L1RhYmxlQm9keT5cclxuICAgICAgICA8L1RhYmxlPlxyXG4gICAgICAgIHt1c2Vycy5sZW5ndGggPT09IDAgJiYgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBweS04IHRleHQtZ3JheS01MDBcIj7XkNeZ158g157Xqdeq157XqdeZ1508L2Rpdj59XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKVxyXG4gIH1cblxuICBjb25zdCBmaWVsZE5hbWVCeUlkID0gbmV3IE1hcChtYW5hZ2VkVHlwZXMuZmllbGRzLm1hcCgoZmllbGQpID0+IFtmaWVsZC5pZCwgZmllbGQubmFtZV0pKVxuICBjb25zdCBkZXBhcnRtZW50TmFtZUJ5SWQgPSBuZXcgTWFwKG1hbmFnZWRUeXBlcy5kZXBhcnRtZW50cy5tYXAoKGRlcHQpID0+IFtkZXB0LmlkLCBkZXB0Lm5hbWVdKSlcbiAgY29uc3QgYWxsb3dlZE1hbmFnZWRUYWJzID1cbiAgICB1c2VyPy5yb2xlID09PSBcImdsb2JhbF9hZG1pblwiIHx8IHVzZXI/LnJvbGUgPT09IFwiZmllbGRfYWRtaW5cIlxuICAgICAgPyBbXCJmaWVsZFwiLCBcImRlcGFydG1lbnRcIiwgXCJ0ZWFtXCJdXG4gICAgICA6IHVzZXI/LnJvbGUgPT09IFwiZGVwYXJ0bWVudF9hZG1pblwiXG4gICAgICAgID8gW1wiZGVwYXJ0bWVudFwiLCBcInRlYW1cIl1cbiAgICAgICAgOiBbXVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFsbG93ZWRNYW5hZ2VkVGFicy5sZW5ndGggPiAwICYmICFhbGxvd2VkTWFuYWdlZFRhYnMuaW5jbHVkZXMobWFuYWdlZFR5cGVUYWIpKSB7XG4gICAgICBzZXRNYW5hZ2VkVHlwZVRhYihhbGxvd2VkTWFuYWdlZFRhYnNbMF0gYXMgXCJmaWVsZFwiIHwgXCJkZXBhcnRtZW50XCIgfCBcInRlYW1cIilcbiAgICB9XG4gIH0sIFthbGxvd2VkTWFuYWdlZFRhYnMsIG1hbmFnZWRUeXBlVGFiXSlcblxuICBpZiAoIXVzZXIpIHJldHVybiBudWxsXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gYmctZ3JheS01MCBwLTRcIiBkaXI9XCJydGxcIj5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy02eGwgbXgtYXV0byBzcGFjZS15LTZcIiBkaXI9XCJydGxcIj5cclxuICAgICAgICA8Q2FyZD5cclxuICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwidGV4dC14bFwiPteg15nXlNeV15w8L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtc20gdGV4dC1ncmF5LTYwMCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICB7Z2xvYmFsQ29ubmVjdGVkIHx8IHRlYW1Db25uZWN0ZWQgfHwgZGVwYXJ0bWVudENvbm5lY3RlZCB8fCBmaWVsZENvbm5lY3RlZCA/IChcclxuICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPFphcCBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtZ3JlZW4tNTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JlZW4tNjAwXCI+157Xp9eV15XXnzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPFdpZmlPZmYgY2xhc3NOYW1lPVwiaC00IHctNCB0ZXh0LXJlZC01MDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1yZWQtNjAwXCI+157XqteX15HXqC4uLjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZU1hbnVhbFJlZnJlc2h9XHJcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1JlZnJlc2hpbmd9XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPFJlZnJlc2hDdyBjbGFzc05hbWU9e2BoLTQgdy00ICR7aXNSZWZyZXNoaW5nID8gXCJhbmltYXRlLXNwaW5cIiA6IFwiXCJ9YH0gLz5cclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAge3VzZXI/LnJvbGUgIT09IFwidXNlclwiICYmIChcclxuICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByb3V0ZXIucHVzaChcIi9yb2xlLWFkbWluXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxVc2VyQ29nIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lXCIgb25DbGljaz17KCkgPT4gcm91dGVyLnB1c2goXCIvZGFzaGJvYXJkXCIpfSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8SG9tZSBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICA8L0NhcmQ+XHJcblxyXG4gICAgICAgIHttZXNzYWdlICYmIChcclxuICAgICAgICAgIDxBbGVydD5cclxuICAgICAgICAgICAgPEFsZXJ0RGVzY3JpcHRpb24+e21lc3NhZ2V9PC9BbGVydERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgPC9BbGVydD5cclxuICAgICAgICApfVxyXG5cclxuICAgICAgICB7ZGVidWdNb2RlICYmIChcclxuICAgICAgICAgIDxBbGVydD5cclxuICAgICAgICAgICAgPEFsZXJ0RGVzY3JpcHRpb24+XHJcbiAgICAgICAgICAgICAgPHN0cm9uZz5EZWJ1ZyBJbmZvOjwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC14cyBtdC0yIGJnLWdyYXktMTAwIHAtMiByb3VuZGVkIHNwYWNlLXktMVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5Vc2VyOiB7dXNlcj8ubmFtZX0gKHt1c2VyPy5yb2xlfSk8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+VGVhbToge3RlYW1OYW1lfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5HbG9iYWwgVXNlcnM6IHtnbG9iYWxVc2Vycy5sZW5ndGh9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2Pkdsb2JhbCBDb25uZWN0ZWQ6IHtnbG9iYWxDb25uZWN0ZWQgPyBcIlllc1wiIDogXCJOb1wifTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5HbG9iYWwgUmVzZXQgQ29vbGRvd246IHtnbG9iYWxSZXNldENvb2xkb3dufSBzZWNvbmRzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlRlYW0gUmVzZXQgQ29vbGRvd246IHt0ZWFtUmVzZXRDb29sZG93bn0gc2Vjb25kczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5EZXBhcnRtZW50IFJlc2V0IENvb2xkb3duOiB7ZGVwYXJ0bWVudFJlc2V0Q29vbGRvd259IHNlY29uZHM8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+RmllbGQgUmVzZXQgQ29vbGRvd246IHtmaWVsZFJlc2V0Q29vbGRvd259IHNlY29uZHM8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9BbGVydERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgPC9BbGVydD5cclxuICAgICAgICApfVxyXG5cclxuICAgICAgICA8VGFicyB2YWx1ZT17YWN0aXZlVGFifSBvblZhbHVlQ2hhbmdlPXtzZXRBY3RpdmVUYWJ9IGNsYXNzTmFtZT1cInctZnVsbFwiIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAgPFRhYnNMaXN0IGNsYXNzTmFtZT1cImdyaWQgdy1mdWxsIGdyaWQtY29scy00XCI+XHJcbiAgICAgICAgICAgIDxUYWJzVHJpZ2dlciB2YWx1ZT1cInRlYW1cIiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxVc2Vyc0ljb24gY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAg16bXldeV16pcclxuICAgICAgICAgICAgPC9UYWJzVHJpZ2dlcj5cclxuICAgICAgICAgICAgPFRhYnNUcmlnZ2VyIHZhbHVlPVwiZGVwYXJ0bWVudFwiIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgPEJ1aWxkaW5nMiBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICDXnteh15LXqNeqXHJcbiAgICAgICAgICAgIDwvVGFic1RyaWdnZXI+XHJcbiAgICAgICAgICAgIDxUYWJzVHJpZ2dlciB2YWx1ZT1cImZpZWxkXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8R2xvYmUgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAg16rXl9eV151cclxuICAgICAgICAgICAgPC9UYWJzVHJpZ2dlcj5cclxuICAgICAgICAgICAgPFRhYnNUcmlnZ2VyIHZhbHVlPVwiZ2xvYmFsXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8R2xvYmUgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAg15vXnNec15lcclxuICAgICAgICAgICAgPC9UYWJzVHJpZ2dlcj5cclxuICAgICAgICAgIDwvVGFic0xpc3Q+XHJcblxyXG4gICAgICAgICAgPFRhYnNDb250ZW50IHZhbHVlPVwidGVhbVwiIGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTZcIj5cclxuICAgICAgICAgICAgICA8Q2FyZD5cclxuICAgICAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFJvdGF0ZUNjdyBjbGFzc05hbWU9XCJoLTUgdy01XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICDXkNeZ16TXldehINeh15jXmNeV16HXmSDXlNem15XXldeqXHJcbiAgICAgICAgICAgICAgICAgIDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPENhcmRDb250ZW50IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVGVhbVJlc2V0fVxyXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0ZWFtUmVzZXRDb29sZG93biA+IDB9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsXCJcclxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXt0ZWFtUmVzZXRDb29sZG93biA+IDAgPyBcInNlY29uZGFyeVwiIDogXCJkZXN0cnVjdGl2ZVwifVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3RlYW1SZXNldENvb2xkb3duID4gMCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPENsb2NrIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDXlNee16rXnyB7Zm9ybWF0Q29vbGRvd25UaW1lKHRlYW1SZXNldENvb2xkb3duKX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICBg15DXpNehINeQ16og15vXnCDXlNeh15jXmNeV16HXmdedINep15wg16bXldeV16ogJHt0ZWFtTmFtZX1gXHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwIGJnLXllbGxvdy01MCBwLTIgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+15TXoteo15Q6PC9zdHJvbmc+INeQ15nXpNeV16Eg15nXkNek16Eg16jXpyDXkNeqINeU157Xqdeq157XqdeZ150g157XlNem15XXldeqINep15zXmiAoe3RlYW1OYW1lfSkg16nXkNeZ16DXnSDXoNei15XXnNeZ151cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgIDwvQ2FyZD5cclxuXHJcbiAgICAgICAgICAgICAge3JlbmRlclN0YXRzU2VjdGlvbih0ZWFtU3RhdHMsIGhhbmRsZVRlYW1DYXRlZ29yeUNsaWNrLCB0cnVlKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8Q2FyZD5cclxuICAgICAgICAgICAgICA8Q2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEV5ZSBjbGFzc05hbWU9XCJoLTUgdy01XCIgLz5cclxuICAgICAgICAgICAgICAgICAg16DXmdeU15XXnCDXntep16rXntep15kg16bXldeV16oge3RlYW1OYW1lfVxyXG4gICAgICAgICAgICAgICAgICB7dGVhbUNoYW5nZWRSb3dzLnNpemUgPiAwICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIGJnLWdyZWVuLTEwMCB0ZXh0LWdyZWVuLTgwMCBweC0yIHB5LTEgcm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dGVhbUNoYW5nZWRSb3dzLnNpemV9INei15PXm9eV16DXmdedINeX15PXqdeZ151cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgPENhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgICAge2xvYWRpbmdVc2VycyA/IChcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBweS00XCI+15jXldei158g157Xqdeq157XqdeZ150uLi48L2Rpdj5cclxuICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgIHJlbmRlclVzZXJzVGFibGUodGVhbVVzZXJzLCB0ZWFtQ2hhbmdlZFJvd3MpXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvQ2FyZD5cclxuICAgICAgICAgIDwvVGFic0NvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgPFRhYnNDb250ZW50IHZhbHVlPVwiZGVwYXJ0bWVudFwiIGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTZcIj5cclxuICAgICAgICAgICAgICA8Q2FyZD5cclxuICAgICAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFJvdGF0ZUNjdyBjbGFzc05hbWU9XCJoLTUgdy01XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICB7dXNlcj8ucm9sZSA9PT0gXCJ0ZWFtX2FkbWluXCIgPyBcItem16TXmdeZ15Qg15HXnteh15LXqNeqXCIgOiBcIteQ15nXpNeV16Eg16HXmNeY15XXodeZINeU157XodeS16jXqlwifVxyXG4gICAgICAgICAgICAgICAgICA8L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxDYXJkQ29udGVudCBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cclxuICAgICAgICAgICAgICAgICAge3VzZXI/LnJvbGUgPT09IFwidGVhbV9hZG1pblwiID8gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgcC00IGJnLWJsdWUtNTAgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1ibHVlLTgwMCBmb250LXNlbWlib2xkXCI+16bXpNeZ15nXlCDXkdec15HXkzwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1ibHVlLTYwMFwiPteb157XoNeU15wg16bXldeV16osINeQ16rXlCDXmdeb15XXnCDXnNeo15DXldeqINeQ16og15TXnteh15LXqNeqINep15zXmiDXkNeaINec15Ag15zXkNek16Eg15DXldeq15Q8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlRGVwYXJ0bWVudFJlc2V0fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGVwYXJ0bWVudFJlc2V0Q29vbGRvd24gPiAwfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtkZXBhcnRtZW50UmVzZXRDb29sZG93biA+IDAgPyBcInNlY29uZGFyeVwiIDogXCJkZXN0cnVjdGl2ZVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7ZGVwYXJ0bWVudFJlc2V0Q29vbGRvd24gPiAwID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDbG9jayBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINeU157XqtefIHtmb3JtYXRDb29sZG93blRpbWUoZGVwYXJ0bWVudFJlc2V0Q29vbGRvd24pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGDXkNek16Eg15DXqiDXm9ecINeU16HXmNeY15XXodeZ150g16nXnCDXnteh15LXqNeqICR7ZGVwYXJ0bWVudE5hbWV9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTUwMCBiZy15ZWxsb3ctNTAgcC0yIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz7XlNei16jXlDo8L3N0cm9uZz4g15DXmdek15XXoSDXmdeQ16TXoSDXkNeqINeb15wg15TXntep16rXntep15nXnSDXnteU157XodeS16jXqiDXqdec15ogKHtkZXBhcnRtZW50TmFtZX0pINep15DXmdeg150g16DXoteV15zXmdedXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPC9DYXJkPlxyXG5cclxuICAgICAgICAgICAgICB7cmVuZGVyU3RhdHNTZWN0aW9uKGRlcGFydG1lbnRTdGF0cywgaGFuZGxlRGVwYXJ0bWVudENhdGVnb3J5Q2xpY2ssIGZhbHNlLCBkZXBhcnRtZW50TmFtZSl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPENhcmQ+XHJcbiAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxFeWUgY2xhc3NOYW1lPVwiaC01IHctNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlID09PSBcInRlYW1fYWRtaW5cIiA/IFwi16bXpNeZ15nXlCDXkdee16nXqtee16nXmSDXnteh15LXqNeqXCIgOiBcIteg15nXlNeV15wg157Xqdeq157XqdeZINee16HXkteo16pcIn0ge2RlcGFydG1lbnROYW1lfVxyXG4gICAgICAgICAgICAgICAgICB7ZGVwYXJ0bWVudENoYW5nZWRSb3dzLnNpemUgPiAwICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIGJnLWdyZWVuLTEwMCB0ZXh0LWdyZWVuLTgwMCBweC0yIHB5LTEgcm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7ZGVwYXJ0bWVudENoYW5nZWRSb3dzLnNpemV9INei15PXm9eV16DXmdedINeX15PXqdeZ151cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgPENhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgICAge2xvYWRpbmdVc2VycyA/IChcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBweS00XCI+15jXldei158g157Xqdeq157XqdeZ150uLi48L2Rpdj5cclxuICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgIHJlbmRlclVzZXJzVGFibGUoZGVwYXJ0bWVudFVzZXJzLCBkZXBhcnRtZW50Q2hhbmdlZFJvd3MsIHVzZXI/LnJvbGUgPT09IFwidGVhbV9hZG1pblwiKVxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxyXG4gICAgICAgICAgICA8L0NhcmQ+XHJcbiAgICAgICAgICA8L1RhYnNDb250ZW50PlxyXG5cclxuICAgICAgICAgIDxUYWJzQ29udGVudCB2YWx1ZT1cImZpZWxkXCIgY2xhc3NOYW1lPVwic3BhY2UteS02XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBtZDpncmlkLWNvbHMtMiBnYXAtNlwiPlxyXG4gICAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Um90YXRlQ2N3IGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgINeQ15nXpNeV16Eg16HXmNeY15XXodeZINeU16rXl9eV151cclxuICAgICAgICAgICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgIHsodXNlcj8ucm9sZSA9PT0gXCJkZXBhcnRtZW50X2FkbWluXCIgfHwgdXNlcj8ucm9sZSA9PT0gXCJ0ZWFtX2FkbWluXCIpID8gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgcC00IGJnLWJsdWUtNTAgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1ibHVlLTgwMCBmb250LXNlbWlib2xkXCI+16bXpNeZ15nXlCDXkdec15HXkzwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1ibHVlLTYwMFwiPtebe1JPTEVfTkFNRVNbdXNlci5yb2xlXX0sINeQ16rXlCDXmdeb15XXnCDXnNeo15DXldeqINeQ16og15TXqteX15XXnSDXqdec15og15DXmiDXnNeQINec15DXpNehINeQ15XXqteVPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVGaWVsZFJlc2V0fVxyXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWVsZFJlc2V0Q29vbGRvd24gPiAwfVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17ZmllbGRSZXNldENvb2xkb3duID4gMCA/IFwic2Vjb25kYXJ5XCIgOiBcImRlc3RydWN0aXZlXCJ9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7ZmllbGRSZXNldENvb2xkb3duID4gMCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPENsb2NrIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDXlNee16rXnyB7Zm9ybWF0Q29vbGRvd25UaW1lKGZpZWxkUmVzZXRDb29sZG93bil9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgYNeQ16TXoSDXkNeqINeb15wg15TXodeY15jXldeh15nXnSDXqdecINeq15fXldedICR7ZmllbGROYW1lfWBcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS01MDAgYmcteWVsbG93LTUwIHAtMiByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz7XlNei16jXlDo8L3N0cm9uZz4g15DXmdek15XXoSDXmdeQ16TXoSDXkNeqINeb15wg15TXntep16rXntep15nXnSDXnteU16rXl9eV150g16nXnNeaICh7ZmllbGROYW1lfSkg16nXkNeZ16DXnSDXoNei15XXnNeZ151cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICA8L0NhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAge3JlbmRlclN0YXRzU2VjdGlvbihmaWVsZFN0YXRzLCBoYW5kbGVGaWVsZENhdGVnb3J5Q2xpY2ssIGZhbHNlLCBmaWVsZE5hbWUpfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8RXllIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICB7KHVzZXI/LnJvbGUgPT09IFwidGVhbV9hZG1pblwiIHx8IHVzZXI/LnJvbGUgPT09IFwiZGVwYXJ0bWVudF9hZG1pblwiKSA/IFwi16bXpNeZ15nXlCDXkdee16nXqtee16nXmSDXqteX15XXnVwiIDogXCLXoNeZ15TXldecINee16nXqtee16nXmSDXqteX15XXnVwifSB7ZmllbGROYW1lfVxyXG4gICAgICAgICAgICAgICAgICB7ZmllbGRDaGFuZ2VkUm93cy5zaXplID4gMCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyBiZy1ncmVlbi0xMDAgdGV4dC1ncmVlbi04MDAgcHgtMiBweS0xIHJvdW5kZWQtZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge2ZpZWxkQ2hhbmdlZFJvd3Muc2l6ZX0g16LXk9eb15XXoNeZ150g15fXk9ep15nXnVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICB7bG9hZGluZ1VzZXJzID8gKFxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHB5LTRcIj7XmNeV16LXnyDXntep16rXntep15nXnS4uLjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgcmVuZGVyVXNlcnNUYWJsZShmaWVsZFVzZXJzLCBmaWVsZENoYW5nZWRSb3dzLCAodXNlcj8ucm9sZSA9PT0gXCJ0ZWFtX2FkbWluXCIgfHwgdXNlcj8ucm9sZSA9PT0gXCJkZXBhcnRtZW50X2FkbWluXCIpKVxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxyXG4gICAgICAgICAgICA8L0NhcmQ+XHJcbiAgICAgICAgICA8L1RhYnNDb250ZW50PlxyXG5cclxuICAgICAgICAgIDxUYWJzQ29udGVudCB2YWx1ZT1cImdsb2JhbFwiIGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTZcIj5cclxuICAgICAgICAgICAgICA8Q2FyZD5cclxuICAgICAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFJvdGF0ZUNjdyBjbGFzc05hbWU9XCJoLTUgdy01XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICDXkNeZ16TXldehINeh15jXmNeV16HXmdedINeb15zXnNeZXHJcbiAgICAgICAgICAgICAgICAgIDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPENhcmRDb250ZW50IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlR2xvYmFsUmVzZXRBbGx9XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2dsb2JhbFJlc2V0Q29vbGRvd24gPiAwfVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17Z2xvYmFsUmVzZXRDb29sZG93biA+IDAgPyBcInNlY29uZGFyeVwiIDogXCJkZXN0cnVjdGl2ZVwifVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge2dsb2JhbFJlc2V0Q29vbGRvd24gPiAwID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2xvY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgINeU157XqtefIHtmb3JtYXRDb29sZG93blRpbWUoZ2xvYmFsUmVzZXRDb29sZG93bil9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCLXkNek16Eg15DXqiDXm9ecINeU16HXmNeY15XXodeZ151cIlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICB7Z2xvYmFsTGFzdFJlc2V0ICYmIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1ncmF5LTYwMFwiPteQ15nXpNeV16Eg15DXl9eo15XXnzoge2dsb2JhbExhc3RSZXNldH08L3A+fVxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTUwMCBiZy15ZWxsb3ctNTAgcC0yIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPteU16LXqNeUOjwvc3Ryb25nPiDXkNeZ16TXldehINeZ15DXpNehINeQ16og15vXnCDXlNee16nXqtee16nXmdedINeR157Xoteo15vXqiAo15vXldec15wg157XoNeU15zXmdedKSDXqdeQ15nXoNedINeg16LXldec15nXnVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPC9DYXJkPlxyXG5cclxuICAgICAgICAgICAgICB7cmVuZGVyU3RhdHNTZWN0aW9uKGdsb2JhbFN0YXRzLCBoYW5kbGVHbG9iYWxDYXRlZ29yeUNsaWNrLCBmYWxzZSl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPENhcmQ+XHJcbiAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxVc2VyUGx1cyBjbGFzc05hbWU9XCJoLTUgdy01XCIgLz5cclxuICAgICAgICAgICAgICAgICAg15TXldeh16TXqiDXntep16rXntepINeX15PXqVxyXG4gICAgICAgICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgIDxDYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgIDxmb3JtIG9uU3VibWl0PXtoYW5kbGVBZGRVc2VyfSBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGh0bWxGb3I9XCJuYW1lXCI+16nXnTwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJuYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e25ld1VzZXIubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXROZXdVc2VyKHsgLi4ubmV3VXNlciwgbmFtZTogZS50YXJnZXQudmFsdWUgfSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi16nXnVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIG1kOmdyaWQtY29scy0yIGdhcC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBodG1sRm9yPVwiZmllbGRcIj7XqteX15XXnTwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0IHZhbHVlPXtuZXdVc2VyLmZpZWxkfSBvblZhbHVlQ2hhbmdlPXsodmFsdWUpID0+IHNldE5ld1VzZXIoeyAuLi5uZXdVc2VyLCBmaWVsZDogdmFsdWUgfSl9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VHJpZ2dlciBkaXI9XCJydGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VmFsdWUgcGxhY2Vob2xkZXI9XCLXkdeX16gg16rXl9eV151cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RDb250ZW50IGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHttYW5hZ2VkVHlwZXMuZmllbGRzLm1hcCgoZmllbGQpID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIGtleT17ZmllbGQubmFtZX0gdmFsdWU9e2ZpZWxkLm5hbWV9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZmllbGQubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0SXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBodG1sRm9yPVwiZGVwYXJ0bWVudFwiPtee16HXkteo16o8L0xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17bmV3VXNlci5kZXBhcnRtZW50fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvblZhbHVlQ2hhbmdlPXsodmFsdWUpID0+IHNldE5ld1VzZXIoeyAuLi5uZXdVc2VyLCBkZXBhcnRtZW50OiB2YWx1ZSB9KX1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFRyaWdnZXIgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFZhbHVlIHBsYWNlaG9sZGVyPVwi15HXl9eoINee16HXkteo16pcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RDb250ZW50IGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHttYW5hZ2VkVHlwZXMuZGVwYXJ0bWVudHMubWFwKChkZXB0KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SXRlbSBrZXk9e2RlcHQubmFtZX0gdmFsdWU9e2RlcHQubmFtZX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtkZXB0Lm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cInRlYW1cIj7XpteV15XXqjwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0IHZhbHVlPXtuZXdVc2VyLnRlYW19IG9uVmFsdWVDaGFuZ2U9eyh2YWx1ZSkgPT4gc2V0TmV3VXNlcih7IC4uLm5ld1VzZXIsIHRlYW06IHZhbHVlIH0pfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFRyaWdnZXIgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFZhbHVlIHBsYWNlaG9sZGVyPVwi15HXl9eoINem15XXldeqXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RUcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0Q29udGVudCBkaXI9XCJydGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7bWFuYWdlZFR5cGVzLnRlYW1zLm1hcCgodGVhbSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0ga2V5PXt0ZWFtLm5hbWV9IHZhbHVlPXt0ZWFtLm5hbWV9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGVhbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGh0bWxGb3I9XCJyb2xlXCI+15TXqNep15DXlDwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtuZXdVc2VyLnJvbGV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2U9eyh2YWx1ZSkgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZXROZXdVc2VyKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLm5ld1VzZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQWRtaW46IHZhbHVlICE9PSBcInVzZXJcIiwgLy8gQXV0b21hdGljYWxseSBzZXQgaXNBZG1pblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFRyaWdnZXIgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFZhbHVlIHBsYWNlaG9sZGVyPVwi15HXl9eoINeU16jXqdeQ15RcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RDb250ZW50IGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIHZhbHVlPVwidXNlclwiPtee16nXqtee16kg16jXkteZ15w8L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCJ0ZWFtX2FkbWluXCI+157XoNeU15wg16bXldeV16o8L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCJkZXBhcnRtZW50X2FkbWluXCI+157XoNeU15wg157XodeS16jXqjwvU2VsZWN0SXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SXRlbSB2YWx1ZT1cImZpZWxkX2FkbWluXCI+157XoNeU15wg16rXl9eV1508L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtZ3JheS02MDAgYmctYmx1ZS01MCBwLTMgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+15TXoteo15Q6PC9zdHJvbmc+INeU157Xqdeq157XqSDXmden15HXnCDXkNeqINeU16HXmdeh157XlCDXlNeW157XoNeZ16ogXCJwYXNzd29yZDEyM1wiINeV15nXmdeT16jXqSDXnNep16DXldeq15Qg15HXm9eg15nXodeUINeU16jXkNep15XXoNeUXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzc05hbWU9XCJ3LWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICDXlNeV16HXoyDXntep16rXntepXHJcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvQ2FyZD5cclxuXHJcbiAgICAgICAgICAgIHthbGxvd2VkTWFuYWdlZFRhYnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFVzZXJzIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIE1hbmFnZSBmaWVsZHMsIGRlcGFydG1lbnRzLCBhbmQgdGVhbXNcclxuICAgICAgICAgICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgIDxUYWJzXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e21hbmFnZWRUeXBlVGFifVxyXG4gICAgICAgICAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2U9eyh2YWx1ZSkgPT4gc2V0TWFuYWdlZFR5cGVUYWIodmFsdWUgYXMgXCJmaWVsZFwiIHwgXCJkZXBhcnRtZW50XCIgfCBcInRlYW1cIil9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBkaXI9XCJydGxcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRhYnNMaXN0IGNsYXNzTmFtZT1cImdyaWQgdy1mdWxsIGdyaWQtY29scy0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2FsbG93ZWRNYW5hZ2VkVGFicy5pbmNsdWRlcyhcImZpZWxkXCIpICYmIDxUYWJzVHJpZ2dlciB2YWx1ZT1cImZpZWxkXCI+RmllbGRzPC9UYWJzVHJpZ2dlcj59XG4gICAgICAgICAgICAgICAgICAgICAge2FsbG93ZWRNYW5hZ2VkVGFicy5pbmNsdWRlcyhcImRlcGFydG1lbnRcIikgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFRhYnNUcmlnZ2VyIHZhbHVlPVwiZGVwYXJ0bWVudFwiPkRlcGFydG1lbnRzPC9UYWJzVHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIHthbGxvd2VkTWFuYWdlZFRhYnMuaW5jbHVkZXMoXCJ0ZWFtXCIpICYmIDxUYWJzVHJpZ2dlciB2YWx1ZT1cInRlYW1cIj5UZWFtczwvVGFic1RyaWdnZXI+fVxuICAgICAgICAgICAgICAgICAgICA8L1RhYnNMaXN0PlxuXHJcbiAgICAgICAgICAgICAgICAgICAge2FsbG93ZWRNYW5hZ2VkVGFicy5pbmNsdWRlcyhcImZpZWxkXCIpICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFRhYnNDb250ZW50IHZhbHVlPVwiZmllbGRcIiBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e25ld0ZpZWxkTmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldE5ld0ZpZWxkTmFtZShlLnRhcmdldC52YWx1ZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOZXcgZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXttYW5hZ2VkVHlwZXNMb2FkaW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWRkTWFuYWdlZFR5cGUoXCJmaWVsZFwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17bWFuYWdlZFR5cGVzTG9hZGluZyB8fCAhbmV3RmllbGROYW1lLnRyaW0oKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEFkZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWVzIGFzc2lnbmVkIHRvIHVzZXJzIG11c3QgYmUgcmVhc3NpZ25lZCBiZWZvcmUgZGVsZXRpb24uXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttYW5hZ2VkVHlwZXMuZmllbGRzLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtZ3JheS01MDBcIj5ObyBmaWVsZHMgeWV0LjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlZFR5cGVzLmZpZWxkcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGtleT17aXRlbS5uYW1lfSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcm91bmRlZCBib3JkZXIgcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0ubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpdGVtLm1hbmFnZWQgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVJlbmFtZU1hbmFnZWRUeXBlKGl0ZW0uaWQsIGl0ZW0ubmFtZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBlbmNpbCBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlTWFuYWdlZFR5cGUoaXRlbS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRyYXNoMiBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtcmVkLTYwMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNDAwXCI+SW4gdXNlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvVGFic0NvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICl9XG5cclxuICAgICAgICAgICAgICAgICAgICB7YWxsb3dlZE1hbmFnZWRUYWJzLmluY2x1ZGVzKFwiZGVwYXJ0bWVudFwiKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPFRhYnNDb250ZW50IHZhbHVlPVwiZGVwYXJ0bWVudFwiIGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgdmFsdWU9e25ld0RlcGFydG1lbnRQYXJlbnRJZH0gb25WYWx1ZUNoYW5nZT17c2V0TmV3RGVwYXJ0bWVudFBhcmVudElkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VHJpZ2dlciBkaXI9XCJydGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RWYWx1ZSBwbGFjZWhvbGRlcj1cIlNlbGVjdCBmaWVsZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RUcmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RDb250ZW50IGRpcj1cInJ0bFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge21hbmFnZWRUeXBlcy5maWVsZHMuZmlsdGVyKChmaWVsZCkgPT4gZmllbGQuaWQpLm1hcCgoZmllbGQpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0ga2V5PXtmaWVsZC5uYW1lfSB2YWx1ZT17U3RyaW5nKGZpZWxkLmlkKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2ZpZWxkLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtuZXdEZXBhcnRtZW50TmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldE5ld0RlcGFydG1lbnROYW1lKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5ldyBkZXBhcnRtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17bWFuYWdlZFR5cGVzTG9hZGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUFkZE1hbmFnZWRUeXBlKFwiZGVwYXJ0bWVudFwiKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17bWFuYWdlZFR5cGVzTG9hZGluZyB8fCAhbmV3RGVwYXJ0bWVudE5hbWUudHJpbSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZXMgYXNzaWduZWQgdG8gdXNlcnMgbXVzdCBiZSByZWFzc2lnbmVkIGJlZm9yZSBkZWxldGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge21hbmFnZWRUeXBlcy5kZXBhcnRtZW50cy5sZW5ndGggPT09IDAgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtZ3JheS01MDBcIj5ObyBkZXBhcnRtZW50cyB5ZXQuPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlZFR5cGVzLmRlcGFydG1lbnRzLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2l0ZW0ubmFtZX0gY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQgYm9yZGVyIHAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57aXRlbS5uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5wYXJlbnRJZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmllbGQ6IHtmaWVsZE5hbWVCeUlkLmdldChpdGVtLnBhcmVudElkKSB8fCBcIlVua25vd25cIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0ubWFuYWdlZCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVJlbmFtZU1hbmFnZWRUeXBlKGl0ZW0uaWQsIGl0ZW0ubmFtZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5jaWwgY2xhc3NOYW1lPVwiaC00IHctNCB0ZXh0LWJsdWUtNjAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGVNYW5hZ2VkVHlwZShpdGVtLmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRyYXNoMiBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtcmVkLTYwMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS00MDBcIj5JbiB1c2U8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9UYWJzQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICB7YWxsb3dlZE1hbmFnZWRUYWJzLmluY2x1ZGVzKFwidGVhbVwiKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPFRhYnNDb250ZW50IHZhbHVlPVwidGVhbVwiIGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgdmFsdWU9e25ld1RlYW1QYXJlbnRJZH0gb25WYWx1ZUNoYW5nZT17c2V0TmV3VGVhbVBhcmVudElkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VHJpZ2dlciBkaXI9XCJydGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RWYWx1ZSBwbGFjZWhvbGRlcj1cIlNlbGVjdCBkZXBhcnRtZW50XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdENvbnRlbnQgZGlyPVwicnRsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bWFuYWdlZFR5cGVzLmRlcGFydG1lbnRzLmZpbHRlcigoZGVwdCkgPT4gZGVwdC5pZCkubWFwKChkZXB0KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIGtleT17ZGVwdC5uYW1lfSB2YWx1ZT17U3RyaW5nKGRlcHQuaWQpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGVwdC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17bmV3VGVhbU5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXROZXdUZWFtTmFtZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOZXcgdGVhbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e21hbmFnZWRUeXBlc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBZGRNYW5hZ2VkVHlwZShcInRlYW1cIil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e21hbmFnZWRUeXBlc0xvYWRpbmcgfHwgIW5ld1RlYW1OYW1lLnRyaW0oKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWVzIGFzc2lnbmVkIHRvIHVzZXJzIG11c3QgYmUgcmVhc3NpZ25lZCBiZWZvcmUgZGVsZXRpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHttYW5hZ2VkVHlwZXMudGVhbXMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktNTAwXCI+Tm8gdGVhbXMgeWV0LjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZWRUeXBlcy50ZWFtcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpdGVtLm5hbWV9IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiByb3VuZGVkIGJvcmRlciBwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0ubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0ucGFyZW50SWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcGFydG1lbnQ6IHtkZXBhcnRtZW50TmFtZUJ5SWQuZ2V0KGl0ZW0ucGFyZW50SWQpIHx8IFwiVW5rbm93blwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5tYW5hZ2VkID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUmVuYW1lTWFuYWdlZFR5cGUoaXRlbS5pZCwgaXRlbS5uYW1lKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBlbmNpbCBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZU1hbmFnZWRUeXBlKGl0ZW0uaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHJhc2gyIGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1yZWQtNjAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTQwMFwiPkluIHVzZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L1RhYnNDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9UYWJzPlxyXG4gICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICA8L0NhcmQ+XHJcbiAgICAgICAgICAgICl9XHJcblxyXG5cclxuICAgICAgICAgICAgPENhcmQ+XHJcbiAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxFeWUgY2xhc3NOYW1lPVwiaC01IHctNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgINeg15nXlNeV15wg15vXnCDXlNee16nXqtee16nXmdedXHJcbiAgICAgICAgICAgICAgICAgIHtjaGFuZ2VkUm93cy5zaXplID4gMCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyBiZy1ncmVlbi0xMDAgdGV4dC1ncmVlbi04MDAgcHgtMiBweS0xIHJvdW5kZWQtZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge2NoYW5nZWRSb3dzLnNpemV9INei15PXm9eV16DXmdedINeX15PXqdeZ151cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgPENhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgICAge2xvYWRpbmdVc2VycyA/IChcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBweS00XCI+15jXldei158g157Xqdeq157XqdeZ150uLi48L2Rpdj5cclxuICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgIHJlbmRlclVzZXJzVGFibGUoZ2xvYmFsVXNlcnMsIGNoYW5nZWRSb3dzKVxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxyXG4gICAgICAgICAgICA8L0NhcmQ+XHJcbiAgICAgICAgICA8L1RhYnNDb250ZW50PlxyXG4gICAgICAgIDwvVGFicz5cclxuXHJcbiAgICAgICAgPFVzZXJDYXRlZ29yeU1vZGFsXHJcbiAgICAgICAgICBpc09wZW49e21vZGFsT3Blbn1cclxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldE1vZGFsT3BlbihmYWxzZSl9XHJcbiAgICAgICAgICBjYXRlZ29yeT17c2VsZWN0ZWRDYXRlZ29yeX1cclxuICAgICAgICAgIGNhdGVnb3J5TmFtZT17c2VsZWN0ZWRDYXRlZ29yeU5hbWV9XHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgPFRlYW1Vc2VyQ2F0ZWdvcnlNb2RhbFxyXG4gICAgICAgICAgaXNPcGVuPXt0ZWFtTW9kYWxPcGVufVxyXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0VGVhbU1vZGFsT3BlbihmYWxzZSl9XHJcbiAgICAgICAgICBjYXRlZ29yeT17c2VsZWN0ZWRDYXRlZ29yeX1cclxuICAgICAgICAgIGNhdGVnb3J5TmFtZT17c2VsZWN0ZWRDYXRlZ29yeU5hbWV9XHJcbiAgICAgICAgICBhZG1pbklkPXt1c2VyPy5uYXRpb25hbF9pZCB8fCBcIlwifVxyXG4gICAgICAgICAgdGVhbU5hbWU9e3RlYW1OYW1lfVxyXG4gICAgICAgIC8+XHJcblxyXG4gICAgICAgIDxEZXBhcnRtZW50VXNlckNhdGVnb3J5TW9kYWxcclxuICAgICAgICAgIGlzT3Blbj17ZGVwYXJ0bWVudE1vZGFsT3Blbn1cclxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldERlcGFydG1lbnRNb2RhbE9wZW4oZmFsc2UpfVxyXG4gICAgICAgICAgY2F0ZWdvcnk9e3NlbGVjdGVkQ2F0ZWdvcnl9XHJcbiAgICAgICAgICBjYXRlZ29yeU5hbWU9e3NlbGVjdGVkQ2F0ZWdvcnlOYW1lfVxyXG4gICAgICAgICAgYWRtaW5JZD17dXNlcj8ubmF0aW9uYWxfaWQgfHwgXCJcIn1cclxuICAgICAgICAgIGRlcGFydG1lbnROYW1lPXtkZXBhcnRtZW50TmFtZX1cclxuICAgICAgICAvPlxyXG5cclxuICAgICAgICA8RmllbGRVc2VyQ2F0ZWdvcnlNb2RhbFxyXG4gICAgICAgICAgaXNPcGVuPXtmaWVsZE1vZGFsT3Blbn1cclxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldEZpZWxkTW9kYWxPcGVuKGZhbHNlKX1cclxuICAgICAgICAgIGNhdGVnb3J5PXtzZWxlY3RlZENhdGVnb3J5fVxyXG4gICAgICAgICAgY2F0ZWdvcnlOYW1lPXtzZWxlY3RlZENhdGVnb3J5TmFtZX1cclxuICAgICAgICAgIGFkbWluSWQ9e3VzZXI/Lm5hdGlvbmFsX2lkIHx8IFwiXCJ9XHJcbiAgICAgICAgICBmaWVsZE5hbWU9e2ZpZWxkTmFtZX1cclxuICAgICAgICAvPlxyXG5cclxuICAgICAgICA8VXNlclNjb3BlTW9kYWxcclxuICAgICAgICAgIGlzT3Blbj17c2NvcGVNb2RhbE9wZW59XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRTY29wZU1vZGFsT3BlbihmYWxzZSl9XHJcbiAgICAgICAgICB1c2VyPXtzY29wZVVzZXJ9XHJcbiAgICAgICAgICBmaWVsZHM9e21hbmFnZWRUeXBlcy5maWVsZHN9XHJcbiAgICAgICAgICBkZXBhcnRtZW50cz17bWFuYWdlZFR5cGVzLmRlcGFydG1lbnRzfVxyXG4gICAgICAgICAgdGVhbXM9e21hbmFnZWRUeXBlcy50ZWFtc31cclxuICAgICAgICAgIG9uU2F2ZT17aGFuZGxlVXBkYXRlVXNlclNjb3BlfVxyXG4gICAgICAgICAgaXNTYXZpbmc9e3Njb3BlU2F2aW5nfVxyXG4gICAgICAgIC8+XHJcblxyXG4gICAgICAgIDxSZXBvcnRPbkJlaGFsZk1vZGFsXHJcbiAgICAgICAgICBpc09wZW49e3JlcG9ydE1vZGFsT3Blbn1cclxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFJlcG9ydE1vZGFsT3BlbihmYWxzZSl9XHJcbiAgICAgICAgICB1c2VyPXtzZWxlY3RlZFVzZXJGb3JSZXBvcnR9XHJcbiAgICAgICAgICBvblJlcG9ydD17aGFuZGxlUmVwb3J0T25CZWhhbGZ9XHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgey8qIEhvc3RuYW1lIEZvb3RlciAqL31cclxuICAgICAgICA8Q2FyZCBjbGFzc05hbWU9XCJtdC04XCI+XHJcbiAgICAgICAgICA8Q2FyZENvbnRlbnQgY2xhc3NOYW1lPVwicHktM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHRleHQteHMgdGV4dC1ncmF5LTUwMFwiPlxyXG4gICAgICAgICAgICAgINeh15HXmdeR15Q6IHtwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19IT1NUTkFNRSB8fCBwcm9jZXNzLmVudi5IT1NUTkFNRSB8fCBcItec15Ag15bXldeU15RcIn1cclxuICAgICAgICAgICAgICA8YnIvPlxyXG4gICAgICAgICAgICAgINeS16jXodeUOiB7cHJvY2Vzcy5lbnYuQVBQVkVSU0lPTiB8fCBcItec15Ag15TXldem15TXqCDXkS1Eb2NrZXJmaWxlIVwifVxyXG4gICAgICAgICAgICAgIDxici8+XHJcbiAgICAgICAgICAgICAgMjAyNSBDT1BZUklHSFQgVFItV0VCXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICA8L0NhcmQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJvdXRlciIsIlJPTEVfTkFNRVMiLCJCdXR0b24iLCJDYXJkIiwiQ2FyZENvbnRlbnQiLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwiSW5wdXQiLCJMYWJlbCIsIlNlbGVjdCIsIlNlbGVjdENvbnRlbnQiLCJTZWxlY3RJdGVtIiwiU2VsZWN0VHJpZ2dlciIsIlNlbGVjdFZhbHVlIiwiQWxlcnQiLCJBbGVydERlc2NyaXB0aW9uIiwiVGFicyIsIlRhYnNDb250ZW50IiwiVGFic0xpc3QiLCJUYWJzVHJpZ2dlciIsIlJvdGF0ZUNjdyIsIlVzZXJzIiwiVXNlclBsdXMiLCJDbG9jayIsIlRyYXNoMiIsIkV5ZSIsIlJlZnJlc2hDdyIsIldpZmlPZmYiLCJaYXAiLCJCYXJDaGFydDMiLCJQaWVDaGFydCIsIlVzZXJzSWNvbiIsIkdsb2JlIiwiQnVpbGRpbmcyIiwiVXNlckNvZyIsIk1lc3NhZ2VTcXVhcmUiLCJMb2NrIiwiTG9ja09wZW4iLCJQZW5jaWwiLCJIb21lIiwiVGFibGUiLCJUYWJsZUJvZHkiLCJUYWJsZUNlbGwiLCJUYWJsZUhlYWQiLCJUYWJsZUhlYWRlciIsIlRhYmxlUm93IiwiVXNlckNhdGVnb3J5TW9kYWwiLCJUZWFtVXNlckNhdGVnb3J5TW9kYWwiLCJTdGF0c1BpZUNoYXJ0IiwiU2ltcGxlUGllQ2hhcnQiLCJ1c2VSZWFsVGltZVVwZGF0ZXMiLCJ1c2VUZWFtUmVhbFRpbWVVcGRhdGVzIiwiRGVwYXJ0bWVudFVzZXJDYXRlZ29yeU1vZGFsIiwidXNlRGVwYXJ0bWVudFJlYWxUaW1lVXBkYXRlcyIsIkZpZWxkVXNlckNhdGVnb3J5TW9kYWwiLCJ1c2VGaWVsZFJlYWxUaW1lVXBkYXRlcyIsIlJlcG9ydE9uQmVoYWxmTW9kYWwiLCJVc2VyU2NvcGVNb2RhbCIsIkFkbWluUGFnZSIsInVzZXIiLCJzZXRVc2VyIiwiYWN0aXZlVGFiIiwic2V0QWN0aXZlVGFiIiwiZ2xvYmFsU3RhdHMiLCJzZXRHbG9iYWxTdGF0cyIsImdsb2JhbFVzZXJzIiwic2V0R2xvYmFsVXNlcnMiLCJnbG9iYWxMYXN0UmVzZXQiLCJzZXRHbG9iYWxMYXN0UmVzZXQiLCJnbG9iYWxSZXNldENvb2xkb3duIiwic2V0R2xvYmFsUmVzZXRDb29sZG93biIsInRlYW1TdGF0cyIsInNldFRlYW1TdGF0cyIsInRlYW1Vc2VycyIsInNldFRlYW1Vc2VycyIsInRlYW1OYW1lIiwic2V0VGVhbU5hbWUiLCJ0ZWFtUmVzZXRDb29sZG93biIsInNldFRlYW1SZXNldENvb2xkb3duIiwiZGVwYXJ0bWVudFN0YXRzIiwic2V0RGVwYXJ0bWVudFN0YXRzIiwiZGVwYXJ0bWVudFVzZXJzIiwic2V0RGVwYXJ0bWVudFVzZXJzIiwiZGVwYXJ0bWVudE5hbWUiLCJzZXREZXBhcnRtZW50TmFtZSIsImRlcGFydG1lbnRSZXNldENvb2xkb3duIiwic2V0RGVwYXJ0bWVudFJlc2V0Q29vbGRvd24iLCJkZXBhcnRtZW50Q2hhbmdlZFJvd3MiLCJzZXREZXBhcnRtZW50Q2hhbmdlZFJvd3MiLCJTZXQiLCJkZXBhcnRtZW50TW9kYWxPcGVuIiwic2V0RGVwYXJ0bWVudE1vZGFsT3BlbiIsImZpZWxkU3RhdHMiLCJzZXRGaWVsZFN0YXRzIiwiZmllbGRVc2VycyIsInNldEZpZWxkVXNlcnMiLCJmaWVsZE5hbWUiLCJzZXRGaWVsZE5hbWUiLCJmaWVsZFJlc2V0Q29vbGRvd24iLCJzZXRGaWVsZFJlc2V0Q29vbGRvd24iLCJmaWVsZENoYW5nZWRSb3dzIiwic2V0RmllbGRDaGFuZ2VkUm93cyIsImZpZWxkTW9kYWxPcGVuIiwic2V0RmllbGRNb2RhbE9wZW4iLCJuZXdVc2VyIiwic2V0TmV3VXNlciIsIm5hbWUiLCJpc0FkbWluIiwiZmllbGQiLCJkZXBhcnRtZW50IiwidGVhbSIsInJvbGUiLCJtYW5hZ2VkVHlwZXMiLCJzZXRNYW5hZ2VkVHlwZXMiLCJmaWVsZHMiLCJkZXBhcnRtZW50cyIsInRlYW1zIiwibWFuYWdlZFR5cGVzTG9hZGluZyIsInNldE1hbmFnZWRUeXBlc0xvYWRpbmciLCJtYW5hZ2VkVHlwZVRhYiIsInNldE1hbmFnZWRUeXBlVGFiIiwibmV3RmllbGROYW1lIiwic2V0TmV3RmllbGROYW1lIiwibmV3RGVwYXJ0bWVudE5hbWUiLCJzZXROZXdEZXBhcnRtZW50TmFtZSIsIm5ld1RlYW1OYW1lIiwic2V0TmV3VGVhbU5hbWUiLCJuZXdEZXBhcnRtZW50UGFyZW50SWQiLCJzZXROZXdEZXBhcnRtZW50UGFyZW50SWQiLCJuZXdUZWFtUGFyZW50SWQiLCJzZXROZXdUZWFtUGFyZW50SWQiLCJzY29wZU1vZGFsT3BlbiIsInNldFNjb3BlTW9kYWxPcGVuIiwic2NvcGVVc2VyIiwic2V0U2NvcGVVc2VyIiwic2NvcGVTYXZpbmciLCJzZXRTY29wZVNhdmluZyIsIm1lc3NhZ2UiLCJzZXRNZXNzYWdlIiwibG9hZGluZ1VzZXJzIiwic2V0TG9hZGluZ1VzZXJzIiwibW9kYWxPcGVuIiwic2V0TW9kYWxPcGVuIiwidGVhbU1vZGFsT3BlbiIsInNldFRlYW1Nb2RhbE9wZW4iLCJzZWxlY3RlZENhdGVnb3J5Iiwic2V0U2VsZWN0ZWRDYXRlZ29yeSIsInNlbGVjdGVkQ2F0ZWdvcnlOYW1lIiwic2V0U2VsZWN0ZWRDYXRlZ29yeU5hbWUiLCJpc1JlZnJlc2hpbmciLCJzZXRJc1JlZnJlc2hpbmciLCJjaGFuZ2VkUm93cyIsInNldENoYW5nZWRSb3dzIiwidGVhbUNoYW5nZWRSb3dzIiwic2V0VGVhbUNoYW5nZWRSb3dzIiwidmlld01vZGUiLCJzZXRWaWV3TW9kZSIsImRlYnVnTW9kZSIsInNldERlYnVnTW9kZSIsInVzZVNpbXBsZUNoYXJ0Iiwic2V0VXNlU2ltcGxlQ2hhcnQiLCJyb3V0ZXIiLCJyZXBvcnRNb2RhbE9wZW4iLCJzZXRSZXBvcnRNb2RhbE9wZW4iLCJzZWxlY3RlZFVzZXJGb3JSZXBvcnQiLCJzZXRTZWxlY3RlZFVzZXJGb3JSZXBvcnQiLCJpc0Nvbm5lY3RlZCIsImdsb2JhbENvbm5lY3RlZCIsInJlZmV0Y2giLCJyZWZldGNoR2xvYmFsIiwiZGF0YSIsInN0YXRzIiwidXNlcnMiLCJuZXdDaGFuZ2VkUm93cyIsImZvckVhY2giLCJleGlzdGluZ1VzZXIiLCJmaW5kIiwidSIsIm5hdGlvbmFsX2lkIiwiaW5fc2hlbHRlciIsImxhc3RfdXBkYXRlZCIsImFkZCIsInNpemUiLCJzZXRUaW1lb3V0IiwibGFzdFJlc2V0IiwidGltZXN0YW1wIiwicmVzZXRUaW1lIiwiRGF0ZSIsImdldFRpbWUiLCJub3ciLCJjb29sZG93bk1zIiwicmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImNlaWwiLCJ0ZWFtQ29ubmVjdGVkIiwicmVmZXRjaFRlYW0iLCJkZXBhcnRtZW50Q29ubmVjdGVkIiwicmVmZXRjaERlcGFydG1lbnQiLCJmaWVsZENvbm5lY3RlZCIsInJlZmV0Y2hGaWVsZCIsInVzZXJEYXRhIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInB1c2giLCJwYXJzZWRVc2VyIiwiSlNPTiIsInBhcnNlIiwiaW5jbHVkZXMiLCJmZXRjaE1hbmFnZWRUeXBlcyIsInJlc3BvbnNlIiwiZmV0Y2giLCJlbmNvZGVVUklDb21wb25lbnQiLCJqc29uIiwib2siLCJlcnJvciIsImNvbnNvbGUiLCJsZW5ndGgiLCJpZCIsIlN0cmluZyIsInRpbWVyIiwiY2xlYXJUaW1lb3V0IiwiaGFuZGxlR2xvYmFsUmVzZXRBbGwiLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsInN0cmluZ2lmeSIsImFkbWluSWQiLCJ0b0xvY2FsZVN0cmluZyIsInN0YXR1cyIsInJlbWFpbmluZ1NlY29uZHMiLCJlcnIiLCJoYW5kbGVUZWFtUmVzZXQiLCJoYW5kbGVEZXBhcnRtZW50UmVzZXQiLCJoYW5kbGVGaWVsZFJlc2V0IiwiaGFuZGxlQWRkTWFuYWdlZFR5cGUiLCJ0eXBlIiwidHJpbSIsInBhcmVudElkIiwiTnVtYmVyIiwidW5kZWZpbmVkIiwiaGFuZGxlRGVsZXRlTWFuYWdlZFR5cGUiLCJjb25maXJtIiwiaGFuZGxlUmVuYW1lTWFuYWdlZFR5cGUiLCJjdXJyZW50TmFtZSIsIm5leHROYW1lIiwicHJvbXB0IiwiUHJvbWlzZSIsImFsbCIsImhhbmRsZUFkZFVzZXIiLCJlIiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVEZWxldGVVc2VyIiwibmF0aW9uYWxJZCIsImhhbmRsZVJlc2V0UGFzc3dvcmQiLCJ1c2VyTmFtZSIsInRhcmdldFVzZXJJZCIsImhhbmRsZVRvZ2dsZVVzZXJMb2NrIiwiY3VycmVudExvY2tTdGF0dXMiLCJsb2NrU3RhdHVzIiwidXBkYXRlVXNlckxvY2tTdGF0dXMiLCJtYXAiLCJsb2NrX3N0YXR1cyIsInByZXYiLCJoYW5kbGVVcGRhdGVVc2VyU2NvcGUiLCJwYXlsb2FkIiwidXNlcklkIiwiZ2V0U3RhdHVzVGV4dCIsInRleHQiLCJjb2xvciIsImhhbmRsZUdsb2JhbENhdGVnb3J5Q2xpY2siLCJjYXRlZ29yeSIsImNhdGVnb3J5TmFtZSIsImhhbmRsZVRlYW1DYXRlZ29yeUNsaWNrIiwiaGFuZGxlRGVwYXJ0bWVudENhdGVnb3J5Q2xpY2siLCJoYW5kbGVGaWVsZENhdGVnb3J5Q2xpY2siLCJoYW5kbGVNYW51YWxSZWZyZXNoIiwiaGFuZGxlUmVwb3J0T25CZWhhbGYiLCJmb3JtYXRDb29sZG93blRpbWUiLCJzZWNvbmRzIiwibWludXRlcyIsImZsb29yIiwidG9TdHJpbmciLCJwYWRTdGFydCIsInJlbmRlclN0YXRzU2VjdGlvbiIsIm9uQ2F0ZWdvcnlDbGljayIsImlzVGVhbSIsImN1c3RvbU5hbWUiLCJkaXNwbGF5TmFtZSIsImRpciIsImNsYXNzTmFtZSIsImRpdiIsInZhcmlhbnQiLCJvbkNsaWNrIiwic3BhbiIsIm5vX3JlcG9ydCIsIm5vdF9pbl9zaGVsdGVyIiwibm9fYWxhcm0iLCJzYWZlX2FmdGVyX2V4aXQiLCJyZW5kZXJVc2Vyc1RhYmxlIiwiaXNSZWFkT25seSIsImlzQ2hhbmdlZCIsImhhcyIsImlzTG9ja2VkIiwidGl0bGUiLCJmaWVsZE5hbWVCeUlkIiwiTWFwIiwiZGVwYXJ0bWVudE5hbWVCeUlkIiwiZGVwdCIsImFsbG93ZWRNYW5hZ2VkVGFicyIsImRpc2FibGVkIiwic3Ryb25nIiwidmFsdWUiLCJvblZhbHVlQ2hhbmdlIiwicCIsImZvcm0iLCJvblN1Ym1pdCIsImh0bWxGb3IiLCJvbkNoYW5nZSIsInRhcmdldCIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJpdGVtIiwibWFuYWdlZCIsImZpbHRlciIsImdldCIsImlzT3BlbiIsIm9uQ2xvc2UiLCJvblNhdmUiLCJpc1NhdmluZyIsIm9uUmVwb3J0IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0hPU1ROQU1FIiwiSE9TVE5BTUUiLCJiciIsIkFQUFZFUlNJT04iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/admin/page.tsx\n"));
/***/ })
});