From 2e7836eec39bbd1e909a31be4f37a037492db728 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 19 Oct 2022 11:07:52 +0100 Subject: [PATCH] [WIFI-11223] Migrating to prov-ui style Signed-off-by: Charles --- .env | 1 + .eslintignore | 6 + .eslintrc | 93 +- .gitignore | 5 +- .prettierignore | 1 + .prettierrc | 14 +- babel.config.json | 25 - config/paths.js | 12 - config/webpack.common.js | 79 - config/webpack.dev.js | 54 - config/webpack.prod.js | 86 - index.html | 20 + jsconfig.json | 9 - package-lock.json | 28256 ++++++---------- package.json | 160 +- public/android-chrome-192x192.png | Bin 0 -> 12501 bytes public/android-chrome-384x384.png | Bin 0 -> 29717 bytes public/android-chrome-512x512.png | Bin 0 -> 36646 bytes public/apple-touch-icon.png | Bin 0 -> 11635 bytes public/browserconfig.xml | 9 + public/config.json | 4 - {src/assets => public}/devices/cig_wf160d.png | Bin {src/assets => public}/devices/cig_wf188.png | Bin {src/assets => public}/devices/cig_wf188n.png | Bin {src/assets => public}/devices/cig_wf194c.png | Bin .../assets => public}/devices/cig_wf194c4.png | Bin {src/assets => public}/devices/cig_wf808.png | Bin {src/assets => public}/devices/cig_wf809.png | Bin .../devices/edgecore_eap101.png | Bin .../devices/edgecore_eap102.png | Bin .../devices/edgecore_ecs4100-12ph.png | Bin .../devices/edgecore_ecw5211.png | Bin .../devices/edgecore_ecw5410.png | Bin .../devices/edgecore_oap100.png | Bin .../devices/edgecore_spw2ac1200-lan-poe.png | Bin .../devices/edgecore_spw2ac1200.png | Bin .../devices/edgecore_ssw2ac2600.png | Bin {src/assets => public}/devices/hfcl_ion4.png | Bin .../devices/hfcl_ion4.yml.png | Bin .../devices/indio_um-305ac.png | Bin .../devices/linksys_e8450-ubi.png | Bin .../devices/linksys_ea6350-v4.png | Bin .../devices/linksys_ea6350.png | Bin .../devices/linksys_ea8300.png | Bin .../devices/tp-link_ec420-g1.png | Bin .../devices/tplink_ec420.png | Bin .../devices/tplink_ex227.png | Bin .../devices/tplink_ex228.png | Bin .../devices/tplink_ex447.png | Bin .../devices/wallys_dr40x9.png | Bin .../devices/wallys_dr6018.png | Bin .../devices/wallys_dr6018_v4.png | Bin public/favicon-16x16.png | Bin 0 -> 1021 bytes public/favicon-32x32.png | Bin 0 -> 1915 bytes public/favicon.ico | Bin 206910 -> 15086 bytes public/favicon.svg | 165 - public/index.html | 14 - public/locales/de/translation.json | 1597 +- public/locales/en/translation.json | 1599 +- public/locales/es/translation.json | 1587 +- public/locales/fr/translation.json | 1591 +- public/locales/pt/translation.json | 1589 +- public/mstile-150x150.png | Bin 0 -> 10173 bytes public/safari-pinned-tab.svg | 38 + src/App.js | 39 - src/App.tsx | 39 + ...kup_WhiteColour.svg => Logo_Dark_Mode.svg} | 0 ...DarkGreyColour.svg => Logo_Light_Mode.svg} | 0 src/assets/NotFound.png | Bin 24702 -> 0 bytes src/assets/OpenWiFi_BadgeLogo_DarkGrey.svg | 165 - src/assets/icons/index.js | 203 - src/components/AddConfigurationModal/Form.js | 163 - src/components/AddConfigurationModal/index.js | 183 - src/components/AddToBlacklistModal/index.js | 158 - src/components/BlacklistTable/Table/index.js | 210 - .../BlacklistTable/Table/index.module.scss | 30 - src/components/BlacklistTable/index.js | 244 - src/components/BlinkModal/index.js | 185 - src/components/Buttons/AlertButton/index.tsx | 50 + src/components/Buttons/CloseButton/index.tsx | 28 + src/components/Buttons/CreateButton/index.tsx | 49 + src/components/Buttons/DeleteButton/index.tsx | 61 + .../DeviceActionDropdown/RebootButton.tsx | 82 + .../Buttons/DeviceActionDropdown/index.tsx | 176 + src/components/Buttons/EditButton/index.tsx | 46 + .../Buttons/FileInputButton/index.tsx | 79 + .../Buttons/RefreshButton/index.tsx | 61 + .../Buttons/ResponsiveButton/index.tsx | 59 + src/components/Buttons/SaveButton/index.tsx | 60 + src/components/Buttons/StepButton/index.tsx | 78 + .../Buttons/ToggleEditButton/index.tsx | 83 + .../Buttons/WarningButton/index.tsx | 57 + src/components/CapabilitiesDisplay/index.js | 100 - src/components/CommandHistory/DetailsModal.js | 33 - src/components/CommandHistory/index.js | 441 - src/components/CompactTaskDisplay/index.tsx | 31 + src/components/ConfigurationDisplay/index.js | 66 - src/components/ConfigureModal/index.js | 249 - src/components/ConfirmFooter/index.js | 64 - src/components/ConfirmModal/index.js | 97 - src/components/Containers/Card/CardBody.tsx | 20 + src/components/Containers/Card/CardHeader.tsx | 20 + src/components/Containers/Card/index.tsx | 22 + .../Containers/GraphStatDisplay/index.tsx | 56 + src/components/Containers/IconBox/index.tsx | 14 + .../Containers/Modal/ModalHeader/index.tsx | 17 + .../SimpleIconStatDisplay/index.tsx | 36 + .../DataTables/ColumnPicker/index.tsx | 74 + .../DataTables/DataTable/SortIcon.tsx | 26 + src/components/DataTables/DataTable/index.tsx | 404 + .../DataTables/SortableDataTable/SortIcon.tsx | 26 + .../DataTables/SortableDataTable/index.tsx | 363 + .../DataTables/SortableDataTable/utils.ts | 27 + .../Table/DeleteButton.js | 88 - .../DefaultConfigurationTable/Table/index.js | 184 - .../Table/index.module.scss | 32 - .../DefaultConfigurationTable/index.js | 199 - src/components/DeleteLogModal/index.js | 126 - src/components/DeviceActionCard/index.js | 204 - .../DeviceConfigurationModal.js | 40 - src/components/DeviceConfiguration/index.js | 270 - .../DeviceDashboard/Dashboard/index.js | 434 - .../Dashboard/index.module.scss | 10 - src/components/DeviceDashboard/index.js | 374 - .../DeviceFirmwareModal/Modal/index.js | 145 - src/components/DeviceFirmwareModal/index.js | 165 - src/components/DeviceHealth/index.js | 275 - src/components/DeviceListTable/Table/index.js | 466 - .../DeviceListTable/Table/index.module.scss | 30 - src/components/DeviceListTable/index.js | 446 - src/components/DeviceLogs/index.js | 294 - src/components/DeviceSearchBar/Input.js | 75 - src/components/DeviceSearchBar/index.js | 93 - src/components/EditBlacklistModal/index.js | 154 - src/components/EditConfigurationModal/Form.js | 163 - .../EditConfigurationModal/index.js | 243 - src/components/EditFirmwareModal/Form.js | 54 - src/components/EditFirmwareModal/index.js | 262 - src/components/EventQueueModal/Modal.js | 45 - src/components/EventQueueModal/index.js | 66 - src/components/FactoryResetModal/index.js | 170 - .../FirmwareDashboard/Dashboard/index.js | 338 - .../Dashboard/index.module.scss | 10 - src/components/FirmwareDashboard/index.js | 333 - src/components/FirmwareHistoryModal/Modal.js | 36 - src/components/FirmwareHistoryModal/index.js | 72 - .../ConfigurationFieldExplanation/index.tsx | 45 + .../Fields/CreatableSelectField/Input.tsx | 80 + .../Fields/CreatableSelectField/index.tsx | 50 + .../Form/Fields/NotesField/index.tsx | 134 + .../Form/Fields/NumberField/NumberInput.tsx | 99 + .../Form/Fields/NumberField/index.tsx | 69 + .../Form/Fields/PortRangeField/Input.tsx | 128 + .../Form/Fields/PortRangeField/index.tsx | 71 + .../Fields/SelectField/FastSelectInput.tsx | 56 + .../Form/Fields/SelectField/index.tsx | 70 + .../Form/Fields/StringField/StringInput.tsx | 106 + .../Form/Fields/StringField/index.tsx | 52 + .../Fields/ToggleField/FastToggleInput.tsx | 43 + .../Form/Fields/ToggleField/index.tsx | 50 + .../MultiSelectField/FastMultiSelectInput.jsx | 101 + .../Form/MultiSelectField/index.jsx | 92 + src/components/FormattedDate/index.js | 32 - .../FormattedDate/index.tsx | 11 + .../InformationDisplays/InfoPopover/index.tsx | 39 + .../QrCodeDisplay/index.tsx | 21 + .../SimpleStatDisplay/index.tsx | 73 + .../DeviceStatisticsChart.js | 15 - .../LatestStatisticsModal.js | 79 - .../StatisticsChartList.js | 391 - src/components/InterfaceStatistics/index.js | 181 - src/components/LanguageSwitcher/index.tsx | 49 + src/components/LoadingOverlay/index.tsx | 39 + .../Modals/ConfigureModal/index.tsx | 100 + .../Modals/ConfirmCloseAlert/index.tsx | 53 + .../Modals/ConfirmIgnoreCommand/index.tsx | 44 + .../Modals/EventQueueModal/index.tsx | 108 + .../Modals/FactoryResetModal/index.tsx | 54 + .../FirmwareUpgradeModal/FirmwareList.tsx | 61 + .../Modals/FirmwareUpgradeModal/index.tsx | 88 + .../Modals/GenericModal/ModalHeader/index.tsx | 19 + src/components/Modals/Modal/index.tsx | 46 + .../Modals/TelemetryModal/index.tsx | 268 + src/components/Modals/TraceModal/index.tsx | 175 + .../Modals/VerifyNumberModal/index.tsx | 99 + src/components/Modals/WifiScanModal/Form.tsx | 59 + .../Modals/WifiScanModal/ResultCard.tsx | 49 + .../Modals/WifiScanModal/ResultDisplay.tsx | 72 + src/components/Modals/WifiScanModal/index.tsx | 123 + src/components/NetworkDiagram/Graph.js | 56 - src/components/NetworkDiagram/dagreAdapter.js | 34 - src/components/NetworkDiagram/index.js | 161 - src/components/RebootModal/index.js | 185 - .../SuccessfulActionModalBody/index.js | 27 - src/components/TableCells/DataCell/index.tsx | 14 + .../TableCells/NumberCell/index.tsx | 13 + src/components/TelemetryModal/index.js | 304 - .../TraceModal/WaitingForTraceBody.js | 116 - src/components/TraceModal/index.js | 288 - src/components/WifiAnalysis/RadioAnalysis.js | 42 - src/components/WifiAnalysis/WifiAnalysis.js | 146 - src/components/WifiAnalysis/index.js | 327 - src/components/WifiScanModal/IE_OPTIONS.json | 187 - src/components/WifiScanModal/index.js | 327 - .../WifiScanResultModal/IeDisplay.js | 90 - .../WifiScanResultModal/WifiChannelCard.js | 114 - .../WifiScanResultModal/WifiChannelTable.js | 45 - src/components/WifiScanResultModal/index.js | 139 - src/constants.js | 4 - src/constants/apiErrors.ts | 2 + src/constants/axiosInstances.ts | 287 + src/constants/colors.ts | 283 + .../countries.js => constants/countryList.ts} | 7 +- src/contexts/AuthProvider/index.tsx | 163 + src/contexts/AuthProvider/utils.ts | 34 + .../hooks/Commands/useDeviceSearch.ts | 77 + .../ControllerSocketProvider/index.tsx | 177 + .../ControllerSocketProvider/useStore.ts | 92 + .../ControllerSocketProvider/utils.ts | 54 + .../hooks/Commands/useDeviceSearch.ts | 63 + .../hooks/Commands/useLocationSearch.ts | 60 + .../hooks/Commands/useSubscriberSearch.ts | 70 + .../hooks/Commands/useWebSocketCommand.ts | 44 + .../ConfigurationPushes.tsx | 58 + .../NotificationContent/DeviceReboot.tsx | 58 + .../NotificationContent/DeviceUpgrade.tsx | 70 + .../hooks/NotificationContent/index.tsx | 28 + .../useWebSocketNotification.tsx | 124 + .../ProvisioningSocketProvider/index.tsx | 102 + .../ProvisioningSocketProvider/useStore.ts | 68 + .../ProvisioningSocketProvider/utils.ts | 76 + .../useWebSocketNotification.js | 26 - src/contexts/WebSocketProvider/index.js | 132 - .../WebSocketProvider/useSocketReducer.js | 98 - src/contexts/WebSocketProvider/utils.js | 36 - src/custom.d.ts | 10 + src/helpers/dateFormatting.ts | 128 + src/helpers/debounce.ts | 12 + src/helpers/formTests.ts | 199 + src/helpers/stringHelper.ts | 48 + src/hooks/Network/Account.ts | 180 + src/hooks/Network/Blacklist.ts | 93 + src/hooks/Network/Commands.ts | 126 + src/hooks/Network/Controller.ts | 67 + src/hooks/Network/DefaultConfigurations.ts | 74 + src/hooks/Network/DeviceLogs.ts | 46 + src/hooks/Network/DeviceTypes.ts | 9 + src/hooks/Network/Devices.ts | 403 + src/hooks/Network/Endpoints.ts | 54 + src/hooks/Network/Firmware.ts | 224 + src/hooks/Network/GoogleAuthenticator.ts | 40 + src/hooks/Network/HealthChecks.ts | 46 + src/hooks/Network/Inventory.ts | 59 + src/hooks/Network/Login.ts | 57 + src/hooks/Network/Requirements.ts | 8 + src/hooks/Network/Statistics.ts | 251 + src/hooks/Network/System.ts | 123 + src/hooks/Network/Telemetry.ts | 121 + src/hooks/Network/Trace.ts | 98 + src/hooks/Network/Users.ts | 126 + src/hooks/useApiRequirements.ts | 28 + src/hooks/useCommandModal.ts | 39 + src/hooks/useEndpointStatus.ts | 10 + src/hooks/useFastField.ts | 39 + src/hooks/useFormModal.ts | 38 + src/hooks/useFormRef.ts | 31 + src/hooks/useMutationResult.ts | 118 + src/hooks/useToggle/index.js | 17 - src/{i18n.js => i18n.ts} | 4 +- src/index.css | 59 +- src/index.js | 17 - src/index.tsx | 16 + src/layout/Containers/PanelContainer.tsx | 14 + src/layout/Containers/PanelContent.tsx | 14 + src/layout/Devices.js | 120 - src/layout/MainPanel.tsx | 18 + src/layout/Navbar/index.tsx | 178 + src/layout/Sidebar/CreateLinks.tsx | 15 + src/layout/Sidebar/Devices.tsx | 74 + src/layout/Sidebar/NavLinkButton.tsx | 95 + src/layout/Sidebar/index.js | 49 - src/layout/Sidebar/index.module.scss | 9 - src/layout/Sidebar/index.tsx | 137 + src/layout/index.js | 93 - src/layout/index.tsx | 54 + src/models/Analytics.ts | 238 + src/models/Basic.ts | 16 + src/models/Configuration.ts | 21 + src/models/Device.ts | 139 + src/models/Endpoint.ts | 4 + src/models/Entity.ts | 9 + src/models/Firmware.ts | 22 + src/models/Form.ts | 30 + src/models/FormField.ts | 53 + src/models/Inventory.ts | 48 + src/models/Location.ts | 67 + src/models/Login.ts | 10 + src/models/Modal.ts | 5 + src/models/Note.ts | 5 + src/models/Preference.ts | 4 + src/models/Routes.ts | 13 + src/models/Subscriber.ts | 32 + src/models/Table.ts | 38 + src/models/Theme.ts | 11 + src/models/User.ts | 21 + src/models/Venue.ts | 10 + src/models/WebSocket.ts | 20 + .../DefaultConfigurations/List/Actions.tsx | 107 + .../List/CreateModal.tsx | 129 + .../DefaultConfigurations/List/EditModal.tsx | 136 + .../DefaultConfigurations/List/index.tsx | 118 + src/pages/DefaultConfigurations/index.tsx | 15 + src/pages/DefaultConfigurations/utils.ts | 20 + src/pages/DefaultConfigurationsPage/index.js | 6 - src/pages/Device/Details.tsx | 137 + .../Device/LogsCard/CommandHistory/Modal.tsx | 175 + .../Device/LogsCard/CommandHistory/index.tsx | 72 + .../CommandHistory/useCommandHistoryTable.tsx | 193 + .../HealthCheckHistory/DeleteModal.tsx | 101 + .../LogsCard/HealthCheckHistory/index.tsx | 75 + .../useHealthCheckTable.tsx | 86 + .../LogsCard/LogHistory/DeleteModal.tsx | 101 + .../Device/LogsCard/LogHistory/index.tsx | 75 + .../LogHistory/useDeviceLogsTable.tsx | 82 + src/pages/Device/LogsCard/index.tsx | 65 + src/pages/Device/Notes.tsx | 166 + .../Device/StatisticsCard/DatePickers.tsx | 188 + .../Device/StatisticsCard/InterfaceChart.tsx | 116 + .../Device/StatisticsCard/MemoryChart.tsx | 109 + .../StatisticsCard/ViewLastStatsModal.tsx | 118 + src/pages/Device/StatisticsCard/index.tsx | 208 + src/pages/Device/Summary.tsx | 116 + src/pages/Device/ViewCapabilitiesModal.tsx | 114 + src/pages/Device/ViewConfigurationModal.tsx | 85 + .../Device/WifiAnalysis/AssocationsTable.tsx | 183 + src/pages/Device/WifiAnalysis/RadiosTable.tsx | 126 + src/pages/Device/WifiAnalysis/index.tsx | 168 + src/pages/Device/Wrapper.tsx | 157 + src/pages/Device/index.tsx | 18 + src/pages/DeviceListPage/index.js | 73 - src/pages/DevicePage/Details.js | 238 - .../DevicePage/DeviceStatusCard/MemoryBar.js | 35 - .../DevicePage/DeviceStatusCard/index.js | 244 - .../DeviceStatusCard/index.module.scss | 20 - src/pages/DevicePage/NotesTab.js | 138 - src/pages/DevicePage/index.js | 302 - src/pages/DevicePage/index.module.scss | 20 - src/pages/Devices/Blacklist/Actions.tsx | 111 + src/pages/Devices/Blacklist/CreateModal.tsx | 93 + src/pages/Devices/Blacklist/EditModal.tsx | 84 + src/pages/Devices/Blacklist/index.tsx | 163 + .../Dashboard/AssociationsPieChart.tsx | 99 + .../Dashboard/CertificatesPieChart.tsx | 111 + .../Devices/Dashboard/CommandsBarChart.tsx | 91 + .../Devices/Dashboard/ConnectedPieChart.tsx | 112 + .../Devices/Dashboard/DeviceTypesPieChart.tsx | 96 + .../Devices/Dashboard/MemoryBarChart.tsx | 91 + src/pages/Devices/Dashboard/OverallHealth.tsx | 59 + .../Dashboard/OverallHealthPieChart.tsx | 143 + .../Devices/Dashboard/UptimesBarChart.tsx | 98 + .../Devices/Dashboard/VendorBarChart.tsx | 117 + src/pages/Devices/Dashboard/index.tsx | 101 + src/pages/Devices/ListCard/Actions.tsx | 118 + .../Devices/ListCard/DeviceSearchBar.tsx | 67 + src/pages/Devices/ListCard/FirmwareButton.tsx | 55 + .../Devices/ListCard}/icons/AP.png | Bin .../Devices/ListCard/icons/IOT.png} | Bin .../Devices/ListCard/icons/MESH.png} | Bin .../Devices/ListCard/icons/SWITCH.png} | Bin src/pages/Devices/ListCard/index.tsx | 381 + src/pages/Devices/index.tsx | 87 + .../Firmware/Dashboard/AverageFirmwareAge.tsx | 36 + .../Firmware/Dashboard/ConnectedPieChart.tsx | 112 + .../Dashboard/DeviceTypesPieChart.tsx | 96 + .../Firmware/Dashboard/EndpointsDisplay.tsx | 47 + .../Firmware/Dashboard/LatestPieChart.tsx | 89 + src/pages/Firmware/Dashboard/OuisBarChart.tsx | 131 + .../Dashboard/UnknownFirmwareBarChart.tsx | 119 + .../Firmware/Dashboard/UpToDateDevices.tsx | 40 + src/pages/Firmware/Dashboard/index.tsx | 97 + src/pages/Firmware/List/Modal.tsx | 251 + src/pages/Firmware/List/UriCell.tsx | 21 + src/pages/Firmware/List/index.tsx | 175 + src/pages/Firmware/index.tsx | 75 + src/pages/FirmwareListPage/Table.js | 198 - src/pages/FirmwareListPage/index.js | 229 - src/pages/LoginPage/ChangePasswordForm.tsx | 147 + src/pages/LoginPage/ForgotPasswordForm.tsx | 132 + src/pages/LoginPage/LoginForm.tsx | 180 + src/pages/LoginPage/MfaForm.tsx | 155 + src/pages/LoginPage/index.js | 24 - src/pages/LoginPage/index.tsx | 52 + src/pages/NotFound/index.tsx | 15 + src/pages/Profile/AvatarModal.tsx | 98 + src/pages/Profile/GeneralInformation.tsx | 204 + src/pages/Profile/Layout.tsx | 25 + .../ActivateEmailMfaButton.tsx | 31 + .../ActivateGoogleAuthenticatorButton.tsx | 36 + .../MultiFactorAuth/ActivateSmsAuthButton.tsx | 70 + .../ValidatePhoneNumberIntro.tsx | 68 + .../ValidatePhoneNumberSuccess.tsx | 25 + .../ValidatePhoneNumberTests.tsx | 83 + .../AddPhoneNumberModal/index.tsx | 55 + .../MultiFactorAuth/DeactivateMfaButton.tsx | 31 + .../GoogleAuthenticatorActivationSuccess.tsx | 29 + .../GoogleAuthenticatorIntro.tsx | 30 + .../GoogleAuthenticatorQrDisplay.tsx | 41 + .../GoogleAuthenticatorTests.tsx | 100 + .../GoogleAuthenticatorModal/index.tsx | 59 + src/pages/Profile/MultiFactorAuth/index.tsx | 77 + src/pages/Profile/Notes.tsx | 161 + src/pages/Profile/Summary.tsx | 42 + src/pages/Profile/index.tsx | 22 + src/pages/ProfilePage/index.js | 11 - src/pages/SystemPage/ApiStatusCard/index.js | 189 - .../SystemTile/SystemCertificatesTable.tsx | 59 + src/pages/SystemPage/SystemTile/index.tsx | 185 + src/pages/SystemPage/index.js | 135 - src/pages/SystemPage/index.tsx | 45 + src/pages/UserListPage/index.js | 22 - src/pages/UsersPage/Table/ActionsDropdown.tsx | 95 + .../UsersPage/Table/CreateUserModal/Form.jsx | 200 + .../UsersPage/Table/CreateUserModal/index.jsx | 96 + .../UsersPage/Table/EditUserModal/Form.jsx | 181 + .../UsersPage/Table/EditUserModal/index.jsx | 111 + src/pages/UsersPage/Table/UserActions.jsx | 130 + src/pages/UsersPage/Table/index.jsx | 186 + src/pages/UsersPage/index.tsx | 16 + src/router/index.js | 28 - src/router/index.tsx | 24 + src/router/routes.tsx | 82 + src/routes.js | 23 - src/scss/_custom.scss | 45 - src/scss/_fixes.scss | 0 src/scss/_variables.scss | 12 - src/scss/style.scss | 8 - src/theme/additions/card/Card.ts | 35 + src/theme/additions/card/CardBody.ts | 12 + src/theme/additions/card/CardHeader.ts | 12 + src/theme/additions/layout/MainPanel.ts | 27 + src/theme/additions/layout/PanelContainer.ts | 12 + src/theme/additions/layout/PanelContent.ts | 14 + src/theme/components/alert.ts | 9 + src/theme/components/badge.ts | 15 + src/theme/components/button.ts | 34 + src/theme/components/drawer.ts | 13 + src/theme/components/index.ts | 21 + src/theme/foundations/breakpoints.ts | 7 + src/theme/foundations/fonts.ts | 3 + src/theme/foundations/text.ts | 12 + src/theme/styles.ts | 56 + src/theme/theme.ts | 40 + src/utils/axiosInstance.js | 45 - src/utils/eventBus.js | 13 - src/utils/helper.js | 184 - src/utils/localStorageHelper.js | 9 - tsconfig.json | 107 + vite.config.ts | 61 + 458 files changed, 37270 insertions(+), 36864 deletions(-) create mode 100644 .env delete mode 100644 babel.config.json delete mode 100644 config/paths.js delete mode 100644 config/webpack.common.js delete mode 100644 config/webpack.dev.js delete mode 100644 config/webpack.prod.js create mode 100644 index.html delete mode 100644 jsconfig.json create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-384x384.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/browserconfig.xml delete mode 100644 public/config.json rename {src/assets => public}/devices/cig_wf160d.png (100%) rename {src/assets => public}/devices/cig_wf188.png (100%) rename {src/assets => public}/devices/cig_wf188n.png (100%) rename {src/assets => public}/devices/cig_wf194c.png (100%) rename {src/assets => public}/devices/cig_wf194c4.png (100%) rename {src/assets => public}/devices/cig_wf808.png (100%) rename {src/assets => public}/devices/cig_wf809.png (100%) rename {src/assets => public}/devices/edgecore_eap101.png (100%) rename {src/assets => public}/devices/edgecore_eap102.png (100%) rename {src/assets => public}/devices/edgecore_ecs4100-12ph.png (100%) rename {src/assets => public}/devices/edgecore_ecw5211.png (100%) rename {src/assets => public}/devices/edgecore_ecw5410.png (100%) rename {src/assets => public}/devices/edgecore_oap100.png (100%) rename {src/assets => public}/devices/edgecore_spw2ac1200-lan-poe.png (100%) rename {src/assets => public}/devices/edgecore_spw2ac1200.png (100%) rename {src/assets => public}/devices/edgecore_ssw2ac2600.png (100%) rename {src/assets => public}/devices/hfcl_ion4.png (100%) rename {src/assets => public}/devices/hfcl_ion4.yml.png (100%) rename {src/assets => public}/devices/indio_um-305ac.png (100%) rename {src/assets => public}/devices/linksys_e8450-ubi.png (100%) rename {src/assets => public}/devices/linksys_ea6350-v4.png (100%) rename {src/assets => public}/devices/linksys_ea6350.png (100%) rename {src/assets => public}/devices/linksys_ea8300.png (100%) rename {src/assets => public}/devices/tp-link_ec420-g1.png (100%) rename {src/assets => public}/devices/tplink_ec420.png (100%) rename {src/assets => public}/devices/tplink_ex227.png (100%) rename {src/assets => public}/devices/tplink_ex228.png (100%) rename {src/assets => public}/devices/tplink_ex447.png (100%) rename {src/assets => public}/devices/wallys_dr40x9.png (100%) rename {src/assets => public}/devices/wallys_dr6018.png (100%) rename {src/assets => public}/devices/wallys_dr6018_v4.png (100%) create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png delete mode 100644 public/favicon.svg delete mode 100644 public/index.html create mode 100644 public/mstile-150x150.png create mode 100644 public/safari-pinned-tab.svg delete mode 100644 src/App.js create mode 100644 src/App.tsx rename src/assets/{OpenWiFi_LogoLockup_WhiteColour.svg => Logo_Dark_Mode.svg} (100%) rename src/assets/{OpenWiFi_LogoLockup_DarkGreyColour.svg => Logo_Light_Mode.svg} (100%) delete mode 100644 src/assets/NotFound.png delete mode 100644 src/assets/OpenWiFi_BadgeLogo_DarkGrey.svg delete mode 100644 src/assets/icons/index.js delete mode 100644 src/components/AddConfigurationModal/Form.js delete mode 100644 src/components/AddConfigurationModal/index.js delete mode 100644 src/components/AddToBlacklistModal/index.js delete mode 100644 src/components/BlacklistTable/Table/index.js delete mode 100644 src/components/BlacklistTable/Table/index.module.scss delete mode 100644 src/components/BlacklistTable/index.js delete mode 100644 src/components/BlinkModal/index.js create mode 100644 src/components/Buttons/AlertButton/index.tsx create mode 100644 src/components/Buttons/CloseButton/index.tsx create mode 100644 src/components/Buttons/CreateButton/index.tsx create mode 100644 src/components/Buttons/DeleteButton/index.tsx create mode 100644 src/components/Buttons/DeviceActionDropdown/RebootButton.tsx create mode 100644 src/components/Buttons/DeviceActionDropdown/index.tsx create mode 100644 src/components/Buttons/EditButton/index.tsx create mode 100644 src/components/Buttons/FileInputButton/index.tsx create mode 100644 src/components/Buttons/RefreshButton/index.tsx create mode 100644 src/components/Buttons/ResponsiveButton/index.tsx create mode 100644 src/components/Buttons/SaveButton/index.tsx create mode 100644 src/components/Buttons/StepButton/index.tsx create mode 100644 src/components/Buttons/ToggleEditButton/index.tsx create mode 100644 src/components/Buttons/WarningButton/index.tsx delete mode 100644 src/components/CapabilitiesDisplay/index.js delete mode 100644 src/components/CommandHistory/DetailsModal.js delete mode 100644 src/components/CommandHistory/index.js create mode 100644 src/components/CompactTaskDisplay/index.tsx delete mode 100644 src/components/ConfigurationDisplay/index.js delete mode 100644 src/components/ConfigureModal/index.js delete mode 100644 src/components/ConfirmFooter/index.js delete mode 100644 src/components/ConfirmModal/index.js create mode 100644 src/components/Containers/Card/CardBody.tsx create mode 100644 src/components/Containers/Card/CardHeader.tsx create mode 100644 src/components/Containers/Card/index.tsx create mode 100644 src/components/Containers/GraphStatDisplay/index.tsx create mode 100644 src/components/Containers/IconBox/index.tsx create mode 100644 src/components/Containers/Modal/ModalHeader/index.tsx create mode 100644 src/components/Containers/SimpleIconStatDisplay/index.tsx create mode 100644 src/components/DataTables/ColumnPicker/index.tsx create mode 100644 src/components/DataTables/DataTable/SortIcon.tsx create mode 100644 src/components/DataTables/DataTable/index.tsx create mode 100644 src/components/DataTables/SortableDataTable/SortIcon.tsx create mode 100644 src/components/DataTables/SortableDataTable/index.tsx create mode 100644 src/components/DataTables/SortableDataTable/utils.ts delete mode 100644 src/components/DefaultConfigurationTable/Table/DeleteButton.js delete mode 100644 src/components/DefaultConfigurationTable/Table/index.js delete mode 100644 src/components/DefaultConfigurationTable/Table/index.module.scss delete mode 100644 src/components/DefaultConfigurationTable/index.js delete mode 100644 src/components/DeleteLogModal/index.js delete mode 100644 src/components/DeviceActionCard/index.js delete mode 100644 src/components/DeviceConfiguration/DeviceConfigurationModal.js delete mode 100644 src/components/DeviceConfiguration/index.js delete mode 100644 src/components/DeviceDashboard/Dashboard/index.js delete mode 100644 src/components/DeviceDashboard/Dashboard/index.module.scss delete mode 100644 src/components/DeviceDashboard/index.js delete mode 100644 src/components/DeviceFirmwareModal/Modal/index.js delete mode 100644 src/components/DeviceFirmwareModal/index.js delete mode 100644 src/components/DeviceHealth/index.js delete mode 100644 src/components/DeviceListTable/Table/index.js delete mode 100644 src/components/DeviceListTable/Table/index.module.scss delete mode 100644 src/components/DeviceListTable/index.js delete mode 100644 src/components/DeviceLogs/index.js delete mode 100644 src/components/DeviceSearchBar/Input.js delete mode 100644 src/components/DeviceSearchBar/index.js delete mode 100644 src/components/EditBlacklistModal/index.js delete mode 100644 src/components/EditConfigurationModal/Form.js delete mode 100644 src/components/EditConfigurationModal/index.js delete mode 100644 src/components/EditFirmwareModal/Form.js delete mode 100644 src/components/EditFirmwareModal/index.js delete mode 100644 src/components/EventQueueModal/Modal.js delete mode 100644 src/components/EventQueueModal/index.js delete mode 100644 src/components/FactoryResetModal/index.js delete mode 100644 src/components/FirmwareDashboard/Dashboard/index.js delete mode 100644 src/components/FirmwareDashboard/Dashboard/index.module.scss delete mode 100644 src/components/FirmwareDashboard/index.js delete mode 100644 src/components/FirmwareHistoryModal/Modal.js delete mode 100644 src/components/FirmwareHistoryModal/index.js create mode 100644 src/components/Form/ConfigurationFieldExplanation/index.tsx create mode 100644 src/components/Form/Fields/CreatableSelectField/Input.tsx create mode 100644 src/components/Form/Fields/CreatableSelectField/index.tsx create mode 100644 src/components/Form/Fields/NotesField/index.tsx create mode 100644 src/components/Form/Fields/NumberField/NumberInput.tsx create mode 100644 src/components/Form/Fields/NumberField/index.tsx create mode 100644 src/components/Form/Fields/PortRangeField/Input.tsx create mode 100644 src/components/Form/Fields/PortRangeField/index.tsx create mode 100644 src/components/Form/Fields/SelectField/FastSelectInput.tsx create mode 100644 src/components/Form/Fields/SelectField/index.tsx create mode 100644 src/components/Form/Fields/StringField/StringInput.tsx create mode 100644 src/components/Form/Fields/StringField/index.tsx create mode 100644 src/components/Form/Fields/ToggleField/FastToggleInput.tsx create mode 100644 src/components/Form/Fields/ToggleField/index.tsx create mode 100644 src/components/Form/MultiSelectField/FastMultiSelectInput.jsx create mode 100644 src/components/Form/MultiSelectField/index.jsx delete mode 100644 src/components/FormattedDate/index.js create mode 100644 src/components/InformationDisplays/FormattedDate/index.tsx create mode 100644 src/components/InformationDisplays/InfoPopover/index.tsx create mode 100644 src/components/InformationDisplays/QrCodeDisplay/index.tsx create mode 100644 src/components/InformationDisplays/SimpleStatDisplay/index.tsx delete mode 100644 src/components/InterfaceStatistics/DeviceStatisticsChart.js delete mode 100644 src/components/InterfaceStatistics/LatestStatisticsModal.js delete mode 100644 src/components/InterfaceStatistics/StatisticsChartList.js delete mode 100644 src/components/InterfaceStatistics/index.js create mode 100644 src/components/LanguageSwitcher/index.tsx create mode 100644 src/components/LoadingOverlay/index.tsx create mode 100644 src/components/Modals/ConfigureModal/index.tsx create mode 100644 src/components/Modals/ConfirmCloseAlert/index.tsx create mode 100644 src/components/Modals/ConfirmIgnoreCommand/index.tsx create mode 100644 src/components/Modals/EventQueueModal/index.tsx create mode 100644 src/components/Modals/FactoryResetModal/index.tsx create mode 100644 src/components/Modals/FirmwareUpgradeModal/FirmwareList.tsx create mode 100644 src/components/Modals/FirmwareUpgradeModal/index.tsx create mode 100644 src/components/Modals/GenericModal/ModalHeader/index.tsx create mode 100644 src/components/Modals/Modal/index.tsx create mode 100644 src/components/Modals/TelemetryModal/index.tsx create mode 100644 src/components/Modals/TraceModal/index.tsx create mode 100644 src/components/Modals/VerifyNumberModal/index.tsx create mode 100644 src/components/Modals/WifiScanModal/Form.tsx create mode 100644 src/components/Modals/WifiScanModal/ResultCard.tsx create mode 100644 src/components/Modals/WifiScanModal/ResultDisplay.tsx create mode 100644 src/components/Modals/WifiScanModal/index.tsx delete mode 100644 src/components/NetworkDiagram/Graph.js delete mode 100644 src/components/NetworkDiagram/dagreAdapter.js delete mode 100644 src/components/NetworkDiagram/index.js delete mode 100644 src/components/RebootModal/index.js delete mode 100644 src/components/SuccessfulActionModalBody/index.js create mode 100644 src/components/TableCells/DataCell/index.tsx create mode 100644 src/components/TableCells/NumberCell/index.tsx delete mode 100644 src/components/TelemetryModal/index.js delete mode 100644 src/components/TraceModal/WaitingForTraceBody.js delete mode 100644 src/components/TraceModal/index.js delete mode 100644 src/components/WifiAnalysis/RadioAnalysis.js delete mode 100644 src/components/WifiAnalysis/WifiAnalysis.js delete mode 100644 src/components/WifiAnalysis/index.js delete mode 100644 src/components/WifiScanModal/IE_OPTIONS.json delete mode 100644 src/components/WifiScanModal/index.js delete mode 100644 src/components/WifiScanResultModal/IeDisplay.js delete mode 100644 src/components/WifiScanResultModal/WifiChannelCard.js delete mode 100644 src/components/WifiScanResultModal/WifiChannelTable.js delete mode 100644 src/components/WifiScanResultModal/index.js delete mode 100644 src/constants.js create mode 100644 src/constants/apiErrors.ts create mode 100644 src/constants/axiosInstances.ts create mode 100644 src/constants/colors.ts rename src/{utils/countries.js => constants/countryList.ts} (97%) create mode 100644 src/contexts/AuthProvider/index.tsx create mode 100644 src/contexts/AuthProvider/utils.ts create mode 100644 src/contexts/ControllerSocketProvider/hooks/Commands/useDeviceSearch.ts create mode 100644 src/contexts/ControllerSocketProvider/index.tsx create mode 100644 src/contexts/ControllerSocketProvider/useStore.ts create mode 100644 src/contexts/ControllerSocketProvider/utils.ts create mode 100644 src/contexts/ProvisioningSocketProvider/hooks/Commands/useDeviceSearch.ts create mode 100644 src/contexts/ProvisioningSocketProvider/hooks/Commands/useLocationSearch.ts create mode 100644 src/contexts/ProvisioningSocketProvider/hooks/Commands/useSubscriberSearch.ts create mode 100644 src/contexts/ProvisioningSocketProvider/hooks/Commands/useWebSocketCommand.ts create mode 100644 src/contexts/ProvisioningSocketProvider/hooks/NotificationContent/ConfigurationPushes.tsx create mode 100644 src/contexts/ProvisioningSocketProvider/hooks/NotificationContent/DeviceReboot.tsx create mode 100644 src/contexts/ProvisioningSocketProvider/hooks/NotificationContent/DeviceUpgrade.tsx create mode 100644 src/contexts/ProvisioningSocketProvider/hooks/NotificationContent/index.tsx create mode 100644 src/contexts/ProvisioningSocketProvider/hooks/NotificationContent/useWebSocketNotification.tsx create mode 100644 src/contexts/ProvisioningSocketProvider/index.tsx create mode 100644 src/contexts/ProvisioningSocketProvider/useStore.ts create mode 100644 src/contexts/ProvisioningSocketProvider/utils.ts delete mode 100644 src/contexts/WebSocketProvider/hooks/NotificationContent/useWebSocketNotification.js delete mode 100644 src/contexts/WebSocketProvider/index.js delete mode 100644 src/contexts/WebSocketProvider/useSocketReducer.js delete mode 100644 src/contexts/WebSocketProvider/utils.js create mode 100644 src/custom.d.ts create mode 100644 src/helpers/dateFormatting.ts create mode 100644 src/helpers/debounce.ts create mode 100644 src/helpers/formTests.ts create mode 100644 src/helpers/stringHelper.ts create mode 100644 src/hooks/Network/Account.ts create mode 100644 src/hooks/Network/Blacklist.ts create mode 100644 src/hooks/Network/Commands.ts create mode 100644 src/hooks/Network/Controller.ts create mode 100644 src/hooks/Network/DefaultConfigurations.ts create mode 100644 src/hooks/Network/DeviceLogs.ts create mode 100644 src/hooks/Network/DeviceTypes.ts create mode 100644 src/hooks/Network/Devices.ts create mode 100644 src/hooks/Network/Endpoints.ts create mode 100644 src/hooks/Network/Firmware.ts create mode 100644 src/hooks/Network/GoogleAuthenticator.ts create mode 100644 src/hooks/Network/HealthChecks.ts create mode 100644 src/hooks/Network/Inventory.ts create mode 100644 src/hooks/Network/Login.ts create mode 100644 src/hooks/Network/Requirements.ts create mode 100644 src/hooks/Network/Statistics.ts create mode 100644 src/hooks/Network/System.ts create mode 100644 src/hooks/Network/Telemetry.ts create mode 100644 src/hooks/Network/Trace.ts create mode 100644 src/hooks/Network/Users.ts create mode 100644 src/hooks/useApiRequirements.ts create mode 100644 src/hooks/useCommandModal.ts create mode 100644 src/hooks/useEndpointStatus.ts create mode 100644 src/hooks/useFastField.ts create mode 100644 src/hooks/useFormModal.ts create mode 100644 src/hooks/useFormRef.ts create mode 100644 src/hooks/useMutationResult.ts delete mode 100644 src/hooks/useToggle/index.js rename src/{i18n.js => i18n.ts} (100%) delete mode 100644 src/index.js create mode 100644 src/index.tsx create mode 100644 src/layout/Containers/PanelContainer.tsx create mode 100644 src/layout/Containers/PanelContent.tsx delete mode 100644 src/layout/Devices.js create mode 100644 src/layout/MainPanel.tsx create mode 100644 src/layout/Navbar/index.tsx create mode 100644 src/layout/Sidebar/CreateLinks.tsx create mode 100644 src/layout/Sidebar/Devices.tsx create mode 100644 src/layout/Sidebar/NavLinkButton.tsx delete mode 100644 src/layout/Sidebar/index.js delete mode 100644 src/layout/Sidebar/index.module.scss create mode 100644 src/layout/Sidebar/index.tsx delete mode 100644 src/layout/index.js create mode 100644 src/layout/index.tsx create mode 100644 src/models/Analytics.ts create mode 100644 src/models/Basic.ts create mode 100644 src/models/Configuration.ts create mode 100644 src/models/Device.ts create mode 100644 src/models/Endpoint.ts create mode 100644 src/models/Entity.ts create mode 100644 src/models/Firmware.ts create mode 100644 src/models/Form.ts create mode 100644 src/models/FormField.ts create mode 100644 src/models/Inventory.ts create mode 100644 src/models/Location.ts create mode 100644 src/models/Login.ts create mode 100644 src/models/Modal.ts create mode 100644 src/models/Note.ts create mode 100644 src/models/Preference.ts create mode 100644 src/models/Routes.ts create mode 100644 src/models/Subscriber.ts create mode 100644 src/models/Table.ts create mode 100644 src/models/Theme.ts create mode 100644 src/models/User.ts create mode 100644 src/models/Venue.ts create mode 100644 src/models/WebSocket.ts create mode 100644 src/pages/DefaultConfigurations/List/Actions.tsx create mode 100644 src/pages/DefaultConfigurations/List/CreateModal.tsx create mode 100644 src/pages/DefaultConfigurations/List/EditModal.tsx create mode 100644 src/pages/DefaultConfigurations/List/index.tsx create mode 100644 src/pages/DefaultConfigurations/index.tsx create mode 100644 src/pages/DefaultConfigurations/utils.ts delete mode 100644 src/pages/DefaultConfigurationsPage/index.js create mode 100644 src/pages/Device/Details.tsx create mode 100644 src/pages/Device/LogsCard/CommandHistory/Modal.tsx create mode 100644 src/pages/Device/LogsCard/CommandHistory/index.tsx create mode 100644 src/pages/Device/LogsCard/CommandHistory/useCommandHistoryTable.tsx create mode 100644 src/pages/Device/LogsCard/HealthCheckHistory/DeleteModal.tsx create mode 100644 src/pages/Device/LogsCard/HealthCheckHistory/index.tsx create mode 100644 src/pages/Device/LogsCard/HealthCheckHistory/useHealthCheckTable.tsx create mode 100644 src/pages/Device/LogsCard/LogHistory/DeleteModal.tsx create mode 100644 src/pages/Device/LogsCard/LogHistory/index.tsx create mode 100644 src/pages/Device/LogsCard/LogHistory/useDeviceLogsTable.tsx create mode 100644 src/pages/Device/LogsCard/index.tsx create mode 100644 src/pages/Device/Notes.tsx create mode 100644 src/pages/Device/StatisticsCard/DatePickers.tsx create mode 100644 src/pages/Device/StatisticsCard/InterfaceChart.tsx create mode 100644 src/pages/Device/StatisticsCard/MemoryChart.tsx create mode 100644 src/pages/Device/StatisticsCard/ViewLastStatsModal.tsx create mode 100644 src/pages/Device/StatisticsCard/index.tsx create mode 100644 src/pages/Device/Summary.tsx create mode 100644 src/pages/Device/ViewCapabilitiesModal.tsx create mode 100644 src/pages/Device/ViewConfigurationModal.tsx create mode 100644 src/pages/Device/WifiAnalysis/AssocationsTable.tsx create mode 100644 src/pages/Device/WifiAnalysis/RadiosTable.tsx create mode 100644 src/pages/Device/WifiAnalysis/index.tsx create mode 100644 src/pages/Device/Wrapper.tsx create mode 100644 src/pages/Device/index.tsx delete mode 100644 src/pages/DeviceListPage/index.js delete mode 100644 src/pages/DevicePage/Details.js delete mode 100644 src/pages/DevicePage/DeviceStatusCard/MemoryBar.js delete mode 100644 src/pages/DevicePage/DeviceStatusCard/index.js delete mode 100644 src/pages/DevicePage/DeviceStatusCard/index.module.scss delete mode 100644 src/pages/DevicePage/NotesTab.js delete mode 100644 src/pages/DevicePage/index.js delete mode 100644 src/pages/DevicePage/index.module.scss create mode 100644 src/pages/Devices/Blacklist/Actions.tsx create mode 100644 src/pages/Devices/Blacklist/CreateModal.tsx create mode 100644 src/pages/Devices/Blacklist/EditModal.tsx create mode 100644 src/pages/Devices/Blacklist/index.tsx create mode 100644 src/pages/Devices/Dashboard/AssociationsPieChart.tsx create mode 100644 src/pages/Devices/Dashboard/CertificatesPieChart.tsx create mode 100644 src/pages/Devices/Dashboard/CommandsBarChart.tsx create mode 100644 src/pages/Devices/Dashboard/ConnectedPieChart.tsx create mode 100644 src/pages/Devices/Dashboard/DeviceTypesPieChart.tsx create mode 100644 src/pages/Devices/Dashboard/MemoryBarChart.tsx create mode 100644 src/pages/Devices/Dashboard/OverallHealth.tsx create mode 100644 src/pages/Devices/Dashboard/OverallHealthPieChart.tsx create mode 100644 src/pages/Devices/Dashboard/UptimesBarChart.tsx create mode 100644 src/pages/Devices/Dashboard/VendorBarChart.tsx create mode 100644 src/pages/Devices/Dashboard/index.tsx create mode 100644 src/pages/Devices/ListCard/Actions.tsx create mode 100644 src/pages/Devices/ListCard/DeviceSearchBar.tsx create mode 100644 src/pages/Devices/ListCard/FirmwareButton.tsx rename src/{assets => pages/Devices/ListCard}/icons/AP.png (100%) rename src/{assets/icons/IotIcon.png => pages/Devices/ListCard/icons/IOT.png} (100%) rename src/{assets/icons/Mesh.png => pages/Devices/ListCard/icons/MESH.png} (100%) rename src/{assets/icons/Switch.png => pages/Devices/ListCard/icons/SWITCH.png} (100%) create mode 100644 src/pages/Devices/ListCard/index.tsx create mode 100644 src/pages/Devices/index.tsx create mode 100644 src/pages/Firmware/Dashboard/AverageFirmwareAge.tsx create mode 100644 src/pages/Firmware/Dashboard/ConnectedPieChart.tsx create mode 100644 src/pages/Firmware/Dashboard/DeviceTypesPieChart.tsx create mode 100644 src/pages/Firmware/Dashboard/EndpointsDisplay.tsx create mode 100644 src/pages/Firmware/Dashboard/LatestPieChart.tsx create mode 100644 src/pages/Firmware/Dashboard/OuisBarChart.tsx create mode 100644 src/pages/Firmware/Dashboard/UnknownFirmwareBarChart.tsx create mode 100644 src/pages/Firmware/Dashboard/UpToDateDevices.tsx create mode 100644 src/pages/Firmware/Dashboard/index.tsx create mode 100644 src/pages/Firmware/List/Modal.tsx create mode 100644 src/pages/Firmware/List/UriCell.tsx create mode 100644 src/pages/Firmware/List/index.tsx create mode 100644 src/pages/Firmware/index.tsx delete mode 100644 src/pages/FirmwareListPage/Table.js delete mode 100644 src/pages/FirmwareListPage/index.js create mode 100644 src/pages/LoginPage/ChangePasswordForm.tsx create mode 100644 src/pages/LoginPage/ForgotPasswordForm.tsx create mode 100644 src/pages/LoginPage/LoginForm.tsx create mode 100644 src/pages/LoginPage/MfaForm.tsx delete mode 100644 src/pages/LoginPage/index.js create mode 100644 src/pages/LoginPage/index.tsx create mode 100644 src/pages/NotFound/index.tsx create mode 100644 src/pages/Profile/AvatarModal.tsx create mode 100644 src/pages/Profile/GeneralInformation.tsx create mode 100644 src/pages/Profile/Layout.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/ActivateEmailMfaButton.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/ActivateGoogleAuthenticatorButton.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/ActivateSmsAuthButton.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/AddPhoneNumberModal/ValidatePhoneNumberIntro.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/AddPhoneNumberModal/ValidatePhoneNumberSuccess.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/AddPhoneNumberModal/ValidatePhoneNumberTests.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/AddPhoneNumberModal/index.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/DeactivateMfaButton.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/GoogleAuthenticatorModal/GoogleAuthenticatorActivationSuccess.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/GoogleAuthenticatorModal/GoogleAuthenticatorIntro.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/GoogleAuthenticatorModal/GoogleAuthenticatorQrDisplay.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/GoogleAuthenticatorModal/GoogleAuthenticatorTests.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/GoogleAuthenticatorModal/index.tsx create mode 100644 src/pages/Profile/MultiFactorAuth/index.tsx create mode 100644 src/pages/Profile/Notes.tsx create mode 100644 src/pages/Profile/Summary.tsx create mode 100644 src/pages/Profile/index.tsx delete mode 100644 src/pages/ProfilePage/index.js delete mode 100644 src/pages/SystemPage/ApiStatusCard/index.js create mode 100644 src/pages/SystemPage/SystemTile/SystemCertificatesTable.tsx create mode 100644 src/pages/SystemPage/SystemTile/index.tsx delete mode 100644 src/pages/SystemPage/index.js create mode 100644 src/pages/SystemPage/index.tsx delete mode 100644 src/pages/UserListPage/index.js create mode 100644 src/pages/UsersPage/Table/ActionsDropdown.tsx create mode 100644 src/pages/UsersPage/Table/CreateUserModal/Form.jsx create mode 100644 src/pages/UsersPage/Table/CreateUserModal/index.jsx create mode 100644 src/pages/UsersPage/Table/EditUserModal/Form.jsx create mode 100644 src/pages/UsersPage/Table/EditUserModal/index.jsx create mode 100644 src/pages/UsersPage/Table/UserActions.jsx create mode 100644 src/pages/UsersPage/Table/index.jsx create mode 100644 src/pages/UsersPage/index.tsx delete mode 100644 src/router/index.js create mode 100644 src/router/index.tsx create mode 100644 src/router/routes.tsx delete mode 100644 src/routes.js delete mode 100644 src/scss/_custom.scss delete mode 100644 src/scss/_fixes.scss delete mode 100644 src/scss/_variables.scss delete mode 100644 src/scss/style.scss create mode 100644 src/theme/additions/card/Card.ts create mode 100644 src/theme/additions/card/CardBody.ts create mode 100644 src/theme/additions/card/CardHeader.ts create mode 100644 src/theme/additions/layout/MainPanel.ts create mode 100644 src/theme/additions/layout/PanelContainer.ts create mode 100644 src/theme/additions/layout/PanelContent.ts create mode 100644 src/theme/components/alert.ts create mode 100644 src/theme/components/badge.ts create mode 100644 src/theme/components/button.ts create mode 100644 src/theme/components/drawer.ts create mode 100644 src/theme/components/index.ts create mode 100644 src/theme/foundations/breakpoints.ts create mode 100644 src/theme/foundations/fonts.ts create mode 100644 src/theme/foundations/text.ts create mode 100644 src/theme/styles.ts create mode 100644 src/theme/theme.ts delete mode 100644 src/utils/axiosInstance.js delete mode 100644 src/utils/eventBus.js delete mode 100644 src/utils/helper.js delete mode 100644 src/utils/localStorageHelper.js create mode 100644 tsconfig.json create mode 100644 vite.config.ts diff --git a/.env b/.env new file mode 100644 index 0000000..dbd8145 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +VITE_UCENTRALSEC_URL="https://ucentral.dpaas.arilia.com:16001" diff --git a/.eslintignore b/.eslintignore index 3ccbdbc..eb015dc 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,10 @@ /src/assets /build /node_modules +/dist +/icons +helm +docker-entrypoint.d +.dockerignore +DockerFile .github diff --git a/.eslintrc b/.eslintrc index aa6c62c..85105b6 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,22 +1,79 @@ { - "extends": ["airbnb", "prettier"], - "plugins": ["prettier"], "env": { - "browser": true, - "jest": true + "browser": true, + "es2021": true }, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaFeatures": { + "jsx": true + }, + "ecmaVersion": 12, + "sourceType": "module", + "allowImportExportEverywhere": false, + "codeFrame": false, + "project": "./tsconfig.json" + }, + "ignorePatterns": ["build/", "dist/"], + "plugins": ["import", "react", "@typescript-eslint", "prettier"], + "extends": [ + "plugin:react/recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "airbnb", + "airbnb-typescript", + "prettier", + "plugin:import/errors", + "plugin:import/warnings", + "plugin:import/typescript" + ], "rules": { - "max-len": ["error", {"code": 150}], - "prefer-promise-reject-errors": ["off"], - "react/jsx-filename-extension": ["off"], - "react/prop-types": ["warn"], - "no-return-assign": ["off"], - "react/jsx-props-no-spreading": ["off"], - "react/destructuring-assignment": ["off"], + "import/extensions": [ + "error", + "ignorePackages", + { + "js": "never", + "jsx": "never", + "ts": "never", + "tsx": "never" + } + ], + "@typescript-eslint/naming-convention": [ + "error", + { + "selector": "function", + "format": ["PascalCase", "camelCase"], + "leadingUnderscore": "allowSingleOrDouble" + } + ], "no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"], - "react/jsx-one-expression-per-line": "off", - "react/jsx-wrap-multilines": "off", - "react/jsx-curly-newline": "off" + "react/function-component-definition": [2, { "namedComponents": "arrow-function" }], + "import/order": [ + "error", + { + "alphabetize": { + "order": "asc", + "caseInsensitive": true + }, + "newlines-between": "never", + "groups": ["builtin", "external", "parent", "sibling", "index"], + "pathGroups": [ + { + "pattern": "react", + "group": "external", + "position": "before" + } + ], + "pathGroupsExcludedImportTypes": ["builtin"] + } + ], + "max-len": ["error", { "code": 150 }], + "@typescript-eslint/ban-ts-comment": ["off"], + "react/prop-types": ["warn"], + "react/require-default-props": "off", + "react/jsx-props-no-spreading": ["off"], + "react/jsx-curly-newline": "off", + "no-underscore-dangle": "off" }, "settings": { "import/resolver": { @@ -24,11 +81,5 @@ "paths": ["src"] } } - }, - "parser": "babel-eslint", - "parserOptions": { - "sourceType": "module", - "allowImportExportEverywhere": false, - "codeFrame": false - } + } } diff --git a/.gitignore b/.gitignore index 287ce4c..3dd3594 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,8 @@ - - # dependencies /node_modules /.pnp .pnp.js +/dev-dist # testing /coverage @@ -19,5 +18,3 @@ .env.production.local npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/.prettierignore b/.prettierignore index ca76b5c..9020bbc 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,5 @@ /src/assets build +dist node_modules .github diff --git a/.prettierrc b/.prettierrc index 82fb597..4759215 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,7 +1,7 @@ -{ - "printWidth": 100, - "trailingComma": "all", - "tabWidth": 2, - "semi": true, - "singleQuote": true -} \ No newline at end of file +{ + "printWidth": 120, + "trailingComma": "all", + "tabWidth": 2, + "semi": true, + "singleQuote": true +} diff --git a/babel.config.json b/babel.config.json deleted file mode 100644 index 94ad826..0000000 --- a/babel.config.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "presets": [ - [ - "@babel/preset-env", - { - "modules": false - } - ], - "@babel/preset-react" - ], - "env": { - "production": { - "plugins": [ - "@babel/plugin-transform-react-inline-elements", - "@babel/plugin-transform-react-constant-elements", - [ - "transform-react-remove-prop-types", - { - "removeImport": true - } - ] - ] - } - } -} diff --git a/config/paths.js b/config/paths.js deleted file mode 100644 index db576d9..0000000 --- a/config/paths.js +++ /dev/null @@ -1,12 +0,0 @@ -const path = require('path'); - -module.exports = { - // Source files - src: path.resolve(__dirname, '../src'), - - // Production build files - build: path.resolve(__dirname, '../build'), - - // Static files that get copied to build folder - public: path.resolve(__dirname, '../public'), -}; diff --git a/config/webpack.common.js b/config/webpack.common.js deleted file mode 100644 index 6598e6a..0000000 --- a/config/webpack.common.js +++ /dev/null @@ -1,79 +0,0 @@ -/* eslint-disable import/no-extraneous-dependencies */ -/* eslint-disable prefer-template */ -const { CleanWebpackPlugin } = require('clean-webpack-plugin'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const webpack = require('webpack'); -const path = require('path'); -const paths = require('./paths'); - -module.exports = { - entry: [paths.src + '/index.js'], - output: { - path: paths.build, - filename: '[name].bundle.js', - publicPath: '/', - }, - resolve: { - modules: [path.resolve('./node_modules'), path.resolve('./src')], - preferRelative: true, - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env.VERSION': JSON.stringify(process.env.npm_package_version), - }), - new MiniCssExtractPlugin({ - filename: 'styles/[name].[contenthash].css', - chunkFilename: '[id].[contenthash].css', - }), - new CopyWebpackPlugin({ - patterns: [ - { - from: paths.src + '/assets', - to: 'assets', - globOptions: { - ignore: ['*.DS_Store'], - }, - }, - { - from: paths.public + '/locales', - to: 'locales', - globOptions: { - ignore: ['*.DS_Store'], - }, - }, - { - from: paths.public + '/config.json', - to: 'config.json', - }, - ], - }), - new HtmlWebpackPlugin({ - title: 'uCentralGW', - favicon: paths.public + '/favicon.ico', - template: paths.public + '/index.html', - filename: 'index.html', - }), - new CleanWebpackPlugin(), - ], - - module: { - rules: [ - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - use: ['babel-loader'], - }, - { - test: /\.(css|scss)$/, - use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'], - }, - { - test: /\.svg$/, - use: ['@svgr/webpack'], - }, - { test: /\.(?:ico|gif|png|jpg|jpeg)$/i, type: 'asset/resource' }, - ], - }, -}; diff --git a/config/webpack.dev.js b/config/webpack.dev.js deleted file mode 100644 index b1b0417..0000000 --- a/config/webpack.dev.js +++ /dev/null @@ -1,54 +0,0 @@ -/* eslint-disable import/no-extraneous-dependencies */ -/* eslint-disable prefer-template */ -const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin'); -const { merge } = require('webpack-merge'); -const path = require('path'); -const paths = require('./paths'); -const common = require('./webpack.common'); - -module.exports = merge(common, { - mode: 'development', - - target: 'web', - - devtool: 'inline-source-map', - - devServer: { - historyApiFallback: true, - contentBase: paths.build, - open: true, - compress: false, - hot: true, - port: 3000, - }, - module: { - rules: [ - { - test: /\.[js]sx?$/, - exclude: /node_modules/, - use: [ - { - loader: require.resolve('babel-loader'), - options: { - plugins: [require.resolve('react-refresh/babel')], - }, - }, - ], - }, - ], - }, - resolve: { - modules: [ - 'node_modules', - 'src', - path.resolve(__dirname, '../', 'node_modules', 'ucentral-libs', 'src'), - ], - alias: { - react: path.resolve(__dirname, '../', 'node_modules', 'react'), - 'react-router-dom': path.resolve('./node_modules/react-router-dom'), - 'ucentral-libs': path.resolve(__dirname, '../', 'node_modules', 'ucentral-libs', 'src'), - graphlib: path.resolve(__dirname, '../', 'node_modules', 'graphlib'), - }, - }, - plugins: [new ReactRefreshWebpackPlugin()], -}); diff --git a/config/webpack.prod.js b/config/webpack.prod.js deleted file mode 100644 index c83396a..0000000 --- a/config/webpack.prod.js +++ /dev/null @@ -1,86 +0,0 @@ -/* eslint-disable import/no-extraneous-dependencies */ -/* eslint-disable prefer-template */ -const { merge } = require('webpack-merge'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); -const TerserPlugin = require('terser-webpack-plugin'); -const CompressionPlugin = require('compression-webpack-plugin'); -const path = require('path'); -const paths = require('./paths'); -const common = require('./webpack.common'); - -module.exports = merge(common, { - mode: 'production', - devtool: false, - output: { - path: paths.build, - publicPath: '/', - filename: 'js/[name].[contenthash].bundle.js', - }, - plugins: [ - // new BundleAnalyzerPlugin(), - new MiniCssExtractPlugin({ - filename: 'styles/[name].[contenthash].css', - chunkFilename: '[contenthash].css', - }), - new CompressionPlugin({ - filename: '[path]/[name].gz[query]', - algorithm: 'gzip', - test: /\.js$|\.css$|\.html$|\.eot?.+$|\.ttf?.+$|\.woff?.+$|\.svg?.+$/, - threshold: 10240, - minRatio: 0.8, - }), - ], - module: { - rules: [], - }, - optimization: { - minimize: true, - minimizer: [ - '...', - new TerserPlugin({ - terserOptions: { - warnings: false, - compress: { - comparisons: false, - }, - parse: {}, - mangle: true, - output: { - ascii_only: true, - }, - }, - parallel: true, - }), - new CssMinimizerPlugin(), - ], - nodeEnv: 'production', - sideEffects: true, - runtimeChunk: 'single', - splitChunks: { - chunks: 'all', - maxInitialRequests: 10, - minSize: 0, - cacheGroups: { - vendor: { - test: /[\\/]node_modules[\\/]/, - name(module) { - const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1]; - return `npm.${packageName.replace('@', '')}`; - }, - }, - }, - }, - }, - resolve: { - modules: [], - alias: { - graphlib: path.resolve(__dirname, '../', 'node_modules', 'graphlib'), - }, - }, - performance: { - hints: false, - maxEntrypointSize: 512000, - maxAssetSize: 512000, - }, -}); diff --git a/index.html b/index.html new file mode 100644 index 0000000..3b0c404 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + + Controller + + + + + + + + + + +
+ + + diff --git a/jsconfig.json b/jsconfig.json deleted file mode 100644 index e509a88..0000000 --- a/jsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": "src", - "paths": { - "*": ["*"] - } - }, - "include": ["src"] -} diff --git a/package-lock.json b/package-lock.json index cbf71ee..518bd94 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,130 +1,134 @@ { "name": "ucentral-client", - "version": "2.7.0(9)", + "version": "2.8.0(0)", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ucentral-client", - "version": "2.7.0(9)", + "version": "2.8.0(0)", + "license": "ISC", "dependencies": { - "@coreui/coreui": "^3.4.0", - "@coreui/icons": "^2.0.1", - "@coreui/icons-react": "^1.1.0", - "@coreui/react": "^3.4.6", - "@coreui/react-chartjs": "^1.1.0", - "apexcharts": "^3.27.1", - "axios": "^0.21.1", - "axios-retry": "^3.1.9", + "@chakra-ui/icons": "^2.0.11", + "@chakra-ui/react": "^2.3.6", + "@chakra-ui/theme-tools": "^2.0.12", + "@chakra-ui/utils": "^2.0.11", + "@emotion/react": "^11.10.4", + "@emotion/styled": "^11.10.4", + "@fontsource/inter": "^4.5.14", + "@react-spring/web": "^9.5.5", + "@textea/json-viewer": "^2.10.0", + "axios": "^1.1.3", "buffer": "^6.0.3", + "chakra-react-select": "^4.3.0", + "chart.js": "^3.9.1", "dagre": "^0.8.5", - "i18next": "^20.3.1", - "i18next-browser-languagedetector": "^6.1.2", - "i18next-http-backend": "^1.2.6", - "prop-types": "^15.7.2", - "react": "^17.0.2", - "react-apexcharts": "^1.3.9", + "formik": "^2.2.9", + "framer-motion": "^7.6.1", + "i18next": "^22.0.0", + "i18next-browser-languagedetector": "^6.1.8", + "i18next-http-backend": "^1.4.4", + "libphonenumber-js": "^1.10.14", + "phosphor-react": "^1.4.1", + "prop-types": "^15.8.1", + "react": "^18.2.0", + "react-app-polyfill": "^3.0.0", + "react-chartjs-2": "^4.3.1", "react-country-flag": "^3.0.2", "react-csv": "^2.2.2", - "react-dom": "^17.0.2", - "react-flow-renderer": "^9.6.6", - "react-i18next": "^11.11.0", - "react-paginate": "^7.1.3", - "react-router-dom": "^5.2.0", - "react-select": "^4.3.1", - "react-tooltip": "^4.2.21", - "react-widgets": "^5.1.1", - "sass": "^1.35.1", - "ucentral-libs": "^1.0.61", - "uuid": "^8.3.2" + "react-datepicker": "^4.8.0", + "react-dom": "^18.2.0", + "react-fast-compare": "^3.2.0", + "react-i18next": "^11.18.6", + "react-masonry-css": "^1.0.16", + "react-query": "^3.39.2", + "react-router-dom": "^6.4.2", + "react-table": "^7.8.0", + "source-map-explorer": "^2.5.3", + "typescript": "^4.8.4", + "uuid": "^9.0.0", + "vite": "^3.1.8", + "yup": "^0.32.11", + "zustand": "^4.1.2" }, "devDependencies": { - "@babel/core": "^7.14.6", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-transform-runtime": "^7.14.5", - "@babel/polyfill": "^7.12.1", - "@babel/preset-env": "^7.14.7", - "@babel/preset-react": "^7.14.5", - "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", - "@svgr/webpack": "^5.5.0", - "autoprefixer": "^10.2.6", - "babel-eslint": "^10.1.0", - "babel-loader": "^8.2.2", - "clean-webpack-plugin": "^3.0.0", - "compression-webpack-plugin": "^8.0.1", - "copy-webpack-plugin": "^7.0.0", - "css-loader": "^5.2.6", - "css-minimizer-webpack-plugin": "^2.0.0", - "dotenv-webpack": "^6.0.4", - "eslint": "^7.29.0", - "eslint-config-airbnb": "^18.2.1", - "eslint-config-prettier": "^7.2.0", + "@types/node": "^18.11.2", + "@types/react": "^18.0.21", + "@types/react-csv": "^1.1.3", + "@types/react-dom": "^18.0.6", + "@types/react-table": "^7.7.12", + "@types/uuid": "^8.3.4", + "@vitejs/plugin-react": "^2.1.0", + "eslint": "8.25.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-typescript": "^17.0.0", + "eslint-config-airbnb-typescript-prettier": "^5.0.0", + "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-alias": "^1.1.2", - "eslint-loader": "^4.0.2", "eslint-plugin-babel": "^5.3.1", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-prettier": "^3.4.0", - "eslint-plugin-react": "^7.24.0", - "eslint-plugin-react-hooks": "^4.2.0", - "html-webpack-plugin": "^5.3.2", - "husky": "^4.3.8", - "lint-staged": "^11.0.0", - "mini-css-extract-plugin": "^1.6.1", - "path": "^0.12.7", - "prettier": "^2.3.2", - "react-refresh": "^0.9.0", - "sass-loader": "^11.1.1", - "style-loader": "^2.0.0", - "terser-webpack-plugin": "^5.1.4", - "webpack": "^5.40.0", - "webpack-bundle-analyzer": "^4.4.2", - "webpack-cli": "^4.9.1", - "webpack-dev-server": "^3.11.2", - "webpack-merge": "^5.8.0" + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.6.1", + "eslint-plugin-no-inline-styles": "^1.0.5", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.31.10", + "eslint-plugin-react-hooks": "^4.6.0", + "lint-staged": "^13.0.3", + "prettier": "^2.7.1", + "vite-plugin-pwa": "^0.13.1", + "vite-tsconfig-paths": "^3.5.1" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", - "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", + "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz", - "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==", - "devOptional": true, + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.10", - "@babel/types": "^7.16.8", + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "json5": "^2.2.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -135,53 +139,64 @@ } }, "node_modules/@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", - "devOptional": true, + "version": "7.19.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", + "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", "dependencies": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.19.4", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", - "devOptional": true, + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", "semver": "^6.3.0" }, "engines": { @@ -192,18 +207,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz", - "integrity": "sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -213,13 +228,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", - "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^4.7.1" + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" }, "engines": { "node": ">=6.9.0" @@ -229,15 +244,13 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", @@ -248,251 +261,235 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "devOptional": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "devOptional": true, + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "devOptional": true, - "dependencies": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", - "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", - "devOptional": true, + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "dev": true, + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", + "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.19.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.18.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "devOptional": true, + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", - "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", + "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.4", + "@babel/types": "^7.19.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -501,10 +498,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.10.tgz", - "integrity": "sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", + "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -513,12 +509,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -528,14 +524,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -545,13 +541,14 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -562,13 +559,13 @@ } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -578,13 +575,13 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", - "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -595,12 +592,12 @@ } }, "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", - "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -611,12 +608,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -627,12 +624,12 @@ } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -643,12 +640,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -659,12 +656,12 @@ } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -675,12 +672,12 @@ } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", - "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -691,16 +688,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", - "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", + "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.19.4", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" + "@babel/plugin-transform-parameters": "^7.18.8" }, "engines": { "node": ">=6.9.0" @@ -710,12 +707,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -726,13 +723,13 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -743,13 +740,13 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", - "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.10", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -759,14 +756,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -777,13 +774,13 @@ } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=4" @@ -855,6 +852,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -868,12 +880,11 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", - "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", - "dev": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -985,12 +996,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1000,14 +1011,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1017,12 +1028,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1032,12 +1043,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", + "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1047,18 +1058,19 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" }, "engines": { @@ -1069,12 +1081,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1084,12 +1096,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", - "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", + "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1099,13 +1111,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1115,12 +1127,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1130,13 +1142,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1146,12 +1158,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1161,14 +1173,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1178,12 +1190,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1193,12 +1205,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1208,13 +1220,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1225,14 +1237,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", - "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1243,15 +1255,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1262,13 +1274,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1278,12 +1290,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1293,12 +1306,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1308,13 +1321,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1324,12 +1337,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1339,42 +1352,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.7.tgz", - "integrity": "sha512-lF+cfsyTgwWkcw715J88JhMYJ5GpysYNLhLP1PkvkhTRN7B3e74R/1KsDxFxhRpSn0UUD3IWM4GvdBR2PEbbQQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", - "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1384,16 +1367,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz", - "integrity": "sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-jsx": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1403,12 +1386,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz", - "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", "dev": true, "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.16.7" + "@babel/plugin-transform-react-jsx": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1417,14 +1400,28 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz", - "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==", + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", + "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz", + "integrity": "sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1434,12 +1431,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", "dev": true, "dependencies": { - "regenerator-transform": "^0.14.2" + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" }, "engines": { "node": ">=6.9.0" @@ -1449,32 +1447,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", - "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "semver": "^6.3.0" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1484,12 +1462,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1499,13 +1477,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1515,12 +1493,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1530,12 +1508,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1545,12 +1523,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1560,12 +1538,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1575,13 +1553,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1590,49 +1568,39 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/polyfill": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", - "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", - "deprecated": "🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.", - "dev": true, - "dependencies": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.4" - } - }, "node_modules/@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", + "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/compat-data": "^7.19.4", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.19.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.18.6", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1642,44 +1610,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.19.4", + "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.19.4", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "@babel/types": "^7.19.4", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" }, "engines": { @@ -1705,30 +1673,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-react": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz", - "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-react-display-name": "^7.16.7", - "@babel/plugin-transform-react-jsx": "^7.16.7", - "@babel/plugin-transform-react-jsx-development": "^7.16.7", - "@babel/plugin-transform-react-pure-annotations": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -1737,13 +1685,12 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz", - "integrity": "sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz", + "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==", "dev": true, - "peer": true, "dependencies": { - "core-js-pure": "^3.20.2", + "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.4" }, "engines": { @@ -1751,33 +1698,31 @@ } }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "devOptional": true, + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz", - "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", + "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/types": "^7.16.8", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.4", + "@babel/types": "^7.19.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1786,175 +1731,1184 @@ } }, "node_modules/@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", + "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@coreui/chartjs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@coreui/chartjs/-/chartjs-2.0.0.tgz", - "integrity": "sha512-degpSo1MqSWomkNwuXk2VQijEENqkaufEGI/i6/3ClVQNZQIWB5NG6QWA/aCTXt9Y/3tVfnuTzDC4YHw7E+Brg==", + "node_modules/@chakra-ui/accordion": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.2.tgz", + "integrity": "sha512-Jf7A6I0eIGk34zO5TiTW8orJOFQb5A/D1ekNYbaukNccoUPKJg/xdQ/b00oIR6LT93nJxggkoP/vszfmmTHuFg==", "dependencies": { - "@coreui/coreui": "^3.0.0-beta.1", - "chart.js": "^2.8.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@coreui/coreui": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@coreui/coreui/-/coreui-3.4.0.tgz", - "integrity": "sha512-WqzockdWVkXUNmNwlqdu+AxM+9JoiWGe4rKaySu/dZme1NvVOn2ukjJlpTkssal8UKcSHyitzNixtkMCmUxE1A==", - "engines": { - "node": ">= 10", - "npm": ">= 5" + "@chakra-ui/descendant": "3.0.10", + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/transition": "2.0.11" }, "peerDependencies": { - "@popperjs/core": "^2.5.4", - "perfect-scrollbar": "^1.5.0" + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" } }, - "node_modules/@coreui/icons": { + "node_modules/@chakra-ui/alert": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.0.11.tgz", + "integrity": "sha512-n40KHU3j1H6EbIdgptjEad92V7Fpv7YD++ZBjy2g1h4w9ay9nw4kGHib3gaIkBupLf52CfLqySEc8w0taoIlXQ==", + "dependencies": { + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/spinner": "2.0.10" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/anatomy": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.0.7.tgz", + "integrity": "sha512-vzcB2gcsGCxhrKbldQQV6LnBPys4eSSsH2UA2mLsT+J3WlXw0aodZw0eE/nH7yLxe4zaQ4Gnc0KjkFW4EWNKSg==" + }, + "node_modules/@chakra-ui/avatar": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.2.0.tgz", + "integrity": "sha512-mpAkfr/JG+BNBw2WvU55CSRFYKeFBUyAQAu3YulznLzi2U3e7k3IA0J8ofbrDYlSH/9KqkDuuSrxqGZgct+Nug==", + "dependencies": { + "@chakra-ui/image": "2.0.11", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/breadcrumb": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@coreui/icons/-/icons-2.1.0.tgz", - "integrity": "sha512-3yY9J0088TSY403jwJeP5YERH3RLOvxdhOa4VIQsGOX4fuQZiyVUM+vwlzyCSpgAv9NwKPkCor+gc+JJaYf0TA==" - }, - "node_modules/@coreui/icons-react": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@coreui/icons-react/-/icons-react-1.1.0.tgz", - "integrity": "sha512-OXDg09RsxlK5t6WizudsJUxgzJSAHeytwVG1hqn2ww5zIrJn5++5rNTp95N/kff4/er4f7jspwJ1/7n6mQAz2Q==", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.1.0.tgz", + "integrity": "sha512-khBR579SLDEo6Wuo3tETRY6m0yJD/WCvSR7Res2g1B6OJgc9OQGM7yIMu4OdLUTwfXsCnlHTDoSQPUxFOVAMIQ==", "dependencies": { - "classnames": "^2.2.6", - "prop-types": "^15.7.2" + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4" }, "peerDependencies": { - "react": "^17.0.1" + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" } }, - "node_modules/@coreui/react": { - "version": "3.4.6", - "resolved": "https://registry.npmjs.org/@coreui/react/-/react-3.4.6.tgz", - "integrity": "sha512-qu9/2kDNb24jXMaoGolOM5Jp9+wdweVWPJFixnAOMCobhUt0TNHa9yJakCfr7mopMV8teYvWBjBhl5I2er1/xw==", - "hasInstallScript": true, + "node_modules/@chakra-ui/breakpoint-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.4.tgz", + "integrity": "sha512-SUUEYnA/FCIKYDHMuEXcnBMwet+6RAAjQ+CqGD1hlwKPTfh7EK9fS8FoVAJa9KpRKAc/AawzPkgwvorzPj8NSg==" + }, + "node_modules/@chakra-ui/button": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.0.11.tgz", + "integrity": "sha512-J6iMRITqxTxa0JexHUY9c7BXUrTZtSkl3jZ2hxiFybB4MQL8J2wZ24O846B6M+WTYqy7XVuHRuVURnH4czWesw==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@coreui/icons": "^2.0.0-rc.0", - "@coreui/icons-react": "^1.1.0", - "@coreui/utils": "~1.3.1", - "@popperjs/core": "^2.9.1", - "classnames": "~2.2.6", - "core-js": "^3.9.1", - "perfect-scrollbar": "~1.5.0", - "prop-types": "~15.7.2", - "react-transition-group": "~4.4.1", - "tippy.js": "^6.3.1" + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/spinner": "2.0.10" }, "peerDependencies": { - "react": "^17.0.1", - "react-dom": "^17.0.1", - "react-router-dom": "^5.2.0" + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" } }, - "node_modules/@coreui/react-chartjs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@coreui/react-chartjs/-/react-chartjs-1.1.0.tgz", - "integrity": "sha512-xa925PmaBeh+2x+AY/macovW7KOe4W+VaxNcLKndY10GFSsEjryCrY7s9QXiIUqoQJQMXMeiXMbSoTuhIJ/aEA==", + "node_modules/@chakra-ui/checkbox": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.2.2.tgz", + "integrity": "sha512-Y6Zbkkk5VNoe0RzqU6F+rKlFVPlubz1KIgYcb7CCNHGOM97dLtRm78eAvJ+7Xmpitr+7zZ4hJLLjfAz+e1X7rA==", "dependencies": { - "@coreui/chartjs": "^2.0.0", - "@types/chart.js": "^2.9.31", - "chart.js": "^2.9.4", - "classnames": "^2.2.6", - "prop-types": "^15.7.2" + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-callback-ref": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2", + "@chakra-ui/react-use-update-effect": "2.0.4", + "@chakra-ui/visually-hidden": "2.0.11", + "@zag-js/focus-visible": "0.1.0" }, "peerDependencies": { - "react": "^17.0.1" + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" } }, - "node_modules/@coreui/react/node_modules/classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "node_modules/@coreui/react/node_modules/core-js": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", - "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@coreui/react/node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "node_modules/@chakra-ui/clickable": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.0.10.tgz", + "integrity": "sha512-G6JdR6yAMlXpfjOJ70W2FL7aUwNuomiMFtkneeTpk7Q42bJ5iGHfYlbZEx5nJd8iB+UluXVM4xlhMv2MyytjGw==", "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "@chakra-ui/react-use-merge-refs": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" } }, - "node_modules/@coreui/utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@coreui/utils/-/utils-1.3.1.tgz", - "integrity": "sha512-WuWHX7bg89cJH34TWVsLe9RsxzBhTApj+X2Ja19xhjcpxt5Gv11Ozm+fwYt6DD7DgncTvpwYrMcnNlpp701UOg==", + "node_modules/@chakra-ui/close-button": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.0.11.tgz", + "integrity": "sha512-9WF/nwwK9BldS89WQ5PtXK2nFS4r8QOgKls2BOwXfE+rGmOUZtOsu8ne/drXRjgkiBRETR6CxdyUjm7EPzXllw==", + "dependencies": { + "@chakra-ui/icon": "3.0.11" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/color-mode": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.1.9.tgz", + "integrity": "sha512-0kx0I+AQon8oS23/X+qMtnhsv/1BUulyJvU56p3Uh8CRaBfgJ7Ly9CerShoUL+5kadu6hN1M9oty4cugaCwv2w==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.0.2" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/control-box": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.0.10.tgz", + "integrity": "sha512-sHmZanFLEv4IDATl19ZTxq8Bi8PtjfvnsN6xF4k7JGSYUnk1YXUf1coyW7WKdcsczOASrMikfsLc3iEVAzx4Ng==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/counter": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.0.10.tgz", + "integrity": "sha512-MZK8UKUZp4nFMd+GlV/cq0NIARS7UdlubTuCx+wockw9j2JI5OHzsyK0XiWuJiq5psegSTzpbtT99QfAUm3Yiw==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.4", + "@chakra-ui/react-use-callback-ref": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/css-reset": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.0.8.tgz", + "integrity": "sha512-VuDD1rk1pFc+dItk4yUcstyoC9D2B35hatHDBtlPMqTczFAzpbgVJJYgEHANatXGfulM5SdckmYEIJ3Tac1Rtg==", + "peerDependencies": { + "@emotion/react": ">=10.0.35", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/descendant": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.10.tgz", + "integrity": "sha512-MHH0Qdm0fGllGP2xgx4WOycmrpctyyEdGw6zxcfs2VqZNlrwmjG3Yb9eVY+Q7UmEv5rwAq6qRn7BhQxgSPn3Cg==", + "dependencies": { + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-merge-refs": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/dom-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.0.3.tgz", + "integrity": "sha512-aeGlRmTxcv0cvW44DyeZHru1i68ZDQsXpfX2dnG1I1yBlT6GlVx1xYjCULis9mjhgvd2O3NfcYPRTkjNWTDUbA==" + }, + "node_modules/@chakra-ui/editable": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-2.0.13.tgz", + "integrity": "sha512-GM3n8t3/TOFFcDOWF/tuKsnqn66isZLsU+FkMRY2o0E8XjLBGjCKuXInPW5SRBqhje7EHC+kwViLE780PfwXbw==", + "dependencies": { + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-callback-ref": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-focus-on-pointer-down": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2", + "@chakra-ui/react-use-update-effect": "2.0.4", + "@chakra-ui/shared-utils": "2.0.2" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/event-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.5.tgz", + "integrity": "sha512-VXoOAIsM0PFKDlhm+EZxkWlUXd5UFTb/LTux3y3A+S9G5fDxLRvpiLWByPUgTFTCDFcgTCF+YnQtdWJB4DLyxg==" + }, + "node_modules/@chakra-ui/focus-lock": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.0.12.tgz", + "integrity": "sha512-NvIP59A11ZNbxXZ3qwxSiQ5npjABkpSbTIjK0uZ9bZm5LMfepRnuuA19VsVlq31/BYV9nHFAy6xzIuG+Qf9xMA==", + "dependencies": { + "@chakra-ui/dom-utils": "2.0.3", + "react-focus-lock": "^2.9.1" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/form-control": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.0.11.tgz", + "integrity": "sha512-MVhIe0xY4Zn06IXRXFmS9tCa93snppK1SdUQb1P99Ipo424RrL5ykzLnJ8CAkQrhoVP3sxF7z3eOSzk8/iRfow==", + "dependencies": { + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/hooks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.1.0.tgz", + "integrity": "sha512-4H6BDITq/YrStW99LXurgPkcz4qHSVy9V/QWXCvt1pCuiDTqNztiW4r508H3ApAOsL9NEbyXcM/zWYD7r5VDjA==", + "dependencies": { + "@chakra-ui/react-utils": "2.0.8", + "@chakra-ui/utils": "2.0.11", + "compute-scroll-into-view": "1.0.14", + "copy-to-clipboard": "3.3.1" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/icon": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.0.11.tgz", + "integrity": "sha512-RG4jf/XmBdaxOYI5J5QstEtTCPoVlmrQ/XiWhvN0LTgAnmZIqVwFl3Uw+satArdStHAs0GmJZg/E/soFTWuFmw==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.2" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/icons": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/icons/-/icons-2.0.11.tgz", + "integrity": "sha512-WjxrFMt9hHpuZlnBh4fhtGOkIVlwYwHNmwq4sJGxYWlg8UnEhVJMoOojheJDy/d3Gp9+ApetlK3vt8fV/rZamg==", + "dependencies": { + "@chakra-ui/icon": "3.0.11" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/image": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.0.11.tgz", + "integrity": "sha512-S6NqAprPcbHnck/J+2wg06r9SSol62v5A01O8Kke2PnAyjalMcS+6P59lDRO7wvPqsdxq4PPbSTZP6Dww2CvcA==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.0.2" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/input": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.0.12.tgz", + "integrity": "sha512-lJ5necu+Wt698HdCTC7L/ErA2nNVJAra7+knPe0qMR+AizGEL7LKCV/bdQe7eggjvKsDGD4alJIEczUvm3JVUQ==", + "dependencies": { + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/object-utils": "2.0.4", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/shared-utils": "2.0.2" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/layout": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.1.9.tgz", + "integrity": "sha512-ztsavtirtdtjxdqIkGR6fVcrffHp6hs1twRFO/dK14FGXrX3Nn9mi3J1fr1ITBHJq6y5B3yFEj0LHN2fO8dYyw==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.4", + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/object-utils": "2.0.4", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/shared-utils": "2.0.2" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/lazy-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.2.tgz", + "integrity": "sha512-MTxutBJZvqNNqrrS0722cI7qrnGu0yUQpIebmTxYwI+F3cOnPEKf5Ni+hrA8hKcw4XJhSY4npAPPYu1zJbOV4w==" + }, + "node_modules/@chakra-ui/live-region": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.0.10.tgz", + "integrity": "sha512-eQ2ZIreR/plzi/KGszDYTi1TvIyGEBcPiWP52BQOS7xwpzb1vsoR1FgFAIELxAGJvKnMUs+9qVogfyRBX8PdOg==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/media-query": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.2.7.tgz", + "integrity": "sha512-hbgm6JCe0kYU3PAhxASYYDopFQI26cW9kZnbp+5tRL1fykkVWNMPwoGC8FEZPur9JjXp7aoL6H4Jk7nrxY/XWw==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.4", + "@chakra-ui/react-env": "2.0.10" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/menu": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.1.2.tgz", + "integrity": "sha512-6Z7ecXjp6BtZ1ExbFggfxsAj1hwtcathXekmCTxHpXOD+BdjAC/13+oLclwXeuBO85aoTmQrQ2ovfTkO31bzRQ==", + "dependencies": { + "@chakra-ui/clickable": "2.0.10", + "@chakra-ui/descendant": "3.0.10", + "@chakra-ui/lazy-utils": "2.0.2", + "@chakra-ui/popper": "3.0.8", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-animation-state": "2.0.5", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-disclosure": "2.0.5", + "@chakra-ui/react-use-focus-effect": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-outside-click": "2.0.4", + "@chakra-ui/react-use-update-effect": "2.0.4", + "@chakra-ui/transition": "2.0.11" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/modal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.2.2.tgz", + "integrity": "sha512-cCYuqLZO4QqFUI1H+uEqixDk6UiCP3yC+sxkhFTXHIApSG9Z44v5np7BVTd6LKdmAN8pAWcc8Oxf14RvD6LWLw==", + "dependencies": { + "@chakra-ui/close-button": "2.0.11", + "@chakra-ui/focus-lock": "2.0.12", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/transition": "2.0.11", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "^2.5.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/number-input": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.0.12.tgz", + "integrity": "sha512-3owLjl01sCYpTd3xbq//fJo9QJ0Q3PVYSx9JeOzlXnnTW8ws+yHPrqQzPe7G+tO4yOYynWuUT+NJ9oyCeAJIxA==", + "dependencies": { + "@chakra-ui/counter": "2.0.10", + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-callback-ref": "2.0.4", + "@chakra-ui/react-use-event-listener": "2.0.4", + "@chakra-ui/react-use-interval": "2.0.2", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2", + "@chakra-ui/react-use-update-effect": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/number-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.4.tgz", + "integrity": "sha512-MdYd29GboBoKaXY9jhbY0Wl+0NxG1t/fa32ZSIbU6VrfMsZuAMl4NEJsz7Xvhy50fummLdKn5J6HFS7o5iyIgw==" + }, + "node_modules/@chakra-ui/object-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.0.4.tgz", + "integrity": "sha512-sY98L4v2wcjpwRX8GCXqT+WzpL0i5FHVxT1Okxw0360T2tGnZt7toAwpMfIOR3dzkemP9LfXMCyBmWR5Hi2zpQ==" + }, + "node_modules/@chakra-ui/pin-input": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.0.15.tgz", + "integrity": "sha512-Ha8siSZm9gyjHHBK8ejwhKT6+75U12I/hNiYFvl2JHhc+Uh8tdi7+N+9SILO5vqbIv9kb+WGitvZ67I0cHjSfw==", + "dependencies": { + "@chakra-ui/descendant": "3.0.10", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popover": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.1.1.tgz", + "integrity": "sha512-j09NsesfT+eaYITkITYJXDlRcPoOeQUM80neJZKOBgul2iHkVsEoii8dwS5Ip5ONeu4ane1b6zEOlYvYj2SrkA==", + "dependencies": { + "@chakra-ui/close-button": "2.0.11", + "@chakra-ui/lazy-utils": "2.0.2", + "@chakra-ui/popper": "3.0.8", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-animation-state": "2.0.5", + "@chakra-ui/react-use-disclosure": "2.0.5", + "@chakra-ui/react-use-focus-effect": "2.0.5", + "@chakra-ui/react-use-focus-on-pointer-down": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popper": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.0.8.tgz", + "integrity": "sha512-246eUwuCRsLpTPxn5T8D8T9/6ODqmmz6pRRJAjGnLlUB0gNHgjisBn0UDBic5Gbxcg0sqKvxOMY3uurbW5lXTA==", + "dependencies": { + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@popperjs/core": "^2.9.3" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/portal": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.0.10.tgz", + "integrity": "sha512-VRYvVAggIuqIZ3IQ6XZ1b5ujjjOUgPk9PPdc9jssUngZa7RG+5NXNhgoM8a5TsXv6aPEolBOlDNWuxzRQ4RSSg==", + "dependencies": { + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/progress": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.0.12.tgz", + "integrity": "sha512-9qtZimZosTliI7siAZkLeCVdCpXCTxmSETCudHcCUsC+FtcFacmA65+We8qij1nOIqmsbm+NYU6PP89TU2n4Hg==", + "dependencies": { + "@chakra-ui/react-context": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/provider": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.0.20.tgz", + "integrity": "sha512-mNNfsgm05G4x1VzvHVR9+PNEiuxNnn9xUKDuEwoaO7+IHCMzCRMtPbSJjwmv0xvHUGB9+JChjPpZI5RuHQziJQ==", + "dependencies": { + "@chakra-ui/css-reset": "2.0.8", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/react-env": "2.0.10", + "@chakra-ui/system": "2.3.0", + "@chakra-ui/utils": "2.0.11" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/radio": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.0.12.tgz", + "integrity": "sha512-871hqAGQaufxyUzPP3aautPBIRZQmpi3fw5XPZ6SbY62dV61M4sjcttd46HfCf5SrAonoOADFQLMGQafznjhaA==", + "dependencies": { + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@zag-js/focus-visible": "0.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.3.6.tgz", + "integrity": "sha512-xo43UU+yMqRGHZLU4fSgzojeRl5stlIfT+GLbT9CUVEm0HMJCt2m8RsNPBvGOMzANdC+bzwSiOm+MNzQBi9IBQ==", + "dependencies": { + "@chakra-ui/accordion": "2.1.2", + "@chakra-ui/alert": "2.0.11", + "@chakra-ui/avatar": "2.2.0", + "@chakra-ui/breadcrumb": "2.1.0", + "@chakra-ui/button": "2.0.11", + "@chakra-ui/checkbox": "2.2.2", + "@chakra-ui/close-button": "2.0.11", + "@chakra-ui/control-box": "2.0.10", + "@chakra-ui/counter": "2.0.10", + "@chakra-ui/css-reset": "2.0.8", + "@chakra-ui/editable": "2.0.13", + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/hooks": "2.1.0", + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/image": "2.0.11", + "@chakra-ui/input": "2.0.12", + "@chakra-ui/layout": "2.1.9", + "@chakra-ui/live-region": "2.0.10", + "@chakra-ui/media-query": "3.2.7", + "@chakra-ui/menu": "2.1.2", + "@chakra-ui/modal": "2.2.2", + "@chakra-ui/number-input": "2.0.12", + "@chakra-ui/pin-input": "2.0.15", + "@chakra-ui/popover": "2.1.1", + "@chakra-ui/popper": "3.0.8", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/progress": "2.0.12", + "@chakra-ui/provider": "2.0.20", + "@chakra-ui/radio": "2.0.12", + "@chakra-ui/react-env": "2.0.10", + "@chakra-ui/select": "2.0.12", + "@chakra-ui/skeleton": "2.0.17", + "@chakra-ui/slider": "2.0.12", + "@chakra-ui/spinner": "2.0.10", + "@chakra-ui/stat": "2.0.11", + "@chakra-ui/styled-system": "2.3.4", + "@chakra-ui/switch": "2.0.14", + "@chakra-ui/system": "2.3.0", + "@chakra-ui/table": "2.0.11", + "@chakra-ui/tabs": "2.1.4", + "@chakra-ui/tag": "2.0.11", + "@chakra-ui/textarea": "2.0.12", + "@chakra-ui/theme": "2.1.14", + "@chakra-ui/theme-utils": "2.0.1", + "@chakra-ui/toast": "4.0.0", + "@chakra-ui/tooltip": "2.2.0", + "@chakra-ui/transition": "2.0.11", + "@chakra-ui/utils": "2.0.11", + "@chakra-ui/visually-hidden": "2.0.11" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/react-children-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.3.tgz", + "integrity": "sha512-tPQjLEEuAw/DYLRw0cNs/g8tcdhZ3r21Sr9dTAzoyvfk0vbZ24gCXRElltW2GZLiFA63mAidzhPmc+yQF3Wtgg==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-context": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.0.4.tgz", + "integrity": "sha512-eBITFkf7fLSiMZrSdhweK4fYr41WUNMEeIEOP2dCWolE7WgKxNYaYleC+iRGY0GeXkFM2KYywUtixjJe29NuVA==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-env": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-2.0.10.tgz", + "integrity": "sha512-3Yab5EbFcCGYzEsoijy4eA3354Z/JoXyk9chYIuW7Uwd+K6g/R8C0mUSAHeTmfp6Fix9kzDgerO5MWNM87b8cA==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.3.tgz", + "integrity": "sha512-1mJYOQldFTALE0Wr3j6tk/MYvgQIp6CKkJulNzZrI8QN+ox/bJOh8OVP4vhwqvfigdLTui0g0k8M9h+j2ub/Mw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-animation-state": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.5.tgz", + "integrity": "sha512-8gZIqZpMS5yTGlC+IqYoSrV13joiAYoeI0YR2t68WuDagcZ459OrjE57+gF04NLxfdV7eUgwqnpuv7IOLbJX/A==", + "dependencies": { + "@chakra-ui/dom-utils": "2.0.3", + "@chakra-ui/react-use-event-listener": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-callback-ref": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.4.tgz", + "integrity": "sha512-he7EQfwMA4mwiDDKvX7cHIJaboCqf7UD3KYHGUcIjsF4dSc2Y8X5Ze4w+hmVZoJWIe4DWUzb3ili2SUm8eTgPg==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-controllable-state": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.5.tgz", + "integrity": "sha512-JrZZpMX24CUyfDuyqDczw9Z9IMvjH8ujETHK0Zu4M0SIsX/q4EqOwwngUFL03I2gx/O38HfSdeX8hMu4zbTAGA==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-disclosure": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.5.tgz", + "integrity": "sha512-kPLB9oxImASRhAbKfvfc03/lbAJbsXndEVRzd+nvvL+QZm2RRfnel3k6OIkWvGFOXXYOPE2+slLe8ZPwbTGg9g==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-event-listener": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.4.tgz", + "integrity": "sha512-VqmalfKWMO8D21XuZO19WUtcP5xhbHXKzkggApTChZUN02UC5TC4pe0pYbDygoeUuNBhY+9lJKHeS08vYsljRg==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-effect": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.5.tgz", + "integrity": "sha512-sbe1QnsXXfjukM+laxbKnT0UnMpHe/7kTzEPG/BYM6/ZDUUmrC1Nz+8l+3H/52iWIaruikDBdif/Xd37Yvu3Kg==", + "dependencies": { + "@chakra-ui/dom-utils": "2.0.3", + "@chakra-ui/react-use-event-listener": "2.0.4", + "@chakra-ui/react-use-update-effect": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-on-pointer-down": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.3.tgz", + "integrity": "sha512-8cKmpv26JnblexNaekWxEDI7M+MZnJcp1PJUz6lByjfQ1m4YjFr1cdbdhG4moaqzzYs7vTmO/qL8KVq8ZLUwyQ==", + "dependencies": { + "@chakra-ui/react-use-event-listener": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-interval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.0.2.tgz", + "integrity": "sha512-5U1c0pEB5n0Yri0E4RdFXWx2RVBZBBhD8Uu49dM33jkIguCbIPmZ+YgVry5DDzCHyz4RgDg4yZKOPK0PI8lEUg==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-latest-ref": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.2.tgz", + "integrity": "sha512-Ra/NMV+DSQ3n0AdKsyIqdgnFzls5UntabtIRfDXLrqmJ4tI0a1tDdop2qop0Ue87AcqD9P1KtQue4KPx7wCElw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-merge-refs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.4.tgz", + "integrity": "sha512-aoWvtE5tDQNaLCiNUI6WV+MA2zVcCLR5mHSCISmowlTXyXOqOU5Fo9ZoUftzrmgCJpDu5x1jfUOivxuHUueb0g==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-outside-click": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.0.4.tgz", + "integrity": "sha512-uerJKS8dqg2kHs1xozA5vcCqW0UInuwrfCPb+rDWBTpu7aEqxABMw9W3e4gfOABrAjhKz2I0a/bu2i8zbVwdLw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-pan-event": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.5.tgz", + "integrity": "sha512-nhE3b85++EEmBD2v6m46TLoA4LehSCZ349P8kvEjw/RC0K6XDOZndaBucIeAlnpEENSSUpczFfMSOLxSHdu0oA==", + "dependencies": { + "@chakra-ui/event-utils": "2.0.5", + "@chakra-ui/react-use-latest-ref": "2.0.2", + "framesync": "5.3.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-previous": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.0.2.tgz", + "integrity": "sha512-ap/teLRPKopaHYD80fnf0TR/NpTWHJO5VdKg6sPyF1y5ediYLAzPT1G2OqMCj4QfJsYDctioT142URDYe0Nn7w==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-safe-layout-effect": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.2.tgz", + "integrity": "sha512-gl5HDq9RVeDJiT8udtpx12KRV8JPLJHDIUX8f/yZcKpXow0C7FFGg5Yy5I9397NQog5ZjKMuOg+AUq9TLJxsyQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-size": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.0.4.tgz", + "integrity": "sha512-W6rgTLuoSC4ovZtqYco8cG+yBadH3bhlg92T5lgpKDakSDr0mXcZdbGx6g0AOkgxXm0V1jWNGO1743wudtF7ew==", + "dependencies": { + "@zag-js/element-size": "0.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-timeout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.2.tgz", + "integrity": "sha512-n6zb3OmxtDmRMxYkDgILqKh15aDOa8jNLHBlqHzmlL6mEGNKmMFPW9j/KvpAqSgKjUTDRnnXcpneprTMKy/yrw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-update-effect": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.4.tgz", + "integrity": "sha512-F/I9LVnGAQyvww+x7tQb47wCwjhMYjpxtM1dTg1U3oCEXY0yF1Ts3NJLUAlsr3nAW6epJIwWx61niC7KWpam1w==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.8.tgz", + "integrity": "sha512-OSHHBKZlJWTi2NZcPnBx1PyZvLQY+n5RPBtcri7/89EDdAwz2NdEhp2Dz1yQRctOSCF1kB/rnCYDP1U0oRk9RQ==", + "dependencies": { + "@chakra-ui/utils": "2.0.11" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/select": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.0.12.tgz", + "integrity": "sha512-NCDMb0w48GYCHmazVSQ7/ysEpbnri+Up6n+v7yytf6g43TPRkikvK5CsVgLnAEj0lIdCJhWXTcZer5wG5KOEgA==", + "dependencies": { + "@chakra-ui/form-control": "2.0.11" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/shared-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.2.tgz", + "integrity": "sha512-wC58Fh6wCnFFQyiebVZ0NI7PFW9+Vch0QE6qN7iR+bLseOzQY9miYuzPJ1kMYiFd6QTOmPJkI39M3wHqrPYiOg==" + }, + "node_modules/@chakra-ui/skeleton": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.0.17.tgz", + "integrity": "sha512-dL7viXEKDEzmAJGbHMj+QbGl9PAd0VWztEcWcz5wOGfmAcJllA0lVh6NmG/yqLb6iXPCX4Y1Y0Yurm459TEYWg==", + "dependencies": { + "@chakra-ui/media-query": "3.2.7", + "@chakra-ui/react-use-previous": "2.0.2" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/slider": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.0.12.tgz", + "integrity": "sha512-Cna04J7e4+F3tJNb7tRNfPP+koicbDsKJBp+f1NpR32JbRzIfrf2Vdr4hfD5/uOfC4RGxnVInNZzZLGBelLtLw==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.4", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-callback-ref": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-latest-ref": "2.0.2", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-pan-event": "2.0.5", + "@chakra-ui/react-use-size": "2.0.4", + "@chakra-ui/react-use-update-effect": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/spinner": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.0.10.tgz", + "integrity": "sha512-SwId1xPaaFAaEYrR9eHkQHAuB66CbxwjWaQonEjeEUSh9ecxkd5WbXlsQSyf2hVRIqXJg0m3HIYblcKUsQt9Rw==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/stat": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.0.11.tgz", + "integrity": "sha512-ZPFK2fKufDSHD8bp/KhO3jLgW/b3PzdG4zV+7iTO7OYjxm5pkBfBAeMqfXGx4cl51rtWUKzsY0HV4vLLjcSjHw==", + "dependencies": { + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/styled-system": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.3.4.tgz", + "integrity": "sha512-Lozbedu+GBj4EbHB/eGv475SFDLApsIEN9gNKiZJBJAE1HIhHn3Seh1iZQSrHC/Beq+D5cQq3Z+yPn3bXtFU7w==", + "dependencies": { + "csstype": "^3.0.11", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/switch": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.0.14.tgz", + "integrity": "sha512-6lzhCkJq7vbD3yGaorGLp0ZZU4ewdKwAu0e62qR8TfYZwbcbpkXbBKloIHbA2XKOduISzS2WYqjmoP6jSKIxrA==", + "dependencies": { + "@chakra-ui/checkbox": "2.2.2" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/system": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.3.0.tgz", + "integrity": "sha512-BxikahglBI0uU8FE3anEorDTU5oKTUuBIEKVcQrEVnrbNuRJEy1OVYyCNXfqW3MpruRO9ypYV2bWt02AZZWEaQ==", + "dependencies": { + "@chakra-ui/color-mode": "2.1.9", + "@chakra-ui/react-utils": "2.0.8", + "@chakra-ui/styled-system": "2.3.4", + "@chakra-ui/theme-utils": "2.0.1", + "@chakra-ui/utils": "2.0.11", + "react-fast-compare": "3.2.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/table": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.0.11.tgz", + "integrity": "sha512-zQTiqPKEgjdeO/PG0FByn0fH4sPF7dLJF+YszrIzDc6wvpD96iY6MYLeV+CSelbH1g0/uibcJ10PSaFStfGUZg==", + "dependencies": { + "@chakra-ui/react-context": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tabs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-2.1.4.tgz", + "integrity": "sha512-/CQGj1lC9lvruT5BCYZH6Ok64W4CDSysDXuR2XPZXIih9kVOdXQEMXxG8+3vc63WqTBjHuURtZI0g8ouOy84ew==", + "dependencies": { + "@chakra-ui/clickable": "2.0.10", + "@chakra-ui/descendant": "3.0.10", + "@chakra-ui/lazy-utils": "2.0.2", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tag": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-2.0.11.tgz", + "integrity": "sha512-iJJcX+4hl+6Se/8eCRzG+xxDwZfiYgc4Ly/8s93M0uW2GLb+ybbfSE2DjeKSyk3mQVeGzuxGkBfDHH2c2v26ew==", + "dependencies": { + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/textarea": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.0.12.tgz", + "integrity": "sha512-msR9YMynRXwZIqR6DgjQ2MogA/cW1syBx/R0v3es+9Zx8zlbuKdoLhYqajHteCup8dUzTeIH2Vs2vAwgq4wu5A==", + "dependencies": { + "@chakra-ui/form-control": "2.0.11" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/theme": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-2.1.14.tgz", + "integrity": "sha512-6EYJCQlrjSjNAJvZmw1un50F8+sQDFsdwu/7UzWe+TeANpKlz4ZcHbh0gkl3PD62lGis+ehITUwqRm8htvDOjw==", + "dependencies": { + "@chakra-ui/anatomy": "2.0.7", + "@chakra-ui/theme-tools": "2.0.12" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.0.0" + } + }, + "node_modules/@chakra-ui/theme-tools": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.0.12.tgz", + "integrity": "sha512-mnMlKSmXkCjHUJsKWmJbgBTGF2vnLaMLv1ihkBn5eQcCubMQrBLTiMAEFl5pZdzuHItU6QdnLGA10smcXbNl0g==", + "dependencies": { + "@chakra-ui/anatomy": "2.0.7", + "@ctrl/tinycolor": "^3.4.0" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.0.0" + } + }, + "node_modules/@chakra-ui/theme-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.1.tgz", + "integrity": "sha512-NDwzgTPxm+v3PAJlSSU1MORHLMqO9vsRJ+ObELD5wpvE9aEyRziN/AZSoK2oLwCQMPEiU7R99K5ij1E6ptMt7w==", + "dependencies": { + "@chakra-ui/styled-system": "2.3.4", + "@chakra-ui/theme": "2.1.14", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/toast": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-4.0.0.tgz", + "integrity": "sha512-abeeloJac5T9WK2IN76fEM5FSRH+erNXln2HqDf5wLBn33avSBXWyTiUL8riVSUqto0lrIn6FuK/MmKo0DH4og==", + "dependencies": { + "@chakra-ui/alert": "2.0.11", + "@chakra-ui/close-button": "2.0.11", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/react-use-timeout": "2.0.2", + "@chakra-ui/react-use-update-effect": "2.0.4", + "@chakra-ui/styled-system": "2.3.4", + "@chakra-ui/theme": "2.1.14" + }, + "peerDependencies": { + "@chakra-ui/system": "2.3.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/tooltip": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.2.0.tgz", + "integrity": "sha512-oB97aQJBW+U3rRIt1ct7NaDRMnbW16JQ5ZBCl3BzN1VJWO3djiNuscpjVdZSceb+FdGSFo+GoDozp1ZwqdfFeQ==", + "dependencies": { + "@chakra-ui/popper": "3.0.8", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-disclosure": "2.0.5", + "@chakra-ui/react-use-event-listener": "2.0.4", + "@chakra-ui/react-use-merge-refs": "2.0.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/transition": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.0.11.tgz", + "integrity": "sha512-O0grc162LARPurjz1R+J+zr4AAKsVwN5+gaqLfZLMWg6TpvczJhwEA2fLCNAdkC/gomere390bJsy52xfUacUw==", + "peerDependencies": { + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/utils": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.11.tgz", + "integrity": "sha512-4ZQdK6tbOuTrUCsAQBHWo7tw5/Q6pBV93ZbVpats61cSWMFGv32AIQw9/hA4un2zDeSWN9ZMVLNjAY2Dq/KQOA==", + "dependencies": { + "@types/lodash.mergewith": "4.6.6", + "css-box-model": "1.2.1", + "framesync": "5.3.0", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/visually-hidden": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.0.11.tgz", + "integrity": "sha512-e+5amYvnsmEQdiWH4XMyvrtGTdwz//+48vwj5CsNWWcselzkwqodmciy5rIrT71/SCQDOtmgnL7ZWAUOffxfsQ==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz", + "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==", "engines": { - "node": ">=8.9.0", - "npm": ">= 5.6.0" + "node": ">=10" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true, - "engines": { - "node": ">=10.0.0" + "node_modules/@cush/relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cush/relative/-/relative-1.0.0.tgz", + "integrity": "sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==", + "dev": true + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.10.2", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz", + "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.0", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.0.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@emotion/cache": { - "version": "11.7.1", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.7.1.tgz", - "integrity": "sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==", + "version": "11.10.3", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz", + "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==", "dependencies": { - "@emotion/memoize": "^0.7.4", - "@emotion/sheet": "^1.1.0", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", "stylis": "4.0.13" } }, "node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "dependencies": { + "@emotion/memoize": "^0.8.0" + } }, "node_modules/@emotion/memoize": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", - "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" }, "node_modules/@emotion/react": { - "version": "11.7.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.7.1.tgz", - "integrity": "sha512-DV2Xe3yhkF1yT4uAUoJcYL1AmrnO5SVsdfvu+fBuS7IbByDeTVx9+wFmvx9Idzv7/78+9Mgx2Hcmr7Fex3tIyw==", + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz", + "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@emotion/cache": "^11.7.1", - "@emotion/serialize": "^1.0.2", - "@emotion/sheet": "^1.1.0", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/cache": "^11.10.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { @@ -1971,61 +2925,128 @@ } }, "node_modules/@emotion/serialize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.2.tgz", - "integrity": "sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz", + "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==", "dependencies": { - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.4", - "@emotion/unitless": "^0.7.5", - "@emotion/utils": "^1.0.0", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", "csstype": "^3.0.2" } }, "node_modules/@emotion/sheet": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.0.tgz", - "integrity": "sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz", + "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==" + }, + "node_modules/@emotion/styled": { + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz", + "integrity": "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } }, "node_modules/@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "peerDependencies": { + "react": ">=16.8.0" + } }, "node_modules/@emotion/utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz", - "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" }, "node_modules/@emotion/weak-memoize": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", - "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.11.tgz", + "integrity": "sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.11.tgz", + "integrity": "sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dev": true, "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.15.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2049,13 +3070,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@floating-ui/core": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.0.1.tgz", + "integrity": "sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==" + }, + "node_modules/@floating-ui/dom": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.0.2.tgz", + "integrity": "sha512-5X9WSvZ8/fjy3gDu8yx9HAA4KG1lazUN2P4/VnaXLxTO9Dz53HI1oYoh1OlhqFNlHgGDiwFX5WhFCc2ljbW3yA==", + "dependencies": { + "@floating-ui/core": "^1.0.1" + } + }, + "node_modules/@fontsource/inter": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-4.5.14.tgz", + "integrity": "sha512-JDC9AocdPLuGsASkvWw9hS5gtHE7K9dOwL98XLrk5yjYqxy4uVnScG58NUvFMJDVJRl/7c8Wnap6PEs+7Zvj1Q==" + }, "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", + "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.4" }, @@ -2063,6 +3102,19 @@ "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -2070,14 +3122,12 @@ "dev": true }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" }, "engines": { "node": ">=6.0.0" @@ -2087,7 +3137,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -2096,7 +3145,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -2105,26 +3153,337 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "devOptional": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", - "dev": true, + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@motionone/animation": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.14.0.tgz", + "integrity": "sha512-h+1sdyBP8vbxEBW5gPFDnj+m2DCqdlAuf2g6Iafb1lcMnqjsRXWlPw1AXgvUMXmreyhqmPbJqoNfIKdytampRQ==", + "dependencies": { + "@motionone/easing": "^10.14.0", + "@motionone/types": "^10.14.0", + "@motionone/utils": "^10.14.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/dom": { + "version": "10.13.1", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.13.1.tgz", + "integrity": "sha512-zjfX+AGMIt/fIqd/SL1Lj93S6AiJsEA3oc5M9VkUr+Gz+juRmYN1vfvZd6MvEkSqEjwPQgcjN7rGZHrDB9APfQ==", + "dependencies": { + "@motionone/animation": "^10.13.1", + "@motionone/generators": "^10.13.1", + "@motionone/types": "^10.13.0", + "@motionone/utils": "^10.13.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/easing": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.14.0.tgz", + "integrity": "sha512-2vUBdH9uWTlRbuErhcsMmt1jvMTTqvGmn9fHq8FleFDXBlHFs5jZzHJT9iw+4kR1h6a4SZQuCf72b9ji92qNYA==", + "dependencies": { + "@motionone/utils": "^10.14.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/generators": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.14.0.tgz", + "integrity": "sha512-6kRHezoFfIjFN7pPpaxmkdZXD36tQNcyJe3nwVqwJ+ZfC0e3rFmszR8kp9DEVFs9QL/akWjuGPSLBI1tvz+Vjg==", + "dependencies": { + "@motionone/types": "^10.14.0", + "@motionone/utils": "^10.14.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/types": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.14.0.tgz", + "integrity": "sha512-3bNWyYBHtVd27KncnJLhksMFQ5o2MSdk1cA/IZqsHtA9DnRM1SYgN01CTcJ8Iw8pCXF5Ocp34tyAjY7WRpOJJQ==" + }, + "node_modules/@motionone/utils": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.14.0.tgz", + "integrity": "sha512-sLWBLPzRqkxmOTRzSaD3LFQXCPHvDzyHJ1a3VP9PRzBxyVd2pv51/gMOsdAcxQ9n+MIeGJnxzXBYplUHKj4jkw==", + "dependencies": { + "@motionone/types": "^10.14.0", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@mui/base": { + "version": "5.0.0-alpha.102", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.102.tgz", + "integrity": "sha512-5e/qAIP+DlkrZxIt/cwnDw/A3ii22WkoEoWKHyu4+oeGs3/1Flh7qLaN4h5EAIBB9TvTEZEUzvmsTInmIj6ghg==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "5.10.10", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.10.tgz", + "integrity": "sha512-aDuE2PNEh+hAndxEWlZgq7uiFPZKJtnkPDX7v6kSCrMXA32ZaQ6rZi5olmC7DUHt/BaOSxb7N/im/ss0XBkDhA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + } + }, + "node_modules/@mui/icons-material": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.9.tgz", + "integrity": "sha512-sqClXdEM39WKQJOQ0ZCPTptaZgqwibhj2EFV9N0v7BU1PO8y4OcX/a2wIQHn4fNuDjIZktJIBrmU23h7aqlGgg==", + "dependencies": { + "@babel/runtime": "^7.19.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material": { + "version": "5.10.10", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.10.tgz", + "integrity": "sha512-ioLvqY7VvcePz9dnEIRhpiVvtJmAFmvG6rtLXXzVdMmAVbSaelr5Io07mPz/mCyqE+Uv8/4EuJV276DWO7etzA==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@mui/base": "5.0.0-alpha.102", + "@mui/core-downloads-tracker": "^5.10.10", + "@mui/system": "^5.10.10", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/private-theming": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.9.tgz", + "integrity": "sha512-BN7/CnsVPVyBaQpDTij4uV2xGYHHHhOgpdxeYLlIu+TqnsVM7wUeF+37kXvHovxM6xmL5qoaVUD98gDC0IZnHg==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@mui/utils": "^5.10.9", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.8.tgz", + "integrity": "sha512-w+y8WI18EJV6zM/q41ug19cE70JTeO6sWFsQ7tgePQFpy6ToCVPh0YLrtqxUZXSoMStW5FMw0t9fHTFAqPbngw==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@emotion/cache": "^11.10.3", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "5.10.10", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.10.tgz", + "integrity": "sha512-TXwtKN0adKpBrZmO+eilQWoPf2veh050HLYrN78Kps9OhlvO70v/2Kya0+mORFhu9yhpAwjHXO8JII/R4a5ZLA==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@mui/private-theming": "^5.10.9", + "@mui/styled-engine": "^5.10.8", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.0.tgz", + "integrity": "sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.9.tgz", + "integrity": "sha512-2tdHWrq3+WCy+G6TIIaFx3cg7PorXZ71P375ExuX61od1NOAJP1mK90VxQ8N4aqnj2vmO3AQDkV4oV2Ktvt4bA==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0" } }, "node_modules/@nodelib/fs.scandir": { @@ -2162,746 +3521,627 @@ "node": ">= 8" } }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", - "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==", - "dev": true, - "dependencies": { - "ansi-html": "^0.0.7", - "error-stack-parser": "^2.0.6", - "html-entities": "^1.2.1", - "native-url": "^0.2.6", - "schema-utils": "^2.6.5", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 10.x" - }, - "peerDependencies": { - "@types/webpack": "4.x", - "react-refresh": ">=0.8.3 <0.10.0", - "sockjs-client": "^1.4.0", - "type-fest": "^0.13.1", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "dev": true - }, "node_modules/@popperjs/core": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz", - "integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==", + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" } }, - "node_modules/@restart/hooks": { - "version": "0.3.27", - "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.3.27.tgz", - "integrity": "sha512-s984xV/EapUIfkjlf8wz9weP2O9TNKR96C68FfMEy2bE69+H4cNv3RD4Mf97lW7Htt7PjZrYTjSC8f3SB9VCXw==", + "node_modules/@react-spring/animated": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.5.5.tgz", + "integrity": "sha512-glzViz7syQ3CE6BQOwAyr75cgh0qsihm5lkaf24I0DfU63cMm/3+br299UEYkuaHNmfDfM414uktiPlZCNJbQA==", "dependencies": { - "dequal": "^2.0.2" + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" }, "peerDependencies": { - "react": ">=16.8.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/@react-spring/core": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.5.5.tgz", + "integrity": "sha512-shaJYb3iX18Au6gkk8ahaF0qx0LpS0Yd+ajb4asBaAQf6WPGuEdJsbsNSgei1/O13JyEATsJl20lkjeslJPMYA==", + "dependencies": { + "@react-spring/animated": "~9.5.5", + "@react-spring/rafz": "~9.5.5", + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "dev": true, - "engines": { - "node": ">=10" + "type": "opencollective", + "url": "https://opencollective.com/react-spring/donate" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/@react-spring/rafz": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.5.5.tgz", + "integrity": "sha512-F/CLwB0d10jL6My5vgzRQxCNY2RNyDJZedRBK7FsngdCmzoq3V4OqqNc/9voJb9qRC2wd55oGXUeXv2eIaFmsw==" + }, + "node_modules/@react-spring/shared": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.5.5.tgz", + "integrity": "sha512-YwW70Pa/YXPOwTutExHZmMQSHcNC90kJOnNR4G4mCDNV99hE98jWkIPDOsgqbYx3amIglcFPiYKMaQuGdr8dyQ==", + "dependencies": { + "@react-spring/rafz": "~9.5.5", + "@react-spring/types": "~9.5.5" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/@react-spring/types": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.5.5.tgz", + "integrity": "sha512-7I/qY8H7Enwasxr4jU6WmtNK+RZ4Z/XvSlDvjXFVe7ii1x0MoSlkw6pD7xuac8qrHQRm9BTcbZNyeeKApYsvCg==" + }, + "node_modules/@react-spring/web": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.5.5.tgz", + "integrity": "sha512-+moT8aDX/ho/XAhU+HRY9m0LVV9y9CK6NjSRaI+30Re150pB3iEip6QfnF4qnhSCQ5drpMF0XRXHgOTY/xbtFw==", + "dependencies": { + "@react-spring/animated": "~9.5.5", + "@react-spring/core": "~9.5.5", + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "dev": true, + "node_modules/@remix-run/router": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.2.tgz", + "integrity": "sha512-GRSOFhJzjGN+d4sKHTMSvNeUPoZiDHWmRnXfzaxrqe7dE/Nzlc8BiMSJdLDESZlndM7jIUrZ/F4yWqVYlI0rwQ==", "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=14" } }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", "dev": true, "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" }, "engines": { - "node": ">=10" + "node": ">= 10.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } } }, - "node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", "dev": true, "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.6" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "dev": true, - "dependencies": { - "cosmiconfig": "^7.0.0", + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", "deepmerge": "^4.2.2", - "svgo": "^1.2.2" + "is-module": "^1.0.0", + "resolve": "^1.19.0" }, "engines": { - "node": ">=10" + "node": ">= 10.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/@rollup/plugin-node-resolve/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/@types/chart.js": { - "version": "2.9.35", - "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.35.tgz", - "integrity": "sha512-MWx/zZlh4wHBbM4Tm4YsZyYGb1/LkTiFLFwX/FXb0EJCvXX2xWTRHwlJ2RAAEXWxLrOdaAWP8vFtJXny+4CpEw==", - "dependencies": { - "moment": "^2.10.2" - } - }, - "node_modules/@types/classnames": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz", - "integrity": "sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==", - "deprecated": "This is a stub types definition. classnames provides its own type definitions, so you do not need this installed.", - "dependencies": { - "classnames": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.0.tgz", - "integrity": "sha512-JUYa/5JwoqikCy7O7jKtuNe9Z4ZZt615G+1EKfaDGSNEpzaA2OwbV/G1v08Oa7fd1XzlFoSCvt9ePl9/6FyAug==", + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", "dev": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "node_modules/@rollup/plugin-replace/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@textea/json-viewer": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@textea/json-viewer/-/json-viewer-2.10.0.tgz", + "integrity": "sha512-J5trN6tdssAeOk3CtuMsK7BhLJhfGW61V3i3afXUNJBT2qlRynf6DHPHyLMjGB6jXlJCuTXHop2i24k0oZQ2lQ==", + "dependencies": { + "@emotion/react": "^11.10.4", + "@emotion/styled": "^11.10.4", + "@mui/icons-material": "^5.10.6", + "@mui/material": "^5.10.8", + "copy-to-clipboard": "^3.3.2", + "group-items": "^2.2.0", + "zustand": "^4.1.2" + }, + "peerDependencies": { + "react": "^17 || ^18", + "react-dom": "^17 || ^18" + } + }, + "node_modules/@textea/json-viewer/node_modules/copy-to-clipboard": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz", + "integrity": "sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==", + "dependencies": { + "toggle-selection": "^1.0.6" } }, "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "dependencies": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true + "node_modules/@types/lodash": { + "version": "4.14.186", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.186.tgz", + "integrity": "sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw==" + }, + "node_modules/@types/lodash.mergewith": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz", + "integrity": "sha512-RY/8IaVENjG19rxTZu9Nukqh0W2UrYgmBj5sdns4hWRZaV8PqR7wIKHFKzvOTjo4zVRV7sVI+yFhAJql12Kfqg==", + "dependencies": { + "@types/lodash": "*" + } }, "node_modules/@types/node": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", - "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==", + "version": "18.11.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.2.tgz", + "integrity": "sha512-BWN3M23gLO2jVG8g/XHIRFWiiV4/GckeFIqbU/C4V3xpoBBWSMk4OZomouN0wCkfQFPqgZikyLr7DOYDysIkkw==", "dev": true }, "node_modules/@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "node_modules/@types/prop-types": { - "version": "15.7.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" - }, - "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", - "dev": true + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "node_modules/@types/react": { - "version": "17.0.38", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", - "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", + "version": "18.0.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", + "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" } }, - "node_modules/@types/react-redux": { - "version": "7.1.22", - "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.22.tgz", - "integrity": "sha512-GxIA1kM7ClU73I6wg9IRTVwSO9GS+SAKZKe0Enj+82HMU6aoESFU2HNAdNi3+J53IaOHPiUfT3kSG4L828joDQ==", + "node_modules/@types/react-csv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/react-csv/-/react-csv-1.1.3.tgz", + "integrity": "sha512-dkEdyRvRpygSnNg4cyzYWSUjukIQ5lAtXJwc7BqyUfzww/Cv2dcAFGYd+sWTFpGiDNZMVPp6vVPLcAPvJID8Kg==", + "dev": true, "dependencies": { - "@types/hoist-non-react-statics": "^3.3.0", - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0", - "redux": "^4.0.0" + "@types/react": "*" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", + "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-table": { + "version": "7.7.12", + "resolved": "https://registry.npmjs.org/@types/react-table/-/react-table-7.7.12.tgz", + "integrity": "sha512-bRUent+NR/WwtDGwI/BqhZ8XnHghwHw0HUKeohzB5xN3K2qKWYE5w19e7GCuOkL1CXD9Gi1HFy7TIm2AvgWUHg==", + "dev": true, + "dependencies": { + "@types/react": "*" } }, "node_modules/@types/react-transition-group": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.4.tgz", - "integrity": "sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", "dependencies": { "@types/react": "*" } }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/scheduler": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "node_modules/@types/semver": { + "version": "7.3.12", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.12.tgz", + "integrity": "sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==", "dev": true }, - "node_modules/@types/tapable": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", - "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", + "node_modules/@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==", "dev": true }, - "node_modules/@types/uglify-js": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", - "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.1.tgz", + "integrity": "sha512-FsWboKkWdytGiXT5O1/R9j37YgcjO8MKHSUmWnIEjVaz0krHkplPnYi7mwdb+5+cs0toFNQb0HIrN7zONdIEWg==", "dev": true, "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/@types/uglify-js/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "@typescript-eslint/scope-manager": "5.40.1", + "@typescript-eslint/type-utils": "5.40.1", + "@typescript-eslint/utils": "5.40.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@types/webpack": { - "version": "4.41.32", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", - "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@types/webpack/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { - "webpack-dev-server": { + "typescript": { "optional": true } } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 0.6" + "node": ">=10" } }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/@typescript-eslint/parser": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.40.1.tgz", + "integrity": "sha512-IK6x55va5w4YvXd4b3VrXQPldV9vQTxi5ov+g4pMANsXPTXOcfjx08CRR1Dfrcc51syPtXHF5bgLlMHYFrvQtg==", "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.40.1", + "@typescript-eslint/types": "5.40.1", + "@typescript-eslint/typescript-estree": "5.40.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.40.1.tgz", + "integrity": "sha512-jkn4xsJiUQucI16OLCXrLRXDZ3afKhOIqXs4R3O+M00hdQLKR58WuyXPZZjhKLFCEP2g+TXdBRtLQ33UfAdRUg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.40.1", + "@typescript-eslint/visitor-keys": "5.40.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.40.1.tgz", + "integrity": "sha512-DLAs+AHQOe6n5LRraXiv27IYPhleF0ldEmx6yBqBgBLaNRKTkffhV1RPsjoJBhVup2zHxfaRtan8/YRBgYhU9Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.40.1", + "@typescript-eslint/utils": "5.40.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.40.1.tgz", + "integrity": "sha512-Icg9kiuVJSwdzSQvtdGspOlWNjVDnF3qVIKXdJ103o36yRprdl3Ge5cABQx+csx960nuMF21v8qvO31v9t3OHw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.1.tgz", + "integrity": "sha512-5QTP/nW5+60jBcEPfXy/EZL01qrl9GZtbgDZtDPlfW5zj/zjNrdI2B5zMUHmOsfvOr2cWqwVdWjobCiHcedmQA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.40.1", + "@typescript-eslint/visitor-keys": "5.40.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.40.1.tgz", + "integrity": "sha512-a2TAVScoX9fjryNrW6BZRnreDUszxqm9eQ9Esv8n5nXApMW0zeANUYlwh/DED04SC/ifuBvXgZpIK5xeJHQ3aw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.40.1", + "@typescript-eslint/types": "5.40.1", + "@typescript-eslint/typescript-estree": "5.40.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.1.tgz", + "integrity": "sha512-A2DGmeZ+FMja0geX5rww+DpvILpwo1OsiQs0M+joPWJYsiEFBLsH0y1oFymPNul6Z5okSmHpP4ivkc2N0Cgfkw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.40.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz", + "integrity": "sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.18.13", + "@babel/plugin-transform-react-jsx": "^7.18.10", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.18.6", + "magic-string": "^0.26.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^3.0.0" + } + }, + "node_modules/@zag-js/element-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.1.0.tgz", + "integrity": "sha512-QF8wp0+V8++z+FHXiIw93+zudtubYszOtYbNgK39fg3pi+nCZtuSm4L1jC5QZMatNZ83MfOzyNCfgUubapagJQ==" + }, + "node_modules/@zag-js/focus-visible": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.1.0.tgz", + "integrity": "sha512-PeaBcTmdZWcFf7n1aM+oiOdZc+sy14qi0emPIeUuGMTjbP0xLGrZu43kdpHnWSXy7/r4Ubp/vlg50MCV8+9Isg==" + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "devOptional": true, "bin": { "acorn": "bin/acorn" }, @@ -2918,15 +4158,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -2956,39 +4187,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -3004,47 +4202,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -3053,7 +4214,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "devOptional": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -3061,38 +4221,30 @@ "node": ">=4" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-hidden": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.1.tgz", + "integrity": "sha512-PN344VAf9j1EAi+jyVHOJ8XidQdPVssGco39eNcsGdM4wcsILtxrKLkbuiMfLWYROK1FjRQasMWCBttrhjnr6A==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "tslib": "^2.0.0" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/apexcharts": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.33.0.tgz", - "integrity": "sha512-gOc0qZijuomtXTThLbb0sKn+mZJkVQADyK/Zw9vQ0JjKVbMYxzek61xk40hT49i1Sq6/MUqsz0WgUXYpqqf8Mg==", - "dependencies": { - "svg.draggable.js": "^2.2.2", - "svg.easing.js": "^2.0.0", - "svg.filter.js": "^2.0.2", - "svg.pathmorphing.js": "^0.1.3", - "svg.resize.js": "^1.4.3", - "svg.select.js": "^3.0.1" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.9.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/aria-query": { @@ -3100,7 +4252,6 @@ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "dev": true, - "peer": true, "dependencies": { "@babel/runtime": "^7.10.2", "@babel/runtime-corejs3": "^7.10.2" @@ -3109,48 +4260,15 @@ "node": ">=6.0" } }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, "node_modules/array-includes": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", - "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", "get-intrinsic": "^1.1.1", "is-string": "^1.0.7" }, @@ -3170,33 +4288,16 @@ "node": ">=8" } }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array.prototype.flat": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", - "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3206,14 +4307,15 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", - "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3222,21 +4324,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true, - "peer": true + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true }, "node_modules/astral-regex": { "version": "2.0.0", @@ -3248,164 +4345,48 @@ } }, "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", - "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", - "dev": true, - "dependencies": { - "browserslist": "^4.19.1", - "caniuse-lite": "^1.0.30001297", - "fraction.js": "^4.1.2", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">= 4.0.0" } }, "node_modules/axe-core": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz", - "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", + "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==", "dev": true, - "peer": true, "engines": { "node": ">=4" } }, "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/axios-retry": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.4.tgz", - "integrity": "sha512-Co3UXiv4npi6lM963mfnuH90/YFLKWWDmoBYfxkHT5xtkSSWNqK9zdG3fw5/CP/dsoKB5aMMJCsgab+tp1OxLQ==", - "dependencies": { - "@babel/runtime": "^7.15.4", - "is-retry-allowed": "^2.2.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/axobject-query": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true, - "peer": true - }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, - "node_modules/babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", - "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } + "dev": true }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", @@ -3416,14 +4397,28 @@ "object.assign": "^4.1.0" } }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" }, "peerDependencies": { @@ -3431,25 +4426,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz", - "integrity": "sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.20.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.3.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -3458,38 +4453,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", @@ -3510,109 +4474,18 @@ } ] }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", "engines": { - "node": "*" + "node": ">=0.6" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", - "dev": true, - "dependencies": { - "bytes": "3.1.1", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3622,6 +4495,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -3629,27 +4503,57 @@ "node": ">=8" } }, - "node_modules/browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "devOptional": true, + "node_modules/broadcast-channel": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", + "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", "dependencies": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" + "@babel/runtime": "^7.7.2", + "detect-node": "^2.1.0", + "js-sha3": "0.8.0", + "microseconds": "0.2.0", + "nano-time": "1.0.0", + "oblivious-set": "1.0.0", + "rimraf": "3.0.2", + "unload": "2.2.0" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "bin": { + "btoa": "bin/btoa.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "engines": { + "node": ">= 0.4.0" } }, "node_modules/buffer": { @@ -3679,41 +4583,18 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "devOptional": true }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "node": ">=6" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/call-bind": { @@ -3733,60 +4614,48 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, "node_modules/caniuse-lite": { - "version": "1.0.30001301", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz", - "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==", - "devOptional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "version": "1.0.30001422", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001422.tgz", + "integrity": "sha512-hSesn02u1QacQHhaxl/kNMZwqVG35Sz/8DgvmgedxSH8z9UUpcDYSPYgsj3x5dQNRcNp6BwpSfQfVzYUTm+fog==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chakra-react-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/chakra-react-select/-/chakra-react-select-4.3.0.tgz", + "integrity": "sha512-ro2NZQuj4RzTCJ1t7rPt9uFpwWaiJmoZAnfAMvKpkPzzYeSAUtiBlTh2vyUJzmToj1CDdgtQVH4PDYGUgsAOEg==", + "dependencies": { + "react-select": "^5.5.0" + }, + "peerDependencies": { + "@chakra-ui/form-control": "^2.0.0", + "@chakra-ui/icon": "^3.0.0", + "@chakra-ui/layout": "^2.0.0", + "@chakra-ui/menu": "^2.0.0", + "@chakra-ui/spinner": "^2.0.0", + "@chakra-ui/system": "^2.0.0", + "@emotion/react": "^11.8.1", + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "devOptional": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -3796,201 +4665,23 @@ "node": ">=4" } }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/chart.js": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", - "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", - "dependencies": { - "chartjs-color": "^2.1.0", - "moment": "^2.10.2" - } - }, - "node_modules/chartjs-color": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", - "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", - "dependencies": { - "chartjs-color-string": "^0.6.0", - "color-convert": "^1.9.3" - } - }, - "node_modules/chartjs-color-string": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", - "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", - "dependencies": { - "color-name": "^1.0.0" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/classcat": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/classcat/-/classcat-5.0.3.tgz", - "integrity": "sha512-6dK2ke4VEJZOFx2ZfdDAl5OhEL8lvkl6EHF92IfRePfHxQTqir5NlcNVUv+2idjDqCX2NDc8m8YSAI5NI975ZQ==" + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz", + "integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==" }, "node_modules/classnames": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", - "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" - }, - "node_modules/clean-css": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz", - "integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" }, "node_modules/clean-stack": { "version": "2.2.0", @@ -4001,22 +4692,6 @@ "node": ">=6" } }, - "node_modules/clean-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", - "dev": true, - "dependencies": { - "@types/webpack": "^4.4.31", - "del": "^4.1.1" - }, - "engines": { - "node": ">=8.9.0" - }, - "peerDependencies": { - "webpack": "*" - } - }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -4030,145 +4705,65 @@ } }, "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", "dev": true, "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/cliui/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", "engines": { "node": ">=6" } }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -4177,143 +4772,55 @@ "color-name": "1.1.3" } }, - "node_modules/color-convert/node_modules/color-name": { + "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", "dev": true, "engines": { - "node": ">= 12" + "node": "^12.20.0 || >=14" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, "engines": { - "node": ">= 0.6" + "node": ">=4.0.0" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression-webpack-plugin": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-8.0.1.tgz", - "integrity": "sha512-VWDXcOgEafQDMFXEnoia0VBXJ+RMw81pmqe/EBiOIBnMfY8pG26eqwIS/ytGpzy1rozydltL0zL6KDH9XNWBxQ==", - "dev": true, - "dependencies": { - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/compression-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "node_modules/compute-scroll-into-view": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz", + "integrity": "sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ==" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/confusing-browser-globals": { "version": "1.0.11", @@ -4321,196 +4828,57 @@ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "devOptional": true, + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-7.0.0.tgz", - "integrity": "sha512-SLjQNa5iE3BoCP76ESU9qYo9ZkEWtXoZxDurHoqPchAFRblJ9g96xTeC560UXBMre1Nx6ixIIUfiY3VcjpJw3g==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.4", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/copy-webpack-plugin/node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" + "toggle-selection": "^1.0.6" } }, "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", - "dev": true, - "hasInstallScript": true + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, "node_modules/core-js-compat": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", - "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", + "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", "dev": true, "dependencies": { - "browserslist": "^4.19.1", - "semver": "7.0.0" + "browserslist": "^4.21.4" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/core-js-pure": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.3.tgz", - "integrity": "sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA==", + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz", + "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg==", "dev": true, "hasInstallScript": true, - "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, "node_modules/cosmiconfig": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -4544,435 +4912,27 @@ "node": ">= 8" } }, - "node_modules/css-declaration-sorter": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", - "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", - "dev": true, - "dependencies": { - "timsort": "^0.3.0" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, - "node_modules/css-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-minimizer-webpack-plugin": { + "node_modules/crypto-random-string": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-2.0.0.tgz", - "integrity": "sha512-cG/uc94727tx5pBNtb1Sd7gvUPzwmcQi1lkpfqTpdkuNq75hJCw7bIVsCNijLm4dhDcr1atvuysl2rZqOG8Txw==", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/css-box-model": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", + "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", "dependencies": { - "cssnano": "^5.0.0", - "jest-worker": "^26.3.0", - "p-limit": "^3.0.2", - "postcss": "^8.2.9", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.15.tgz", - "integrity": "sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==", - "dev": true, - "dependencies": { - "cssnano-preset-default": "^5.1.10", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.1.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.10.tgz", - "integrity": "sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==", - "dev": true, - "dependencies": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^3.0.0", - "postcss-calc": "^8.2.0", - "postcss-colormin": "^5.2.3", - "postcss-convert-values": "^5.0.2", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.2", - "postcss-merge-longhand": "^5.0.4", - "postcss-merge-rules": "^5.0.4", - "postcss-minify-font-values": "^5.0.2", - "postcss-minify-gradients": "^5.0.4", - "postcss-minify-params": "^5.0.3", - "postcss-minify-selectors": "^5.1.1", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.2", - "postcss-normalize-positions": "^5.0.2", - "postcss-normalize-repeat-style": "^5.0.2", - "postcss-normalize-string": "^5.0.2", - "postcss-normalize-timing-functions": "^5.0.2", - "postcss-normalize-unicode": "^5.0.2", - "postcss-normalize-url": "^5.0.4", - "postcss-normalize-whitespace": "^5.0.2", - "postcss-ordered-values": "^5.0.3", - "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.2", - "postcss-svgo": "^5.0.3", - "postcss-unique-selectors": "^5.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.0.tgz", - "integrity": "sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/csso/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "tiny-invariant": "^1.0.6" } }, "node_modules/csstype": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" - }, - "node_modules/d3-color": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz", - "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "dependencies": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "d3-selection": "2 - 3" - } - }, - "node_modules/d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - }, - "engines": { - "node": ">=12" - } + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/dagre": { "version": "0.8.5", @@ -4987,19 +4947,24 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "peer": true + "dev": true }, - "node_modules/date-arithmetic": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-arithmetic/-/date-arithmetic-4.1.0.tgz", - "integrity": "sha512-QWxYLR5P/6GStZcdem+V1xoto6DMadYWpMXU82ES3/RfR3Wdwr3D0+be7mgOJ+Ov0G9D5Dmb9T17sNLQYj9XOg==" + "node_modules/date-fns": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", + "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==", + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } }, "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "devOptional": true, + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -5012,39 +4977,15 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, + "node_modules/deep-eql": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.1.tgz", + "integrity": "sha512-rc6HkZswtl+KMi/IODZ8k7C/P37clC2Rf1HYI11GqdbgvggIyHjsU5MdjlTlaP6eu24c0sR3mcW2SqsVZ1sXUw==", "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" + "type-detect": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, "node_modules/deep-is": { @@ -5054,253 +4995,46 @@ "dev": true }, "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", "engines": { "node": ">=0.10.0" } }, - "node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/default-gateway/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/default-gateway/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/default-gateway/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/default-gateway/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "dependencies": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { - "node": ">=6" + "node": ">=0.4.0" } }, - "node_modules/del/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/dequal": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", - "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" }, "node_modules/dir-glob": { "version": "3.0.1", @@ -5314,31 +5048,6 @@ "node": ">=8" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -5351,15 +5060,6 @@ "node": ">=6.0.0" } }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "dependencies": { - "utila": "~0.4" - } - }, "node_modules/dom-helpers": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", @@ -5369,255 +5069,80 @@ "csstype": "^3.0.2" } }, - "node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/dotenv-defaults": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", - "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", - "dev": true, - "dependencies": { - "dotenv": "^8.2.0" - } - }, - "node_modules/dotenv-webpack": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-6.0.4.tgz", - "integrity": "sha512-WiTPNLanDNJ1O8AvgkBpsbarw78a4PMYG2EfJcQoxTHFWy+ji213HR+3f4PhWB1RBumiD9cbiuC3SNxJXbBp9g==", - "dev": true, - "dependencies": { - "dotenv-defaults": "^2.0.1" - }, - "peerDependencies": { - "webpack": "^1 || ^2 || ^3 || ^4 || ^5" - } - }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true + "node_modules/ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/electron-to-chromium": { - "version": "1.4.49", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz", - "integrity": "sha512-k/0t1TRfonHIp8TJKfjBu2cKj8MqYTiEpOhci+q7CVEE5xnCQnx1pTa+V8b/sdhe4S3PR4p4iceEQWhGrKQORQ==", - "devOptional": true + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "peer": true - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } + "dev": true }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, - "node_modules/error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "dev": true, - "dependencies": { - "stackframe": "^1.1.1" - } - }, "node_modules/es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", + "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.2", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5626,11 +5151,14 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } }, "node_modules/es-to-primitive": { "version": "1.2.1", @@ -5649,11 +5177,346 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/esbuild": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.11.tgz", + "integrity": "sha512-OgHGuhlfZ//mToxjte1D5iiiQgWfJ2GByVMwEC/IuoXsBGkuyK1+KrjYu0laSpnN/L1UmLUCv0s25vObdc1bVg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.11", + "@esbuild/linux-loong64": "0.15.11", + "esbuild-android-64": "0.15.11", + "esbuild-android-arm64": "0.15.11", + "esbuild-darwin-64": "0.15.11", + "esbuild-darwin-arm64": "0.15.11", + "esbuild-freebsd-64": "0.15.11", + "esbuild-freebsd-arm64": "0.15.11", + "esbuild-linux-32": "0.15.11", + "esbuild-linux-64": "0.15.11", + "esbuild-linux-arm": "0.15.11", + "esbuild-linux-arm64": "0.15.11", + "esbuild-linux-mips64le": "0.15.11", + "esbuild-linux-ppc64le": "0.15.11", + "esbuild-linux-riscv64": "0.15.11", + "esbuild-linux-s390x": "0.15.11", + "esbuild-netbsd-64": "0.15.11", + "esbuild-openbsd-64": "0.15.11", + "esbuild-sunos-64": "0.15.11", + "esbuild-windows-32": "0.15.11", + "esbuild-windows-64": "0.15.11", + "esbuild-windows-arm64": "0.15.11" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.11.tgz", + "integrity": "sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.11.tgz", + "integrity": "sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.11.tgz", + "integrity": "sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.11.tgz", + "integrity": "sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.11.tgz", + "integrity": "sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.11.tgz", + "integrity": "sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.11.tgz", + "integrity": "sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.11.tgz", + "integrity": "sha512-Y2Rh+PcyVhQqXKBTacPCltINN3uIw2xC+dsvLANJ1SpK5NJUtxv8+rqWpjmBgaNWKQT1/uGpMmA9olALy9PLVA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.11.tgz", + "integrity": "sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.11.tgz", + "integrity": "sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.11.tgz", + "integrity": "sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.11.tgz", + "integrity": "sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.11.tgz", + "integrity": "sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.11.tgz", + "integrity": "sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.11.tgz", + "integrity": "sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.11.tgz", + "integrity": "sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.11.tgz", + "integrity": "sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.11.tgz", + "integrity": "sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.11.tgz", + "integrity": "sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.11.tgz", + "integrity": "sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "devOptional": true, "engines": { "node": ">=6" } @@ -5661,118 +5524,194 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "devOptional": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz", + "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==", "dev": true, "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", + "find-up": "^5.0.0", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-config-airbnb": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", - "integrity": "sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg==", + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", "dev": true, "dependencies": { - "eslint-config-airbnb-base": "^14.2.1", + "eslint-config-airbnb-base": "^15.0.0", "object.assign": "^4.1.2", - "object.entries": "^1.1.2" + "object.entries": "^1.1.5" }, "engines": { - "node": ">= 6" + "node": "^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-react": "^7.21.5", - "eslint-plugin-react-hooks": "^4 || ^3 || ^2.3.0 || ^1.7.0" + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.28.0", + "eslint-plugin-react-hooks": "^4.3.0" } }, "node_modules/eslint-config-airbnb-base": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", - "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", "dev": true, "dependencies": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", - "object.entries": "^1.1.2" + "object.entries": "^1.1.5", + "semver": "^6.3.0" }, "engines": { - "node": ">= 6" + "node": "^10.12.0 || >=12.0.0" }, "peerDependencies": { - "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", - "eslint-plugin-import": "^2.22.1" + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" + } + }, + "node_modules/eslint-config-airbnb-typescript": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.0.0.tgz", + "integrity": "sha512-elNiuzD0kPAPTXjFWg+lE24nMdHMtuxgYoD30OyMD6yrW1AhFZPAg27VX7d3tzOErw+dgJTNWfRSDqEcXb4V0g==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.13.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3" + } + }, + "node_modules/eslint-config-airbnb-typescript-prettier": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript-prettier/-/eslint-config-airbnb-typescript-prettier-5.0.0.tgz", + "integrity": "sha512-SVphutDwxEJedWKHF+q6FDC4+aKaOn5R8hOBxCpfWnn5qCYAChngPf86Svz78bHgMgbZfohwHPbQeETTPUN9Wg==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^5.6.0", + "@typescript-eslint/parser": "^5.6.0", + "eslint-config-airbnb": "^19.0.2", + "eslint-config-prettier": "^6.15.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-prettier": "^3.1.4", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0" + }, + "engines": { + "node": "^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "prettier": "^1.18.2 || ^2.0.0", + "typescript": ">=3.3.1" + } + }, + "node_modules/eslint-config-airbnb-typescript-prettier/node_modules/eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "dev": true, + "dependencies": { + "get-stdin": "^6.0.0" + }, + "bin": { + "eslint-config-prettier-check": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=3.14.1" + } + }, + "node_modules/eslint-config-airbnb-typescript-prettier/node_modules/eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, "node_modules/eslint-config-prettier": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", - "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -5812,38 +5751,21 @@ "ms": "^2.1.1" } }, - "node_modules/eslint-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz", - "integrity": "sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw==", - "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", - "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "loader-utils": "^2.0.0", - "object-hash": "^2.0.3", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0", - "webpack": "^4.0.0 || ^5.0.0" - } - }, "node_modules/eslint-module-utils": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", - "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", "dev": true, "dependencies": { - "debug": "^3.2.7", - "find-up": "^2.1.0" + "debug": "^3.2.7" }, "engines": { "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, "node_modules/eslint-module-utils/node_modules/debug": { @@ -5871,9 +5793,9 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.25.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", - "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "dev": true, "dependencies": { "array-includes": "^3.1.4", @@ -5881,14 +5803,14 @@ "debug": "^2.6.9", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.2", + "eslint-module-utils": "^2.7.3", "has": "^1.0.3", - "is-core-module": "^2.8.0", + "is-core-module": "^2.8.1", "is-glob": "^4.0.3", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "object.values": "^1.1.5", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.12.0" + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" }, "engines": { "node": ">=4" @@ -5921,28 +5843,28 @@ "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", - "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", "dev": true, - "peer": true, "dependencies": { - "@babel/runtime": "^7.16.3", + "@babel/runtime": "^7.18.9", "aria-query": "^4.2.2", - "array-includes": "^3.1.4", + "array-includes": "^3.1.5", "ast-types-flow": "^0.0.7", - "axe-core": "^4.3.5", + "axe-core": "^4.4.3", "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.7", + "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "has": "^1.0.3", - "jsx-ast-utils": "^3.2.1", + "jsx-ast-utils": "^3.3.2", "language-tags": "^1.0.5", - "minimatch": "^3.0.4" + "minimatch": "^3.1.2", + "semver": "^6.3.0" }, "engines": { "node": ">=4.0" @@ -5951,20 +5873,29 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, + "node_modules/eslint-plugin-no-inline-styles": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-inline-styles/-/eslint-plugin-no-inline-styles-1.0.5.tgz", + "integrity": "sha512-nftOfHV/ag0P0vEPQ3p54HVpGCp6k/E+pHdYnRm2wDK8QhClfmMjrCw+POL5RH/SN1AmTifCTh5VzkeubLgMpA==", + "dev": true, + "dependencies": { + "lodash.get": "^4.4.2" + } + }, "node_modules/eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=12.0.0" }, "peerDependencies": { - "eslint": ">=5.0.0", - "prettier": ">=1.13.0" + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" }, "peerDependenciesMeta": { "eslint-config-prettier": { @@ -5973,25 +5904,25 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz", - "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==", + "version": "7.31.10", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz", + "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==", "dev": true, "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flatmap": "^1.2.5", + "array-includes": "^3.1.5", + "array.prototype.flatmap": "^1.3.0", "doctrine": "^2.1.0", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "object.entries": "^1.1.5", "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.0", + "object.hasown": "^1.1.1", "object.values": "^1.1.5", - "prop-types": "^15.7.2", + "prop-types": "^15.8.1", "resolve": "^2.0.0-next.3", "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.6" + "string.prototype.matchall": "^4.0.7" }, "engines": { "node": ">=4" @@ -6001,9 +5932,9 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", - "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", "dev": true, "engines": { "node": ">=10" @@ -6025,13 +5956,17 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6069,36 +6004,39 @@ } }, "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=6" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" } }, "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true, "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/eslint/node_modules/ansi-styles": { @@ -6144,31 +6082,29 @@ "node": ">=7.0.0" } }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/eslint/node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -6189,21 +6125,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -6229,30 +6150,20 @@ } }, "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", "dev": true, "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { @@ -6288,6 +6199,12 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -6297,359 +6214,34 @@ "node": ">=0.10.0" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.1.tgz", - "integrity": "sha512-qV5ZC0h7jYIAOhArFJgSfdyz6rALJyb270714o7ZtNnw2WSJ+eexhKtE0O8LYPRsHZHf2osHKZBxGPvm3kPkCA==", - "dev": true, - "dependencies": { - "original": "^1.0.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", + "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", + "get-stream": "^6.0.1", + "human-signals": "^3.0.1", + "is-stream": "^3.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/express": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", - "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", - "dev": true, - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.6", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-diff": { "version": "1.2.0", @@ -6658,9 +6250,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -6673,6 +6265,18 @@ "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -6682,13 +6286,7 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "node_modules/fastq": { @@ -6700,18 +6298,6 @@ "reusify": "^1.0.4" } }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -6724,17 +6310,38 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -6742,75 +6349,19 @@ "node": ">=8" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/find-versions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", - "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", - "dev": true, - "dependencies": { - "semver-regex": "^3.1.2" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=10" @@ -6832,31 +6383,27 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "node_modules/focus-lock": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.11.3.tgz", + "integrity": "sha512-4n0pYcPTa/uI7Q66BZna61nRT7lDhnuJ9PJr6wiDjx4uStg491ks41y7uOG+s0umaaa+hulNKSldU9aTg9/yVg==", + "dependencies": { + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -6872,77 +6419,122 @@ } } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", - "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { - "map-cache": "^0.2.2" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true, - "engines": { - "node": ">= 0.6" + "node_modules/formik": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz", + "integrity": "sha512-LQLcISMmf1r5at4/gyJigGn0gOwFbeEAlji+N9InZF6LIMXnFNkO42sCI8Jt84YZggpD4cPWObAZaxpEFtSzNA==", + "funding": [ + { + "type": "individual", + "url": "https://opencollective.com/formik" + } + ], + "dependencies": { + "deepmerge": "^2.1.1", + "hoist-non-react-statics": "^3.3.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "react-fast-compare": "^2.0.1", + "tiny-warning": "^1.0.2", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/formik/node_modules/react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "node_modules/formik/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/framer-motion": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-7.6.1.tgz", + "integrity": "sha512-8US03IWJKrLoSb81l5OahNzB9Sv7Jo1RhIwUoTG/25BRUdO9lOqq/klsdZqNmNG0ua9IEJJQ8hkYpETJ4N6VSw==", + "dependencies": { + "@motionone/dom": "10.13.1", + "framesync": "6.1.2", + "hey-listen": "^1.0.8", + "popmotion": "11.0.5", + "style-value-types": "5.1.2", + "tslib": "2.4.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/framer-motion/node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/framer-motion/node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true + }, + "node_modules/framer-motion/node_modules/framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "dependencies": { + "tslib": "2.4.0" + } + }, + "node_modules/framesync": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.3.0.tgz", + "integrity": "sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA==", + "dependencies": { + "tslib": "^2.1.0" } }, "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "dependencies": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=10" } }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.2", @@ -6960,20 +6552,39 @@ "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "devOptional": true, "engines": { "node": ">=6.9.0" } @@ -6982,31 +6593,47 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -7035,25 +6662,15 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -7065,27 +6682,27 @@ } }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "node_modules/glob-regex": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/glob-regex/-/glob-regex-0.3.2.tgz", + "integrity": "sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==", "dev": true }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "devOptional": true, "engines": { "node": ">=4" } @@ -7110,19 +6727,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true }, "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, "node_modules/graphlib": { @@ -7133,11 +6753,21 @@ "lodash": "^4.17.15" } }, + "node_modules/group-items": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/group-items/-/group-items-2.2.0.tgz", + "integrity": "sha512-lpY+zRs0sFoQoLHRdZn2nb0XJR6ReCuyouR7nmHB2PajS4BZE6JFb2HG+ZCSE9Tf34WdKcLV3AC0tp6J0wuCuA==", + "dependencies": { + "deep-eql": "^4.0.0" + }, + "engines": { + "npm": ">=7" + } + }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, "dependencies": { "duplexer": "^0.1.2" }, @@ -7148,17 +6778,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -7167,9 +6790,9 @@ } }, "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7178,16 +6801,27 @@ "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "devOptional": true, + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, "engines": { "node": ">= 0.4" @@ -7211,90 +6845,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", @@ -7304,79 +6858,10 @@ "react-is": "^16.7.0" } }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dev": true, - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/html-parse-stringify": { "version": "3.0.1", @@ -7386,452 +6871,58 @@ "void-elements": "3.1.0" } }, - "node_modules/html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "dev": true, - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", - "dev": true - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "dependencies": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", + "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", "dev": true, "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/husky": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", - "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "compare-versions": "^3.6.0", - "cosmiconfig": "^7.0.0", - "find-versions": "^4.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^5.0.0", - "please-upgrade-node": "^3.2.0", - "slash": "^3.0.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "husky-run": "bin/run.js", - "husky-upgrade": "lib/upgrader/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/husky" - } - }, - "node_modules/husky/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/husky/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/husky/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/husky/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/husky/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/husky/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/husky/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/husky/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/husky/node_modules/pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dev": true, - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/husky/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "node": ">=12.20.0" } }, "node_modules/i18next": { - "version": "20.6.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz", - "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.0.0.tgz", + "integrity": "sha512-MTXO4JZPTBQMPro/Mnwrxb3VGHKtPv4co6Szklg+BKoilPq+7U3eb1p4zSQhjI4dOLlZZ+g7F9eHwDuQCo5Ixg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], "dependencies": { - "@babel/runtime": "^7.12.0" + "@babel/runtime": "^7.17.2" } }, "node_modules/i18next-browser-languagedetector": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-6.1.2.tgz", - "integrity": "sha512-YDzIGHhMRvr7M+c8B3EQUKyiMBhfqox4o1qkFvt4QXuu5V2cxf74+NCr+VEkUuU0y+RwcupA238eeolW1Yn80g==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-6.1.8.tgz", + "integrity": "sha512-Svm+MduCElO0Meqpj1kJAriTC6OhI41VhlT/A0UPjGoPZBhAHIaGE5EfsHlTpgdH09UVX7rcc72pSDDBeKSQQA==", "dependencies": { - "@babel/runtime": "^7.14.6" + "@babel/runtime": "^7.19.0" } }, "node_modules/i18next-http-backend": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-1.3.2.tgz", - "integrity": "sha512-SfcoUmsSWnc2LYsDsCq5TCg18cxJXvXymX9N37V+qqMKQY8Gf0rWkjOnRd20sMK633Dq4NF9tvqPbOiFJ49Kbw==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-1.4.4.tgz", + "integrity": "sha512-M4gLPe6JKZ2p1UmE6t4rzWV/sAxgrLThW7ztXAsTpFwFqXoyzhTzX8eYxVv9KjpCQh4K9nwxnEjEi+74C4Thbg==", "dependencies": { "cross-fetch": "3.1.5" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } + "node_modules/idb": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.0.tgz", + "integrity": "sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg==", + "dev": true }, "node_modules/ieee754": { "version": "1.2.1", @@ -7853,24 +6944,18 @@ ] }, "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { "node": ">= 4" } }, - "node_modules/immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" - }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -7882,29 +6967,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { "node": ">=0.8.19" @@ -7922,8 +6988,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -7932,21 +6997,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/internal-slot": { "version": "1.0.3", @@ -7962,15 +7013,6 @@ "node": ">= 0.4" } }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -7979,72 +7021,10 @@ "loose-envify": "^1.0.0" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-bigint": { "version": "1.0.4", @@ -8058,17 +7038,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -8085,16 +7054,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "engines": { "node": ">= 0.4" @@ -8104,10 +7067,9 @@ } }, "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dependencies": { "has": "^1.0.3" }, @@ -8115,18 +7077,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -8142,53 +7092,46 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" + "node": ">=8" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -8196,6 +7139,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -8212,14 +7161,15 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" @@ -8234,57 +7184,12 @@ "node_modules/is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -8304,39 +7209,31 @@ "node_modules/is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-retry-allowed": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", - "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -8384,42 +7281,102 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, + "node_modules/jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/jest-worker": { @@ -8457,19 +7414,29 @@ "node": ">=8" } }, + "node_modules/js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", + "dev": true + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -8479,7 +7446,6 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "devOptional": true, "bin": { "jsesc": "bin/jsesc" }, @@ -8487,16 +7453,15 @@ "node": ">=4" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "node_modules/json-schema-traverse": { @@ -8508,17 +7473,13 @@ "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "devOptional": true, - "dependencies": { - "minimist": "^1.2.5" - }, + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "bin": { "json5": "lib/cli.js" }, @@ -8527,68 +7488,63 @@ } }, "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "node_modules/jsx-ast-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", - "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.3", - "object.assign": "^4.1.2" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "dev": true, + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, "engines": { - "node": ">= 8" + "node": ">=4.0" } }, "node_modules/language-subtag-registry": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", - "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", - "dev": true, - "peer": true + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true }, "node_modules/language-tags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "dev": true, - "peer": true, "dependencies": { "language-subtag-registry": "~0.3.2" } }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -8603,14 +7559,14 @@ } }, "node_modules/libphonenumber-js": { - "version": "1.9.44", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.44.tgz", - "integrity": "sha512-zhw8nUMJuQf7jG1dZfEOKKOS6M3QYIv3HnvB/vGohNd0QfxIQcObH3a6Y6s350H+9xgBeOXClOJkS0hJ0yvS3g==" + "version": "1.10.14", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.14.tgz", + "integrity": "sha512-McGS7GV/WjJ2KjfOGhJU1oJn29RYeo7Q+RpANRbUNMQ9gj5XArpbjurSuyYPTejFwbaUojstQ4XyWCrAzGOUXw==" }, "node_modules/lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", "dev": true, "engines": { "node": ">=10" @@ -8619,65 +7575,51 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/lint-staged": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.2.6.tgz", - "integrity": "sha512-Vti55pUnpvPE0J9936lKl0ngVeTdSZpEdTNhASbkaWX7J5R9OEifo1INBGQuGW4zmy6OG+TcWPJ3m5yuy5Q8Tg==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz", + "integrity": "sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==", "dev": true, "dependencies": { - "cli-truncate": "2.1.0", - "colorette": "^1.4.0", - "commander": "^8.2.0", - "cosmiconfig": "^7.0.1", - "debug": "^4.3.2", - "enquirer": "^2.3.6", - "execa": "^5.1.1", - "listr2": "^3.12.2", - "micromatch": "^4.0.4", + "cli-truncate": "^3.1.0", + "colorette": "^2.0.17", + "commander": "^9.3.0", + "debug": "^4.3.4", + "execa": "^6.1.0", + "lilconfig": "2.0.5", + "listr2": "^4.0.5", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "3.3.0", - "supports-color": "8.1.1" + "object-inspect": "^1.12.2", + "pidtree": "^0.6.0", + "string-argv": "^0.3.1", + "yaml": "^2.1.1" }, "bin": { "lint-staged": "bin/lint-staged.js" }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, "funding": { "url": "https://opencollective.com/lint-staged" } }, - "node_modules/lint-staged/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/lint-staged/node_modules/yaml": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", "dev": true, "engines": { - "node": ">=8" - } - }, - "node_modules/lint-staged/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">= 14" } }, "node_modules/listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", + "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", "dev": true, "dependencies": { "cli-truncate": "^2.1.0", @@ -8685,12 +7627,12 @@ "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", - "rxjs": "^7.5.1", + "rxjs": "^7.5.5", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=12" }, "peerDependencies": { "enquirer": ">= 2.3.0 < 3" @@ -8701,19 +7643,105 @@ } } }, - "node_modules/listr2/node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "node_modules/listr2/node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/listr2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/listr2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/listr2/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/listr2/node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/listr2/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" }, "engines": { "node": ">=10" @@ -8722,56 +7750,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -8779,26 +7778,15 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" }, - "node_modules/lodash.startswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.startswith/-/lodash.startswith-4.2.1.tgz", - "integrity": "sha1-xZjErc4YiiflMUVzHNxsDnF3YAw=" - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", "dev": true }, "node_modules/log-update": { @@ -8846,6 +7834,27 @@ "node": ">=7.0.0" } }, + "node_modules/log-update/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/log-update/node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -8863,6 +7872,20 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/log-update/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -8877,19 +7900,6 @@ "node": ">=8" } }, - "node_modules/loglevel": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", - "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -8901,15 +7911,6 @@ "loose-envify": "cli.js" } }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -8922,55 +7923,25 @@ "node": ">=10" } }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "sourcemap-codec": "^1.4.8" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, + "node_modules/match-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", + "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true, - "engines": { - "node": ">= 0.6" + "@babel/runtime": "^7.12.5", + "remove-accents": "0.4.2" } }, "node_modules/memoize-one": { @@ -8978,52 +7949,6 @@ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/memory-fs/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/memory-fs/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -9039,133 +7964,59 @@ "node": ">= 8" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } + "node_modules/microseconds": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", + "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" }, "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true, + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" } }, "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, "engines": { - "node": ">=6" - } - }, - "node_modules/mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "dependencies": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" - }, - "peerDependencies": { - "prop-types": "^15.0.0", - "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", - "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 10.13.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -9174,90 +8025,46 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "devOptional": true - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" } }, - "node_modules/moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", - "engines": { - "node": "*" - } - }, - "node_modules/mrmime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz", - "integrity": "sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "devOptional": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, + "node_modules/nano-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", + "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" + "big-integer": "^1.6.16" } }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true, - "optional": true + "node_modules/nanoclone": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" }, "node_modules/nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "dev": true, + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -9265,74 +8072,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/native-url": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", - "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==", - "dev": true, - "dependencies": { - "querystring": "^0.2.0" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, "node_modules/node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -9352,201 +8097,64 @@ } } }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "devOptional": true + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, "engines": { - "node": ">=8" - } - }, - "node_modules/nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" + "node": ">=12" }, "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { "node": ">=0.10.0" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -9556,27 +8164,15 @@ "node": ">= 0.4" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -9617,48 +8213,19 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.hasown": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", - "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", + "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", "dev": true, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.values": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", @@ -9676,85 +8243,47 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } + "node_modules/oblivious-set": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", + "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", - "dev": true, - "bin": { - "opencollective-postinstall": "index.js" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "dependencies": { - "is-wsl": "^1.1.0" + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/optionator": { @@ -9774,24 +8303,6 @@ "node": ">= 0.8.0" } }, - "node_modules/original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "dependencies": { - "url-parse": "^1.4.3" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -9808,74 +8319,39 @@ } }, "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "p-limit": "^1.1.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" + "node": ">=10" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "dependencies": { - "retry": "^0.12.0" + "aggregate-error": "^3.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -9887,7 +8363,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -9901,74 +8376,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "dev": true, - "dependencies": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -9981,41 +8405,42 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dependencies": { - "isarray": "0.0.1" - } + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/perfect-scrollbar": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz", - "integrity": "sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==" + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/phosphor-react": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/phosphor-react/-/phosphor-react-1.4.1.tgz", + "integrity": "sha512-gO5j7U0xZrdglTAYDYPACU4xDOFBTJmptrrB/GeR+tHhCZF3nUMyGmV/0hnloKjuTrOmpSFlbfOY78H39rgjUQ==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16" + } }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "devOptional": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "engines": { "node": ">=8.6" }, @@ -10023,720 +8448,60 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" + "bin": { + "pidtree": "bin/pidtree.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, + "node_modules/popmotion": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.5.tgz", + "integrity": "sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==", "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" + "framesync": "6.1.2", + "hey-listen": "^1.0.8", + "style-value-types": "5.1.2", + "tslib": "2.4.0" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, + "node_modules/popmotion/node_modules/framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "dependencies": { - "semver-compare": "^1.0.0" - } - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "tslib": "2.4.0" } }, "node_modules/postcss": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", - "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", - "dev": true, + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], "dependencies": { - "nanoid": "^3.1.30", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", - "source-map-js": "^1.0.1" + "source-map-js": "^1.0.2" }, "engines": { "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-calc": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.2.tgz", - "integrity": "sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.3.tgz", - "integrity": "sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", - "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.2.tgz", - "integrity": "sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz", - "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.4.tgz", - "integrity": "sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.0.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.2.tgz", - "integrity": "sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.4.tgz", - "integrity": "sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==", - "dev": true, - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.3.tgz", - "integrity": "sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.6", - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.1.tgz", - "integrity": "sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", - "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.2.tgz", - "integrity": "sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.2.tgz", - "integrity": "sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.2.tgz", - "integrity": "sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", - "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.2.tgz", - "integrity": "sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz", - "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==", - "dev": true, - "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.2.tgz", - "integrity": "sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.3.tgz", - "integrity": "sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==", - "dev": true, - "dependencies": { - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", - "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.2.tgz", - "integrity": "sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", - "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/postcss-svgo/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/postcss-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/postcss-svgo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-svgo/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz", - "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -10747,15 +8512,18 @@ } }, "node_modules/prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true, "bin": { "prettier": "bin-prettier.js" }, "engines": { "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, "node_modules/prettier-linter-helpers": { @@ -10770,38 +8538,24 @@ "node": ">=6.0.0" } }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "node_modules/pretty-bytes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.0.0.tgz", + "integrity": "sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==", "dev": true, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/promise": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" + "asap": "~2.0.6" } }, "node_modules/prop-types": { @@ -10814,46 +8568,20 @@ "react-is": "^16.13.1" } }, - "node_modules/prop-types-extra": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", - "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", - "dependencies": { - "react-is": "^16.3.2", - "warning": "^4.0.0" - }, - "peerDependencies": { - "react": ">=0.14.0" - } + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } + "node_modules/property-expr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "node_modules/punycode": { "version": "2.1.1", @@ -10864,44 +8592,6 @@ "node": ">=6" } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", - "dev": true, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -10922,6 +8612,14 @@ } ] }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -10931,61 +8629,51 @@ "safe-buffer": "^5.1.0" } }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", - "dev": true, - "dependencies": { - "bytes": "3.1.1", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/react-apexcharts": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-1.3.9.tgz", - "integrity": "sha512-KPonT5uQPHOHSVgTNEzpB0HhCkZtoicQYGjR9P+3DRDSgTsC+DM2vDUfo/B2Fn1m+wdgVeDXWL0VJYDc6JD/tw==", + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", "dependencies": { - "prop-types": "^15.5.7" + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-chartjs-2": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-4.3.1.tgz", + "integrity": "sha512-5i3mjP6tU7QSn0jvb8I4hudTzHJqS8l00ORJnVwI2sYu0ihpj83Lv2YzfxunfxTZkscKvZu2F2w9LkwNBhj6xA==", + "peerDependencies": { + "chart.js": "^3.5.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "dependencies": { + "@babel/runtime": "^7.12.13" }, "peerDependencies": { - "apexcharts": "^3.18.0", - "react": ">=0.13" + "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/react-country-flag": { @@ -11004,61 +8692,68 @@ "resolved": "https://registry.npmjs.org/react-csv/-/react-csv-2.2.2.tgz", "integrity": "sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw==" }, + "node_modules/react-datepicker": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.8.0.tgz", + "integrity": "sha512-u69zXGHMpxAa4LeYR83vucQoUCJQ6m/WBsSxmUMu/M8ahTSVMMyiyQzauHgZA2NUr9y0FUgOAix71hGYUb6tvg==", + "dependencies": { + "@popperjs/core": "^2.9.2", + "classnames": "^2.2.6", + "date-fns": "^2.24.0", + "prop-types": "^15.7.2", + "react-onclickoutside": "^6.12.0", + "react-popper": "^2.2.5" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17 || ^18", + "react-dom": "^16.9.0 || ^17 || ^18" + } + }, "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" + "scheduler": "^0.23.0" }, "peerDependencies": { - "react": "17.0.2" + "react": "^18.2.0" } }, - "node_modules/react-draggable": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.4.tgz", - "integrity": "sha512-6e0WdcNLwpBx/YIDpoyd2Xb04PB0elrDrulKUgdrIlwuYvxh5Ok9M+F8cljm8kPXXs43PmMzek9RrB1b7mLMqA==", - "dependencies": { - "clsx": "^1.1.1", - "prop-types": "^15.6.0" - }, - "peerDependencies": { - "react": ">= 16.3.0", - "react-dom": ">= 16.3.0" - } + "node_modules/react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" }, - "node_modules/react-flow-renderer": { - "version": "9.7.3", - "resolved": "https://registry.npmjs.org/react-flow-renderer/-/react-flow-renderer-9.7.3.tgz", - "integrity": "sha512-yMSGdZ2mtpiNsi7fGgkmMC6/q/a2LI+G4Par9zcIBWDVP5ZsujSeBpehXprPEXKtUjZTi3ToNLq0EQ5Z7/EU4Q==", + "node_modules/react-focus-lock": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.1.tgz", + "integrity": "sha512-pSWOQrUmiKLkffPO6BpMXN7SNKXMsuOakl652IBuALAu1esk+IcpJyM+ALcYzPTTFz1rD0R54aB9A4HuP5t1Wg==", "dependencies": { - "@babel/runtime": "^7.16.7", - "classcat": "^5.0.3", - "d3-selection": "^3.0.0", - "d3-zoom": "^3.0.0", - "fast-deep-equal": "^3.1.3", - "react-draggable": "^4.4.4", - "react-redux": "^7.2.6", - "redux": "^4.1.2" - }, - "engines": { - "node": ">=12" + "@babel/runtime": "^7.0.0", + "focus-lock": "^0.11.2", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" }, "peerDependencies": { - "react": "16 || 17", - "react-dom": "16 || 17" + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/react-i18next": { - "version": "11.15.3", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.15.3.tgz", - "integrity": "sha512-RSUEM4So3Tu2JHV0JsZ5Yje+4nz66YViMfPZoywxOy0xyn3L7tE2CHvJ7Y9LUsrTU7vGmZ5bwb8PpjnkatdIxg==", + "version": "11.18.6", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.6.tgz", + "integrity": "sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==", "dependencies": { "@babel/runtime": "^7.14.5", - "html-escaper": "^2.0.2", "html-parse-stringify": "^3.0.1" }, "peerDependencies": { @@ -11074,69 +8769,61 @@ } } }, - "node_modules/react-input-autosize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-3.0.0.tgz", - "integrity": "sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg==", - "dependencies": { - "prop-types": "^15.5.8" - }, - "peerDependencies": { - "react": "^16.3.0 || ^17.0.0" - } - }, "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "node_modules/react-paginate": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/react-paginate/-/react-paginate-7.1.5.tgz", - "integrity": "sha512-CpyWSwsIIsFhWAQvmXDWuEl+yzfzisgvsUoZTj2IR1mFvm9oPTmeNBFc1wg8/i6ASmETeOmOnc78/U/MXyjd0w==", - "dependencies": { - "prop-types": "^15.6.1" - }, + "node_modules/react-masonry-css": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/react-masonry-css/-/react-masonry-css-1.0.16.tgz", + "integrity": "sha512-KSW0hR2VQmltt/qAa3eXOctQDyOu7+ZBevtKgpNDSzT7k5LA/0XntNa9z9HKCdz3QlxmJHglTZ18e4sX4V8zZQ==", "peerDependencies": { - "react": "^16 || ^17" + "react": ">=16.0.0" } }, - "node_modules/react-phone-input-2": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/react-phone-input-2/-/react-phone-input-2-2.14.0.tgz", - "integrity": "sha512-gOY3jUpwO7ulryXPEdqzH7L6DPqI9RQxKfBxZbgqAwXyALGsmwLWFyi2RQwXlBLWN/EPPT4Nv6I9TESVY2YBcg==", - "dependencies": { - "classnames": "^2.2.6", - "lodash.debounce": "^4.0.8", - "lodash.memoize": "^4.1.2", - "lodash.reduce": "^4.6.0", - "lodash.startswith": "^4.2.1", - "prop-types": "^15.7.2" + "node_modules/react-onclickoutside": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz", + "integrity": "sha512-NMXGa223OnsrGVp5dJHkuKxQ4czdLmXSp5jSV9OqiCky9LOpPATn3vLldc+q5fK3gKbEHvr7J1u0yhBh/xYkpA==", + "funding": { + "type": "individual", + "url": "https://github.com/Pomax/react-onclickoutside/blob/master/FUNDING.md" }, "peerDependencies": { - "react": "^16.12.0 || ^17.0.0", - "react-dom": "^16.12.0 || ^17.0.0" + "react": "^15.5.x || ^16.x || ^17.x || ^18.x", + "react-dom": "^15.5.x || ^16.x || ^17.x || ^18.x" } }, - "node_modules/react-redux": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.6.tgz", - "integrity": "sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ==", + "node_modules/react-popper": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz", + "integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==", "dependencies": { - "@babel/runtime": "^7.15.4", - "@types/react-redux": "^7.1.20", - "hoist-non-react-statics": "^3.3.2", - "loose-envify": "^1.4.0", - "prop-types": "^15.7.2", - "react-is": "^17.0.2" + "react-fast-compare": "^3.0.1", + "warning": "^4.0.2" }, "peerDependencies": { - "react": "^16.8.3 || ^17" + "@popperjs/core": "^2.0.0", + "react": "^16.8.0 || ^17 || ^18", + "react-dom": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/react-query": { + "version": "3.39.2", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.2.tgz", + "integrity": "sha512-F6hYDKyNgDQfQOuR1Rsp3VRzJnWHx6aRnnIZHMNGGgbL3SBgpZTDg8MQwmxOgpCAoqZJA+JSNCydF1xGJqKOCA==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "broadcast-channel": "^3.4.1", + "match-sorter": "^6.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "peerDependenciesMeta": { "react-dom": { @@ -11147,103 +8834,148 @@ } } }, - "node_modules/react-redux/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, "node_modules/react-refresh": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", - "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/react-router": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz", - "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==", + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" }, "peerDependencies": { - "react": ">=15" + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.2.tgz", + "integrity": "sha512-Rb0BAX9KHhVzT1OKhMvCDMw776aTYM0DtkxqUBP8dNBom3mPXlfNs76JNGK8wKJ1IZEY1+WGj+cvZxHVk/GiKw==", + "dependencies": { + "@remix-run/router": "1.0.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" } }, "node_modules/react-router-dom": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz", - "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.2.tgz", + "integrity": "sha512-yM1kjoTkpfjgczPrcyWrp+OuQMyB1WleICiiGfstnQYo/S8hPEEnVjr/RdmlH6yKK4Tnj1UGXFSa7uwAtmDoLQ==", "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.1", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" + "@remix-run/router": "1.0.2", + "react-router": "6.4.2" + }, + "engines": { + "node": ">=14" }, "peerDependencies": { - "react": ">=15" + "react": ">=16.8", + "react-dom": ">=16.8" } }, "node_modules/react-select": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-4.3.1.tgz", - "integrity": "sha512-HBBd0dYwkF5aZk1zP81Wx5UsLIIT2lSvAY2JiJo199LjoLHoivjn9//KsmvQMEFGNhe58xyuOITjfxKCcGc62Q==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.5.2.tgz", + "integrity": "sha512-zbcxtiqXvFW2Wh+dd8zAqMY6QaqX9Ez0WlcjSXycXn1ASpKdc17LcGJj7gAJiUcHI/UVlo6wfg44hgBsUPyEBQ==", "dependencies": { "@babel/runtime": "^7.12.0", "@emotion/cache": "^11.4.0", - "@emotion/react": "^11.1.1", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", "memoize-one": "^5.0.0", "prop-types": "^15.6.0", - "react-input-autosize": "^3.0.0", - "react-transition-group": "^4.3.0" + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/react-tooltip": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-4.2.21.tgz", - "integrity": "sha512-zSLprMymBDowknr0KVDiJ05IjZn9mQhhg4PRsqln0OZtURAJ1snt1xi5daZfagsh6vfsziZrc9pErPTDY1ACig==", + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", "dependencies": { - "prop-types": "^15.7.2", - "uuid": "^7.0.3" + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" }, "engines": { - "npm": ">=6.13" + "node": ">=10" }, "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/react-tooltip/node_modules/uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/react-table": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/react-table/-/react-table-7.8.0.tgz", + "integrity": "sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.3 || ^17.0.0-0 || ^18.0.0" } }, "node_modules/react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -11255,71 +8987,23 @@ "react-dom": ">=16.6.0" } }, - "node_modules/react-widgets": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/react-widgets/-/react-widgets-5.6.0.tgz", - "integrity": "sha512-lgJRaM5MMag/2ILDFkJBu4SBag9hE0xeLF8dpAOJJDz+gVDrU/21QUwlGwe/zG8hwyezlAvvfXKZb/7wOL1PZw==", - "dependencies": { - "@restart/hooks": "^0.3.26", - "@types/classnames": "^2.2.11", - "@types/react-transition-group": "^4.4.0", - "classnames": "^2.2.6", - "date-arithmetic": "^4.0.1", - "dom-helpers": "^5.2.0", - "prop-types-extra": "^1.1.1", - "react-transition-group": "^4.4.1", - "tiny-warning": "^1.0.3", - "uncontrollable": "^7.2.1" - }, - "peerDependencies": { - "react": ">=0.16.0", - "react-dom": ">=0.16.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/recrawl-sync": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recrawl-sync/-/recrawl-sync-2.2.2.tgz", + "integrity": "sha512-E2sI4F25Fu2nrfV+KsnC7/qfk/spQIYXlonfQoS4rwxeNK5BjxnLPbWiRXHVXPwYBOTWtPX5765kTm/zJiL+LQ==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "@cush/relative": "^1.0.0", + "glob-regex": "^0.3.0", + "slash": "^3.0.0", + "tslib": "^1.9.3" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redux": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz", - "integrity": "sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==", - "dependencies": { - "@babel/runtime": "^7.9.2" - } + "node_modules/recrawl-sync/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/regenerate": { "version": "1.4.2", @@ -11328,9 +9012,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -11340,40 +9024,28 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" }, "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/regexp.prototype.flags": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", - "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -11395,15 +9067,15 @@ } }, "node_modules/regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", "dev": true, "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" }, @@ -11412,15 +9084,15 @@ } }, "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", "dev": true }, "node_modules/regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -11432,63 +9104,21 @@ "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, "bin": { "jsesc": "bin/jsesc" } }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dev": true, - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } + "node_modules/remove-accents": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", + "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "engines": { "node": ">=0.10.0" } @@ -11502,25 +9132,12 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, "node_modules/resolve": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.1.tgz", - "integrity": "sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ==", - "dev": true, + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dependencies": { - "is-core-module": "^2.8.0", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -11531,48 +9148,14 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true - }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -11586,22 +9169,28 @@ "node": ">=8" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "engines": { - "node": ">=0.12" + "node": ">=6" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">= 4" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/reusify": { @@ -11621,15 +9210,46 @@ "dev": true }, "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.78.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", + "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" } }, "node_modules/run-parallel": { @@ -11656,349 +9276,73 @@ } }, "node_modules/rxjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", - "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", "dev": true, "dependencies": { "tslib": "^2.1.0" } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "devOptional": true + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/sass": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.0.tgz", - "integrity": "sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/sass-loader": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.1.1.tgz", - "integrity": "sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA==", - "dev": true, - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 10.13.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", - "sass": "^1.3.0", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "node_modules/selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", - "dev": true, - "dependencies": { - "node-forge": "^0.10.0" + "loose-envify": "^1.1.0" } }, "node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "devOptional": true, "bin": { "semver": "bin/semver.js" } }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "node_modules/semver-regex": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", - "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "dependencies": { "randombytes": "^2.1.0" } }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -12035,25 +9379,11 @@ } }, "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "dev": true, - "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -12064,24 +9394,71 @@ } }, "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-explorer": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/source-map-explorer/-/source-map-explorer-2.5.3.tgz", + "integrity": "sha512-qfUGs7UHsOBE5p/lGfQdaAj/5U/GWYBw2imEpD6UQNkqElYonkow8t+HBL1qqIl3CuGZx7n8/CQo4x1HwSHhsg==", + "dependencies": { + "btoa": "^1.2.1", + "chalk": "^4.1.0", + "convert-source-map": "^1.7.0", + "ejs": "^3.1.5", + "escape-html": "^1.0.3", + "glob": "^7.1.6", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "open": "^7.3.1", + "source-map": "^0.7.4", + "temp": "^0.9.4", + "yargs": "^16.2.0" + }, + "bin": { + "sme": "bin/cli.js", + "source-map-explorer": "bin/cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/source-map-explorer/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -12092,11 +9469,25 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/color-convert": { + "node_modules/source-map-explorer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/source-map-explorer/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -12104,246 +9495,36 @@ "node": ">=7.0.0" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, + "node_modules/source-map-explorer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/source-map-explorer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-explorer/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-explorer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs-client": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz", - "integrity": "sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "eventsource": "^1.1.0", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://tidelift.com/funding/github/npm/sockjs-client" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "devOptional": true, - "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/source-map-js": { @@ -12354,25 +9535,11 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, + "devOptional": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -12382,212 +9549,17 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "node_modules/stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -12598,38 +9570,62 @@ } }, "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } }, "node_modules/string.prototype.matchall": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", - "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", + "regexp.prototype.flags": "^1.4.1", "side-channel": "^1.0.4" }, "funding": { @@ -12637,26 +9633,28 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12680,7 +9678,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -12691,28 +9688,31 @@ "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-json-comments": { @@ -12727,58 +9727,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", - "dev": true, + "node_modules/style-value-types": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.1.2.tgz", + "integrity": "sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==", "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/style-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "hey-listen": "^1.0.8", + "tslib": "2.4.0" } }, "node_modules/stylis": { @@ -12790,7 +9745,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "devOptional": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -12802,7 +9756,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -12810,278 +9763,85 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true - }, - "node_modules/svg.draggable.js": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", - "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", "dependencies": { - "svg.js": "^2.0.1" + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6.0.0" } }, - "node_modules/svg.easing.js": { + "node_modules/temp-dir": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", - "integrity": "sha1-iqmUawqOJ4V6XEChDrpAkeVpHxI=", - "dependencies": { - "svg.js": ">=2.3.x" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/svg.filter.js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", - "integrity": "sha1-kQCOFROJ3ZIwd5/L5uLJo2LRwgM=", - "dependencies": { - "svg.js": "^2.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/svg.js": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", - "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" - }, - "node_modules/svg.pathmorphing.js": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", - "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", - "dependencies": { - "svg.js": "^2.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/svg.resize.js": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", - "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", - "dependencies": { - "svg.js": "^2.6.5", - "svg.select.js": "^2.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/svg.resize.js/node_modules/svg.select.js": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", - "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", - "dependencies": { - "svg.js": "^2.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/svg.select.js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", - "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", - "dependencies": { - "svg.js": "^2.6.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "node_modules/svgo/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/table/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dependencies": { - "color-name": "~1.1.4" + "glob": "^7.1.3" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/table/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/tempy/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", - "dev": true, + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "devOptional": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -13095,217 +9855,47 @@ "node": ">=10" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", - "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", - "dev": true, - "dependencies": { - "jest-worker": "^27.4.1", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", - "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "devOptional": true }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "node_modules/tiny-invariant": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz", - "integrity": "sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" }, "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, - "node_modules/tippy.js": { - "version": "6.3.7", - "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", - "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", - "dependencies": { - "@popperjs/core": "^2.9.0" - } - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "devOptional": true, + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "engines": { "node": ">=4" } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -13313,38 +9903,30 @@ "node": ">=8.0" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" }, - "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/tsconfig-paths": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", - "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "dev": true, "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.1", - "minimist": "^1.2.0", + "minimist": "^1.2.6", "strip-bom": "^3.0.0" } }, @@ -13361,9 +9943,29 @@ } }, "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "node_modules/type-check": { @@ -13378,13 +9980,19 @@ "node": ">= 0.8.0" } }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, "node_modules/type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=10" }, @@ -13392,78 +10000,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ucentral-libs": { - "version": "1.0.61", - "resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-1.0.61.tgz", - "integrity": "sha512-RMUFLC6PMeh4S1MSkDXYjpQfh4yWeZX5Rm5FTRNbfYfaLKuL8CbRZjnuGPFrgABGQRWk5TITxXQASYBpmOq1dQ==", - "dependencies": { - "@coreui/coreui": "^3.4.0", - "@coreui/icons": "^2.0.1", - "@coreui/icons-react": "^1.1.0", - "@coreui/react": "^3.4.6", - "@coreui/react-chartjs": "^1.1.0", - "libphonenumber-js": "^1.9.37", - "lodash": "^4.17.21", - "react-flow-renderer": "^9.6.6", - "react-i18next": "^11.11.0", - "react-paginate": "^7.1.3", - "react-phone-input-2": "^2.14.0", - "react-router-dom": "^5.2.0", - "react-select": "^4.3.1", - "react-tooltip": "^4.2.21", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "prop-types": "^15.7.2", - "react": "^17.0.2", - "react-dom": "^17.0.2" + "node": ">=4.2.0" } }, "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", "which-boxed-primitive": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/uncontrollable": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", - "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", - "dependencies": { - "@babel/runtime": "^7.6.3", - "@types/react": ">=16.9.11", - "invariant": "^2.2.4", - "react-lifecycles-compat": "^3.0.4" - }, - "peerDependencies": { - "react": ">=15.0.0" - } - }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -13496,116 +10059,44 @@ } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "crypto-random-string": "^2.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, + "node_modules/unload": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", + "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@babel/runtime": "^7.6.2", + "detect-node": "^2.0.4" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", @@ -13616,6 +10107,31 @@ "yarn": "*" } }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -13625,141 +10141,186 @@ "punycode": "^2.1.0" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, + "node_modules/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/url/node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "tslib": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, "engines": { - "node": ">= 0.4.0" + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", "bin": { "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, + "node_modules/vite": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.8.tgz", + "integrity": "sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==", + "dependencies": { + "esbuild": "^0.15.9", + "postcss": "^8.4.16", + "resolve": "^1.22.1", + "rollup": "~2.78.0" + }, + "bin": { + "vite": "bin/vite.js" + }, "engines": { - "node": ">= 0.8" + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "less": "*", + "sass": "*", + "stylus": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-pwa": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.13.1.tgz", + "integrity": "sha512-NR3dIa+o2hzlzo4lF4Gu0cYvoMjSw2DdRc6Epw1yjmCqWaGuN86WK9JqZie4arNlE1ZuWT3CLiMdiX5wcmmUmg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "fast-glob": "^3.2.11", + "pretty-bytes": "^6.0.0", + "rollup": "^2.79.0", + "workbox-build": "^6.5.4", + "workbox-window": "^6.5.4" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0", + "workbox-build": "^6.5.4", + "workbox-window": "^6.5.4" + } + }, + "node_modules/vite-plugin-pwa/node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-3.5.1.tgz", + "integrity": "sha512-t7cPvDMDxOCUxxNLqngXiX+L6jPYBr+eMgkeVadknxBb89d2s1aejz+wFEep010VfXjGVAUWGEFPe1fkRYTFvg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "recrawl-sync": "^2.0.3", + "tsconfig-paths": "^4.0.0" + }, + "peerDependencies": { + "vite": ">2.0.0-0" + } + }, + "node_modules/vite-tsconfig-paths/node_modules/tsconfig-paths": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.1.0.tgz", + "integrity": "sha512-AHx4Euop/dXFC+Vx589alFba8QItjF+8hf8LtmuiCwHyI4rHXQtOOENaM8kvYf5fR0dRChy3wzWIZ9WbB7FWow==", + "dev": true, + "dependencies": { + "json5": "^2.2.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/void-elements": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", "engines": { "node": ">=0.10.0" } @@ -13772,918 +10333,20 @@ "loose-envify": "^1.0.0" } }, - "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, - "node_modules/webpack": { - "version": "5.66.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", - "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz", - "integrity": "sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==", - "dev": true, - "dependencies": { - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dev": true, - "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", - "dev": true, - "dependencies": { - "ansi-html-community": "0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 6.11.5" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", - "dev": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/webpack-dev-server/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-server/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/webpack-dev-server/node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-dev-server/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "dependencies": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-log/node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-log/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } + "node_modules/whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -14720,24 +10383,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", - "dev": true - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -14747,11 +10392,290 @@ "node": ">=0.10.0" } }, + "node_modules/workbox-background-sync": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-build": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "dev": true, + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dev": true, + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/workbox-build/node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-core": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==", + "dev": true + }, + "node_modules/workbox-expiration": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "dev": true, + "dependencies": { + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-precaching": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-recipes": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "dev": true, + "dependencies": { + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-routing": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-strategies": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-streams": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" + } + }, + "node_modules/workbox-sw": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==", + "dev": true + }, + "node_modules/workbox-window": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.4" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -14768,7 +10692,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -14783,7 +10706,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -14791,38 +10713,49 @@ "node": ">=7.0.0" } }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } }, "node_modules/yallist": { "version": "4.0.0", @@ -14834,157 +10767,59 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, "engines": { "node": ">= 6" } }, "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs-parser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=10" } }, "node_modules/yargs/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/yocto-queue": { @@ -14998,124 +10833,178 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/yup": { + "version": "0.32.11", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz", + "integrity": "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@types/lodash": "^4.14.175", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "nanoclone": "^0.2.1", + "property-expr": "^2.0.4", + "toposort": "^2.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/zustand": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.2.tgz", + "integrity": "sha512-gcRaKchcxFPbImrBb/BKgujOhHhik9YhVpIeP87ETT7uokEe2Szu7KkuZ9ghjtD+/KKkcrRNktR2AiLXPIbKIQ==", + "dependencies": { + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "immer": ">=9.0", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } } }, "dependencies": { - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "devOptional": true, + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "requires": { - "@babel/highlight": "^7.16.7" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", - "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", - "devOptional": true + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", + "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==" }, "@babel/core": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz", - "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==", - "devOptional": true, + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.10", - "@babel/types": "^7.16.8", + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "json5": "^2.2.1", + "semver": "^6.3.0" } }, "@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", - "devOptional": true, + "version": "7.19.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", + "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", "requires": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.19.4", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, "@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" } }, "@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", - "devOptional": true, + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz", - "integrity": "sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", - "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^4.7.1" + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", @@ -15123,380 +11012,361 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "devOptional": true, - "requires": { - "@babel/types": "^7.16.7" - } + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" }, "@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "devOptional": true, + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "requires": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "devOptional": true, - "requires": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.9" } }, "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-transforms": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", - "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", - "devOptional": true, + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" } }, "@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "dev": true + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" } }, "@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" } }, "@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", + "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.19.4" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.18.9" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "devOptional": true + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" }, "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "devOptional": true + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" }, "@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" } }, "@babel/helpers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", - "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", + "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.4", + "@babel/types": "^7.19.4" } }, "@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "devOptional": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.10.tgz", - "integrity": "sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ==", - "devOptional": true + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", + "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", - "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", - "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", - "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", - "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", + "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.19.4", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" + "@babel/plugin-transform-parameters": "^7.18.8" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", - "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.10", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-syntax-async-generators": { @@ -15544,6 +11414,15 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -15554,12 +11433,11 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", - "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", - "dev": true, + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -15635,425 +11513,395 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", + "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-destructuring": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", - "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", + "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", - "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" } }, "@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.7.tgz", - "integrity": "sha512-lF+cfsyTgwWkcw715J88JhMYJ5GpysYNLhLP1PkvkhTRN7B3e74R/1KsDxFxhRpSn0UUD3IWM4GvdBR2PEbbQQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", - "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz", - "integrity": "sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-jsx": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz", - "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", "dev": true, "requires": { - "@babel/plugin-transform-react-jsx": "^7.16.7" + "@babel/plugin-transform-react-jsx": "^7.18.6" } }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz", - "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==", + "@babel/plugin-transform-react-jsx-self": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", + "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz", + "integrity": "sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", "dev": true, "requires": { - "regenerator-transform": "^0.14.2" + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", - "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "semver": "^6.3.0" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/polyfill": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", - "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", - "dev": true, - "requires": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.4" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", + "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/compat-data": "^7.19.4", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.19.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.18.6", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -16063,44 +11911,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.19.4", + "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.19.4", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "@babel/types": "^7.19.4", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" } }, @@ -16117,259 +11965,1043 @@ "esutils": "^2.0.2" } }, - "@babel/preset-react": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz", - "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-react-display-name": "^7.16.7", - "@babel/plugin-transform-react-jsx": "^7.16.7", - "@babel/plugin-transform-react-jsx-development": "^7.16.7", - "@babel/plugin-transform-react-pure-annotations": "^7.16.7" - } - }, "@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz", - "integrity": "sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz", + "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==", "dev": true, - "peer": true, "requires": { - "core-js-pure": "^3.20.2", + "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "devOptional": true, + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" } }, "@babel/traverse": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz", - "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", + "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/types": "^7.16.8", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.4", + "@babel/types": "^7.19.4", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", - "devOptional": true, + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", + "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, - "@coreui/chartjs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@coreui/chartjs/-/chartjs-2.0.0.tgz", - "integrity": "sha512-degpSo1MqSWomkNwuXk2VQijEENqkaufEGI/i6/3ClVQNZQIWB5NG6QWA/aCTXt9Y/3tVfnuTzDC4YHw7E+Brg==", + "@chakra-ui/accordion": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.2.tgz", + "integrity": "sha512-Jf7A6I0eIGk34zO5TiTW8orJOFQb5A/D1ekNYbaukNccoUPKJg/xdQ/b00oIR6LT93nJxggkoP/vszfmmTHuFg==", "requires": { - "@coreui/coreui": "^3.0.0-beta.1", - "chart.js": "^2.8.0" + "@chakra-ui/descendant": "3.0.10", + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/transition": "2.0.11" } }, - "@coreui/coreui": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@coreui/coreui/-/coreui-3.4.0.tgz", - "integrity": "sha512-WqzockdWVkXUNmNwlqdu+AxM+9JoiWGe4rKaySu/dZme1NvVOn2ukjJlpTkssal8UKcSHyitzNixtkMCmUxE1A==", + "@chakra-ui/alert": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.0.11.tgz", + "integrity": "sha512-n40KHU3j1H6EbIdgptjEad92V7Fpv7YD++ZBjy2g1h4w9ay9nw4kGHib3gaIkBupLf52CfLqySEc8w0taoIlXQ==", + "requires": { + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/spinner": "2.0.10" + } + }, + "@chakra-ui/anatomy": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.0.7.tgz", + "integrity": "sha512-vzcB2gcsGCxhrKbldQQV6LnBPys4eSSsH2UA2mLsT+J3WlXw0aodZw0eE/nH7yLxe4zaQ4Gnc0KjkFW4EWNKSg==" + }, + "@chakra-ui/avatar": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.2.0.tgz", + "integrity": "sha512-mpAkfr/JG+BNBw2WvU55CSRFYKeFBUyAQAu3YulznLzi2U3e7k3IA0J8ofbrDYlSH/9KqkDuuSrxqGZgct+Nug==", + "requires": { + "@chakra-ui/image": "2.0.11", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4" + } + }, + "@chakra-ui/breadcrumb": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.1.0.tgz", + "integrity": "sha512-khBR579SLDEo6Wuo3tETRY6m0yJD/WCvSR7Res2g1B6OJgc9OQGM7yIMu4OdLUTwfXsCnlHTDoSQPUxFOVAMIQ==", + "requires": { + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4" + } + }, + "@chakra-ui/breakpoint-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.4.tgz", + "integrity": "sha512-SUUEYnA/FCIKYDHMuEXcnBMwet+6RAAjQ+CqGD1hlwKPTfh7EK9fS8FoVAJa9KpRKAc/AawzPkgwvorzPj8NSg==" + }, + "@chakra-ui/button": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.0.11.tgz", + "integrity": "sha512-J6iMRITqxTxa0JexHUY9c7BXUrTZtSkl3jZ2hxiFybB4MQL8J2wZ24O846B6M+WTYqy7XVuHRuVURnH4czWesw==", + "requires": { + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/spinner": "2.0.10" + } + }, + "@chakra-ui/checkbox": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.2.2.tgz", + "integrity": "sha512-Y6Zbkkk5VNoe0RzqU6F+rKlFVPlubz1KIgYcb7CCNHGOM97dLtRm78eAvJ+7Xmpitr+7zZ4hJLLjfAz+e1X7rA==", + "requires": { + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-callback-ref": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2", + "@chakra-ui/react-use-update-effect": "2.0.4", + "@chakra-ui/visually-hidden": "2.0.11", + "@zag-js/focus-visible": "0.1.0" + } + }, + "@chakra-ui/clickable": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.0.10.tgz", + "integrity": "sha512-G6JdR6yAMlXpfjOJ70W2FL7aUwNuomiMFtkneeTpk7Q42bJ5iGHfYlbZEx5nJd8iB+UluXVM4xlhMv2MyytjGw==", + "requires": { + "@chakra-ui/react-use-merge-refs": "2.0.4" + } + }, + "@chakra-ui/close-button": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.0.11.tgz", + "integrity": "sha512-9WF/nwwK9BldS89WQ5PtXK2nFS4r8QOgKls2BOwXfE+rGmOUZtOsu8ne/drXRjgkiBRETR6CxdyUjm7EPzXllw==", + "requires": { + "@chakra-ui/icon": "3.0.11" + } + }, + "@chakra-ui/color-mode": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.1.9.tgz", + "integrity": "sha512-0kx0I+AQon8oS23/X+qMtnhsv/1BUulyJvU56p3Uh8CRaBfgJ7Ly9CerShoUL+5kadu6hN1M9oty4cugaCwv2w==", + "requires": { + "@chakra-ui/react-use-safe-layout-effect": "2.0.2" + } + }, + "@chakra-ui/control-box": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.0.10.tgz", + "integrity": "sha512-sHmZanFLEv4IDATl19ZTxq8Bi8PtjfvnsN6xF4k7JGSYUnk1YXUf1coyW7WKdcsczOASrMikfsLc3iEVAzx4Ng==", "requires": {} }, - "@coreui/icons": { + "@chakra-ui/counter": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.0.10.tgz", + "integrity": "sha512-MZK8UKUZp4nFMd+GlV/cq0NIARS7UdlubTuCx+wockw9j2JI5OHzsyK0XiWuJiq5psegSTzpbtT99QfAUm3Yiw==", + "requires": { + "@chakra-ui/number-utils": "2.0.4", + "@chakra-ui/react-use-callback-ref": "2.0.4" + } + }, + "@chakra-ui/css-reset": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.0.8.tgz", + "integrity": "sha512-VuDD1rk1pFc+dItk4yUcstyoC9D2B35hatHDBtlPMqTczFAzpbgVJJYgEHANatXGfulM5SdckmYEIJ3Tac1Rtg==", + "requires": {} + }, + "@chakra-ui/descendant": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.10.tgz", + "integrity": "sha512-MHH0Qdm0fGllGP2xgx4WOycmrpctyyEdGw6zxcfs2VqZNlrwmjG3Yb9eVY+Q7UmEv5rwAq6qRn7BhQxgSPn3Cg==", + "requires": { + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-merge-refs": "2.0.4" + } + }, + "@chakra-ui/dom-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.0.3.tgz", + "integrity": "sha512-aeGlRmTxcv0cvW44DyeZHru1i68ZDQsXpfX2dnG1I1yBlT6GlVx1xYjCULis9mjhgvd2O3NfcYPRTkjNWTDUbA==" + }, + "@chakra-ui/editable": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-2.0.13.tgz", + "integrity": "sha512-GM3n8t3/TOFFcDOWF/tuKsnqn66isZLsU+FkMRY2o0E8XjLBGjCKuXInPW5SRBqhje7EHC+kwViLE780PfwXbw==", + "requires": { + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-callback-ref": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-focus-on-pointer-down": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2", + "@chakra-ui/react-use-update-effect": "2.0.4", + "@chakra-ui/shared-utils": "2.0.2" + } + }, + "@chakra-ui/event-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.5.tgz", + "integrity": "sha512-VXoOAIsM0PFKDlhm+EZxkWlUXd5UFTb/LTux3y3A+S9G5fDxLRvpiLWByPUgTFTCDFcgTCF+YnQtdWJB4DLyxg==" + }, + "@chakra-ui/focus-lock": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.0.12.tgz", + "integrity": "sha512-NvIP59A11ZNbxXZ3qwxSiQ5npjABkpSbTIjK0uZ9bZm5LMfepRnuuA19VsVlq31/BYV9nHFAy6xzIuG+Qf9xMA==", + "requires": { + "@chakra-ui/dom-utils": "2.0.3", + "react-focus-lock": "^2.9.1" + } + }, + "@chakra-ui/form-control": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.0.11.tgz", + "integrity": "sha512-MVhIe0xY4Zn06IXRXFmS9tCa93snppK1SdUQb1P99Ipo424RrL5ykzLnJ8CAkQrhoVP3sxF7z3eOSzk8/iRfow==", + "requires": { + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4" + } + }, + "@chakra-ui/hooks": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@coreui/icons/-/icons-2.1.0.tgz", - "integrity": "sha512-3yY9J0088TSY403jwJeP5YERH3RLOvxdhOa4VIQsGOX4fuQZiyVUM+vwlzyCSpgAv9NwKPkCor+gc+JJaYf0TA==" - }, - "@coreui/icons-react": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@coreui/icons-react/-/icons-react-1.1.0.tgz", - "integrity": "sha512-OXDg09RsxlK5t6WizudsJUxgzJSAHeytwVG1hqn2ww5zIrJn5++5rNTp95N/kff4/er4f7jspwJ1/7n6mQAz2Q==", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.1.0.tgz", + "integrity": "sha512-4H6BDITq/YrStW99LXurgPkcz4qHSVy9V/QWXCvt1pCuiDTqNztiW4r508H3ApAOsL9NEbyXcM/zWYD7r5VDjA==", "requires": { - "classnames": "^2.2.6", - "prop-types": "^15.7.2" + "@chakra-ui/react-utils": "2.0.8", + "@chakra-ui/utils": "2.0.11", + "compute-scroll-into-view": "1.0.14", + "copy-to-clipboard": "3.3.1" } }, - "@coreui/react": { - "version": "3.4.6", - "resolved": "https://registry.npmjs.org/@coreui/react/-/react-3.4.6.tgz", - "integrity": "sha512-qu9/2kDNb24jXMaoGolOM5Jp9+wdweVWPJFixnAOMCobhUt0TNHa9yJakCfr7mopMV8teYvWBjBhl5I2er1/xw==", + "@chakra-ui/icon": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.0.11.tgz", + "integrity": "sha512-RG4jf/XmBdaxOYI5J5QstEtTCPoVlmrQ/XiWhvN0LTgAnmZIqVwFl3Uw+satArdStHAs0GmJZg/E/soFTWuFmw==", "requires": { - "@babel/runtime": "^7.13.10", - "@coreui/icons": "^2.0.0-rc.0", - "@coreui/icons-react": "^1.1.0", - "@coreui/utils": "~1.3.1", - "@popperjs/core": "^2.9.1", - "classnames": "~2.2.6", - "core-js": "^3.9.1", - "perfect-scrollbar": "~1.5.0", - "prop-types": "~15.7.2", - "react-transition-group": "~4.4.1", - "tippy.js": "^6.3.1" - }, - "dependencies": { - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "core-js": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", - "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==" - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - } + "@chakra-ui/shared-utils": "2.0.2" } }, - "@coreui/react-chartjs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@coreui/react-chartjs/-/react-chartjs-1.1.0.tgz", - "integrity": "sha512-xa925PmaBeh+2x+AY/macovW7KOe4W+VaxNcLKndY10GFSsEjryCrY7s9QXiIUqoQJQMXMeiXMbSoTuhIJ/aEA==", + "@chakra-ui/icons": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/icons/-/icons-2.0.11.tgz", + "integrity": "sha512-WjxrFMt9hHpuZlnBh4fhtGOkIVlwYwHNmwq4sJGxYWlg8UnEhVJMoOojheJDy/d3Gp9+ApetlK3vt8fV/rZamg==", "requires": { - "@coreui/chartjs": "^2.0.0", - "@types/chart.js": "^2.9.31", - "chart.js": "^2.9.4", - "classnames": "^2.2.6", - "prop-types": "^15.7.2" + "@chakra-ui/icon": "3.0.11" } }, - "@coreui/utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@coreui/utils/-/utils-1.3.1.tgz", - "integrity": "sha512-WuWHX7bg89cJH34TWVsLe9RsxzBhTApj+X2Ja19xhjcpxt5Gv11Ozm+fwYt6DD7DgncTvpwYrMcnNlpp701UOg==" + "@chakra-ui/image": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.0.11.tgz", + "integrity": "sha512-S6NqAprPcbHnck/J+2wg06r9SSol62v5A01O8Kke2PnAyjalMcS+6P59lDRO7wvPqsdxq4PPbSTZP6Dww2CvcA==", + "requires": { + "@chakra-ui/react-use-safe-layout-effect": "2.0.2" + } }, - "@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", + "@chakra-ui/input": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.0.12.tgz", + "integrity": "sha512-lJ5necu+Wt698HdCTC7L/ErA2nNVJAra7+knPe0qMR+AizGEL7LKCV/bdQe7eggjvKsDGD4alJIEczUvm3JVUQ==", + "requires": { + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/object-utils": "2.0.4", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/shared-utils": "2.0.2" + } + }, + "@chakra-ui/layout": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.1.9.tgz", + "integrity": "sha512-ztsavtirtdtjxdqIkGR6fVcrffHp6hs1twRFO/dK14FGXrX3Nn9mi3J1fr1ITBHJq6y5B3yFEj0LHN2fO8dYyw==", + "requires": { + "@chakra-ui/breakpoint-utils": "2.0.4", + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/object-utils": "2.0.4", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/shared-utils": "2.0.2" + } + }, + "@chakra-ui/lazy-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.2.tgz", + "integrity": "sha512-MTxutBJZvqNNqrrS0722cI7qrnGu0yUQpIebmTxYwI+F3cOnPEKf5Ni+hrA8hKcw4XJhSY4npAPPYu1zJbOV4w==" + }, + "@chakra-ui/live-region": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.0.10.tgz", + "integrity": "sha512-eQ2ZIreR/plzi/KGszDYTi1TvIyGEBcPiWP52BQOS7xwpzb1vsoR1FgFAIELxAGJvKnMUs+9qVogfyRBX8PdOg==", + "requires": {} + }, + "@chakra-ui/media-query": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.2.7.tgz", + "integrity": "sha512-hbgm6JCe0kYU3PAhxASYYDopFQI26cW9kZnbp+5tRL1fykkVWNMPwoGC8FEZPur9JjXp7aoL6H4Jk7nrxY/XWw==", + "requires": { + "@chakra-ui/breakpoint-utils": "2.0.4", + "@chakra-ui/react-env": "2.0.10" + } + }, + "@chakra-ui/menu": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.1.2.tgz", + "integrity": "sha512-6Z7ecXjp6BtZ1ExbFggfxsAj1hwtcathXekmCTxHpXOD+BdjAC/13+oLclwXeuBO85aoTmQrQ2ovfTkO31bzRQ==", + "requires": { + "@chakra-ui/clickable": "2.0.10", + "@chakra-ui/descendant": "3.0.10", + "@chakra-ui/lazy-utils": "2.0.2", + "@chakra-ui/popper": "3.0.8", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-animation-state": "2.0.5", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-disclosure": "2.0.5", + "@chakra-ui/react-use-focus-effect": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-outside-click": "2.0.4", + "@chakra-ui/react-use-update-effect": "2.0.4", + "@chakra-ui/transition": "2.0.11" + } + }, + "@chakra-ui/modal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.2.2.tgz", + "integrity": "sha512-cCYuqLZO4QqFUI1H+uEqixDk6UiCP3yC+sxkhFTXHIApSG9Z44v5np7BVTd6LKdmAN8pAWcc8Oxf14RvD6LWLw==", + "requires": { + "@chakra-ui/close-button": "2.0.11", + "@chakra-ui/focus-lock": "2.0.12", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/transition": "2.0.11", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "^2.5.4" + } + }, + "@chakra-ui/number-input": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.0.12.tgz", + "integrity": "sha512-3owLjl01sCYpTd3xbq//fJo9QJ0Q3PVYSx9JeOzlXnnTW8ws+yHPrqQzPe7G+tO4yOYynWuUT+NJ9oyCeAJIxA==", + "requires": { + "@chakra-ui/counter": "2.0.10", + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-callback-ref": "2.0.4", + "@chakra-ui/react-use-event-listener": "2.0.4", + "@chakra-ui/react-use-interval": "2.0.2", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2", + "@chakra-ui/react-use-update-effect": "2.0.4" + } + }, + "@chakra-ui/number-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.4.tgz", + "integrity": "sha512-MdYd29GboBoKaXY9jhbY0Wl+0NxG1t/fa32ZSIbU6VrfMsZuAMl4NEJsz7Xvhy50fummLdKn5J6HFS7o5iyIgw==" + }, + "@chakra-ui/object-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.0.4.tgz", + "integrity": "sha512-sY98L4v2wcjpwRX8GCXqT+WzpL0i5FHVxT1Okxw0360T2tGnZt7toAwpMfIOR3dzkemP9LfXMCyBmWR5Hi2zpQ==" + }, + "@chakra-ui/pin-input": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.0.15.tgz", + "integrity": "sha512-Ha8siSZm9gyjHHBK8ejwhKT6+75U12I/hNiYFvl2JHhc+Uh8tdi7+N+9SILO5vqbIv9kb+WGitvZ67I0cHjSfw==", + "requires": { + "@chakra-ui/descendant": "3.0.10", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4" + } + }, + "@chakra-ui/popover": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.1.1.tgz", + "integrity": "sha512-j09NsesfT+eaYITkITYJXDlRcPoOeQUM80neJZKOBgul2iHkVsEoii8dwS5Ip5ONeu4ane1b6zEOlYvYj2SrkA==", + "requires": { + "@chakra-ui/close-button": "2.0.11", + "@chakra-ui/lazy-utils": "2.0.2", + "@chakra-ui/popper": "3.0.8", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-animation-state": "2.0.5", + "@chakra-ui/react-use-disclosure": "2.0.5", + "@chakra-ui/react-use-focus-effect": "2.0.5", + "@chakra-ui/react-use-focus-on-pointer-down": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4" + } + }, + "@chakra-ui/popper": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.0.8.tgz", + "integrity": "sha512-246eUwuCRsLpTPxn5T8D8T9/6ODqmmz6pRRJAjGnLlUB0gNHgjisBn0UDBic5Gbxcg0sqKvxOMY3uurbW5lXTA==", + "requires": { + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@popperjs/core": "^2.9.3" + } + }, + "@chakra-ui/portal": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.0.10.tgz", + "integrity": "sha512-VRYvVAggIuqIZ3IQ6XZ1b5ujjjOUgPk9PPdc9jssUngZa7RG+5NXNhgoM8a5TsXv6aPEolBOlDNWuxzRQ4RSSg==", + "requires": { + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2" + } + }, + "@chakra-ui/progress": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.0.12.tgz", + "integrity": "sha512-9qtZimZosTliI7siAZkLeCVdCpXCTxmSETCudHcCUsC+FtcFacmA65+We8qij1nOIqmsbm+NYU6PP89TU2n4Hg==", + "requires": { + "@chakra-ui/react-context": "2.0.4" + } + }, + "@chakra-ui/provider": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.0.20.tgz", + "integrity": "sha512-mNNfsgm05G4x1VzvHVR9+PNEiuxNnn9xUKDuEwoaO7+IHCMzCRMtPbSJjwmv0xvHUGB9+JChjPpZI5RuHQziJQ==", + "requires": { + "@chakra-ui/css-reset": "2.0.8", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/react-env": "2.0.10", + "@chakra-ui/system": "2.3.0", + "@chakra-ui/utils": "2.0.11" + } + }, + "@chakra-ui/radio": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.0.12.tgz", + "integrity": "sha512-871hqAGQaufxyUzPP3aautPBIRZQmpi3fw5XPZ6SbY62dV61M4sjcttd46HfCf5SrAonoOADFQLMGQafznjhaA==", + "requires": { + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@zag-js/focus-visible": "0.1.0" + } + }, + "@chakra-ui/react": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.3.6.tgz", + "integrity": "sha512-xo43UU+yMqRGHZLU4fSgzojeRl5stlIfT+GLbT9CUVEm0HMJCt2m8RsNPBvGOMzANdC+bzwSiOm+MNzQBi9IBQ==", + "requires": { + "@chakra-ui/accordion": "2.1.2", + "@chakra-ui/alert": "2.0.11", + "@chakra-ui/avatar": "2.2.0", + "@chakra-ui/breadcrumb": "2.1.0", + "@chakra-ui/button": "2.0.11", + "@chakra-ui/checkbox": "2.2.2", + "@chakra-ui/close-button": "2.0.11", + "@chakra-ui/control-box": "2.0.10", + "@chakra-ui/counter": "2.0.10", + "@chakra-ui/css-reset": "2.0.8", + "@chakra-ui/editable": "2.0.13", + "@chakra-ui/form-control": "2.0.11", + "@chakra-ui/hooks": "2.1.0", + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/image": "2.0.11", + "@chakra-ui/input": "2.0.12", + "@chakra-ui/layout": "2.1.9", + "@chakra-ui/live-region": "2.0.10", + "@chakra-ui/media-query": "3.2.7", + "@chakra-ui/menu": "2.1.2", + "@chakra-ui/modal": "2.2.2", + "@chakra-ui/number-input": "2.0.12", + "@chakra-ui/pin-input": "2.0.15", + "@chakra-ui/popover": "2.1.1", + "@chakra-ui/popper": "3.0.8", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/progress": "2.0.12", + "@chakra-ui/provider": "2.0.20", + "@chakra-ui/radio": "2.0.12", + "@chakra-ui/react-env": "2.0.10", + "@chakra-ui/select": "2.0.12", + "@chakra-ui/skeleton": "2.0.17", + "@chakra-ui/slider": "2.0.12", + "@chakra-ui/spinner": "2.0.10", + "@chakra-ui/stat": "2.0.11", + "@chakra-ui/styled-system": "2.3.4", + "@chakra-ui/switch": "2.0.14", + "@chakra-ui/system": "2.3.0", + "@chakra-ui/table": "2.0.11", + "@chakra-ui/tabs": "2.1.4", + "@chakra-ui/tag": "2.0.11", + "@chakra-ui/textarea": "2.0.12", + "@chakra-ui/theme": "2.1.14", + "@chakra-ui/theme-utils": "2.0.1", + "@chakra-ui/toast": "4.0.0", + "@chakra-ui/tooltip": "2.2.0", + "@chakra-ui/transition": "2.0.11", + "@chakra-ui/utils": "2.0.11", + "@chakra-ui/visually-hidden": "2.0.11" + } + }, + "@chakra-ui/react-children-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.3.tgz", + "integrity": "sha512-tPQjLEEuAw/DYLRw0cNs/g8tcdhZ3r21Sr9dTAzoyvfk0vbZ24gCXRElltW2GZLiFA63mAidzhPmc+yQF3Wtgg==", + "requires": {} + }, + "@chakra-ui/react-context": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.0.4.tgz", + "integrity": "sha512-eBITFkf7fLSiMZrSdhweK4fYr41WUNMEeIEOP2dCWolE7WgKxNYaYleC+iRGY0GeXkFM2KYywUtixjJe29NuVA==", + "requires": {} + }, + "@chakra-ui/react-env": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-2.0.10.tgz", + "integrity": "sha512-3Yab5EbFcCGYzEsoijy4eA3354Z/JoXyk9chYIuW7Uwd+K6g/R8C0mUSAHeTmfp6Fix9kzDgerO5MWNM87b8cA==", + "requires": {} + }, + "@chakra-ui/react-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.3.tgz", + "integrity": "sha512-1mJYOQldFTALE0Wr3j6tk/MYvgQIp6CKkJulNzZrI8QN+ox/bJOh8OVP4vhwqvfigdLTui0g0k8M9h+j2ub/Mw==", + "requires": {} + }, + "@chakra-ui/react-use-animation-state": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.5.tgz", + "integrity": "sha512-8gZIqZpMS5yTGlC+IqYoSrV13joiAYoeI0YR2t68WuDagcZ459OrjE57+gF04NLxfdV7eUgwqnpuv7IOLbJX/A==", + "requires": { + "@chakra-ui/dom-utils": "2.0.3", + "@chakra-ui/react-use-event-listener": "2.0.4" + } + }, + "@chakra-ui/react-use-callback-ref": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.4.tgz", + "integrity": "sha512-he7EQfwMA4mwiDDKvX7cHIJaboCqf7UD3KYHGUcIjsF4dSc2Y8X5Ze4w+hmVZoJWIe4DWUzb3ili2SUm8eTgPg==", + "requires": {} + }, + "@chakra-ui/react-use-controllable-state": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.5.tgz", + "integrity": "sha512-JrZZpMX24CUyfDuyqDczw9Z9IMvjH8ujETHK0Zu4M0SIsX/q4EqOwwngUFL03I2gx/O38HfSdeX8hMu4zbTAGA==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + } + }, + "@chakra-ui/react-use-disclosure": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.5.tgz", + "integrity": "sha512-kPLB9oxImASRhAbKfvfc03/lbAJbsXndEVRzd+nvvL+QZm2RRfnel3k6OIkWvGFOXXYOPE2+slLe8ZPwbTGg9g==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + } + }, + "@chakra-ui/react-use-event-listener": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.4.tgz", + "integrity": "sha512-VqmalfKWMO8D21XuZO19WUtcP5xhbHXKzkggApTChZUN02UC5TC4pe0pYbDygoeUuNBhY+9lJKHeS08vYsljRg==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + } + }, + "@chakra-ui/react-use-focus-effect": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.5.tgz", + "integrity": "sha512-sbe1QnsXXfjukM+laxbKnT0UnMpHe/7kTzEPG/BYM6/ZDUUmrC1Nz+8l+3H/52iWIaruikDBdif/Xd37Yvu3Kg==", + "requires": { + "@chakra-ui/dom-utils": "2.0.3", + "@chakra-ui/react-use-event-listener": "2.0.4", + "@chakra-ui/react-use-update-effect": "2.0.4" + } + }, + "@chakra-ui/react-use-focus-on-pointer-down": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.3.tgz", + "integrity": "sha512-8cKmpv26JnblexNaekWxEDI7M+MZnJcp1PJUz6lByjfQ1m4YjFr1cdbdhG4moaqzzYs7vTmO/qL8KVq8ZLUwyQ==", + "requires": { + "@chakra-ui/react-use-event-listener": "2.0.4" + } + }, + "@chakra-ui/react-use-interval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.0.2.tgz", + "integrity": "sha512-5U1c0pEB5n0Yri0E4RdFXWx2RVBZBBhD8Uu49dM33jkIguCbIPmZ+YgVry5DDzCHyz4RgDg4yZKOPK0PI8lEUg==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + } + }, + "@chakra-ui/react-use-latest-ref": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.2.tgz", + "integrity": "sha512-Ra/NMV+DSQ3n0AdKsyIqdgnFzls5UntabtIRfDXLrqmJ4tI0a1tDdop2qop0Ue87AcqD9P1KtQue4KPx7wCElw==", + "requires": {} + }, + "@chakra-ui/react-use-merge-refs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.4.tgz", + "integrity": "sha512-aoWvtE5tDQNaLCiNUI6WV+MA2zVcCLR5mHSCISmowlTXyXOqOU5Fo9ZoUftzrmgCJpDu5x1jfUOivxuHUueb0g==", + "requires": {} + }, + "@chakra-ui/react-use-outside-click": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.0.4.tgz", + "integrity": "sha512-uerJKS8dqg2kHs1xozA5vcCqW0UInuwrfCPb+rDWBTpu7aEqxABMw9W3e4gfOABrAjhKz2I0a/bu2i8zbVwdLw==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + } + }, + "@chakra-ui/react-use-pan-event": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.5.tgz", + "integrity": "sha512-nhE3b85++EEmBD2v6m46TLoA4LehSCZ349P8kvEjw/RC0K6XDOZndaBucIeAlnpEENSSUpczFfMSOLxSHdu0oA==", + "requires": { + "@chakra-ui/event-utils": "2.0.5", + "@chakra-ui/react-use-latest-ref": "2.0.2", + "framesync": "5.3.0" + } + }, + "@chakra-ui/react-use-previous": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.0.2.tgz", + "integrity": "sha512-ap/teLRPKopaHYD80fnf0TR/NpTWHJO5VdKg6sPyF1y5ediYLAzPT1G2OqMCj4QfJsYDctioT142URDYe0Nn7w==", + "requires": {} + }, + "@chakra-ui/react-use-safe-layout-effect": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.2.tgz", + "integrity": "sha512-gl5HDq9RVeDJiT8udtpx12KRV8JPLJHDIUX8f/yZcKpXow0C7FFGg5Yy5I9397NQog5ZjKMuOg+AUq9TLJxsyQ==", + "requires": {} + }, + "@chakra-ui/react-use-size": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.0.4.tgz", + "integrity": "sha512-W6rgTLuoSC4ovZtqYco8cG+yBadH3bhlg92T5lgpKDakSDr0mXcZdbGx6g0AOkgxXm0V1jWNGO1743wudtF7ew==", + "requires": { + "@zag-js/element-size": "0.1.0" + } + }, + "@chakra-ui/react-use-timeout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.2.tgz", + "integrity": "sha512-n6zb3OmxtDmRMxYkDgILqKh15aDOa8jNLHBlqHzmlL6mEGNKmMFPW9j/KvpAqSgKjUTDRnnXcpneprTMKy/yrw==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.4" + } + }, + "@chakra-ui/react-use-update-effect": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.4.tgz", + "integrity": "sha512-F/I9LVnGAQyvww+x7tQb47wCwjhMYjpxtM1dTg1U3oCEXY0yF1Ts3NJLUAlsr3nAW6epJIwWx61niC7KWpam1w==", + "requires": {} + }, + "@chakra-ui/react-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.8.tgz", + "integrity": "sha512-OSHHBKZlJWTi2NZcPnBx1PyZvLQY+n5RPBtcri7/89EDdAwz2NdEhp2Dz1yQRctOSCF1kB/rnCYDP1U0oRk9RQ==", + "requires": { + "@chakra-ui/utils": "2.0.11" + } + }, + "@chakra-ui/select": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.0.12.tgz", + "integrity": "sha512-NCDMb0w48GYCHmazVSQ7/ysEpbnri+Up6n+v7yytf6g43TPRkikvK5CsVgLnAEj0lIdCJhWXTcZer5wG5KOEgA==", + "requires": { + "@chakra-ui/form-control": "2.0.11" + } + }, + "@chakra-ui/shared-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.2.tgz", + "integrity": "sha512-wC58Fh6wCnFFQyiebVZ0NI7PFW9+Vch0QE6qN7iR+bLseOzQY9miYuzPJ1kMYiFd6QTOmPJkI39M3wHqrPYiOg==" + }, + "@chakra-ui/skeleton": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.0.17.tgz", + "integrity": "sha512-dL7viXEKDEzmAJGbHMj+QbGl9PAd0VWztEcWcz5wOGfmAcJllA0lVh6NmG/yqLb6iXPCX4Y1Y0Yurm459TEYWg==", + "requires": { + "@chakra-ui/media-query": "3.2.7", + "@chakra-ui/react-use-previous": "2.0.2" + } + }, + "@chakra-ui/slider": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.0.12.tgz", + "integrity": "sha512-Cna04J7e4+F3tJNb7tRNfPP+koicbDsKJBp+f1NpR32JbRzIfrf2Vdr4hfD5/uOfC4RGxnVInNZzZLGBelLtLw==", + "requires": { + "@chakra-ui/number-utils": "2.0.4", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-callback-ref": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-latest-ref": "2.0.2", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-pan-event": "2.0.5", + "@chakra-ui/react-use-size": "2.0.4", + "@chakra-ui/react-use-update-effect": "2.0.4" + } + }, + "@chakra-ui/spinner": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.0.10.tgz", + "integrity": "sha512-SwId1xPaaFAaEYrR9eHkQHAuB66CbxwjWaQonEjeEUSh9ecxkd5WbXlsQSyf2hVRIqXJg0m3HIYblcKUsQt9Rw==", + "requires": {} + }, + "@chakra-ui/stat": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.0.11.tgz", + "integrity": "sha512-ZPFK2fKufDSHD8bp/KhO3jLgW/b3PzdG4zV+7iTO7OYjxm5pkBfBAeMqfXGx4cl51rtWUKzsY0HV4vLLjcSjHw==", + "requires": { + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4" + } + }, + "@chakra-ui/styled-system": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.3.4.tgz", + "integrity": "sha512-Lozbedu+GBj4EbHB/eGv475SFDLApsIEN9gNKiZJBJAE1HIhHn3Seh1iZQSrHC/Beq+D5cQq3Z+yPn3bXtFU7w==", + "requires": { + "csstype": "^3.0.11", + "lodash.mergewith": "4.6.2" + } + }, + "@chakra-ui/switch": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.0.14.tgz", + "integrity": "sha512-6lzhCkJq7vbD3yGaorGLp0ZZU4ewdKwAu0e62qR8TfYZwbcbpkXbBKloIHbA2XKOduISzS2WYqjmoP6jSKIxrA==", + "requires": { + "@chakra-ui/checkbox": "2.2.2" + } + }, + "@chakra-ui/system": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.3.0.tgz", + "integrity": "sha512-BxikahglBI0uU8FE3anEorDTU5oKTUuBIEKVcQrEVnrbNuRJEy1OVYyCNXfqW3MpruRO9ypYV2bWt02AZZWEaQ==", + "requires": { + "@chakra-ui/color-mode": "2.1.9", + "@chakra-ui/react-utils": "2.0.8", + "@chakra-ui/styled-system": "2.3.4", + "@chakra-ui/theme-utils": "2.0.1", + "@chakra-ui/utils": "2.0.11", + "react-fast-compare": "3.2.0" + } + }, + "@chakra-ui/table": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.0.11.tgz", + "integrity": "sha512-zQTiqPKEgjdeO/PG0FByn0fH4sPF7dLJF+YszrIzDc6wvpD96iY6MYLeV+CSelbH1g0/uibcJ10PSaFStfGUZg==", + "requires": { + "@chakra-ui/react-context": "2.0.4" + } + }, + "@chakra-ui/tabs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-2.1.4.tgz", + "integrity": "sha512-/CQGj1lC9lvruT5BCYZH6Ok64W4CDSysDXuR2XPZXIih9kVOdXQEMXxG8+3vc63WqTBjHuURtZI0g8ouOy84ew==", + "requires": { + "@chakra-ui/clickable": "2.0.10", + "@chakra-ui/descendant": "3.0.10", + "@chakra-ui/lazy-utils": "2.0.2", + "@chakra-ui/react-children-utils": "2.0.3", + "@chakra-ui/react-context": "2.0.4", + "@chakra-ui/react-use-controllable-state": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.4", + "@chakra-ui/react-use-safe-layout-effect": "2.0.2" + } + }, + "@chakra-ui/tag": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-2.0.11.tgz", + "integrity": "sha512-iJJcX+4hl+6Se/8eCRzG+xxDwZfiYgc4Ly/8s93M0uW2GLb+ybbfSE2DjeKSyk3mQVeGzuxGkBfDHH2c2v26ew==", + "requires": { + "@chakra-ui/icon": "3.0.11", + "@chakra-ui/react-context": "2.0.4" + } + }, + "@chakra-ui/textarea": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.0.12.tgz", + "integrity": "sha512-msR9YMynRXwZIqR6DgjQ2MogA/cW1syBx/R0v3es+9Zx8zlbuKdoLhYqajHteCup8dUzTeIH2Vs2vAwgq4wu5A==", + "requires": { + "@chakra-ui/form-control": "2.0.11" + } + }, + "@chakra-ui/theme": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-2.1.14.tgz", + "integrity": "sha512-6EYJCQlrjSjNAJvZmw1un50F8+sQDFsdwu/7UzWe+TeANpKlz4ZcHbh0gkl3PD62lGis+ehITUwqRm8htvDOjw==", + "requires": { + "@chakra-ui/anatomy": "2.0.7", + "@chakra-ui/theme-tools": "2.0.12" + } + }, + "@chakra-ui/theme-tools": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.0.12.tgz", + "integrity": "sha512-mnMlKSmXkCjHUJsKWmJbgBTGF2vnLaMLv1ihkBn5eQcCubMQrBLTiMAEFl5pZdzuHItU6QdnLGA10smcXbNl0g==", + "requires": { + "@chakra-ui/anatomy": "2.0.7", + "@ctrl/tinycolor": "^3.4.0" + } + }, + "@chakra-ui/theme-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.1.tgz", + "integrity": "sha512-NDwzgTPxm+v3PAJlSSU1MORHLMqO9vsRJ+ObELD5wpvE9aEyRziN/AZSoK2oLwCQMPEiU7R99K5ij1E6ptMt7w==", + "requires": { + "@chakra-ui/styled-system": "2.3.4", + "@chakra-ui/theme": "2.1.14", + "lodash.mergewith": "4.6.2" + } + }, + "@chakra-ui/toast": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-4.0.0.tgz", + "integrity": "sha512-abeeloJac5T9WK2IN76fEM5FSRH+erNXln2HqDf5wLBn33avSBXWyTiUL8riVSUqto0lrIn6FuK/MmKo0DH4og==", + "requires": { + "@chakra-ui/alert": "2.0.11", + "@chakra-ui/close-button": "2.0.11", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/react-use-timeout": "2.0.2", + "@chakra-ui/react-use-update-effect": "2.0.4", + "@chakra-ui/styled-system": "2.3.4", + "@chakra-ui/theme": "2.1.14" + } + }, + "@chakra-ui/tooltip": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.2.0.tgz", + "integrity": "sha512-oB97aQJBW+U3rRIt1ct7NaDRMnbW16JQ5ZBCl3BzN1VJWO3djiNuscpjVdZSceb+FdGSFo+GoDozp1ZwqdfFeQ==", + "requires": { + "@chakra-ui/popper": "3.0.8", + "@chakra-ui/portal": "2.0.10", + "@chakra-ui/react-types": "2.0.3", + "@chakra-ui/react-use-disclosure": "2.0.5", + "@chakra-ui/react-use-event-listener": "2.0.4", + "@chakra-ui/react-use-merge-refs": "2.0.4" + } + }, + "@chakra-ui/transition": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.0.11.tgz", + "integrity": "sha512-O0grc162LARPurjz1R+J+zr4AAKsVwN5+gaqLfZLMWg6TpvczJhwEA2fLCNAdkC/gomere390bJsy52xfUacUw==", + "requires": {} + }, + "@chakra-ui/utils": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.11.tgz", + "integrity": "sha512-4ZQdK6tbOuTrUCsAQBHWo7tw5/Q6pBV93ZbVpats61cSWMFGv32AIQw9/hA4un2zDeSWN9ZMVLNjAY2Dq/KQOA==", + "requires": { + "@types/lodash.mergewith": "4.6.6", + "css-box-model": "1.2.1", + "framesync": "5.3.0", + "lodash.mergewith": "4.6.2" + } + }, + "@chakra-ui/visually-hidden": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.0.11.tgz", + "integrity": "sha512-e+5amYvnsmEQdiWH4XMyvrtGTdwz//+48vwj5CsNWWcselzkwqodmciy5rIrT71/SCQDOtmgnL7ZWAUOffxfsQ==", + "requires": {} + }, + "@ctrl/tinycolor": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz", + "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==" + }, + "@cush/relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cush/relative/-/relative-1.0.0.tgz", + "integrity": "sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==", "dev": true }, - "@emotion/cache": { - "version": "11.7.1", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.7.1.tgz", - "integrity": "sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==", + "@emotion/babel-plugin": { + "version": "11.10.2", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz", + "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==", "requires": { - "@emotion/memoize": "^0.7.4", - "@emotion/sheet": "^1.1.0", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", + "@babel/helper-module-imports": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.0", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.0.13" + } + }, + "@emotion/cache": { + "version": "11.10.3", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz", + "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==", + "requires": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", "stylis": "4.0.13" } }, "@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "requires": { + "@emotion/memoize": "^0.8.0" + } }, "@emotion/memoize": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", - "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" }, "@emotion/react": { - "version": "11.7.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.7.1.tgz", - "integrity": "sha512-DV2Xe3yhkF1yT4uAUoJcYL1AmrnO5SVsdfvu+fBuS7IbByDeTVx9+wFmvx9Idzv7/78+9Mgx2Hcmr7Fex3tIyw==", + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz", + "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==", "requires": { - "@babel/runtime": "^7.13.10", - "@emotion/cache": "^11.7.1", - "@emotion/serialize": "^1.0.2", - "@emotion/sheet": "^1.1.0", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/cache": "^11.10.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", "hoist-non-react-statics": "^3.3.1" } }, "@emotion/serialize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.2.tgz", - "integrity": "sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz", + "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==", "requires": { - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.4", - "@emotion/unitless": "^0.7.5", - "@emotion/utils": "^1.0.0", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", "csstype": "^3.0.2" } }, "@emotion/sheet": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.0.tgz", - "integrity": "sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz", + "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==" + }, + "@emotion/styled": { + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz", + "integrity": "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" + } }, "@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "requires": {} }, "@emotion/utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz", - "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" }, "@emotion/weak-memoize": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", - "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, + "@esbuild/android-arm": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.11.tgz", + "integrity": "sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.11.tgz", + "integrity": "sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw==", + "optional": true }, "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dev": true, "requires": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.15.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -16383,17 +13015,41 @@ } } }, + "@floating-ui/core": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.0.1.tgz", + "integrity": "sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==" + }, + "@floating-ui/dom": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.0.2.tgz", + "integrity": "sha512-5X9WSvZ8/fjy3gDu8yx9HAA4KG1lazUN2P4/VnaXLxTO9Dz53HI1oYoh1OlhqFNlHgGDiwFX5WhFCc2ljbW3yA==", + "requires": { + "@floating-ui/core": "^1.0.1" + } + }, + "@fontsource/inter": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-4.5.14.tgz", + "integrity": "sha512-JDC9AocdPLuGsASkvWw9hS5gtHE7K9dOwL98XLrk5yjYqxy4uVnScG58NUvFMJDVJRl/7c8Wnap6PEs+7Zvj1Q==" + }, "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", + "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.4" } }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -16401,52 +13057,218 @@ "dev": true }, "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" }, "@jridgewell/set-array": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" }, "@jridgewell/source-map": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, + "devOptional": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "devOptional": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, "@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", - "dev": true, + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@motionone/animation": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.14.0.tgz", + "integrity": "sha512-h+1sdyBP8vbxEBW5gPFDnj+m2DCqdlAuf2g6Iafb1lcMnqjsRXWlPw1AXgvUMXmreyhqmPbJqoNfIKdytampRQ==", + "requires": { + "@motionone/easing": "^10.14.0", + "@motionone/types": "^10.14.0", + "@motionone/utils": "^10.14.0", + "tslib": "^2.3.1" + } + }, + "@motionone/dom": { + "version": "10.13.1", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.13.1.tgz", + "integrity": "sha512-zjfX+AGMIt/fIqd/SL1Lj93S6AiJsEA3oc5M9VkUr+Gz+juRmYN1vfvZd6MvEkSqEjwPQgcjN7rGZHrDB9APfQ==", + "requires": { + "@motionone/animation": "^10.13.1", + "@motionone/generators": "^10.13.1", + "@motionone/types": "^10.13.0", + "@motionone/utils": "^10.13.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "@motionone/easing": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.14.0.tgz", + "integrity": "sha512-2vUBdH9uWTlRbuErhcsMmt1jvMTTqvGmn9fHq8FleFDXBlHFs5jZzHJT9iw+4kR1h6a4SZQuCf72b9ji92qNYA==", + "requires": { + "@motionone/utils": "^10.14.0", + "tslib": "^2.3.1" + } + }, + "@motionone/generators": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.14.0.tgz", + "integrity": "sha512-6kRHezoFfIjFN7pPpaxmkdZXD36tQNcyJe3nwVqwJ+ZfC0e3rFmszR8kp9DEVFs9QL/akWjuGPSLBI1tvz+Vjg==", + "requires": { + "@motionone/types": "^10.14.0", + "@motionone/utils": "^10.14.0", + "tslib": "^2.3.1" + } + }, + "@motionone/types": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.14.0.tgz", + "integrity": "sha512-3bNWyYBHtVd27KncnJLhksMFQ5o2MSdk1cA/IZqsHtA9DnRM1SYgN01CTcJ8Iw8pCXF5Ocp34tyAjY7WRpOJJQ==" + }, + "@motionone/utils": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.14.0.tgz", + "integrity": "sha512-sLWBLPzRqkxmOTRzSaD3LFQXCPHvDzyHJ1a3VP9PRzBxyVd2pv51/gMOsdAcxQ9n+MIeGJnxzXBYplUHKj4jkw==", + "requires": { + "@motionone/types": "^10.14.0", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "@mui/base": { + "version": "5.0.0-alpha.102", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.102.tgz", + "integrity": "sha512-5e/qAIP+DlkrZxIt/cwnDw/A3ii22WkoEoWKHyu4+oeGs3/1Flh7qLaN4h5EAIBB9TvTEZEUzvmsTInmIj6ghg==", + "requires": { + "@babel/runtime": "^7.19.0", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + } + }, + "@mui/core-downloads-tracker": { + "version": "5.10.10", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.10.tgz", + "integrity": "sha512-aDuE2PNEh+hAndxEWlZgq7uiFPZKJtnkPDX7v6kSCrMXA32ZaQ6rZi5olmC7DUHt/BaOSxb7N/im/ss0XBkDhA==" + }, + "@mui/icons-material": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.9.tgz", + "integrity": "sha512-sqClXdEM39WKQJOQ0ZCPTptaZgqwibhj2EFV9N0v7BU1PO8y4OcX/a2wIQHn4fNuDjIZktJIBrmU23h7aqlGgg==", + "requires": { + "@babel/runtime": "^7.19.0" + } + }, + "@mui/material": { + "version": "5.10.10", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.10.tgz", + "integrity": "sha512-ioLvqY7VvcePz9dnEIRhpiVvtJmAFmvG6rtLXXzVdMmAVbSaelr5Io07mPz/mCyqE+Uv8/4EuJV276DWO7etzA==", + "requires": { + "@babel/runtime": "^7.19.0", + "@mui/base": "5.0.0-alpha.102", + "@mui/core-downloads-tracker": "^5.10.10", + "@mui/system": "^5.10.10", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + } + }, + "@mui/private-theming": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.9.tgz", + "integrity": "sha512-BN7/CnsVPVyBaQpDTij4uV2xGYHHHhOgpdxeYLlIu+TqnsVM7wUeF+37kXvHovxM6xmL5qoaVUD98gDC0IZnHg==", + "requires": { + "@babel/runtime": "^7.19.0", + "@mui/utils": "^5.10.9", + "prop-types": "^15.8.1" + } + }, + "@mui/styled-engine": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.8.tgz", + "integrity": "sha512-w+y8WI18EJV6zM/q41ug19cE70JTeO6sWFsQ7tgePQFpy6ToCVPh0YLrtqxUZXSoMStW5FMw0t9fHTFAqPbngw==", + "requires": { + "@babel/runtime": "^7.19.0", + "@emotion/cache": "^11.10.3", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/system": { + "version": "5.10.10", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.10.tgz", + "integrity": "sha512-TXwtKN0adKpBrZmO+eilQWoPf2veh050HLYrN78Kps9OhlvO70v/2Kya0+mORFhu9yhpAwjHXO8JII/R4a5ZLA==", + "requires": { + "@babel/runtime": "^7.19.0", + "@mui/private-theming": "^5.10.9", + "@mui/styled-engine": "^5.10.8", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.0.tgz", + "integrity": "sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==", + "requires": {} + }, + "@mui/utils": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.9.tgz", + "integrity": "sha512-2tdHWrq3+WCy+G6TIIaFx3cg7PorXZ71P375ExuX61od1NOAJP1mK90VxQ8N4aqnj2vmO3AQDkV4oV2Ktvt4bA==", + "requires": { + "@babel/runtime": "^7.19.0", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" } }, "@nodelib/fs.scandir": { @@ -16475,584 +13297,469 @@ "fastq": "^1.6.0" } }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", - "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==", + "@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + }, + "@react-spring/animated": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.5.5.tgz", + "integrity": "sha512-glzViz7syQ3CE6BQOwAyr75cgh0qsihm5lkaf24I0DfU63cMm/3+br299UEYkuaHNmfDfM414uktiPlZCNJbQA==", + "requires": { + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" + } + }, + "@react-spring/core": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.5.5.tgz", + "integrity": "sha512-shaJYb3iX18Au6gkk8ahaF0qx0LpS0Yd+ajb4asBaAQf6WPGuEdJsbsNSgei1/O13JyEATsJl20lkjeslJPMYA==", + "requires": { + "@react-spring/animated": "~9.5.5", + "@react-spring/rafz": "~9.5.5", + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" + } + }, + "@react-spring/rafz": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.5.5.tgz", + "integrity": "sha512-F/CLwB0d10jL6My5vgzRQxCNY2RNyDJZedRBK7FsngdCmzoq3V4OqqNc/9voJb9qRC2wd55oGXUeXv2eIaFmsw==" + }, + "@react-spring/shared": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.5.5.tgz", + "integrity": "sha512-YwW70Pa/YXPOwTutExHZmMQSHcNC90kJOnNR4G4mCDNV99hE98jWkIPDOsgqbYx3amIglcFPiYKMaQuGdr8dyQ==", + "requires": { + "@react-spring/rafz": "~9.5.5", + "@react-spring/types": "~9.5.5" + } + }, + "@react-spring/types": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.5.5.tgz", + "integrity": "sha512-7I/qY8H7Enwasxr4jU6WmtNK+RZ4Z/XvSlDvjXFVe7ii1x0MoSlkw6pD7xuac8qrHQRm9BTcbZNyeeKApYsvCg==" + }, + "@react-spring/web": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.5.5.tgz", + "integrity": "sha512-+moT8aDX/ho/XAhU+HRY9m0LVV9y9CK6NjSRaI+30Re150pB3iEip6QfnF4qnhSCQ5drpMF0XRXHgOTY/xbtFw==", + "requires": { + "@react-spring/animated": "~9.5.5", + "@react-spring/core": "~9.5.5", + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" + } + }, + "@remix-run/router": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.2.tgz", + "integrity": "sha512-GRSOFhJzjGN+d4sKHTMSvNeUPoZiDHWmRnXfzaxrqe7dE/Nzlc8BiMSJdLDESZlndM7jIUrZ/F4yWqVYlI0rwQ==" + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", "dev": true, "requires": { - "ansi-html": "^0.0.7", - "error-stack-parser": "^2.0.6", - "html-entities": "^1.2.1", - "native-url": "^0.2.6", - "schema-utils": "^2.6.5", - "source-map": "^0.7.3" + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" }, "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true } } }, - "@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "dev": true - }, - "@popperjs/core": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz", - "integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==" - }, - "@restart/hooks": { - "version": "0.3.27", - "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.3.27.tgz", - "integrity": "sha512-s984xV/EapUIfkjlf8wz9weP2O9TNKR96C68FfMEy2bE69+H4cNv3RD4Mf97lW7Htt7PjZrYTjSC8f3SB9VCXw==", - "requires": { - "dequal": "^2.0.2" - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "dev": true - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "dev": true - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "dev": true - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "dev": true - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "dev": true - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "dev": true - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "dev": true - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "dev": true - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", "dev": true, "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + } } }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", "dev": true, "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" } }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", "dev": true, "requires": { - "@babel/types": "^7.12.6" + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + } } }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "dev": true, + "@textea/json-viewer": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@textea/json-viewer/-/json-viewer-2.10.0.tgz", + "integrity": "sha512-J5trN6tdssAeOk3CtuMsK7BhLJhfGW61V3i3afXUNJBT2qlRynf6DHPHyLMjGB6jXlJCuTXHop2i24k0oZQ2lQ==", "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true - }, - "@types/chart.js": { - "version": "2.9.35", - "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.35.tgz", - "integrity": "sha512-MWx/zZlh4wHBbM4Tm4YsZyYGb1/LkTiFLFwX/FXb0EJCvXX2xWTRHwlJ2RAAEXWxLrOdaAWP8vFtJXny+4CpEw==", - "requires": { - "moment": "^2.10.2" - } - }, - "@types/classnames": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz", - "integrity": "sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==", - "requires": { - "classnames": "*" - } - }, - "@types/eslint": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.0.tgz", - "integrity": "sha512-JUYa/5JwoqikCy7O7jKtuNe9Z4ZZt615G+1EKfaDGSNEpzaA2OwbV/G1v08Oa7fd1XzlFoSCvt9ePl9/6FyAug==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" + "@emotion/react": "^11.10.4", + "@emotion/styled": "^11.10.4", + "@mui/icons-material": "^5.10.6", + "@mui/material": "^5.10.8", + "copy-to-clipboard": "^3.3.2", + "group-items": "^2.2.0", + "zustand": "^4.1.2" + }, + "dependencies": { + "copy-to-clipboard": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz", + "integrity": "sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==", + "requires": { + "toggle-selection": "^1.0.6" + } + } } }, "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "requires": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "dev": true }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true + "@types/lodash": { + "version": "4.14.186", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.186.tgz", + "integrity": "sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw==" + }, + "@types/lodash.mergewith": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz", + "integrity": "sha512-RY/8IaVENjG19rxTZu9Nukqh0W2UrYgmBj5sdns4hWRZaV8PqR7wIKHFKzvOTjo4zVRV7sVI+yFhAJql12Kfqg==", + "requires": { + "@types/lodash": "*" + } }, "@types/node": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", - "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==", + "version": "18.11.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.2.tgz", + "integrity": "sha512-BWN3M23gLO2jVG8g/XHIRFWiiV4/GckeFIqbU/C4V3xpoBBWSMk4OZomouN0wCkfQFPqgZikyLr7DOYDysIkkw==", "dev": true }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "@types/prop-types": { - "version": "15.7.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", - "dev": true + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "@types/react": { - "version": "17.0.38", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", - "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", + "version": "18.0.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", + "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" } }, - "@types/react-redux": { - "version": "7.1.22", - "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.22.tgz", - "integrity": "sha512-GxIA1kM7ClU73I6wg9IRTVwSO9GS+SAKZKe0Enj+82HMU6aoESFU2HNAdNi3+J53IaOHPiUfT3kSG4L828joDQ==", + "@types/react-csv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/react-csv/-/react-csv-1.1.3.tgz", + "integrity": "sha512-dkEdyRvRpygSnNg4cyzYWSUjukIQ5lAtXJwc7BqyUfzww/Cv2dcAFGYd+sWTFpGiDNZMVPp6vVPLcAPvJID8Kg==", + "dev": true, "requires": { - "@types/hoist-non-react-statics": "^3.3.0", - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0", - "redux": "^4.0.0" + "@types/react": "*" + } + }, + "@types/react-dom": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", + "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-table": { + "version": "7.7.12", + "resolved": "https://registry.npmjs.org/@types/react-table/-/react-table-7.7.12.tgz", + "integrity": "sha512-bRUent+NR/WwtDGwI/BqhZ8XnHghwHw0HUKeohzB5xN3K2qKWYE5w19e7GCuOkL1CXD9Gi1HFy7TIm2AvgWUHg==", + "dev": true, + "requires": { + "@types/react": "*" } }, "@types/react-transition-group": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.4.tgz", - "integrity": "sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", "requires": { "@types/react": "*" } }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/scheduler": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "@types/semver": { + "version": "7.3.12", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.12.tgz", + "integrity": "sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==", "dev": true }, - "@types/tapable": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", - "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", + "@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==", "dev": true }, - "@types/uglify-js": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", - "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.1.tgz", + "integrity": "sha512-FsWboKkWdytGiXT5O1/R9j37YgcjO8MKHSUmWnIEjVaz0krHkplPnYi7mwdb+5+cs0toFNQb0HIrN7zONdIEWg==", "dev": true, "requires": { - "source-map": "^0.6.1" + "@typescript-eslint/scope-manager": "5.40.1", + "@typescript-eslint/type-utils": "5.40.1", + "@typescript-eslint/utils": "5.40.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, - "@types/webpack": { - "version": "4.41.32", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", - "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", + "@typescript-eslint/parser": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.40.1.tgz", + "integrity": "sha512-IK6x55va5w4YvXd4b3VrXQPldV9vQTxi5ov+g4pMANsXPTXOcfjx08CRR1Dfrcc51syPtXHF5bgLlMHYFrvQtg==", "dev": true, "requires": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" + "@typescript-eslint/scope-manager": "5.40.1", + "@typescript-eslint/types": "5.40.1", + "@typescript-eslint/typescript-estree": "5.40.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.40.1.tgz", + "integrity": "sha512-jkn4xsJiUQucI16OLCXrLRXDZ3afKhOIqXs4R3O+M00hdQLKR58WuyXPZZjhKLFCEP2g+TXdBRtLQ33UfAdRUg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.40.1", + "@typescript-eslint/visitor-keys": "5.40.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.40.1.tgz", + "integrity": "sha512-DLAs+AHQOe6n5LRraXiv27IYPhleF0ldEmx6yBqBgBLaNRKTkffhV1RPsjoJBhVup2zHxfaRtan8/YRBgYhU9Q==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.40.1", + "@typescript-eslint/utils": "5.40.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.40.1.tgz", + "integrity": "sha512-Icg9kiuVJSwdzSQvtdGspOlWNjVDnF3qVIKXdJ103o36yRprdl3Ge5cABQx+csx960nuMF21v8qvO31v9t3OHw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.1.tgz", + "integrity": "sha512-5QTP/nW5+60jBcEPfXy/EZL01qrl9GZtbgDZtDPlfW5zj/zjNrdI2B5zMUHmOsfvOr2cWqwVdWjobCiHcedmQA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.40.1", + "@typescript-eslint/visitor-keys": "5.40.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, - "@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "@typescript-eslint/utils": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.40.1.tgz", + "integrity": "sha512-a2TAVScoX9fjryNrW6BZRnreDUszxqm9eQ9Esv8n5nXApMW0zeANUYlwh/DED04SC/ifuBvXgZpIK5xeJHQ3aw==", "dev": true, "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.40.1", + "@typescript-eslint/types": "5.40.1", + "@typescript-eslint/typescript-estree": "5.40.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" }, "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "@typescript-eslint/visitor-keys": { + "version": "5.40.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.1.tgz", + "integrity": "sha512-A2DGmeZ+FMja0geX5rww+DpvILpwo1OsiQs0M+joPWJYsiEFBLsH0y1oFymPNul6Z5okSmHpP4ivkc2N0Cgfkw==", "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@typescript-eslint/types": "5.40.1", + "eslint-visitor-keys": "^3.3.0" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "@vitejs/plugin-react": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz", + "integrity": "sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==", "dev": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" + "@babel/core": "^7.18.13", + "@babel/plugin-transform-react-jsx": "^7.18.10", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.18.6", + "magic-string": "^0.26.2", + "react-refresh": "^0.14.0" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true + "@zag-js/element-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.1.0.tgz", + "integrity": "sha512-QF8wp0+V8++z+FHXiIw93+zudtubYszOtYbNgK39fg3pi+nCZtuSm4L1jC5QZMatNZ83MfOzyNCfgUubapagJQ==" }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } + "@zag-js/focus-visible": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.1.0.tgz", + "integrity": "sha512-PeaBcTmdZWcFf7n1aM+oiOdZc+sy14qi0emPIeUuGMTjbP0xLGrZu43kdpHnWSXy7/r4Ubp/vlg50MCV8+9Isg==" }, "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "devOptional": true }, "acorn-jsx": { "version": "5.3.2", @@ -17061,12 +13768,6 @@ "dev": true, "requires": {} }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -17089,32 +13790,6 @@ "uri-js": "^4.2.2" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -17122,72 +13797,33 @@ "dev": true, "requires": { "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } } }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==", - "dev": true - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true - }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "devOptional": true, "requires": { "color-convert": "^1.9.0" } }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "apexcharts": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.33.0.tgz", - "integrity": "sha512-gOc0qZijuomtXTThLbb0sKn+mZJkVQADyK/Zw9vQ0JjKVbMYxzek61xk40hT49i1Sq6/MUqsz0WgUXYpqqf8Mg==", - "requires": { - "svg.draggable.js": "^2.2.2", - "svg.easing.js": "^2.0.0", - "svg.filter.js": "^2.0.2", - "svg.pathmorphing.js": "^0.1.3", - "svg.resize.js": "^1.4.3", - "svg.select.js": "^3.0.1" - } - }, "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "aria-hidden": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.1.tgz", + "integrity": "sha512-PN344VAf9j1EAi+jyVHOJ8XidQdPVssGco39eNcsGdM4wcsILtxrKLkbuiMfLWYROK1FjRQasMWCBttrhjnr6A==", "requires": { - "sprintf-js": "~1.0.2" + "tslib": "^2.0.0" } }, "aria-query": { @@ -17195,45 +13831,20 @@ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "dev": true, - "peer": true, "requires": { "@babel/runtime": "^7.10.2", "@babel/runtime-corejs3": "^7.10.2" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, "array-includes": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", - "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", "get-intrinsic": "^1.1.1", "is-string": "^1.0.7" } @@ -17244,52 +13855,40 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, "array.prototype.flat": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", - "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" } }, "array.prototype.flatmap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", - "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" } }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true, - "peer": true + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true }, "astral-regex": { "version": "2.0.0", @@ -17298,124 +13897,42 @@ "dev": true }, "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", - "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", - "dev": true, - "requires": { - "browserslist": "^4.19.1", - "caniuse-lite": "^1.0.30001297", - "fraction.js": "^4.1.2", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, "axe-core": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz", - "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==", - "dev": true, - "peer": true + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", + "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==", + "dev": true }, "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", "requires": { - "follow-redirects": "^1.14.0" - } - }, - "axios-retry": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.4.tgz", - "integrity": "sha512-Co3UXiv4npi6lM963mfnuH90/YFLKWWDmoBYfxkHT5xtkSSWNqK9zdG3fw5/CP/dsoKB5aMMJCsgab+tp1OxLQ==", - "requires": { - "@babel/runtime": "^7.15.4", - "is-retry-allowed": "^2.2.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "axobject-query": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true, - "peer": true - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, - "babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } + "dev": true }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", @@ -17426,166 +13943,65 @@ "object.assign": "^4.1.0" } }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz", - "integrity": "sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.20.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.3.3" } }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", - "dev": true, - "requires": { - "bytes": "3.1.1", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" - }, - "dependencies": { - "bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true + "big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -17595,23 +14011,42 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "requires": { "fill-range": "^7.0.1" } }, - "browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "devOptional": true, + "broadcast-channel": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", + "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", "requires": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" + "@babel/runtime": "^7.7.2", + "detect-node": "^2.1.0", + "js-sha3": "0.8.0", + "microseconds": "0.2.0", + "nano-time": "1.0.0", + "oblivious-set": "1.0.0", + "rimraf": "3.0.2", + "unload": "2.2.0" } }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, "buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -17625,37 +14060,14 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "devOptional": true }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -17669,213 +14081,47 @@ "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, "caniuse-lite": { - "version": "1.0.30001301", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz", - "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==", - "devOptional": true + "version": "1.0.30001422", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001422.tgz", + "integrity": "sha512-hSesn02u1QacQHhaxl/kNMZwqVG35Sz/8DgvmgedxSH8z9UUpcDYSPYgsj3x5dQNRcNp6BwpSfQfVzYUTm+fog==" + }, + "chakra-react-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/chakra-react-select/-/chakra-react-select-4.3.0.tgz", + "integrity": "sha512-ro2NZQuj4RzTCJ1t7rPt9uFpwWaiJmoZAnfAMvKpkPzzYeSAUtiBlTh2vyUJzmToj1CDdgtQVH4PDYGUgsAOEg==", + "requires": { + "react-select": "^5.5.0" + } }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "devOptional": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + } } }, "chart.js": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", - "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", - "requires": { - "chartjs-color": "^2.1.0", - "moment": "^2.10.2" - } - }, - "chartjs-color": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", - "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", - "requires": { - "chartjs-color-string": "^0.6.0", - "color-convert": "^1.9.3" - } - }, - "chartjs-color-string": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", - "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", - "requires": { - "color-name": "^1.0.0" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "classcat": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/classcat/-/classcat-5.0.3.tgz", - "integrity": "sha512-6dK2ke4VEJZOFx2ZfdDAl5OhEL8lvkl6EHF92IfRePfHxQTqir5NlcNVUv+2idjDqCX2NDc8m8YSAI5NI975ZQ==" + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz", + "integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==" }, "classnames": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", - "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" - }, - "clean-css": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz", - "integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" }, "clean-stack": { "version": "2.2.0", @@ -17883,16 +14129,6 @@ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, - "clean-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", - "dev": true, - "requires": { - "@types/webpack": "^4.4.31", - "del": "^4.1.1" - } - }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -17903,113 +14139,51 @@ } }, "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", "dev": true, "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" } }, "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } } } }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, "clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" }, "color-convert": { "version": "1.9.3", @@ -18017,125 +14191,48 @@ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { "color-name": "1.1.3" - }, - "dependencies": { - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - } } }, "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", - "dev": true + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", "dev": true }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "dev": true }, - "compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "compression-webpack-plugin": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-8.0.1.tgz", - "integrity": "sha512-VWDXcOgEafQDMFXEnoia0VBXJ+RMw81pmqe/EBiOIBnMfY8pG26eqwIS/ytGpzy1rozydltL0zL6KDH9XNWBxQ==", - "dev": true, - "requires": { - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } + "compute-scroll-into-view": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz", + "integrity": "sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "confusing-browser-globals": { "version": "1.0.11", @@ -18143,142 +14240,43 @@ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "devOptional": true, + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "copy-to-clipboard": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-7.0.0.tgz", - "integrity": "sha512-SLjQNa5iE3BoCP76ESU9qYo9ZkEWtXoZxDurHoqPchAFRblJ9g96xTeC560UXBMre1Nx6ixIIUfiY3VcjpJw3g==", - "dev": true, - "requires": { - "fast-glob": "^3.2.4", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - } + "toggle-selection": "^1.0.6" } }, "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "dev": true + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==" }, "core-js-compat": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", - "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", + "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", "dev": true, "requires": { - "browserslist": "^4.19.1", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } + "browserslist": "^4.21.4" } }, "core-js-pure": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.3.tgz", - "integrity": "sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA==", - "dev": true, - "peer": true - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz", + "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg==", "dev": true }, "cosmiconfig": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, "requires": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -18306,305 +14304,24 @@ "which": "^2.0.1" } }, - "css-declaration-sorter": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", - "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", - "dev": true, - "requires": { - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "css-minimizer-webpack-plugin": { + "crypto-random-string": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-2.0.0.tgz", - "integrity": "sha512-cG/uc94727tx5pBNtb1Sd7gvUPzwmcQi1lkpfqTpdkuNq75hJCw7bIVsCNijLm4dhDcr1atvuysl2rZqOG8Txw==", - "dev": true, - "requires": { - "cssnano": "^5.0.0", - "jest-worker": "^26.3.0", - "p-limit": "^3.0.2", - "postcss": "^8.2.9", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dev": true, + "css-box-model": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", + "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.15.tgz", - "integrity": "sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==", - "dev": true, - "requires": { - "cssnano-preset-default": "^5.1.10", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.1.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.10.tgz", - "integrity": "sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==", - "dev": true, - "requires": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^3.0.0", - "postcss-calc": "^8.2.0", - "postcss-colormin": "^5.2.3", - "postcss-convert-values": "^5.0.2", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.2", - "postcss-merge-longhand": "^5.0.4", - "postcss-merge-rules": "^5.0.4", - "postcss-minify-font-values": "^5.0.2", - "postcss-minify-gradients": "^5.0.4", - "postcss-minify-params": "^5.0.3", - "postcss-minify-selectors": "^5.1.1", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.2", - "postcss-normalize-positions": "^5.0.2", - "postcss-normalize-repeat-style": "^5.0.2", - "postcss-normalize-string": "^5.0.2", - "postcss-normalize-timing-functions": "^5.0.2", - "postcss-normalize-unicode": "^5.0.2", - "postcss-normalize-url": "^5.0.4", - "postcss-normalize-whitespace": "^5.0.2", - "postcss-ordered-values": "^5.0.3", - "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.2", - "postcss-svgo": "^5.0.3", - "postcss-unique-selectors": "^5.0.2" - } - }, - "cssnano-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.0.tgz", - "integrity": "sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA==", - "dev": true, - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "tiny-invariant": "^1.0.6" } }, "csstype": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" - }, - "d3-color": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz", - "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw==" - }, - "d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==" - }, - "d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "requires": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - } - }, - "d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==" - }, - "d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "requires": { - "d3-color": "1 - 3" - } - }, - "d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==" - }, - "d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==" - }, - "d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "requires": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - } - }, - "d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "requires": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - } + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "dagre": { "version": "0.8.5", @@ -18619,47 +14336,27 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "peer": true + "dev": true }, - "date-arithmetic": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-arithmetic/-/date-arithmetic-4.1.0.tgz", - "integrity": "sha512-QWxYLR5P/6GStZcdem+V1xoto6DMadYWpMXU82ES3/RfR3Wdwr3D0+be7mgOJ+Ov0G9D5Dmb9T17sNLQYj9XOg==" + "date-fns": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", + "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==" }, "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "devOptional": true, + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, + "deep-eql": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.1.tgz", + "integrity": "sha512-rc6HkZswtl+KMi/IODZ8k7C/P37clC2Rf1HYI11GqdbgvggIyHjsU5MdjlTlaP6eu24c0sR3mcW2SqsVZ1sXUw==", "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" + "type-detect": "^4.0.0" } }, "deep-is": { @@ -18669,199 +14366,34 @@ "dev": true }, "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" }, "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - } - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "dequal": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", - "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" }, "dir-glob": { "version": "3.0.1", @@ -18872,31 +14404,6 @@ "path-type": "^4.0.0" } }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -18906,15 +14413,6 @@ "esutils": "^2.0.2" } }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, "dom-helpers": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", @@ -18924,214 +14422,84 @@ "csstype": "^3.0.2" } }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "dev": true - }, - "dotenv-defaults": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", - "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", - "dev": true, - "requires": { - "dotenv": "^8.2.0" - } - }, - "dotenv-webpack": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-6.0.4.tgz", - "integrity": "sha512-WiTPNLanDNJ1O8AvgkBpsbarw78a4PMYG2EfJcQoxTHFWy+ji213HR+3f4PhWB1RBumiD9cbiuC3SNxJXbBp9g==", - "dev": true, - "requires": { - "dotenv-defaults": "^2.0.1" - } - }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true + "ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "requires": { + "jake": "^10.8.5" + } }, "electron-to-chromium": { - "version": "1.4.49", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz", - "integrity": "sha512-k/0t1TRfonHIp8TJKfjBu2cKj8MqYTiEpOhci+q7CVEE5xnCQnx1pTa+V8b/sdhe4S3PR4p4iceEQWhGrKQORQ==", - "devOptional": true + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" }, "emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "peer": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "dev": true, - "requires": { - "stackframe": "^1.1.1" - } - }, "es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", + "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.2", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" } }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } }, "es-to-primitive": { "version": "1.2.1", @@ -19144,81 +14512,216 @@ "is-symbol": "^1.0.2" } }, + "esbuild": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.11.tgz", + "integrity": "sha512-OgHGuhlfZ//mToxjte1D5iiiQgWfJ2GByVMwEC/IuoXsBGkuyK1+KrjYu0laSpnN/L1UmLUCv0s25vObdc1bVg==", + "requires": { + "@esbuild/android-arm": "0.15.11", + "@esbuild/linux-loong64": "0.15.11", + "esbuild-android-64": "0.15.11", + "esbuild-android-arm64": "0.15.11", + "esbuild-darwin-64": "0.15.11", + "esbuild-darwin-arm64": "0.15.11", + "esbuild-freebsd-64": "0.15.11", + "esbuild-freebsd-arm64": "0.15.11", + "esbuild-linux-32": "0.15.11", + "esbuild-linux-64": "0.15.11", + "esbuild-linux-arm": "0.15.11", + "esbuild-linux-arm64": "0.15.11", + "esbuild-linux-mips64le": "0.15.11", + "esbuild-linux-ppc64le": "0.15.11", + "esbuild-linux-riscv64": "0.15.11", + "esbuild-linux-s390x": "0.15.11", + "esbuild-netbsd-64": "0.15.11", + "esbuild-openbsd-64": "0.15.11", + "esbuild-sunos-64": "0.15.11", + "esbuild-windows-32": "0.15.11", + "esbuild-windows-64": "0.15.11", + "esbuild-windows-arm64": "0.15.11" + } + }, + "esbuild-android-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.11.tgz", + "integrity": "sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw==", + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.11.tgz", + "integrity": "sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ==", + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.11.tgz", + "integrity": "sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA==", + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.11.tgz", + "integrity": "sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ==", + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.11.tgz", + "integrity": "sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg==", + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.11.tgz", + "integrity": "sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ==", + "optional": true + }, + "esbuild-linux-32": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.11.tgz", + "integrity": "sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA==", + "optional": true + }, + "esbuild-linux-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.11.tgz", + "integrity": "sha512-Y2Rh+PcyVhQqXKBTacPCltINN3uIw2xC+dsvLANJ1SpK5NJUtxv8+rqWpjmBgaNWKQT1/uGpMmA9olALy9PLVA==", + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.11.tgz", + "integrity": "sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A==", + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.11.tgz", + "integrity": "sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw==", + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.11.tgz", + "integrity": "sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA==", + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.11.tgz", + "integrity": "sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg==", + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.11.tgz", + "integrity": "sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw==", + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.11.tgz", + "integrity": "sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg==", + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.11.tgz", + "integrity": "sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A==", + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.11.tgz", + "integrity": "sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ==", + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.11.tgz", + "integrity": "sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw==", + "optional": true + }, + "esbuild-windows-32": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.11.tgz", + "integrity": "sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q==", + "optional": true + }, + "esbuild-windows-64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.11.tgz", + "integrity": "sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ==", + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.15.11", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.11.tgz", + "integrity": "sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw==", + "optional": true + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "devOptional": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "devOptional": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz", + "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==", "dev": true, "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", + "find-up": "^5.0.0", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -19247,22 +14750,26 @@ "color-name": "~1.1.4" } }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } }, "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -19274,15 +14781,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -19301,31 +14799,78 @@ } }, "eslint-config-airbnb": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", - "integrity": "sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg==", + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", "dev": true, "requires": { - "eslint-config-airbnb-base": "^14.2.1", + "eslint-config-airbnb-base": "^15.0.0", "object.assign": "^4.1.2", - "object.entries": "^1.1.2" + "object.entries": "^1.1.5" } }, "eslint-config-airbnb-base": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", - "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", "dev": true, "requires": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", - "object.entries": "^1.1.2" + "object.entries": "^1.1.5", + "semver": "^6.3.0" + } + }, + "eslint-config-airbnb-typescript": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.0.0.tgz", + "integrity": "sha512-elNiuzD0kPAPTXjFWg+lE24nMdHMtuxgYoD30OyMD6yrW1AhFZPAg27VX7d3tzOErw+dgJTNWfRSDqEcXb4V0g==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^15.0.0" + } + }, + "eslint-config-airbnb-typescript-prettier": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript-prettier/-/eslint-config-airbnb-typescript-prettier-5.0.0.tgz", + "integrity": "sha512-SVphutDwxEJedWKHF+q6FDC4+aKaOn5R8hOBxCpfWnn5qCYAChngPf86Svz78bHgMgbZfohwHPbQeETTPUN9Wg==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^5.6.0", + "@typescript-eslint/parser": "^5.6.0", + "eslint-config-airbnb": "^19.0.2", + "eslint-config-prettier": "^6.15.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-prettier": "^3.1.4", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0" + }, + "dependencies": { + "eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + } } }, "eslint-config-prettier": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", - "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true, "requires": {} }, @@ -19357,27 +14902,13 @@ } } }, - "eslint-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz", - "integrity": "sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "loader-utils": "^2.0.0", - "object-hash": "^2.0.3", - "schema-utils": "^2.6.5" - } - }, "eslint-module-utils": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", - "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", "dev": true, "requires": { - "debug": "^3.2.7", - "find-up": "^2.1.0" + "debug": "^3.2.7" }, "dependencies": { "debug": { @@ -19401,9 +14932,9 @@ } }, "eslint-plugin-import": { - "version": "2.25.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", - "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "dev": true, "requires": { "array-includes": "^3.1.4", @@ -19411,14 +14942,14 @@ "debug": "^2.6.9", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.2", + "eslint-module-utils": "^2.7.3", "has": "^1.0.3", - "is-core-module": "^2.8.0", + "is-core-module": "^2.8.1", "is-glob": "^4.0.3", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "object.values": "^1.1.5", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.12.0" + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" }, "dependencies": { "debug": { @@ -19442,61 +14973,70 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, "eslint-plugin-jsx-a11y": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", - "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", "dev": true, - "peer": true, "requires": { - "@babel/runtime": "^7.16.3", + "@babel/runtime": "^7.18.9", "aria-query": "^4.2.2", - "array-includes": "^3.1.4", + "array-includes": "^3.1.5", "ast-types-flow": "^0.0.7", - "axe-core": "^4.3.5", + "axe-core": "^4.4.3", "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.7", + "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "has": "^1.0.3", - "jsx-ast-utils": "^3.2.1", + "jsx-ast-utils": "^3.3.2", "language-tags": "^1.0.5", - "minimatch": "^3.0.4" + "minimatch": "^3.1.2", + "semver": "^6.3.0" + } + }, + "eslint-plugin-no-inline-styles": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-inline-styles/-/eslint-plugin-no-inline-styles-1.0.5.tgz", + "integrity": "sha512-nftOfHV/ag0P0vEPQ3p54HVpGCp6k/E+pHdYnRm2wDK8QhClfmMjrCw+POL5RH/SN1AmTifCTh5VzkeubLgMpA==", + "dev": true, + "requires": { + "lodash.get": "^4.4.2" } }, "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" } }, "eslint-plugin-react": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz", - "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==", + "version": "7.31.10", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz", + "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==", "dev": true, "requires": { - "array-includes": "^3.1.4", - "array.prototype.flatmap": "^1.2.5", + "array-includes": "^3.1.5", + "array.prototype.flatmap": "^1.3.0", "doctrine": "^2.1.0", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "object.entries": "^1.1.5", "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.0", + "object.hasown": "^1.1.1", "object.values": "^1.1.5", - "prop-types": "^15.7.2", + "prop-types": "^15.8.1", "resolve": "^2.0.0-next.3", "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.6" + "string.prototype.matchall": "^4.0.7" }, "dependencies": { "doctrine": { @@ -19509,21 +15049,22 @@ } }, "resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } } } }, "eslint-plugin-react-hooks": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", - "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", "dev": true, "requires": {} }, @@ -19552,37 +15093,39 @@ } }, "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } } }, "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", "dev": true, "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, "esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -19607,298 +15150,40 @@ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "eventsource": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.1.tgz", - "integrity": "sha512-qV5ZC0h7jYIAOhArFJgSfdyz6rALJyb270714o7ZtNnw2WSJ+eexhKtE0O8LYPRsHZHf2osHKZBxGPvm3kPkCA==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", + "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", "dev": true, "requires": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", + "get-stream": "^6.0.1", + "human-signals": "^3.0.1", + "is-stream": "^3.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "express": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", - "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.6", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" } }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "fast-diff": { "version": "1.2.0", @@ -19907,9 +15192,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -19917,6 +15202,17 @@ "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } } }, "fast-json-stable-stringify": { @@ -19928,13 +15224,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastq": { @@ -19946,15 +15236,6 @@ "reusify": "^1.0.4" } }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -19964,80 +15245,54 @@ "flat-cache": "^3.0.4" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "locate-path": "^2.0.0" - } - }, - "find-versions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", - "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", - "dev": true, - "requires": { - "semver-regex": "^3.1.2" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, "flat-cache": { @@ -20048,79 +15303,126 @@ "requires": { "flatted": "^3.1.0", "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "focus-lock": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.11.3.tgz", + "integrity": "sha512-4n0pYcPTa/uI7Q66BZna61nRT7lDhnuJ9PJr6wiDjx4uStg491ks41y7uOG+s0umaaa+hulNKSldU9aTg9/yVg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "formik": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz", + "integrity": "sha512-LQLcISMmf1r5at4/gyJigGn0gOwFbeEAlji+N9InZF6LIMXnFNkO42sCI8Jt84YZggpD4cPWObAZaxpEFtSzNA==", + "requires": { + "deepmerge": "^2.1.1", + "hoist-non-react-statics": "^3.3.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "react-fast-compare": "^2.0.1", + "tiny-warning": "^1.0.2", + "tslib": "^1.10.0" }, "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, + "react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "framer-motion": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-7.6.1.tgz", + "integrity": "sha512-8US03IWJKrLoSb81l5OahNzB9Sv7Jo1RhIwUoTG/25BRUdO9lOqq/klsdZqNmNG0ua9IEJJQ8hkYpETJ4N6VSw==", + "requires": { + "@emotion/is-prop-valid": "^0.8.2", + "@motionone/dom": "10.13.1", + "framesync": "6.1.2", + "hey-listen": "^1.0.8", + "popmotion": "11.0.5", + "style-value-types": "5.1.2", + "tslib": "2.4.0" + }, + "dependencies": { + "@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, "requires": { - "glob": "^7.1.3" + "@emotion/memoize": "0.7.4" + } + }, + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true + }, + "framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "requires": { + "tslib": "2.4.0" } } } }, - "flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", - "dev": true - }, - "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fraction.js": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", - "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, + "framesync": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.3.0.tgz", + "integrity": "sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA==", "requires": { - "map-cache": "^0.2.2" + "tslib": "^2.1.0" } }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -20131,44 +15433,64 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "devOptional": true + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" } }, + "get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" + }, "get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -20185,45 +15507,38 @@ "get-intrinsic": "^1.1.1" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, "requires": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" } }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "glob-regex": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/glob-regex/-/glob-regex-0.3.2.tgz", + "integrity": "sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==", "dev": true }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "devOptional": true + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "globby": { "version": "11.1.0", @@ -20237,20 +15552,24 @@ "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - } } }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, "graphlib": { @@ -20261,46 +15580,54 @@ "lodash": "^4.17.15" } }, + "group-items": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/group-items/-/group-items-2.2.0.tgz", + "integrity": "sha512-lpY+zRs0sFoQoLHRdZn2nb0XJR6ReCuyouR7nmHB2PajS4BZE6JFb2HG+ZCSE9Tf34WdKcLV3AC0tp6J0wuCuA==", + "requires": { + "deep-eql": "^4.0.0" + } + }, "gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, "requires": { "duplexer": "^0.1.2" } }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } }, "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "devOptional": true + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } }, "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, "has-tostringtag": { @@ -20312,76 +15639,10 @@ "has-symbols": "^1.0.2" } }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } + "hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" }, "hoist-non-react-statics": { "version": "3.3.2", @@ -20389,78 +15650,15 @@ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "requires": { "react-is": "^16.7.0" - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" } } }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dev": true, - "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - } - }, "html-parse-stringify": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", @@ -20469,341 +15667,41 @@ "void-elements": "3.1.0" } }, - "html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "dev": true, - "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", + "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", "dev": true }, - "husky": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", - "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "compare-versions": "^3.6.0", - "cosmiconfig": "^7.0.0", - "find-versions": "^4.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^5.0.0", - "please-upgrade-node": "^3.2.0", - "slash": "^3.0.0", - "which-pm-runs": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dev": true, - "requires": { - "find-up": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "i18next": { - "version": "20.6.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz", - "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.0.0.tgz", + "integrity": "sha512-MTXO4JZPTBQMPro/Mnwrxb3VGHKtPv4co6Szklg+BKoilPq+7U3eb1p4zSQhjI4dOLlZZ+g7F9eHwDuQCo5Ixg==", "requires": { - "@babel/runtime": "^7.12.0" + "@babel/runtime": "^7.17.2" } }, "i18next-browser-languagedetector": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-6.1.2.tgz", - "integrity": "sha512-YDzIGHhMRvr7M+c8B3EQUKyiMBhfqox4o1qkFvt4QXuu5V2cxf74+NCr+VEkUuU0y+RwcupA238eeolW1Yn80g==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-6.1.8.tgz", + "integrity": "sha512-Svm+MduCElO0Meqpj1kJAriTC6OhI41VhlT/A0UPjGoPZBhAHIaGE5EfsHlTpgdH09UVX7rcc72pSDDBeKSQQA==", "requires": { - "@babel/runtime": "^7.14.6" + "@babel/runtime": "^7.19.0" } }, "i18next-http-backend": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-1.3.2.tgz", - "integrity": "sha512-SfcoUmsSWnc2LYsDsCq5TCg18cxJXvXymX9N37V+qqMKQY8Gf0rWkjOnRd20sMK633Dq4NF9tvqPbOiFJ49Kbw==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-1.4.4.tgz", + "integrity": "sha512-M4gLPe6JKZ2p1UmE6t4rzWV/sAxgrLThW7ztXAsTpFwFqXoyzhTzX8eYxVv9KjpCQh4K9nwxnEjEi+74C4Thbg==", "requires": { "cross-fetch": "3.1.5" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} + "idb": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.0.tgz", + "integrity": "sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg==", + "dev": true }, "ieee754": { "version": "1.2.1", @@ -20811,40 +15709,24 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, - "immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" - }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "indent-string": { @@ -20856,8 +15738,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -20866,18 +15747,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "internal-slot": { "version": "1.0.3", @@ -20890,12 +15760,6 @@ "side-channel": "^1.0.4" } }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -20904,54 +15768,10 @@ "loose-envify": "^1.0.0" } }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "is-bigint": { "version": "1.0.4", @@ -20962,14 +15782,6 @@ "has-bigints": "^1.0.1" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, "is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -20980,36 +15792,20 @@ "has-tostringtag": "^1.0.0" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "requires": { "has": "^1.0.3" } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, "is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -21019,45 +15815,38 @@ "has-tostringtag": "^1.0.0" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true }, "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "requires": { "is-extglob": "^2.1.1" } }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -21067,12 +15856,13 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -21081,42 +15871,9 @@ "is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "dev": true }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -21130,24 +15887,22 @@ "is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "dev": true }, - "is-retry-allowed": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", - "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==" - }, "is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } }, "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true }, "is-string": { @@ -21177,34 +15932,75 @@ "call-bind": "^1.0.2" } }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } }, "jest-worker": { "version": "26.6.2", @@ -21234,37 +16030,45 @@ } } }, + "js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", + "dev": true + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" } }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "devOptional": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "json-schema-traverse": { @@ -21276,72 +16080,61 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "devOptional": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" }, "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true + }, "jsx-ast-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", - "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "dev": true, "requires": { - "array-includes": "^3.1.3", - "object.assign": "^4.1.2" + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" } }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", - "dev": true - }, "language-subtag-registry": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", - "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", - "dev": true, - "peer": true + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true }, "language-tags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "dev": true, - "peer": true, "requires": { "language-subtag-registry": "~0.3.2" } }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -21353,65 +16146,54 @@ } }, "libphonenumber-js": { - "version": "1.9.44", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.44.tgz", - "integrity": "sha512-zhw8nUMJuQf7jG1dZfEOKKOS6M3QYIv3HnvB/vGohNd0QfxIQcObH3a6Y6s350H+9xgBeOXClOJkS0hJ0yvS3g==" + "version": "1.10.14", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.14.tgz", + "integrity": "sha512-McGS7GV/WjJ2KjfOGhJU1oJn29RYeo7Q+RpANRbUNMQ9gj5XArpbjurSuyYPTejFwbaUojstQ4XyWCrAzGOUXw==" }, "lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", "dev": true }, "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "lint-staged": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.2.6.tgz", - "integrity": "sha512-Vti55pUnpvPE0J9936lKl0ngVeTdSZpEdTNhASbkaWX7J5R9OEifo1INBGQuGW4zmy6OG+TcWPJ3m5yuy5Q8Tg==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz", + "integrity": "sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==", "dev": true, "requires": { - "cli-truncate": "2.1.0", - "colorette": "^1.4.0", - "commander": "^8.2.0", - "cosmiconfig": "^7.0.1", - "debug": "^4.3.2", - "enquirer": "^2.3.6", - "execa": "^5.1.1", - "listr2": "^3.12.2", - "micromatch": "^4.0.4", + "cli-truncate": "^3.1.0", + "colorette": "^2.0.17", + "commander": "^9.3.0", + "debug": "^4.3.4", + "execa": "^6.1.0", + "lilconfig": "2.0.5", + "listr2": "^4.0.5", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "3.3.0", - "supports-color": "8.1.1" + "object-inspect": "^1.12.2", + "pidtree": "^0.6.0", + "string-argv": "^0.3.1", + "yaml": "^2.1.1" }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "yaml": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, "listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", + "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", "dev": true, "requires": { "cli-truncate": "^2.1.0", @@ -21419,53 +16201,88 @@ "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", - "rxjs": "^7.5.1", + "rxjs": "^7.5.5", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, "dependencies": { - "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "color-convert": "^2.0.1" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } } } }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true - }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" } }, "lodash": { @@ -21473,15 +16290,22 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true }, "lodash.merge": { "version": "4.6.2", @@ -21489,26 +16313,15 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + "lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" }, - "lodash.startswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.startswith/-/lodash.startswith-4.2.1.tgz", - "integrity": "sha1-xZjErc4YiiflMUVzHNxsDnF3YAw=" - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", "dev": true }, "log-update": { @@ -21541,6 +16354,24 @@ "color-name": "~1.1.4" } }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -21552,6 +16383,17 @@ "is-fullwidth-code-point": "^3.0.0" } }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -21565,12 +16407,6 @@ } } }, - "loglevel": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", - "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", - "dev": true - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -21579,15 +16415,6 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -21597,95 +16424,29 @@ "yallist": "^4.0.0" } }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", "dev": true, "requires": { - "semver": "^6.0.0" + "sourcemap-codec": "^1.4.8" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, + "match-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", + "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", "requires": { - "object-visit": "^1.0.0" + "@babel/runtime": "^7.12.5", + "remove-accents": "0.4.2" } }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, "memoize-one": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -21698,230 +16459,90 @@ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true + "microseconds": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", + "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" }, "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" } }, "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "requires": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" - } - }, - "mini-css-extract-plugin": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", - "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "devOptional": true - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" } }, - "moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" - }, - "mrmime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz", - "integrity": "sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "devOptional": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, + "nano-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", + "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" + "big-integer": "^1.6.16" } }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true, - "optional": true + "nanoclone": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" }, "nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "native-url": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", - "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==", - "dev": true, - "requires": { - "querystring": "^0.2.0" - } + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, "node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -21930,172 +16551,60 @@ "whatwg-url": "^5.0.0" } }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "devOptional": true + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dev": true, "requires": { - "path-key": "^3.0.0" - } - }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" + "path-key": "^4.0.0" + }, + "dependencies": { + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + } } }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "dev": true + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" } }, @@ -22121,34 +16630,14 @@ "es-abstract": "^1.19.1" } }, - "object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, "object.hasown": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", - "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", + "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" } }, "object.values": { @@ -22162,64 +16651,35 @@ "es-abstract": "^1.19.1" } }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true + "oblivious-set": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", + "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "mimic-fn": "^4.0.0" } }, - "opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", - "dev": true - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "requires": { - "is-wsl": "^1.1.0" + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" } }, "optionator": { @@ -22236,21 +16696,6 @@ "word-wrap": "^1.2.3" } }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -22261,61 +16706,27 @@ } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^1.1.0" - }, - "dependencies": { - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - } + "p-limit": "^3.0.2" } }, "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "aggregate-error": "^3.0.0" } }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "requires": { "callsites": "^3.0.0" } @@ -22324,7 +16735,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -22332,61 +16742,16 @@ "lines-and-columns": "^1.1.6" } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "dev": true, - "requires": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { "version": "3.1.1", @@ -22397,518 +16762,72 @@ "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - } + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, - "perfect-scrollbar": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz", - "integrity": "sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==" + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "phosphor-react": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/phosphor-react/-/phosphor-react-1.4.1.tgz", + "integrity": "sha512-gO5j7U0xZrdglTAYDYPACU4xDOFBTJmptrrB/GeR+tHhCZF3nUMyGmV/0hnloKjuTrOmpSFlbfOY78H39rgjUQ==", + "requires": {} }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "devOptional": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, + "popmotion": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.5.tgz", + "integrity": "sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==", "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" + "framesync": "6.1.2", + "hey-listen": "^1.0.8", + "style-value-types": "5.1.2", + "tslib": "2.4.0" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, + "framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } - } - }, - "please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "requires": { - "semver-compare": "^1.0.0" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" + "tslib": "2.4.0" } } } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, "postcss": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", - "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", - "dev": true, + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", "requires": { - "nanoid": "^3.1.30", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", - "source-map-js": "^1.0.1" + "source-map-js": "^1.0.2" } }, - "postcss-calc": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.2.tgz", - "integrity": "sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.3.tgz", - "integrity": "sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", - "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "dev": true, - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "dev": true, - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "dev": true, - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.2.tgz", - "integrity": "sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew==", - "dev": true, - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz", - "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - } - }, - "postcss-merge-rules": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.4.tgz", - "integrity": "sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.0.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.2.tgz", - "integrity": "sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.4.tgz", - "integrity": "sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==", - "dev": true, - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.3.tgz", - "integrity": "sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.6", - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.1.tgz", - "integrity": "sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "dev": true, - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", - "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.2.tgz", - "integrity": "sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.2.tgz", - "integrity": "sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.2.tgz", - "integrity": "sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", - "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.2.tgz", - "integrity": "sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz", - "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==", - "dev": true, - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.2.tgz", - "integrity": "sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-ordered-values": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.3.tgz", - "integrity": "sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==", - "dev": true, - "requires": { - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-reduce-initial": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", - "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.2.tgz", - "integrity": "sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", - "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.7.0" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - } - } - } - }, - "postcss-unique-selectors": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz", - "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -22916,9 +16835,9 @@ "dev": true }, "prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true }, "prettier-linter-helpers": { @@ -22930,34 +16849,20 @@ "fast-diff": "^1.1.2" } }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dev": true, + "pretty-bytes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.0.0.tgz", + "integrity": "sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==", + "dev": true + }, + "promise": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" + "asap": "~2.0.6" } }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -22966,42 +16871,24 @@ "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } } }, - "prop-types-extra": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", - "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", - "requires": { - "react-is": "^16.3.2", - "warning": "^4.0.0" - } + "property-expr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "punycode": { "version": "2.1.1", @@ -23009,36 +16896,20 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", - "dev": true - }, - "querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -23048,47 +16919,39 @@ "safe-buffer": "^5.1.0" } }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", - "dev": true, - "requires": { - "bytes": "3.1.1", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "dev": true - } - } - }, "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, - "react-apexcharts": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-1.3.9.tgz", - "integrity": "sha512-KPonT5uQPHOHSVgTNEzpB0HhCkZtoicQYGjR9P+3DRDSgTsC+DM2vDUfo/B2Fn1m+wdgVeDXWL0VJYDc6JD/tw==", + "react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", "requires": { - "prop-types": "^15.5.7" + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + } + }, + "react-chartjs-2": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-4.3.1.tgz", + "integrity": "sha512-5i3mjP6tU7QSn0jvb8I4hudTzHJqS8l00ORJnVwI2sYu0ihpj83Lv2YzfxunfxTZkscKvZu2F2w9LkwNBhj6xA==", + "requires": {} + }, + "react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "requires": { + "@babel/runtime": "^7.12.13" } }, "react-country-flag": { @@ -23102,180 +16965,171 @@ "resolved": "https://registry.npmjs.org/react-csv/-/react-csv-2.2.2.tgz", "integrity": "sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw==" }, + "react-datepicker": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.8.0.tgz", + "integrity": "sha512-u69zXGHMpxAa4LeYR83vucQoUCJQ6m/WBsSxmUMu/M8ahTSVMMyiyQzauHgZA2NUr9y0FUgOAix71hGYUb6tvg==", + "requires": { + "@popperjs/core": "^2.9.2", + "classnames": "^2.2.6", + "date-fns": "^2.24.0", + "prop-types": "^15.7.2", + "react-onclickoutside": "^6.12.0", + "react-popper": "^2.2.5" + } + }, "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "requires": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" + "scheduler": "^0.23.0" } }, - "react-draggable": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.4.tgz", - "integrity": "sha512-6e0WdcNLwpBx/YIDpoyd2Xb04PB0elrDrulKUgdrIlwuYvxh5Ok9M+F8cljm8kPXXs43PmMzek9RrB1b7mLMqA==", - "requires": { - "clsx": "^1.1.1", - "prop-types": "^15.6.0" - } + "react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" }, - "react-flow-renderer": { - "version": "9.7.3", - "resolved": "https://registry.npmjs.org/react-flow-renderer/-/react-flow-renderer-9.7.3.tgz", - "integrity": "sha512-yMSGdZ2mtpiNsi7fGgkmMC6/q/a2LI+G4Par9zcIBWDVP5ZsujSeBpehXprPEXKtUjZTi3ToNLq0EQ5Z7/EU4Q==", + "react-focus-lock": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.1.tgz", + "integrity": "sha512-pSWOQrUmiKLkffPO6BpMXN7SNKXMsuOakl652IBuALAu1esk+IcpJyM+ALcYzPTTFz1rD0R54aB9A4HuP5t1Wg==", "requires": { - "@babel/runtime": "^7.16.7", - "classcat": "^5.0.3", - "d3-selection": "^3.0.0", - "d3-zoom": "^3.0.0", - "fast-deep-equal": "^3.1.3", - "react-draggable": "^4.4.4", - "react-redux": "^7.2.6", - "redux": "^4.1.2" + "@babel/runtime": "^7.0.0", + "focus-lock": "^0.11.2", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" } }, "react-i18next": { - "version": "11.15.3", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.15.3.tgz", - "integrity": "sha512-RSUEM4So3Tu2JHV0JsZ5Yje+4nz66YViMfPZoywxOy0xyn3L7tE2CHvJ7Y9LUsrTU7vGmZ5bwb8PpjnkatdIxg==", + "version": "11.18.6", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.6.tgz", + "integrity": "sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==", "requires": { "@babel/runtime": "^7.14.5", - "html-escaper": "^2.0.2", "html-parse-stringify": "^3.0.1" } }, - "react-input-autosize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-3.0.0.tgz", - "integrity": "sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg==", - "requires": { - "prop-types": "^15.5.8" - } - }, "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + "react-masonry-css": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/react-masonry-css/-/react-masonry-css-1.0.16.tgz", + "integrity": "sha512-KSW0hR2VQmltt/qAa3eXOctQDyOu7+ZBevtKgpNDSzT7k5LA/0XntNa9z9HKCdz3QlxmJHglTZ18e4sX4V8zZQ==", + "requires": {} }, - "react-paginate": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/react-paginate/-/react-paginate-7.1.5.tgz", - "integrity": "sha512-CpyWSwsIIsFhWAQvmXDWuEl+yzfzisgvsUoZTj2IR1mFvm9oPTmeNBFc1wg8/i6ASmETeOmOnc78/U/MXyjd0w==", + "react-onclickoutside": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz", + "integrity": "sha512-NMXGa223OnsrGVp5dJHkuKxQ4czdLmXSp5jSV9OqiCky9LOpPATn3vLldc+q5fK3gKbEHvr7J1u0yhBh/xYkpA==", + "requires": {} + }, + "react-popper": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz", + "integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==", "requires": { - "prop-types": "^15.6.1" + "react-fast-compare": "^3.0.1", + "warning": "^4.0.2" } }, - "react-phone-input-2": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/react-phone-input-2/-/react-phone-input-2-2.14.0.tgz", - "integrity": "sha512-gOY3jUpwO7ulryXPEdqzH7L6DPqI9RQxKfBxZbgqAwXyALGsmwLWFyi2RQwXlBLWN/EPPT4Nv6I9TESVY2YBcg==", + "react-query": { + "version": "3.39.2", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.2.tgz", + "integrity": "sha512-F6hYDKyNgDQfQOuR1Rsp3VRzJnWHx6aRnnIZHMNGGgbL3SBgpZTDg8MQwmxOgpCAoqZJA+JSNCydF1xGJqKOCA==", "requires": { - "classnames": "^2.2.6", - "lodash.debounce": "^4.0.8", - "lodash.memoize": "^4.1.2", - "lodash.reduce": "^4.6.0", - "lodash.startswith": "^4.2.1", - "prop-types": "^15.7.2" - } - }, - "react-redux": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.6.tgz", - "integrity": "sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ==", - "requires": { - "@babel/runtime": "^7.15.4", - "@types/react-redux": "^7.1.20", - "hoist-non-react-statics": "^3.3.2", - "loose-envify": "^1.4.0", - "prop-types": "^15.7.2", - "react-is": "^17.0.2" - }, - "dependencies": { - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - } + "@babel/runtime": "^7.5.5", + "broadcast-channel": "^3.4.1", + "match-sorter": "^6.0.2" } }, "react-refresh": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", - "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", "dev": true }, - "react-router": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz", - "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==", + "react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", "requires": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + } + }, + "react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "requires": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + } + }, + "react-router": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.2.tgz", + "integrity": "sha512-Rb0BAX9KHhVzT1OKhMvCDMw776aTYM0DtkxqUBP8dNBom3mPXlfNs76JNGK8wKJ1IZEY1+WGj+cvZxHVk/GiKw==", + "requires": { + "@remix-run/router": "1.0.2" } }, "react-router-dom": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz", - "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.2.tgz", + "integrity": "sha512-yM1kjoTkpfjgczPrcyWrp+OuQMyB1WleICiiGfstnQYo/S8hPEEnVjr/RdmlH6yKK4Tnj1UGXFSa7uwAtmDoLQ==", "requires": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.1", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" + "@remix-run/router": "1.0.2", + "react-router": "6.4.2" } }, "react-select": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-4.3.1.tgz", - "integrity": "sha512-HBBd0dYwkF5aZk1zP81Wx5UsLIIT2lSvAY2JiJo199LjoLHoivjn9//KsmvQMEFGNhe58xyuOITjfxKCcGc62Q==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.5.2.tgz", + "integrity": "sha512-zbcxtiqXvFW2Wh+dd8zAqMY6QaqX9Ez0WlcjSXycXn1ASpKdc17LcGJj7gAJiUcHI/UVlo6wfg44hgBsUPyEBQ==", "requires": { "@babel/runtime": "^7.12.0", "@emotion/cache": "^11.4.0", - "@emotion/react": "^11.1.1", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", "memoize-one": "^5.0.0", "prop-types": "^15.6.0", - "react-input-autosize": "^3.0.0", - "react-transition-group": "^4.3.0" + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" } }, - "react-tooltip": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-4.2.21.tgz", - "integrity": "sha512-zSLprMymBDowknr0KVDiJ05IjZn9mQhhg4PRsqln0OZtURAJ1snt1xi5daZfagsh6vfsziZrc9pErPTDY1ACig==", + "react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", "requires": { - "prop-types": "^15.7.2", - "uuid": "^7.0.3" - }, - "dependencies": { - "uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" - } + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" } }, + "react-table": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/react-table/-/react-table-7.8.0.tgz", + "integrity": "sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==", + "requires": {} + }, "react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "requires": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -23283,57 +17137,24 @@ "prop-types": "^15.6.2" } }, - "react-widgets": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/react-widgets/-/react-widgets-5.6.0.tgz", - "integrity": "sha512-lgJRaM5MMag/2ILDFkJBu4SBag9hE0xeLF8dpAOJJDz+gVDrU/21QUwlGwe/zG8hwyezlAvvfXKZb/7wOL1PZw==", - "requires": { - "@restart/hooks": "^0.3.26", - "@types/classnames": "^2.2.11", - "@types/react-transition-group": "^4.4.0", - "classnames": "^2.2.6", - "date-arithmetic": "^4.0.1", - "dom-helpers": "^5.2.0", - "prop-types-extra": "^1.1.1", - "react-transition-group": "^4.4.1", - "tiny-warning": "^1.0.3", - "uncontrollable": "^7.2.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "recrawl-sync": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recrawl-sync/-/recrawl-sync-2.2.2.tgz", + "integrity": "sha512-E2sI4F25Fu2nrfV+KsnC7/qfk/spQIYXlonfQoS4rwxeNK5BjxnLPbWiRXHVXPwYBOTWtPX5765kTm/zJiL+LQ==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, - "redux": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz", - "integrity": "sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==", - "requires": { - "@babel/runtime": "^7.9.2" + "@cush/relative": "^1.0.0", + "glob-regex": "^0.3.0", + "slash": "^3.0.0", + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "regenerate": { @@ -23343,46 +17164,37 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "requires": { "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" }, "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, "regexp.prototype.flags": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", - "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" } }, "regexpp": { @@ -23392,29 +17204,29 @@ "dev": true }, "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", "dev": true, "requires": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", "dev": true }, "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -23423,53 +17235,20 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true } } }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dev": true, - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "remove-accents": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", + "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, "require-from-string": { "version": "2.0.2", @@ -23477,62 +17256,20 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, "resolve": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.1.tgz", - "integrity": "sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ==", - "dev": true, + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "requires": { - "is-core-module": "^2.8.0", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "restore-cursor": { "version": "3.1.0", @@ -23542,20 +17279,25 @@ "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + } } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -23569,14 +17311,33 @@ "dev": true }, "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" } }, + "rollup": { + "version": "2.78.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", + "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -23587,287 +17348,53 @@ } }, "rxjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", - "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", "dev": true, "requires": { "tslib": "^2.1.0" } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "devOptional": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, - "sass": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.0.tgz", - "integrity": "sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==", - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, - "sass-loader": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.1.1.tgz", - "integrity": "sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA==", + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" + "loose-envify": "^1.1.0" } }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "devOptional": true - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "semver-regex": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", - "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", - "dev": true - }, - "send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" } }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -23895,22 +17422,11 @@ } }, "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "dev": true, - "requires": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - } - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -23918,262 +17434,107 @@ "dev": true }, "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "source-map-explorer": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/source-map-explorer/-/source-map-explorer-2.5.3.tgz", + "integrity": "sha512-qfUGs7UHsOBE5p/lGfQdaAj/5U/GWYBw2imEpD6UQNkqElYonkow8t+HBL1qqIl3CuGZx7n8/CQo4x1HwSHhsg==", + "requires": { + "btoa": "^1.2.1", + "chalk": "^4.1.0", + "convert-source-map": "^1.7.0", + "ejs": "^3.1.5", + "escape-html": "^1.0.3", + "glob": "^7.1.6", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "open": "^7.3.1", + "source-map": "^0.7.4", + "temp": "^0.9.4", + "yargs": "^16.2.0" }, "dependencies": { "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" + "has-flag": "^4.0.0" } } } }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "sockjs-client": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz", - "integrity": "sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "eventsource": "^1.1.0", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "devOptional": true - }, "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, + "devOptional": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -24183,171 +17544,16 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "devOptional": true } } }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, "string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -24355,58 +17561,69 @@ "dev": true }, "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } } } }, "string.prototype.matchall": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", - "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", + "regexp.prototype.flags": "^1.4.1", "side-channel": "^1.0.4" } }, "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" } }, "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" } }, "stringify-object": { @@ -24424,7 +17641,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -24432,19 +17648,19 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", "dev": true }, "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true }, "strip-json-comments": { @@ -24453,37 +17669,13 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, - "style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", - "dev": true, + "style-value-types": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.1.2.tgz", + "integrity": "sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==", "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dev": true, - "requires": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" + "hey-listen": "^1.0.8", + "tslib": "2.4.0" } }, "stylis": { @@ -24495,7 +17687,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "devOptional": true, "requires": { "has-flag": "^3.0.0" } @@ -24503,230 +17694,64 @@ "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true - }, - "svg.draggable.js": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", - "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", "requires": { - "svg.js": "^2.0.1" + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } } }, - "svg.easing.js": { + "temp-dir": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", - "integrity": "sha1-iqmUawqOJ4V6XEChDrpAkeVpHxI=", - "requires": { - "svg.js": ">=2.3.x" - } - }, - "svg.filter.js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", - "integrity": "sha1-kQCOFROJ3ZIwd5/L5uLJo2LRwgM=", - "requires": { - "svg.js": "^2.2.5" - } - }, - "svg.js": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", - "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" - }, - "svg.pathmorphing.js": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", - "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", - "requires": { - "svg.js": "^2.4.0" - } - }, - "svg.resize.js": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", - "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", - "requires": { - "svg.js": "^2.6.5", - "svg.select.js": "^2.1.2" - }, - "dependencies": { - "svg.select.js": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", - "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", - "requires": { - "svg.js": "^2.2.5" - } - } - } - }, - "svg.select.js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", - "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", - "requires": { - "svg.js": "^2.6.5" - } - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - } - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - } - } - }, - "table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", "dev": true }, + "tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true + } + } + }, "terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", - "dev": true, + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "devOptional": true, "requires": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -24734,192 +17759,74 @@ "source-map-support": "~0.5.20" }, "dependencies": { - "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", - "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", - "dev": true, - "requires": { - "jest-worker": "^27.4.1", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-worker": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", - "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + "devOptional": true } } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "tiny-invariant": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz", - "integrity": "sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" }, "tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, - "tippy.js": { - "version": "6.3.7", - "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", - "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", - "requires": { - "@popperjs/core": "^2.9.0" - } - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "devOptional": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { "is-number": "^7.0.0" } }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" }, - "totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "dev": true + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" }, "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "tsconfig-paths": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", - "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "dev": true, "requires": { "@types/json5": "^0.0.29", "json5": "^1.0.1", - "minimist": "^1.2.0", + "minimist": "^1.2.6", "strip-bom": "^3.0.0" }, "dependencies": { @@ -24935,10 +17842,26 @@ } }, "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } }, "type-check": { "version": "0.4.0", @@ -24949,69 +17872,34 @@ "prelude-ls": "^1.2.1" } }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "dev": true, - "optional": true, - "peer": true + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "ucentral-libs": { - "version": "1.0.61", - "resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-1.0.61.tgz", - "integrity": "sha512-RMUFLC6PMeh4S1MSkDXYjpQfh4yWeZX5Rm5FTRNbfYfaLKuL8CbRZjnuGPFrgABGQRWk5TITxXQASYBpmOq1dQ==", - "requires": { - "@coreui/coreui": "^3.4.0", - "@coreui/icons": "^2.0.1", - "@coreui/icons-react": "^1.1.0", - "@coreui/react": "^3.4.6", - "@coreui/react-chartjs": "^1.1.0", - "libphonenumber-js": "^1.9.37", - "lodash": "^4.17.21", - "react-flow-renderer": "^9.6.6", - "react-i18next": "^11.11.0", - "react-paginate": "^7.1.3", - "react-phone-input-2": "^2.14.0", - "react-router-dom": "^5.2.0", - "react-select": "^4.3.1", - "react-tooltip": "^4.2.21", - "uuid": "^8.3.2" - } + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" }, "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", "which-boxed-primitive": "^1.0.2" } }, - "uncontrollable": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", - "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", - "requires": { - "@babel/runtime": "^7.6.3", - "@types/react": ">=16.9.11", - "invariant": "^2.2.4", - "react-lifecycles-compat": "^3.0.4" - } - }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -25035,93 +17923,33 @@ "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } + "crypto-random-string": "^2.0.0" } }, "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, + "unload": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", + "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } + "@babel/runtime": "^7.6.2", + "detect-node": "^2.0.4" } }, "upath": { @@ -25130,6 +17958,15 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -25139,125 +17976,106 @@ "punycode": "^2.1.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, + "use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - } + "tslib": "^2.0.0" } }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, + "use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "requires": {} + }, + "use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} }, "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true + "vite": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.8.tgz", + "integrity": "sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==", + "requires": { + "esbuild": "^0.15.9", + "fsevents": "~2.3.2", + "postcss": "^8.4.16", + "resolve": "^1.22.1", + "rollup": "~2.78.0" + } }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + "vite-plugin-pwa": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.13.1.tgz", + "integrity": "sha512-NR3dIa+o2hzlzo4lF4Gu0cYvoMjSw2DdRc6Epw1yjmCqWaGuN86WK9JqZie4arNlE1ZuWT3CLiMdiX5wcmmUmg==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "fast-glob": "^3.2.11", + "pretty-bytes": "^6.0.0", + "rollup": "^2.79.0", + "workbox-build": "^6.5.4", + "workbox-window": "^6.5.4" + }, + "dependencies": { + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + } + } }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true + "vite-tsconfig-paths": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-3.5.1.tgz", + "integrity": "sha512-t7cPvDMDxOCUxxNLqngXiX+L6jPYBr+eMgkeVadknxBb89d2s1aejz+wFEep010VfXjGVAUWGEFPe1fkRYTFvg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "recrawl-sync": "^2.0.3", + "tsconfig-paths": "^4.0.0" + }, + "dependencies": { + "tsconfig-paths": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.1.0.tgz", + "integrity": "sha512-AHx4Euop/dXFC+Vx589alFba8QItjF+8hf8LtmuiCwHyI4rHXQtOOENaM8kvYf5fR0dRChy3wzWIZ9WbB7FWow==", + "dev": true, + "requires": { + "json5": "^2.2.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + } + } }, "void-elements": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=" + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" }, "warning": { "version": "4.0.3", @@ -25267,698 +18085,20 @@ "loose-envify": "^1.0.0" } }, - "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, - "webpack": { - "version": "5.66.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", - "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" - }, - "dependencies": { - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - } - } - }, - "webpack-bundle-analyzer": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz", - "integrity": "sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==", - "dev": true, - "requires": { - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "dependencies": { - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", - "dev": true, - "requires": { - "ansi-html-community": "0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true + "whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" }, "whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -25986,35 +18126,276 @@ "is-symbol": "^1.0.3" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", - "dev": true - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, + "workbox-background-sync": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "dev": true, + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "workbox-broadcast-update": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-build": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "dev": true, + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" + }, + "dependencies": { + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dev": true, + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-core": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==", + "dev": true + }, + "workbox-expiration": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "dev": true, + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "workbox-google-analytics": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "dev": true, + "requires": { + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-navigation-preload": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-precaching": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "dev": true, + "requires": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-range-requests": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-recipes": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "dev": true, + "requires": { + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-routing": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-strategies": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-streams": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "dev": true, + "requires": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" + } + }, + "workbox-sw": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==", + "dev": true + }, + "workbox-window": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "dev": true, + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.4" + } + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -26025,7 +18406,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -26034,31 +18414,46 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, - "requires": {} + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yallist": { "version": "4.0.0", @@ -26069,133 +18464,76 @@ "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } } } }, "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true + }, + "yup": { + "version": "0.32.11", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz", + "integrity": "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==", + "requires": { + "@babel/runtime": "^7.15.4", + "@types/lodash": "^4.14.175", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "nanoclone": "^0.2.1", + "property-expr": "^2.0.4", + "toposort": "^2.0.2" + } + }, + "zustand": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.2.tgz", + "integrity": "sha512-gcRaKchcxFPbImrBb/BKgujOhHhik9YhVpIeP87ETT7uokEe2Szu7KkuZ9ghjtD+/KKkcrRNktR2AiLXPIbKIQ==", + "requires": { + "use-sync-external-store": "1.2.0" + } } } } diff --git a/package.json b/package.json index c192f2e..57b6cf1 100644 --- a/package.json +++ b/package.json @@ -1,101 +1,87 @@ { "name": "ucentral-client", - "version": "2.7.0(9)", + "version": "2.8.0(0)", + "description": "", + "private": true, + "main": "index.tsx", + "scripts": { + "dev": "vite", + "build": "vite build", + "format": "prettier --write \"src/**/*.js\"", + "analyze": "source-map-explorer 'build/static/js/*.js'", + "lint": "TIMING=1 eslint \"src/**/*.{ts,tsx,js,jsx}\" --fix", + "clean": "rm -rf node_modules && rm -rf build" + }, + "author": "", + "license": "ISC", "dependencies": { - "@coreui/coreui": "^3.4.0", - "@coreui/icons": "^2.0.1", - "@coreui/icons-react": "^1.1.0", - "@coreui/react": "^3.4.6", - "@coreui/react-chartjs": "^1.1.0", - "apexcharts": "^3.27.1", - "axios": "^0.21.1", - "axios-retry": "^3.1.9", + "@chakra-ui/icons": "^2.0.11", + "@chakra-ui/react": "^2.3.6", + "@chakra-ui/theme-tools": "^2.0.12", + "@chakra-ui/utils": "^2.0.11", + "@emotion/react": "^11.10.4", + "@emotion/styled": "^11.10.4", + "@fontsource/inter": "^4.5.14", + "@react-spring/web": "^9.5.5", + "axios": "^1.1.3", "buffer": "^6.0.3", + "chakra-react-select": "^4.3.0", "dagre": "^0.8.5", - "i18next": "^20.3.1", - "i18next-browser-languagedetector": "^6.1.2", - "i18next-http-backend": "^1.2.6", - "prop-types": "^15.7.2", - "react": "^17.0.2", - "react-apexcharts": "^1.3.9", + "formik": "^2.2.9", + "framer-motion": "^7.6.1", + "i18next": "^22.0.0", + "i18next-browser-languagedetector": "^6.1.8", + "i18next-http-backend": "^1.4.4", + "libphonenumber-js": "^1.10.14", + "phosphor-react": "^1.4.1", + "prop-types": "^15.8.1", + "react": "^18.2.0", + "react-app-polyfill": "^3.0.0", + "react-chartjs-2": "^4.3.1", + "chart.js": "^3.9.1", "react-country-flag": "^3.0.2", "react-csv": "^2.2.2", - "react-dom": "^17.0.2", - "react-flow-renderer": "^9.6.6", - "react-i18next": "^11.11.0", - "react-paginate": "^7.1.3", - "react-router-dom": "^5.2.0", - "react-select": "^4.3.1", - "react-tooltip": "^4.2.21", - "react-widgets": "^5.1.1", - "sass": "^1.35.1", - "ucentral-libs": "^1.0.61", - "uuid": "^8.3.2" - }, - "main": "index.js", - "scripts": { - "start": "webpack serve --config config/webpack.dev.js", - "build": "webpack --config config/webpack.prod.js", - "format": "prettier --write 'src/**/*.js'", - "eslint-fix": "eslint --fix 'src/**/*.js'" - }, - "eslintConfig": { - "extends": "react-app" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "*.{js,jsx}": [ - "eslint", - "prettier --write" - ] + "react-datepicker": "^4.8.0", + "react-dom": "^18.2.0", + "@textea/json-viewer": "^2.10.0", + "react-fast-compare": "^3.2.0", + "react-i18next": "^11.18.6", + "react-masonry-css": "^1.0.16", + "react-query": "^3.39.2", + "react-router-dom": "^6.4.2", + "react-table": "^7.8.0", + "source-map-explorer": "^2.5.3", + "vite": "^3.1.8", + "typescript": "^4.8.4", + "uuid": "^9.0.0", + "yup": "^0.32.11", + "zustand": "^4.1.2" }, "devDependencies": { - "@babel/core": "^7.14.6", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-transform-runtime": "^7.14.5", - "@babel/polyfill": "^7.12.1", - "@babel/preset-env": "^7.14.7", - "@babel/preset-react": "^7.14.5", - "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", - "@svgr/webpack": "^5.5.0", - "autoprefixer": "^10.2.6", - "babel-eslint": "^10.1.0", - "babel-loader": "^8.2.2", - "clean-webpack-plugin": "^3.0.0", - "compression-webpack-plugin": "^8.0.1", - "copy-webpack-plugin": "^7.0.0", - "css-loader": "^5.2.6", - "css-minimizer-webpack-plugin": "^2.0.0", - "dotenv-webpack": "^6.0.4", - "eslint": "^7.29.0", - "eslint-config-airbnb": "^18.2.1", - "eslint-config-prettier": "^7.2.0", + "@types/node": "^18.11.2", + "@types/react": "^18.0.21", + "@types/react-csv": "^1.1.3", + "@types/react-dom": "^18.0.6", + "@types/react-table": "^7.7.12", + "@types/uuid": "^8.3.4", + "eslint": "8.25.0", + "vite-tsconfig-paths": "^3.5.1", + "lint-staged": "^13.0.3", + "@vitejs/plugin-react": "^2.1.0", + "vite-plugin-pwa": "^0.13.1", + "prettier": "^2.7.1", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-typescript": "^17.0.0", + "eslint-config-airbnb-typescript-prettier": "^5.0.0", + "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-alias": "^1.1.2", - "eslint-loader": "^4.0.2", "eslint-plugin-babel": "^5.3.1", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-prettier": "^3.4.0", - "eslint-plugin-react": "^7.24.0", - "eslint-plugin-react-hooks": "^4.2.0", - "html-webpack-plugin": "^5.3.2", - "husky": "^4.3.8", - "lint-staged": "^11.0.0", - "mini-css-extract-plugin": "^1.6.1", - "path": "^0.12.7", - "prettier": "^2.3.2", - "react-refresh": "^0.9.0", - "sass-loader": "^11.1.1", - "style-loader": "^2.0.0", - "terser-webpack-plugin": "^5.1.4", - "webpack": "^5.40.0", - "webpack-bundle-analyzer": "^4.4.2", - "webpack-cli": "^4.9.1", - "webpack-dev-server": "^3.11.2", - "webpack-merge": "^5.8.0" + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.6.1", + "eslint-plugin-no-inline-styles": "^1.0.5", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.31.10", + "eslint-plugin-react-hooks": "^4.6.0" }, "browserslist": { "production": [ diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..615037b650fb70657f5850e2218786aec2f5f219 GIT binary patch literal 12501 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

?W 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�mv0Ka+cR_{?A_RZD$3iSCJ8=!DVD7VQdL|I6uen1Pv zYTwG0Q#rU9%W;M?f7>^3VA;i9DXn@lepVs><)B&N_d-F8Aw=w3n*{MH$KA#8FeBIz z`)P}8drVb+Z_vk2$~oFZsMeWmn>)mG9sw6V67y9J)O=uK@r7FvEo}*Ac3}T_QuA>QhO#z!?a$z2_t`h;ihb3J>KMYVc?gRySj5i$*mGR(jglc!r zuojUh=-P751H_AeFQxE~W^C^2Vk?wQQND;8a=qdj<`W^6R*uPA?DeJl<3VJb!KG8& z6YCAV6XKI=iW5ByRVdUFc~S1gIpW&tIFx2=Zb-AE26dl$exR?}4%;74KA%&Tqifk` zRLz|jM9fJu>FGE?nBHuss^lbKW%Ov)slTS3$n<`x%vNeCAT|fugfa6HnK`bmamIr1 zr2MgrxEsDyeF)FR$L+~Ju59>bA;M`eM5LRGT>wf^cm1qqfBw5SgGlIS$_tvE&zpyE zQR)7}Pg#1s^>6Fp^#tf`%u&5Z{l|e6oSqbzu0ghl6k`MZDs^N^m zsax{>7rWAS$vKKDbw?~uNGni#2heXo&RLD~3VPxNFD_F`%sw}IylrX^rYcGheY z@jiIX&#|P4Qp%mHoq#0IbZ9K68AO1{-<~iEx6;2!NkRzBV;#c;%snDoeo0V7Z z=KgzAl{}q8yz8uUdzOz2s|D*G=~8>PIKO-$V>LMwx%Y0*nFWc?kqMRQILkD{xSFr* z&42=&`#-izg_!MWx%VdCElg=*jz8us#XaF6qCcOh&~iR6wR|2vM$sT>PpRvU4^h_@ zvu3`GC9_0s>@@eMuGdZ2l5d)|wCS>w4crG2_kIoZJ>yNiyWZMO@}O7RBQ&VQqLGXK{OIqURxxFn0!2okoaX>;V7s@p zjQLENLmCRnL-9(H^nM+MA0BTeTb8@`1`*?U}2?_}C7Vw*|2C3xjN-K!MyEsaA5hG_gV1Pu#nCVn{iCw+RlDHg;0YXwMnX(TZppz)|ERdy^Oizp|Bl*J_|N{< z>E?KCtg;vcFtvu2$DA_03sAm}X9LOjsaB!e{TImvUP z1JP_GB)abz1=!Jn&3ZutB<7PR1MVHYP`E9Rs2u2Ckb{?$Knf@*ADmA*UHCSO7KzSD z3k2Ez7G0nNjMhSfp5M6<2K3kibY2n4p8_f8*-i%s8OQ$s zUW1k(A?g2U(a8-olLJBR@waG5z>suGXrMKk5S<`|qJax9n5hDB;Lh zZX}2yev+dW{W%;ICNnsDIV2M|cJ;`^yD<2QUryNV#t zL`FEsxw5?^SNhY(yMbtLz}QBOD_nrFH%Ul7wG9;lL*qjsL7iW32La6yP9*4G^^GK; drvhT{ML literal 0 HcmV?d00001 diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..cbfdbc5a28221988b7d55521aefe44146d4492b2 GIT binary patch literal 36646 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 literal 0 HcmV?d00001 diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0a4d91a6d47bad4340ba2302ec5120068867ee81 GIT binary patch literal 11635 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 VawE!_3S0stBcUK(BWf7*KLGYJU|awI literal 0 HcmV?d00001 diff --git a/public/browserconfig.xml b/public/browserconfig.xml new file mode 100644 index 0000000..51c1954 --- /dev/null +++ b/public/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #414141 + + + diff --git a/public/config.json b/public/config.json deleted file mode 100644 index 2fbdc16..0000000 --- a/public/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "DEFAULT_UCENTRALSEC_URL": "https://ucentral.dpaas.arilia.com:16001", - "ALLOW_UCENTRALSEC_CHANGE": false -} diff --git a/src/assets/devices/cig_wf160d.png b/public/devices/cig_wf160d.png similarity index 100% rename from src/assets/devices/cig_wf160d.png rename to public/devices/cig_wf160d.png diff --git a/src/assets/devices/cig_wf188.png b/public/devices/cig_wf188.png similarity index 100% rename from src/assets/devices/cig_wf188.png rename to public/devices/cig_wf188.png diff --git a/src/assets/devices/cig_wf188n.png b/public/devices/cig_wf188n.png similarity index 100% rename from src/assets/devices/cig_wf188n.png rename to public/devices/cig_wf188n.png diff --git a/src/assets/devices/cig_wf194c.png b/public/devices/cig_wf194c.png similarity index 100% rename from src/assets/devices/cig_wf194c.png rename to public/devices/cig_wf194c.png diff --git a/src/assets/devices/cig_wf194c4.png b/public/devices/cig_wf194c4.png similarity index 100% rename from src/assets/devices/cig_wf194c4.png rename to public/devices/cig_wf194c4.png diff --git a/src/assets/devices/cig_wf808.png b/public/devices/cig_wf808.png similarity index 100% rename from src/assets/devices/cig_wf808.png rename to public/devices/cig_wf808.png diff --git a/src/assets/devices/cig_wf809.png b/public/devices/cig_wf809.png similarity index 100% rename from src/assets/devices/cig_wf809.png rename to public/devices/cig_wf809.png diff --git a/src/assets/devices/edgecore_eap101.png b/public/devices/edgecore_eap101.png similarity index 100% rename from src/assets/devices/edgecore_eap101.png rename to public/devices/edgecore_eap101.png diff --git a/src/assets/devices/edgecore_eap102.png b/public/devices/edgecore_eap102.png similarity index 100% rename from src/assets/devices/edgecore_eap102.png rename to public/devices/edgecore_eap102.png diff --git a/src/assets/devices/edgecore_ecs4100-12ph.png b/public/devices/edgecore_ecs4100-12ph.png similarity index 100% rename from src/assets/devices/edgecore_ecs4100-12ph.png rename to public/devices/edgecore_ecs4100-12ph.png diff --git a/src/assets/devices/edgecore_ecw5211.png b/public/devices/edgecore_ecw5211.png similarity index 100% rename from src/assets/devices/edgecore_ecw5211.png rename to public/devices/edgecore_ecw5211.png diff --git a/src/assets/devices/edgecore_ecw5410.png b/public/devices/edgecore_ecw5410.png similarity index 100% rename from src/assets/devices/edgecore_ecw5410.png rename to public/devices/edgecore_ecw5410.png diff --git a/src/assets/devices/edgecore_oap100.png b/public/devices/edgecore_oap100.png similarity index 100% rename from src/assets/devices/edgecore_oap100.png rename to public/devices/edgecore_oap100.png diff --git a/src/assets/devices/edgecore_spw2ac1200-lan-poe.png b/public/devices/edgecore_spw2ac1200-lan-poe.png similarity index 100% rename from src/assets/devices/edgecore_spw2ac1200-lan-poe.png rename to public/devices/edgecore_spw2ac1200-lan-poe.png diff --git a/src/assets/devices/edgecore_spw2ac1200.png b/public/devices/edgecore_spw2ac1200.png similarity index 100% rename from src/assets/devices/edgecore_spw2ac1200.png rename to public/devices/edgecore_spw2ac1200.png diff --git a/src/assets/devices/edgecore_ssw2ac2600.png b/public/devices/edgecore_ssw2ac2600.png similarity index 100% rename from src/assets/devices/edgecore_ssw2ac2600.png rename to public/devices/edgecore_ssw2ac2600.png diff --git a/src/assets/devices/hfcl_ion4.png b/public/devices/hfcl_ion4.png similarity index 100% rename from src/assets/devices/hfcl_ion4.png rename to public/devices/hfcl_ion4.png diff --git a/src/assets/devices/hfcl_ion4.yml.png b/public/devices/hfcl_ion4.yml.png similarity index 100% rename from src/assets/devices/hfcl_ion4.yml.png rename to public/devices/hfcl_ion4.yml.png diff --git a/src/assets/devices/indio_um-305ac.png b/public/devices/indio_um-305ac.png similarity index 100% rename from src/assets/devices/indio_um-305ac.png rename to public/devices/indio_um-305ac.png diff --git a/src/assets/devices/linksys_e8450-ubi.png b/public/devices/linksys_e8450-ubi.png similarity index 100% rename from src/assets/devices/linksys_e8450-ubi.png rename to public/devices/linksys_e8450-ubi.png diff --git a/src/assets/devices/linksys_ea6350-v4.png b/public/devices/linksys_ea6350-v4.png similarity index 100% rename from src/assets/devices/linksys_ea6350-v4.png rename to public/devices/linksys_ea6350-v4.png diff --git a/src/assets/devices/linksys_ea6350.png b/public/devices/linksys_ea6350.png similarity index 100% rename from src/assets/devices/linksys_ea6350.png rename to public/devices/linksys_ea6350.png diff --git a/src/assets/devices/linksys_ea8300.png b/public/devices/linksys_ea8300.png similarity index 100% rename from src/assets/devices/linksys_ea8300.png rename to public/devices/linksys_ea8300.png diff --git a/src/assets/devices/tp-link_ec420-g1.png b/public/devices/tp-link_ec420-g1.png similarity index 100% rename from src/assets/devices/tp-link_ec420-g1.png rename to public/devices/tp-link_ec420-g1.png diff --git a/src/assets/devices/tplink_ec420.png b/public/devices/tplink_ec420.png similarity index 100% rename from src/assets/devices/tplink_ec420.png rename to public/devices/tplink_ec420.png diff --git a/src/assets/devices/tplink_ex227.png b/public/devices/tplink_ex227.png similarity index 100% rename from src/assets/devices/tplink_ex227.png rename to public/devices/tplink_ex227.png diff --git a/src/assets/devices/tplink_ex228.png b/public/devices/tplink_ex228.png similarity index 100% rename from src/assets/devices/tplink_ex228.png rename to public/devices/tplink_ex228.png diff --git a/src/assets/devices/tplink_ex447.png b/public/devices/tplink_ex447.png similarity index 100% rename from src/assets/devices/tplink_ex447.png rename to public/devices/tplink_ex447.png diff --git a/src/assets/devices/wallys_dr40x9.png b/public/devices/wallys_dr40x9.png similarity index 100% rename from src/assets/devices/wallys_dr40x9.png rename to public/devices/wallys_dr40x9.png diff --git a/src/assets/devices/wallys_dr6018.png b/public/devices/wallys_dr6018.png similarity index 100% rename from src/assets/devices/wallys_dr6018.png rename to public/devices/wallys_dr6018.png diff --git a/src/assets/devices/wallys_dr6018_v4.png b/public/devices/wallys_dr6018_v4.png similarity index 100% rename from src/assets/devices/wallys_dr6018_v4.png rename to public/devices/wallys_dr6018_v4.png diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..16806c6e27630a910880b4731e576eb5f38918d5 GIT binary patch literal 1021 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>VYF<1KV5{b|Nt1NGqxe*>a6MS|g_~isRt)C{lb(V~qi#^a#yNGC;++z2T z(4J6_14;f_p|)q&iIip<*a0n#inXq9x1KQDAu4uRwAYj{@7e7tYbMLv+uJ85B;@2| z+ZB{rHTM+zyKj&8tIIVwvRvHF)!xp|uA`%4!Mu46A>r1QjnQ6i^CG-5V@y{}kOO)u zC@3gAJlw;}%hS&3H|;39i5%MeSJMWJ#}^UUS3`v z9v)#~VLm=So}Qj=Zf;IaPJw}eAt52b!NK0%-puCA{C|Nm#SZ=45=C)tu9zhDN| zpaWkIg|M;YzyDDDHvGt!?+1^CzKi@+9(MG{@g#5ge4s+cByV?@hSa_DGJqWR5>H=O z_GeszyvFL^Q!R6VLa#kt977~7CnqGNB&AJcWfluFD`R8h^V74eWM!>%wOk-z&accY zynfB3OF#fg3=8v&bq@B9c9&B*bY4M0d-dw&`3V^*IZQ%=DGXh&X3d%z z9T63ITZ73`fic>;n%!MJT|C@;M#Jv*<o5(f`NvGiiwU5la_#_sI0KG z`1}bR!X93Jp1$7aPnwlArU1(iRB6fMfqu&IjIUIl?AB^nFS@u3=9=>9)IHD zC=AokIOTu(jOWuJ24-b$y<~1-Wnu5hBFw@HE)6D!Q<#-EhbWxBaplC3Ge=~Ou%B-5 cSm33{@Jd{;RG<|Mp00i_>zopr0A{pPHUIzs literal 0 HcmV?d00001 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..73382390ee72e879633bb5c5d2a89861f74ff060 GIT binary patch literal 1915 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�yUy$-iB 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 NWya$o3logv{eOo?DM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/index.html b/public/index.html deleted file mode 100644 index 1f329f2..0000000 --- a/public/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - Gateway - - - -

- - diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json index 54279b3..22e3fbb 100644 --- a/public/locales/de/translation.json +++ b/public/locales/de/translation.json @@ -1,824 +1,953 @@ { - "actions": { - "actions": "Aktionen", - "blink": "LEDs Blinken", - "configure": "Konfigurieren", - "connect": "Konsole öffnen", - "connecting": "Die Verbindung wird hergestellt ...", - "factory_reset": "Auf Werkseinstellungen zurückgesetzt", - "firmware_upgrade": "Firmware Aktualisierung", - "reboot": "Gerät neustarten", - "request_ie": "Fordern Sie IEs an", - "telemetry": "Telemetrie", - "title": "Geräte Administrations", - "trace": "Tcpdump starten", - "wifi_scan": "Wi-Fi Scan" + "account": { + "account": "Konto", + "activating_google_authenticator": "Aktivierung von Google Authenticator", + "activating_sms_mfa": "Validierung der Telefonnummer", + "avatar": "Benutzerbild", + "error_fetching_qr": "Fehler beim Abrufen des QR-Codes: {{e}}", + "error_phone_verif": "Fehler bei Ihrem Validierungscode, bitte versuchen Sie es erneut.", + "google_authenticator": "Google Authenticator", + "google_authenticator_intro": "Um Google Authenticator als doppelte Authentifizierungsmethode für Ihr Konto zu verwenden, müssen Sie zuerst die App auf Ihrem iOS- oder Android-Gerät installieren", + "google_authenticator_ready": "Sobald Sie die App einsatzbereit haben, können Sie fortfahren", + "google_authenticator_scan_qr_code_explanation": "Scannen Sie den folgenden QR-Code mit „Scannen Sie einen QR-Code“ in der Google Authenticator-App", + "google_authenticator_scanned_qr_code": "Sobald der QR-Code erfolgreich auf Ihrem Telefon gescannt wurde, können Sie mit dem nächsten Schritt fortfahren", + "google_authenticator_success_explanation": "Sie haben Google Authenticator jetzt erfolgreich mit Ihrem Konto eingerichtet. Vergessen Sie nicht, Ihre Änderungen zu speichern, um sie zu bestätigen!", + "google_authenticator_type_code": "Bitte geben Sie unten den 6-stelligen Code aus Ihrer Google Authenticator-App ein", + "google_authenticator_wait_for_code": "Auf den nächsten Code warten (nicht {{old}})", + "google_authenticator_wrong_code": "Ungültiger Code! Bitte versuchen Sie es erneut oder warten Sie, bis der nächste Code in der Google Authenticator-App generiert wird", + "mfa": "Multi-Faktor-Authentifizierung", + "phone": "Telefon", + "phone_number": "Telefonnummer", + "phone_number_add_introduction": "Bitte geben Sie die Telefonnummer ein, die Sie verwenden möchten, um Ihr Konto bei der Anmeldung zu sichern", + "phone_required": "Um die SMS-Verifizierung zu aktivieren, müssen Sie eine Telefonnummer eingeben", + "phone_validation_success_explanation": "Telefonnummer erfolgreich verifiziert! Klicken Sie auf „Speichern“, um diese Telefonnummer zu Ihrem Konto hinzuzufügen", + "proceed_to_activation": "Aktivierungsprozess starten", + "resend": "Erneut senden", + "sms": "SMS", + "success_phone_verif": "Telefonnummer erfolgreich verifiziert! Sie können Ihr Profil jetzt speichern", + "title": "Mein Konto", + "verify_phone_instructions": "Sie sollten in den nächsten Sekunden einen Code für Ihre Telefonnummer erhalten. Bitte geben Sie es unten ein, um Ihre Telefonnummer zu bestätigen", + "verify_phone_number": "Bestätige deine Telefonnummer" }, - "blink": { - "blink": "LEDs Blinken", - "device_leds": "LEDs", - "execute_now": "Möchten Sie dieses Muster jetzt einstellen?", - "explanation": "Welches Muster möchten Sie auf diesem Gerät für 30 Sekunden einstellen?", - "pattern": "Wählen Sie das Muster, das Sie verwenden möchten:", - "set_leds": "LEDs einstellen", - "when_blink_leds": "Wann möchten Sie die LEDs blinken lassen?" + "analytics": { + "ack_signal": "ACK-Signal", + "active": "Aktiv", + "airtime": "Sendezeit", + "analyze_sub_venues": "Überwachen Sie untergeordnete Veranstaltungsorte", + "associations": "Verbände", + "associations_explanation": "Assoziationen insgesamt", + "average_health": "Allgemeine Gesundheit", + "average_health_explanation": "Durchschnittliche Unversehrtheit aller angeschlossenen Geräte, die die Zustandsprüfungsinformationen bereitstellen", + "average_memory": "Verwendeter Speicher", + "average_memory_explanation": "Durchschnittlicher Prozentsatz des verwendeten Speichers", + "average_uptime": "Durchschnittliche Betriebszeit", + "average_uptime_explanation": "Durchschnittliche Gerätebetriebszeit (DD:HH:MM:SS)", + "band": "Band", + "bandwidth": "Bandbreite", + "board": "Analytics-Sammlung", + "busy": "Beschäftigt", + "channel": "Kanal", + "client_lifecycle": "Client-Lebenszyklus", + "client_lifecycle_one": "{{count}} Clientlebenszyklus", + "client_lifecycle_other": "{{count}} Clientlebenszyklen", + "connected": "In Verbindung gebracht", + "connection_explanation": "{{connectedCount}} verbunden, {{disconnectedCount}} nicht verbunden", + "connection_percentage": "{{count}} % verbunden", + "connection_percentage_explanation": "Prozentsatz aller Geräte unter diesem Veranstaltungsort, die verbunden sind ({{connectedCount}} verbunden, {{disconnectedCount}} nicht verbunden)", + "create_board": "Überwachung starten", + "dashboard": "Instrumententafel", + "delta": "Delta", + "device_types": "Typen", + "device_types_explanation": "Gerätetypen aller verfügbaren Geräte", + "disconnected": "Getrennt", + "firmware": "Firmware", + "health": "Gesundheit", + "inactive": "Inaktiv", + "interval": "Intervall", + "last_connection": "Letzte Verbindung", + "last_contact": "Letzter Kontakt", + "last_disconnection": "Letzte Trennung", + "last_firmware_explanation": "Die gängigste Firmware, die auf den analysierten Geräten ausgeführt wird", + "last_health": "Letzte Gesundheit", + "last_ping": "Letzter Ping", + "live_view": "Liveübertragung", + "live_view_explanation_five": "Sie können auch auf einen der Kreise klicken, um hineinzuzoomen", + "live_view_explanation_four": "Sie können mit der Maus über jedes der Objekte fahren, um detaillierte Informationen anzuzeigen", + "live_view_explanation_one": "Das 'Live View'-Diagramm ist eine visuelle Darstellung Ihres Veranstaltungsortes.", + "live_view_explanation_three": "Veranstaltungsort -> AP -> Radio -> SSID -> UEs", + "live_view_explanation_two": "Von außen nach innen:", + "live_view_help": "Hilfe zur Live-Ansicht", + "memory": "Erinnerung", + "memory_used": "Verwendeter Speicher", + "mode": "Modus", + "noise": "Lärm", + "packets": "Pakete", + "radio": "RADIO", + "raw_analytics_data": "Rohanalysedaten", + "raw_data": "Rohdaten", + "receive": "Erhalten", + "retention": "Zurückbehaltung", + "retries": "Wiederholungen", + "search_serials": "Zeitschriften suchen", + "stop_monitoring": "Beenden Sie die Überwachung", + "temperature": "Temperatur", + "title": "ANALYTICS", + "total_data": "Gesamtdaten", + "total_devices_explanation": "Alle Geräte unter diesem Veranstaltungsort ({{connectedCount}} verbunden, {{disconnectedCount}} nicht verbunden)", + "total_devices_one": "{{count}} Gerät", + "total_devices_other": "{{count}} Geräte", + "uptime": "Betriebszeit" + }, + "batch": { + "batches": "Chargen", + "cannot_edit_macs": "Da für diesen Stapel bereits Jobs ausgeführt wurden, können Sie seine MAC-Adressen nicht bearbeiten", + "change_warning": "WARNUNG: Sie haben entweder das Modell oder den Hersteller aktualisiert. Wir empfehlen dringend, Ihre Zertifikate zu aktualisieren, damit sie mit diesem Batch konsistent bleiben, indem Sie die Option „Zertifikate speichern und aktualisieren“ auswählen", + "create": "Zertifikate erstellen", + "create_certificates": "Zertifikate erstellen", + "create_certificates_explanation": "Möchten Sie die {{nbCerts}} -Zertifikate dieses Stapels wirklich erstellen?", + "create_certificates_title": "Erstellen Sie die Zertifikate von {{name}}", + "delete_explanation": "Möchten Sie diesen Batch wirklich löschen? Dadurch werden alle seine {{nbCerts}} -Zertifikate widerrufen und gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden", + "delete_title": "Stapel {{name}}löschen", + "duplicate_in_file": "Doppelter MAC in Zeile {{firstRow}} und {{secondRow}}gefunden: {{mac}}", + "emails_to_notify": "E-Mails zur Benachrichtigung, wenn diese Aufgabe abgeschlossen ist", + "error_push": "Fehler beim Starten des Push-Änderungsjobs: {{e}}", + "general_error_treating_file": "Allgemeiner Fehler beim Behandeln der Datei: Bitte stellen Sie sicher, dass sie im .CSV-Format vorliegt und nur eine Spalte ohne Kopfzeile enthält.", + "invalid_mac": "Ungültiger MAC in Zeile {{row}}: {{mac}}", + "mac_count_title": "{{nb}} MACs sind derzeit Teil dieses Stapels", + "nb_macs": "{{nb}} MACs", + "need_devices": "Sie müssen mindestens ein Zertifikat erstellen!", + "parsing_error": "Parsing-Fehler in Zeile {{row}}: {{e}}", + "phones_to_notify": "Telefonnummern, die benachrichtigt werden sollen, wenn die Aufgabe abgeschlossen ist", + "push_changes": "Push-Änderungen", + "push_changes_explanation": "Möchten Sie die Stapelinformationen wirklich auf alle Zertifikate dieses Stapels übertragen?", + "revoke_explanation": "Möchten Sie diesen Batch wirklich widerrufen? Dadurch werden alle seine {{nbCerts}} -Zertifikate widerrufen. Dieser Vorgang kann nicht rückgängig gemacht werden", + "revoke_title": "Charge {{name}}widerrufen", + "save_and_change": "Zertifikate speichern und aktualisieren", + "success_push": "Push-Änderungsjob erfolgreich gestartet! Auftragsnummer: {{job}}", + "title": "Stapel" + }, + "certificates": { + "certificate": "Zertifikat", + "common_names_explanation": "Benötigen Sie eine .CSV-Datei mit nur einer unbenannten Spalte mit 12 HEX-Ziffern für Geräte-MACs.", + "device": "Gerät", + "device_macs": "Geräte-MACs", + "domain_name": "Domänenname", + "error_fetching": "Fehler beim Abrufen der Zertifikate: {{e}}", + "error_revoke": "Fehler beim Versuch, das Zertifikat zu widerrufen: {{e}}", + "expires_on": "Läuft aus am", + "filename": "Dateiname", + "invalid_domain": "Akzeptierte Formate sind: domain.domain_der obersten_ebene oder sub_domain.domain._domain_der_obersten_ebene", + "invalid_mac": "Muss aus 12 HEX-Zeichen bestehen", + "invalid_redirector": "Akzeptierte Formate sind: example.com, example.com:16000", + "mac_address": "MAC-Adresse", + "macs": "MACs", + "manufacturer": "Hersteller", + "model": "Modell", + "redirector": "Umleitung", + "revoke": "Widerrufen", + "revoke_count": "Zählung widerrufen", + "revoke_warning": "Möchten Sie dieses Zertifikat wirklich widerrufen?", + "server": "Server", + "successful_revoke": "Zertifikat erfolgreich widerrufen!", + "title": "Zertifikate" }, "commands": { - "command_success": "Befehl erfolgreich übermittelt", - "error": "Fehler beim Senden des Befehls!", - "error_delete_log": "Fehler beim Versuch zu löschen: {{error}}", - "event_queue": "Ereigniswarteschlange", - "reboot_start": "Der Neustartvorgang hat begonnen!", - "success": "Befehl wurde erfolgreich übermittelt", - "title": "Gerätebefehle", - "unable_queue": "Anfrage für Ereigniswarteschlange kann nicht abgeschlossen werden: {{error}}" + "abort_command_explanation": "Möchten Sie wirklich nicht mehr auf das Ergebnis dieses Befehls warten?", + "abort_command_title": "Befehl abbrechen", + "active_scan": "Aktiver Scan", + "blink": "Blinken", + "blink_error": "Fehler beim Senden des Blinkbefehls: {{e}}", + "blink_success": "Blinkbefehl erfolgreich gesendet!", + "channel": "Kanal", + "confirm_reset": "Zurücksetzen von Gerät Nr.{{serialNumber}}starten", + "connect": "Verbinden", + "execution_time": "Ausführungszeit", + "factory_reset": "Gerät auf Werkseinstellungen zurücksetzen", + "factory_reset_error": "Fehler beim Versuch, das Gerät auf die Werkseinstellungen zurückzusetzen: {{e}}", + "factory_reset_success": "Werksreset des Geräts erfolgreich gestartet!", + "factory_reset_warning": "Möchten Sie dieses Gerät wirklich auf die Werkseinstellungen zurücksetzen? Diese Aktion ist nicht umkehrbar", + "firmware_upgrade": "Firmware-Aktualisierung", + "firmware_upgrade_error": "Fehler beim Versuch, die Gerätefirmware zu aktualisieren: {{e}}", + "firmware_upgrade_success": "Geräte-Upgrade erfolgreich gestartet!", + "image_date": "Bilddatum", + "keep_redirector": "Redirector beibehalten?", + "other": "Befehle", + "override_dfs": "DFS überschreiben", + "reboot": "Starten Sie neu", + "reboot_error": "Fehler beim Senden des Neustartbefehls: {{e}}", + "reboot_success": "Neustartbefehl erfolgreich gesendet!", + "revision": "Revision", + "scan": "Scan", + "signal": "Signal", + "upgrade": "Aktualisierung", + "wifiscan": "WLAN-Scan", + "wifiscan_error": "Fehler beim Versuch, das Gerät zu scannen: {{e}}", + "wifiscan_error_1": "Ihr 5G-Funkgerät befindet sich auf einem Radarkanal, Sie müssen „Override DFS“ aktivieren, um das Scannen aller 5G-Kanäle zu ermöglichen" }, "common": { - "access_policy": "Zugangsrichtlinien", - "add": "Hinzufügen", - "add_items": "Füge Artikel hinzu", - "add_note": "Notiz hinzufügen", - "add_note_explanation": "Schreiben Sie unten Ihre neue Notiz und klicken Sie auf die Schaltfläche \"+\", wo Sie fertig sind", - "adding_ellipsis": "Hinzufügen ...", + "actions": "Aktionen", + "address_search_autofill": "Suchen Sie Standorte, um die Felder unten automatisch auszufüllen", + "alert": "Warnen", "all": "Alles", - "are_you_sure": "Bist du sicher?", - "back_to_login": "Zurück zur Anmeldung", - "back_to_start": "Zurück zum Start", - "blacklist": "Schwarze Liste", + "assign": "Zuordnen", + "avg": "Durchschn", + "back": "Zurück", + "base_information": "Basisinformationen", "by": "Durch", - "cancel": "Abbrechen", - "certificate": "Zertifikat", - "certificates": "Zertifikate", + "cancel": "Stornieren", "claim": "Anspruch", - "clear": "Löschen", "close": "Schließen", - "code": "Code", + "columns": "Säulen", "command": "Befehl", - "commands": "Befehle", - "commands_executed": "Ausgeführte Befehle", - "compatible": "kompatibel", "completed": "Abgeschlossen", - "concurrent_devices": "Gleichzeitige Geräte", - "config_id": "Konfigurations ID", "confirm": "Bestätigen", - "confirm_stop_editing": "Möchten Sie die Bearbeitung wirklich beenden? Dadurch werden alle nicht gespeicherten Änderungen, die Sie vorgenommen haben, verworfen.", - "connected": "Verbindung wurde hergestellt", - "copied": "kopiert!", - "copied_to_clipboard": "In die Zwischenablage kopiert!", - "copy_to_clipboard": "In die Zwischenablage kopieren", + "connected": "In Verbindung gebracht", + "copied": "Kopiert", + "copy": "Kopieren", "create": "Erstellen", + "create_new": "Erstelle neu", "created": "Erstellt", - "created_by": "Erstellt von", "creator": "Schöpfer", - "current": "Aktuell", - "custom_date": "Benutzerdefiniertes Datum", - "dashboard": "Instrumententafel", + "custom": "Brauch", + "daily": "Täglich", "date": "Datum", - "day": "tag", - "days": "tage", - "default_map": "Standardkarte", - "delete": "Löschen", - "delete_device": "Gerät löschen", + "day": "Tag", + "days": "Tage", + "default": "Standard", + "description": "Beschreibung", "details": "Einzelheiten", - "device": "Gerät #{{serialNumber}}", - "device_dashboard": "Geräte-Dashboard", - "device_delete": "#{{serialNumber}}löschen", - "device_deleted": "Gerät erfolgreich gelöscht", - "device_health": "Gerätezustand", - "device_list": "Liste der Geräte", - "device_page": "Aussicht", - "device_status": "Gerätestatus", - "devices": "Geräte", - "devices_using_latest": "Geräte mit der neuesten Firmware", - "devices_using_unknown": "Geräte mit unbekannter Firmware", - "dismiss": "entlassen", - "do_now": "Sofort", + "device_details": "Gerätedetails", + "discard_changes": "Änderungen verwerfen?", + "disconnected": "Getrennt", + "display_name": "Anzeigename", "download": "Herunterladen", + "download_instructions": "Herunterladen erfolgreich! Wenn Sie die Datei nicht finden können, bestätigen Sie bitte, dass Sie Downloads von dieser Website zulassen", "duplicate": "Duplikat", - "duration": "Dauer", "edit": "Bearbeiten", - "edit_user": "Bearbeiten", - "email_address": "E-Mail-Addresse", - "endpoint": "Endpunkt", - "endpoints": "Endpunkte", - "error": "Fehler", - "error_adding_note": "Fehler beim Hinzufügen einer Notiz", - "error_code": "Fehlercode", + "email": "Email", + "empty_list": "Leere Liste", + "end": "Ende", + "entries_one": "Eintrag", + "entries_other": "Einträge", + "error": "Error", + "error_claiming_obj": "Fehler beim Beanspruchen von {{obj}}", + "error_download": "Fehler beim Downloadversuch: {{e}}", "errors": "Fehler", - "execute_now": "Möchten Sie diesen Befehl jetzt ausführen?", - "executed": "Ausgeführt", - "exit": "Ausgang", - "firmware": "Firmware", - "firmware_dashboard": "Firmware-Dashboard", - "firmware_installed": "Firmware installiert", - "forgot_password": "Haben Sie Ihr Passwort vergessen?", - "forgot_password_title": "Passwort vergessen", - "from": "Von", - "general_error": "API-Fehler, wenden Sie sich bitte an Ihren Administrator", + "exit_fullscreen": "Ausgang", + "finished": "Fertig", + "fullscreen": "Vollbildschirm", + "general_error": "Fehler beim Verbinden mit dem Server. Bitte wenden Sie sich an Ihren Administrator.", + "general_info": "Allgemeine Information", "go_back": "Geh zurück", + "go_to_map": "Gehen Sie zu Karte", "hide": "verbergen", - "hour": "stunde", - "hours": "std", - "id": "ID", - "invalid_credentials": "Ungültiger Benutzername und / oder Passwort", - "invalid_date_explanation": "Ungültiges Datum, bitte verwenden Sie den Kalender, auf den Sie über die Schaltfläche rechts zugreifen können", - "invalid_file": "Die ausgewählte Datei war ungültig, bitte lesen Sie die Anweisungen und passen Sie Ihre Datei entsprechend an", - "invalid_password": "Dieses Passwort entspricht nicht den grundlegenden Passwortregeln. Bitte besuchen Sie unsere Seite Passwortrichtlinien, um mehr zu erfahren", - "invalid_pem": "Ihre PEM-Datei ist ungültig. Es sollte mit '-----BEGIN CERTIFICATE-----' ODER '-----BEGIN PRIVATE KEY-----' beginnen und mit '-----END CERTIFICATE--- enden. --' ODER '-----END PRIVATSCHLÜSSEL-----'", - "ip_address": "IP Adresse", - "ips": "IPs", - "item": "Artikel", - "items": "Artikel", - "items_per_page": "Objekte pro Seite:", - "key": "Schlüssel", - "last_dashboard_refresh": "Letzte Dashboard-Aktualisierung", - "later_tonight": "Später am Abend", - "latest": "Neueste", - "list": "Liste", - "loading_ellipsis": "Wird geladen...", - "loading_more_ellipsis": "Mehr laden ...", + "hourly": "Stündlich", + "identification": "Identifizierung", + "inherit": "Erben", + "language": "Sprache", + "lifetime": "Lebenszeit", + "locale": "Gebietsschema", "logout": "Ausloggen", - "mac": "MAC-Adresse", "main": "Main", + "make_higher_priority": "Stellen Sie eine höhere Priorität ein", + "make_lower_priority": "Niedrigere Priorität setzen", + "manage": "Verwalten", + "manual": "Handbuch", "manufacturer": "Hersteller", - "memory_used": "Verwendeter Speicher", - "min_max": "Min: {{min}}, Max: {{max}}", - "minute": "Minute", - "minutes": "protokoll", + "map": "Karte", + "max": "Max", + "min": "MINDEST", + "mode": "Modus", + "model": "Modell", "modified": "Geändert", - "na": "(unbekannt)", - "need_date": "Du brauchst ein Datum...", + "monthly": "Monatlich", + "my_account": "Mein Konto", + "name": "Name", + "name_error": "Der Name muss weniger als 50 Zeichen lang sein", + "next": "Nächster", "no": "Nein", "no_addresses_found": "Keine Adressen gefunden", "no_clients_found": "Keine Kunden gefunden", "no_devices_found": "Keine Geräte gefunden", - "no_items": "Keine Gegenstände", + "no_items_yet": "Noch keine Artikel", + "no_obj_found": "Keine {{obj}} gefunden", + "no_records_found": "Keine Aufzeichnungen gefunden", "none": "Keiner", - "not_connected": "Nicht verbunden", - "of_connected": "% der verbundenen Geräte", - "off": "Aus", - "on": "An", - "optional": "Wahlweise", - "overall_health": "Allgemeine Gesundheit", - "password_policy": "Kennwortrichtlinie", - "preferences": "Einstellungen", - "preview": "Vorschau", - "program": "Programm", - "reason": "Grund", - "recorded": "Verzeichnet", - "refresh": "Aktualisierung", - "refresh_device": "Gerät aktualisieren", - "remove_claim": "Anspruch entfernen", - "required": "Erforderlich", - "result": "Ergebnis", - "save": "Sparen", - "saved": "Gerettet!", - "saving": "Speichern ...", - "schedule": "Zeitplan", - "search": "Geräte suchen", - "second": "zweite", - "seconds": "sekunden", - "seconds_elapsed": "Sekunden verstrichen", - "see_details": "Siehe Einzelheiten", - "select": "wählen", - "serial_num": "Seriennummer", - "serial_number": "Seriennummer", - "show_all": "Zeige alles", - "socket_connection_closed": "Verbindung geschlossen!", - "start": "Start", - "status": "Status", - "stop_editing": "Stoppen Sie die Bearbeitung", - "submit": "Absenden", - "submitted": "Eingereicht", - "success": "Erfolg", - "system": "System", - "table": "Tabelle", - "time_per_device": "Gerät/Sekunde", - "timestamp": "Zeit", - "to": "zu", - "type": "Art", - "type_for_options": "Geben Sie den Wert ein, den Sie erstellen müssen...", - "type_for_options_format": "Geben Sie einen Wert im gültigen Format ein ({{format}})...", - "unable_to_connect": "Keine Verbindung zum Gerät möglich", - "unable_to_delete": "Löschen nicht möglich", - "unknown": "unbekannte", - "up_to_date": "Aktuelle Geräte", - "uptimes": "Betriebszeiten", - "use_file": "Datei verwenden", - "uuid": "UUID", - "vendors": "Anbieter", - "view_more": "Mehr anzeigen", - "visibility": "Sichtweite", - "waiting_for_update": "Warten auf Aktualisierung", - "yes": "Ja" - }, - "configuration": { - "add_configuration": "Konfiguration hinzufügen", - "add_new_block": "Neuen Konfigurationsblock hinzufügen", - "add_or_link": "Verlinken oder hinzufügen", - "add_radio": "Radio hinzufügen", - "ca_cert_explanation": "Bitte verwenden Sie eine .pem-Datei, die mit \"-----BEGIN CERTIFICATE-----\" beginnt und mit \"-----END CERTIFICATE-----\" endet. Das Ergebnis wird im Feld darunter angezeigt. Sie können das Zertifikat, das Sie verwenden möchten, auch direkt kopieren und einfügen.", - "cannot_delete": "Diese Konfiguration kann nicht gelöscht werden, da sie von mindestens einer Entität, einem Veranstaltungsort oder einem Gerät verwendet wird", - "choose_radio_band": "Welche Radioband möchten Sie gründen?", - "choose_section": "Welchen Abschnitt soll dieser Block enthalten?", - "configuration_browser": "Konfigurationsbrowser", - "configurations": "Konfigurationen", - "create": "Konfiguration erstellen", - "create_config": "Neue Konfiguration erstellen", - "create_new_configuration": "Neues Konfigurationselement erstellen", - "created": "Erstellt", - "creation_success": "Konfiguration erfolgreich erstellt!", - "currently_associated": "Aktuell zugeordnete Konfiguration: {{config}}", - "currently_selected_config": "Derzeit ausgewählte Konfiguration: {{config}}", - "default_configs": "Standardkonfigurationen", - "default_configurations": "Standardkonfigurationen", - "delete_config": "Konfiguration löschen", - "details": "Gerätedetails", - "device_password": "Passwort", - "device_type": "Gerätetyp", - "device_types": "Gerätetypen", - "devices_affected": "Von dieser Konfiguration betroffene Geräte:", - "edit_configuration": "Konfiguration bearbeiten", - "error_delete": "Fehler beim Versuch zu löschen: {{error}}", - "error_delete_blacklist": "Fehler beim Löschen aus der schwarzen Liste: {{error}}", - "error_fetching_config": "Fehler beim Abrufen der Konfiguration", - "error_trying_delete": "Fehler beim Versuch zu löschen: {{error}}", - "error_update": "Fehler: {{error}}", - "explanation": "Erläuterung", - "key_pem_explanation": "Bitte .pem-Datei auswählen", - "last_configuration_change": "Konfigurationsänderung", - "last_configuration_download": "Letzter Konfigurations-Download", - "location": "Ort", - "need_device_type": "Jede Konfiguration muss mindestens einen Gerätetyp unterstützen", - "no_associated_config": "Keine zugehörige Konfiguration", - "no_associated_configuration": "Keine zugeordneten Konfigurationen", + "not_found": "404 Nicht gefunden", "note": "Hinweis", "notes": "Anmerkungen", - "owner": "Inhaber", - "select_configuration": "Wählen Sie diese Konfiguration", - "success_block_delete": "Konfigurationsblock erfolgreich gelöscht", - "success_update": "Konfiguration erfolgreich aktualisiert!", - "successful_delete": "Konfiguration gelöscht!", - "support_all": "Alle unterstützen", - "supported_device_types": "Unterstützte Gerätetypen", - "title": "Gerätekonfiguration", - "type": "Gerätetyp", - "used_by": "Benutzt von", - "used_by_details": "{{entities}} Entitäten, {{venues}} Veranstaltungsorte und {{devices}} Geräte", - "uuid": "Konfigurations-ID", + "of": "Von", + "password": "Passwort", + "preview": "Vorschau", + "quarterly": "vierteljährlich", + "redirector": "Umleitung", + "refresh": "Aktualisierung", + "remove": "Löschen", + "remove_claim": "Anspruch entfernen", + "reset": "Zurücksetzen", + "revoked": "Widerrufen", + "save": "sparen", + "search": "Suche", + "seconds": "Sekunden", + "select_value": "Wähle Wert", + "sending": "Senden", + "sent_code": "Code gesendet!", + "show": "Show", + "size": "Größe", + "start": "Start", + "started": "gestartet", + "state": "Zustand", + "status": "Status", + "stop_editing": "Stoppen Sie die Bearbeitung", + "submitted": "Eingereicht", + "success": "Erfolg", + "successfully_claimed_obj": " {{count}} {{obj}}erfolgreich beansprucht", + "sync": "Sync", + "test": "PRÜFUNG", + "theme": "Thema", + "time": "Zeit", + "timestamp": "Zeitstempel", + "type": "Art", + "type_for_options": "Geben Sie den Wert ein, den Sie erstellen müssen...", + "unknown": "unbekannte", + "use_file": "Datei verwenden", + "value": "Wert", + "variable": "Variable", + "view_details": "Details anzeigen", + "view_in_gateway": "Im Controller anzeigen", + "view_json": "JSON anzeigen", + "warning": "Warnung", + "warnings": "Warnungen", + "yearly": "Jährlich", + "yes": "Ja", + "your_new_note": "Ihre neue Notiz" + }, + "configurations": { + "add_interface": "Schnittstelle hinzufügen", + "add_radio": "Radio hinzufügen", + "add_ssid": "SSID hinzufügen", + "add_subsection": "Unterabschnitt hinzufügen", + "advanced_settings": "Erweiterte Einstellungen", + "affected_explanation_one": "Von dieser Konfiguration sind {{count}} Geräte betroffen", + "affected_explanation_other": "Von dieser Konfiguration sind {{count}} Geräte betroffen", + "applied_configuration": "Angewandte Konfiguration", + "cant_delete_explanation": "Diese Konfiguration kann nicht gelöscht werden, da sie von mindestens einem Gerät, einem Ort oder einer Entität verwendet wird. Sie können sehen, was sie sind, indem Sie im Formular dieser Konfiguration auf die Schaltfläche neben \"In Verwendung\" klicken", + "cant_delete_explanation_simple": "Diese Konfiguration kann nicht gelöscht werden, da sie von mindestens einem Gerät, einem Ort oder einer Entität verwendet wird. Sie können sehen, was sie sind, indem Sie auf die Konfigurationsseite gehen", + "configuration_json": "Konfiguration JSON", + "configuration_push_result": "Konfigurations-Push-Ergebnis", + "configuration_sections": "Konfigurationsabschnitte", + "delete_interface": "Schnittstelle löschen", + "delete_radio": "Radio löschen", + "delete_ssid": "SSID löschen", + "device_configurations": "Gerätekonfigurationen", + "device_types": "Gerätetypen", + "dhcp_snooping": "DHCP-Snooping", + "error_pushes_one": "Fehler (könnte an einer fehlerhaften Konfiguration liegen): {{count}}", + "error_pushes_other": "Fehler (können auf eine fehlerhafte Konfiguration zurückzuführen sein): {{count}}", + "expert_name": "Expertenmodus", + "explanation": "Erläuterung", + "firewall": "Firewall", + "firmware_upgrade": "Firmware-Aktualisierung", + "globals": "Globals", + "health": "Gesundheit", + "hostapd_warning": "URL-Parameter, Bsp.: test=value", + "import_file": "Konfiguration aus Datei importieren", + "import_file_explanation": "Sie können die folgende Option verwenden, um eine JSON-Konfigurationsdatei mit einem Inhalt in diesem Format zu importieren:\n{\n \"interfaces\": [ ... ],\n \"globals\": { ... },\n ...etc\n}", + "import_warning": "WARNUNG: Dieser Vorgang überschreibt alle Konfigurationsabschnitte, die Sie möglicherweise bereits erstellt haben.", + "imported_configuration": "Importierte Konfiguration", + "in_use_title": "{{name}} In Gebrauch", + "interfaces": "Schnittstellen", + "interfaces_instruction": "Bitte verwenden Sie eine gültige JSON-Zeichenfolge im folgenden Format: { \"interfaces\": [] }.", + "invalid_resource": "Ungültige oder Ressource löschen", + "metrics": "Metriken", + "no_resource_selected": "Keine Ressource ausgewählt", + "notification_details": "Aktualisiert: {{success}}, Warten auf Verbindung: {{warning}}, Fehler: {{error}}", + "one": "Aufbau", + "push_configuration": "Push-Konfiguration", + "push_configuration_error": "Fehler beim Versuch, die Konfiguration auf das Gerät zu übertragen: {{e}}", + "push_configuration_explanation": "Konfiguration nicht übertragen, Fehlercode {{code}}", + "push_success": "Konfiguration erfolgreich übertragen!", + "radio_limit": "Sie haben die maximale Anzahl an Funkgeräten (5) erreicht. Sie müssen eines der aktivierten Bänder löschen, um ein neues hinzuzufügen", + "radios": "Radios", + "rc_only": "Nur für Release-Kandidaten", + "save_warnings": "Möchten Sie Ihre Konfiguration wirklich speichern?", + "services": "dienstleistungen", + "special_configuration": "Gerätespezifische Konfiguration", + "start_special_creation": "Konfiguration für dieses Gerät erstellen", + "statistics": "Statistiken", + "successful_pushes_one": "Erfolgreicher Push: {{count}}", + "successful_pushes_other": "Erfolgreiche Pushs: {{count}}", + "third_party": "Dritte Seite", + "third_party_instructions": "Bitte verwenden Sie eine gültige JSON-Zeichenfolge im folgenden Format: { \"value_name\": \"value\" }.", + "title": "Konfigurationen", + "unit": "Einheit", "view_affected_devices": "Betroffene Geräte anzeigen", - "view_config": "Konfiguration anzeigen", "view_in_use": "In Verwendung anzeigen", - "view_json": "Rohe Konfiguration anzeigen" + "warning_pushes_one": "Warten auf Geräteverbindung: {{count}}", + "warning_pushes_other": "Warten auf Geräteverbindung: {{count}}", + "weight": "Gewicht", + "wifi_frames": "WiFi-Frames" }, - "configure": { - "choose_file": "Sie müssen eine gültige .json-Datei auswählen:", - "enter_new": "Geben Sie die JSON für die neue Gerätekonfiguration ein:", - "placeholder": "Konfiguration", - "title": "Gerät konfigurieren", - "valid_json": "Sie müssen ein gültiges JSON eingeben" - }, - "connect": { - "error_trying_to_connect": "Fehler beim Versuch, eine Verbindung zum Gerät herzustellen: {{error}}" - }, - "contact": { + "contacts": { "access_pin": "Zugangs-PIN", - "add_contact": "Kontakt hinzufügen", - "contact": "Kontakt", - "create_contact": "Kontakt erstellen", - "currently_selected_contact": "Aktuell ausgewählter Kontakt: {{contact}}", - "delete": "Kontakt löschen?", - "error_assign": "Fehler beim Versuch, Kontakt zuzuweisen: {{error}}", - "error_creation": "Fehler beim Versuch, einen Kontakt zu erstellen: {{error}}", - "error_delete": "Fehler beim Versuch, den Kontakt zu löschen: {{error}}", - "error_fetching_list": "Fehler beim Abrufen der Kontakte", - "error_fetching_single": "Fehler beim Abrufen des Kontakts: {{error}}", - "error_unassign": "Fehler beim Versuch, die Zuweisung des Kontakts aufzuheben: {{error}}", + "claim_explanation": "Um Kontakte zu beanspruchen, können Sie die folgende Tabelle verwenden", "first_name": "Vorname", "identifier": "Identifikator", "initials": "Initialen", "last_name": "Nachname", - "no_associated_contact": "Kein zugehöriger Kontakt", + "mobiles": "MOBILES", + "one": "Kontakt", + "other": "Kontakte", + "phones": "Telefone", "primary_email": "Erste Email", "salutation": "Anrede", "secondary_email": "Alternative Email", - "successful_assign": "Kontakt erfolgreich zugewiesen!", - "successful_creation": "Kontakt Erstellt!", - "successful_delete": "Kontakt erfolgreich gelöscht!", - "successful_unassign": "Erfolgreich nicht zugewiesener Kontakt", - "successful_update": "Kontakt erfolgreich aktualisiert", - "title": "Kontakte", - "type": "Art", - "update_error": "Fehler beim Aktualisieren des Kontakts: {{error}}", - "user_title": "Titel", - "visual": "Korrespondenzname" + "title": "Titel", + "to_claim": "Kontakte zu beanspruchen", + "visual": "Visual" }, - "delete_command": { - "explanation": "Möchten Sie diesen Befehl wirklich löschen? Diese Aktion ist nicht umkehrbar.", - "title": "Befehl löschen" + "controller": { + "configurations": { + "create_success": "Konfiguration erstellt!", + "delete_success": "Konfiguration ist jetzt gelöscht!", + "title": "Standardkonfigurationen", + "update_success": "Aktualisierte Konfiguration!" + }, + "configure": { + "invalid": "Ihre neue Konfiguration muss gültiges JSON sein", + "success": "Die neue Konfiguration wird jetzt auf dem Gerät bereitgestellt", + "title": "Konfigurieren", + "warning": "Seien Sie gewarnt: Es werden nur minimale Tests mit dieser Konfiguration durchgeführt" + }, + "crud": { + "choose_time": "Benutzerdefinierter Zeitrahmen", + "clear_time": "Klare Zeit", + "delete_success_obj": " {{obj}}gelöscht" + }, + "dashboard": { + "associations": "Verbände", + "associations_explanation": "Alle aktuell verbundenen Assoziationen (oder UEs)", + "certificates": "Zertifikate", + "certificates_explanation": "Status der Zertifikate aktuell verbundener Geräte", + "commands": "Befehle", + "commands_explanation": "Alle ausgeführten Befehle", + "device_dashboard_refresh": "Neue Verbindungsstatistik", + "device_types": "Gerätetypen", + "device_types_explanation": "Gerätetypen aller Geräte, die auf diesen Controller verweisen", + "devices_explanation": "Alle Geräte zeigen auf diesen Controller-Endpunkt", + "error_fetching": "Fehler beim Abrufen des Dashboards", + "expand": "Erweitern", + "last_ping_explanation": "Wann diese Daten erhoben wurden", + "memory": "Speichernutzung", + "memory_explanation": "Derzeit verbundene Geräte mit der entsprechenden Menge an belegtem Speicher", + "no_certificate": "Kein Zertifikat", + "not_connected": "Nicht verbunden", + "others": "andere", + "overall_health": "Allgemeine Gesundheit", + "overall_health_explanation": "Durchschnittlicher Gesundheitszustand aller derzeit verbundenen Geräte, von denen wir Gesundheitsdaten erhalten. Die genaue Berechnung lautet: (Geräte = 100 % * 100 + Geräte > 90 * 95 + Geräte > 60 * 75 + Geräte < 60 * 30) / Verbundene Geräte", + "overall_health_explanation_pie": "Die Anzahl der Geräte mit einem Integritätsprozentsatz innerhalb dieser Kategorien", + "serial_mismatch": "Serielle Diskrepanz", + "status": "Status", + "status_explanation": "Status aller Geräte, die auf diesen Controller-Endpunkt verweisen", + "unknown_status": "Unbekannter Status", + "unrecognized": "Unerkannt", + "uptimes": "", + "uptimes_explanation": "Aktuell verbundene Geräte mit den entsprechenden Uptimes", + "vendors": "Anbieter", + "vendors_explanation": "Anbieter der Geräte, die auf diesen Controller verweisen", + "verified": "Verifiziert" + }, + "devices": { + "add_blacklist": "Seriennummer hinzufügen", + "added": "hinzugefügt", + "added_blacklist": "Seriennummer zur Blacklist hinzugefügt!", + "average_uptime": "Durchschnittliche Betriebszeit", + "blacklist": "Schwarze Liste", + "blacklist_update": " {{serialNumber}} Datensatz aktualisieren", + "by": "Durch", + "capabilities": "Fähigkeiten", + "command_one": "Befehl", + "commands": "Befehle", + "complete_data": "Vollständige Daten", + "config_id": "Konfigurations-ID", + "connecting": "Anschließen", + "connection_changes": "Verbindungsstatus", + "delete_blacklist": "Seriennummer von Blacklist entfernt!", + "delete_health_explanation": "Dadurch werden alle Zustandsprüfungen vor dem von Ihnen gewählten Datum dauerhaft gelöscht", + "delete_logs_explanation": "Dadurch werden alle Protokolle vor dem von Ihnen gewählten Datum dauerhaft gelöscht", + "error_code": "Fehlercode", + "executed": "Hingerichtet", + "finished_reboot": "{{serialNumber}} hat gerade den Neustart beendet!", + "finished_upgrade": "{{serialNumber}} hat das Upgrade abgeschlossen!", + "from_to": "Von {{from}} bis {{to}}", + "healthchecks": "Gesundheitschecks", + "last_modified": "Zuletzt bearbeitet:", + "last_upgrade": "Letzte Aktualisierung", + "localtime": "Ortszeit", + "logs": "LOGS", + "new_statistics": "Neue Statistiken", + "no_more_available": "Alle abgerufen", + "reason": "Grund", + "results": "Ergebnisse", + "sent_upgrade_to_latest": "Befehl „Auf neueste Version aktualisieren“ an das Gerät gesendet", + "severity": "Schwere", + "show_more": "Zeig mehr", + "started_reboot": "{{serialNumber}} zum Neustart abschalten!", + "started_upgrade": "{{serialNumber}} einfach herunterfahren, um das Upgrade zu starten!", + "trace": "Spur", + "trace_description": "Starten Sie eine Fernverfolgung dieses Geräts für eine bestimmte Dauer oder eine Anzahl von Paketen", + "update_success": "Gerät aktualisiert!", + "updated_blacklist": "Schwarze Liste aktualisiert!" + }, + "firmware": { + "devices_explanation": "Geräte, die auf diesen Firmware-Server verwiesen haben. Dies könnte Diskrepanzen zwischen dieser Nummer und der des Geräte-Dashboards erklären", + "endpoints": "Endpunkte", + "endpoints_explanation": "Alle Endpunkte, die auf diesen Firmware-Server verweisen", + "firmware_age": "Firmware-Alter", + "firmware_age_explanation": "Durchschnittliches Firmware-Alter für die Geräte, für die uns diese Daten vorliegen", + "latest": "Neueste Firmware installiert", + "ouis_explanation": "OUIs von Geräten, die sich mit diesem Firmware-Server verbunden haben", + "outdated": "Veraltete, neuere Firmware verfügbar", + "release": "Veröffentlichung", + "show_dev_releases": "Entwicklerversionen", + "status_explanation": "Verbindungsstatus von Geräten, die sich mit diesem Firmware-Server verbunden haben", + "unrecognized": "Unbekannte Firmware", + "unrecognized_firmware": "Unbekannte Firmware", + "unrecognized_firmware_explanation": "Firmware, die derzeit von Geräten verwendet wird und von diesem Firmware-Server nicht erkannt wird", + "up_to_date": "Aktuelle Geräte", + "up_to_date_explanation": "Geräte, die die neueste verfügbare Software verwenden, die ihnen zur Verfügung steht" + }, + "provisioning": { + "title": "Bereitstellung" + }, + "queue": { + "title": "Ereigniswarteschlange" + }, + "stats": { + "load": "Belastung (1 | 5 | 15 m.)", + "seconds_ago": " Vor {{s}} Sekunden", + "used": "Gebraucht" + }, + "telemetry": { + "duration": "Dauer", + "interval": "Intervall", + "kafka": "Kafka", + "kafka_success": "Kafka-Telemetrie ist jetzt gestartet!", + "last_update": "Letztes Update", + "minutes": "Protokoll", + "need_types": "Sie müssen mindestens einen Typ auswählen", + "output": "Ausgabemodus", + "seconds_ago": " Vor{{seconds}} Sekunden", + "title": "Telemetrie", + "types": "Typen", + "websocket": "WebSocket" + }, + "trace": { + "down": "Nieder", + "download": "Trace herunterladen", + "duration": "Dauer", + "network": "Netzwerk", + "packets": "Pakete", + "success": "Trace auf Gerät Nr.{{serialNumber}}abgeschlossen. Das Ergebnis können Sie jetzt herunterladen", + "up": "Oben", + "wait": "Auf die Ergebnisse warten?" + }, + "wifi": { + "active_ms": "Aktiv", + "busy_ms": "Beschäftigt", + "channel_width": "Ch-Breite", + "mode": "Modus", + "noise": "Lärm", + "receive_ms": "Erhalten", + "rx_rate": "Rx-Rate", + "station": "Bahnhof", + "tx_rate": "Tx-Rate", + "vendor": "Verkäufer", + "wifi_analysis": "WLAN-Analyse" + } }, - "delete_logs": { - "date": "Wählen Sie das Datum des ältesten Protokolls aus, das Sie behalten möchten", - "device_logs_title": "Geräteprotokolle löschen", - "explanation": "Dadurch werden alle {{object}} vor dem von Ihnen gewählten Datum gelöscht. Seien Sie vorsichtig, diese Aktion ist nicht umkehrbar.", - "healthchecks_title": "Healthchecks löschen" + "crud": { + "add": "Hinzufügen", + "confirm_cancel": "Möchten Sie die vorgenommenen Änderungen wirklich verwerfen?", + "confirm_delete_obj": "Möchten Sie diese {{obj}}wirklich löschen?", + "create": "Erstellen", + "create_object": " {{obj}}erstellen", + "delete": "Löschen", + "delete_confirm": "Möchten Sie diese {{obj}}wirklich löschen?", + "delete_obj": " {{obj}}löschen", + "edit": "Bearbeiten", + "edit_obj": " {{obj}}bearbeiten", + "error_create_obj": "Fehler beim Erstellen von {{obj}}: {{e}}", + "error_delete_obj": "Fehler beim Löschen von {{obj}}: {{e}}", + "error_fetching_obj": "Fehler beim Abrufen von {{obj}}: {{e}}", + "error_revoke_obj": "Fehler beim Widerrufen von {{obj}}: {{e}}", + "error_update_obj": "Fehler beim Aktualisieren von {{obj}}: {{e}}", + "success_create_obj": " {{obj}}erfolgreich erstellt!", + "success_delete_obj": " {{obj}}erfolgreich gelöscht!", + "success_revoke_obj": " {{obj}}erfolgreich widerrufen!", + "success_update_obj": " {{obj}}erfolgreich aktualisiert!" }, - "device": { - "add_to_blacklist": "Gerät zur Blacklist hinzufügen", - "all_devices": "Alle Geräte", - "already_running_command": "Gerät führt bereits einen Befehl aus, bitte versuchen Sie es später erneut", - "blacklisted_on": "Datum", - "capabilities": "Fähigkeiten", - "certificate_explanation": "Zertifikate der angeschlossenen Geräte", - "count_explanation": "Geräte, die auf diese Gateway-Instanz verweisen", - "edit_blacklist": "Gerät auf der schwarzen Liste bearbeiten", - "error_adding_blacklist": "Fehler beim Hinzufügen des Geräts zur Blacklist: {{error}}", - "error_edit_blacklist": "Fehler beim Bearbeiten der schwarzen Liste: {{error}}", - "error_fetching_device": "Fehler beim Abrufen der Geräteinformationen: {{error}}", - "error_fetching_devices": "Fehler beim Abrufen von Geräten: {{error}}", - "firmware_count_explanation": "Dies ist die Gesamtzahl der Geräte, die diesem Firmware-Server hinzugefügt wurden, einschließlich der Geräte, die derzeit nicht auf den zugehörigen Gateway-Server verweisen.", - "health_explanation": "Zustand der verbundenen Geräte ((Geräte = 100 % * 100 + Geräte > 90 % * 95 + Geräte > 60 % * 75 + Geräte < 60 % * 35) / Verbundene Geräte)", - "mac_not_found": "Seriennummer nicht gefunden, Sie werden zur Seite „Geräte“ weitergeleitet", - "memory_explanation": "Anzahl verbundener Geräte mit entsprechendem belegtem Speicher %", - "remove_from_blacklist": "Von der schwarzen Liste entfernen", - "success_added_blacklist": "Gerät erfolgreich zur Blacklist hinzugefügt!", - "success_edit_blacklist": "Blacklist erfolgreich bearbeitet!", - "success_removed_blacklist": "Gerät erfolgreich von Blacklist entfernt!", - "uptimes_explanation": "Anzahl der verbundenen Geräte basierend auf ihrer Betriebszeit" + "devices": { + "all": "Alles", + "associations": "Verbände", + "connected": "In Verbindung gebracht", + "create_errors": "Fehler beim Versuch, Geräte zu erstellen", + "create_success": " Geräte erfolgreich erstellt", + "current_firmware": "Aktuelle Firmware", + "device_type_not_found": "Unbekannter Gerätetyp", + "duplicate_serial": "Doppelte Seriennummer in der Datei", + "error_rtty": "Fehler beim Versuch, eine Verbindung zum Gerät herzustellen: {{e}}", + "file_errors": "problematische Geräte", + "found_assigned": "bereits zugewiesene Geräte", + "found_not_assigned": "bereits vorhandene, aber jetzt eigene Geräte", + "import_batch_tags": "Geräte importieren", + "import_device_warning": "Bitte stellen Sie sicher, dass am Anfang oder Ende von Werten keine zusätzlichen Leerzeichen stehen, es sei denn, es handelt sich um einen Teil des gewünschten Werts", + "import_explanation": "Für den Massenimport von Geräten müssen Sie eine CSV-Datei mit den folgenden Spalten verwenden: SerialNumber, DeviceType, Name, Description, Note", + "invalid_serial_number": "Ungültige Seriennummer (muss 12 HEX-Zeichen lang sein)", + "new_devices": "Neue Geräte", + "not_connected": "Nicht verbunden", + "not_found_gateway": "Fehler: Gerät hat sich noch nicht mit dem Gateway verbunden", + "one": "Gerät", + "reassign_already_owned": "Geräte neu zuweisen, die bereits vorhanden sind und einem anderen Unternehmen/Veranstaltungsort/Abonnenten gehören?", + "sanity": "Gesundheit", + "start_import": "Geräteimport starten", + "test_batch": "Testen Sie Importdaten", + "test_results": "Testergebnisse", + "title": "Geräte", + "treating": "Testen:", + "unassigned_only": "Nur nicht zugewiesen", + "update_error": "Fehler beim Versuch, Geräte zu aktualisieren", + "update_success": "Geräte erfolgreich aktualisiert" }, - "device_logs": { - "log": "Protokoll", - "severity": "Wichtigkeit", - "title": "Geräteprotokolle" - }, - "entity": { - "add_child": "Untergeordnete Entität zu {{entityName}}hinzufügen", - "add_failure": "Fehler, der Server hat zurückgegeben: {{error}}", - "add_ips": "IPs verwalten", - "add_root": "Root-Entität hinzufügen", - "add_success": "Entität erfolgreich erstellt!", - "assigned_inventory": "Zugewiesenes Inventar", - "cannot_delete": "Entitäten mit untergeordneten Elementen können nicht gelöscht werden. Löschen Sie die untergeordneten Elemente dieser Entität, um sie löschen zu können.", - "confirm_map_delete": "Möchten Sie die Karte {{name}}wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden", - "currently_selected_entity": "Derzeit ausgewähltes Unternehmen: {{config}}", - "currently_selected_venue": "Aktuell ausgewählter Veranstaltungsort: {{config}}", - "delete_success": "Entität erfolgreich gelöscht", - "delete_warning": "Achtung: Dieser Vorgang kann nicht rückgängig gemacht werden", - "duplicate_from_node": "Mit einem bestimmten Root-Knoten duplizieren", - "duplicate_map": "Karte duplizieren", - "duplicate_with_node": "Dupliziere {{mapName}} mit {{rootName}} als Root-Knoten", - "edit_failure": "Aktualisierung fehlgeschlagen : {{error}}", - "enter_here": "Geben Sie hier die IP(s) ein, die Sie hinzufügen möchten", - "entire_tree": "Netzwerkkarte", - "entities": "Entitäten", + "entities": { + "active": "Aktiv", + "add_configurations": "Konfigurationen hinzufügen", + "add_ips": "IPs hinzufügen", + "add_ips_explanation": "Sie können IPv4- oder IPv6-Adressen in den folgenden Formaten hinzufügen", + "api_key": "API-Schlüssel", + "cant_delete_explanation": "Diese Entität kann nicht gelöscht werden, da sie untergeordnete Entitäten und/oder Veranstaltungsorte hat. Sie müssen alle untergeordneten Elemente dieser Entität löschen, bevor Sie sie löschen", + "claim_device_explanation": "Um Geräte zu beanspruchen, können Sie die folgende Tabelle verwenden. Wenn ein Gerät bereits von einer anderen Entität oder einem anderen Ort beansprucht wurde, werden wir die Zuordnung auch aufheben, bevor wir es dieser Entität zuweisen", + "client_enrollment_profile": "Kundenregistrierungsprofil", + "create_child_entity": "Untergeordnete Entität erstellen", + "create_root": "Root-Entität erstellen", + "create_root_explanation": "Bitte geben Sie die erforderlichen Informationen ein, um die Root-Entität Ihres Bereitstellungsdienstes zu erstellen. Diese Informationen können nach der Erstellung geändert werden", + "current_state": "Aktuellen Zustand", + "default_redirector": "Standard-Redirector", + "devices_to_claim": "Neue Geräte zum Beantragen", + "devices_under_root": "Geräte können nicht direkt unter der Root-Entität erstellt werden. Bitte erstellen Sie neue Entitäten oder Veranstaltungsorte und erstellen Sie Geräte darunter.", + "enter_ips": "Geben Sie hier die IP(s) ein, die Sie hinzufügen möchten", "entity": "Entität", - "error_deleting_map": "Fehler beim Löschen der Karte: {{error}}", - "error_fetch_entity": "Fehler beim Abrufen von Entitätsinformationen", - "error_fetching": "Fehler beim Abrufen von Entitäten", - "error_fetching_map": "Fehler beim Abrufen der Karte: {{error}}", - "error_fetching_tree": "Fehler beim Abrufen des Baums: {{error}}", - "error_saving": "Fehler beim Speichern der Entität", - "error_saving_map": "Fehler beim Speichern der Karte: {{error}}", - "higher_priority": "Stellen Sie eine höhere Priorität ein", + "error_sync": "Fehler beim Versuch, die Synchronisierung von {{name}}zu starten: {{e}}", + "failed_test": "Fehlgeschlagene Tests mit DigiCert-Anmeldeinformationen, bitte überprüfen Sie Ihre Entitätsinformationen", + "initial_state": "Ausgangszustand", + "ip_cidr": "IP/Nummer (Beispiel: 10.0.0.0/8)", "ip_detection": "IP-Erkennung", - "ip_formats": "Sie können IPv4- oder IPv6-Adressen in den folgenden Formaten hinzufügen:", - "lower_priority": "Niedrigere Priorität setzen", - "map": "Karte", - "map_delete_success": "Karte erfolgreich gelöscht!", - "need_select_entity": "sSie müssen eine Entität aus der folgenden Tabelle auswählen", - "no_ips": "Keine IPs ausgewählt", - "not_assigned": "Nicht zugeordnet", - "only_unassigned": "Nur nicht zugewiesen", - "select_entity": "Wählen Sie diese Entität aus", - "selected_entity": "Ausgewählte Einheit", - "selected_map": "Ausgewählte Karte", - "tree_saved": "Karte erfolgreich gespeichert!", - "update_failure_error": "Fehler beim Versuch, die Entität zu aktualisieren: {{error}}", - "valid_serial": "Muss eine gültige Seriennummer sein (12 HEX-Zeichen)", - "venues": "Veranstaltungsorte" - }, - "factory_reset": { - "redirector": "Gatewaykonfiguration beibehalten:", - "reset": "Zurücksetzen", - "resetting": "Zurücksetzen...", - "title": "Gerät auf Werkseinstellungen zurücksetzen", - "warning": "Achtung: Nach dem Absenden kann dies nicht rückgängig gemacht werden" - }, - "firmware": { - "age_explanation": "Durchschnittliche Anzahl der Tage für alle Geräte, von denen wir diesen Wert erhalten können", - "average_age": "Durchschnittliches Firmware-Alter", - "choose_custom": "Wählen", - "details_title": "Bild #{{image}} Details", - "device_type": "Gerätetyp", - "device_types": "Gerätetypen", - "downloads": "Downloads", - "error_fetching_latest": "Fehler beim Abrufen der neuesten Firmware", - "from_release": "Von", - "history_title": "Geschichte", - "image": "Bild", - "image_date": "Bilddatum", - "installed_firmware": "Installierte Firmware", - "latest_explanation": "Geräte, auf denen erkannte Firmware in der neuesten Version ausgeführt wird", - "latest_version_installed": "Neueste Version installiert Version", - "newer_firmware_available": "Neuere Versionen verfügbar", - "reinstall_latest": "Neu installieren", - "release": "Veröffentlichung", - "revision": "Revision", - "show_dev": "Dev-Releases anzeigen", - "size": "Größe", - "status": "Firmware-Status", - "title": "Firmware", - "to_release": "Zu", - "unknown_firmware_status": "Unbekannter Firmware-Status", - "upgrade": "Aktualisierung", - "upgrade_command_submitted": "Aktualisierung läuft...", - "upgrade_to_latest": "Neueste", - "upgrade_to_version": "Upgrade auf diese Revision", - "upgrading": "Upgrade durchführen..." + "ip_list": "Liste: IP, IP IP", + "ip_range": "Bereich: IP-IP", + "ip_single_address": "Einzelne Adresse: IP", + "one": "Entität", + "organization": "Organisation", + "server_enrollment_profile": "Serverregistrierungsprofil", + "status": "Status", + "sub_one": "Untereinheit", + "sub_other": "Untereinheiten", + "success_sync": "Synchronisierung von {{name}}erfolgreich gestartet!", + "success_test": "Der Test der DigiCert-Anmeldeinformationen dieser Entität war erfolgreich!", + "suspended": "Suspendiert", + "sync_explanation": "Möchten Sie diese Entität synchronisieren? Dies kann je nach Menge der Zertifikate dieser Entität eine Weile dauern.", + "sync_title": " {{name}}synchronisieren", + "test_digicert_creds": "Anmeldeinformationen testen", + "title": "Entitäten", + "tree": "Entitätsbaum", + "venues_under_root": "Veranstaltungsorte können nicht direkt unter der Root-Entität erstellt werden. Bitte erstellen Sie neue Entitäten und erstellen Sie Veranstaltungsorte unter diesen." }, "footer": { - "coreui_for_react": "CoreUI für React", "powered_by": "Unterstützt von", - "version": "Version" + "version": "Ausführung" }, - "health": { - "sanity": "Gesundheitzustand", - "title": "Gesundheitzustand" + "form": { + "certificate_file_explanation": "Bitte verwenden Sie eine .pem-Datei, die mit „-----BEGIN CERTIFICATE-----“ beginnt und mit „-----END CERTIFICATE-----“ endet.", + "invalid_cidr": "Ungültige CIDR-IPv4-Adresse. Beispiel: 192.168.0.1/12", + "invalid_email": "Ungültige E-Mail", + "invalid_file_content": "Ungültiger Dateiinhalt, bitte bestätigen Sie, dass es sich um ein gültiges Format handelt", + "invalid_fqdn_host": "Ungültiger FQDN-Hostname", + "invalid_hostname": "Ungültiger Hostname: Er darf nur aus alphanumerischen Zeichen und Bindestrichen bestehen", + "invalid_icon_lang": "Ungültige Sprache, sollte aus 3 Buchstaben bestehen (eng, fre, ger, ita usw.)", + "invalid_ieee": "Für dieses Verschlüsselungsprotokoll muss ieee80211w entweder „optional“ oder „erforderlich“ sein.", + "invalid_interfaces": "Ungültige Schnittstellen-JSON-Zeichenfolge. Bitte bestätigen Sie, dass Ihr Wert gültiges JSON ist und Schnittstellen als einzigen Schlüssel hat und dass der Schnittstellenwert ein Array ist. Beispiel: {\"interfaces\": []}", + "invalid_ipv4": "Ungültige IPv4-Adresse (Bsp.: 192.168.0.1 oder 192.168.0.1/16", + "invalid_ipv6": "Ungültige IPv6-Adresse (Bsp.: 2001:db8:3333:4444:5555:6666:7777:8888)", + "invalid_json": "Ungültige JSON-Zeichenfolge", + "invalid_lease_time": "Ungültiger Lease-Time-Wert! Sie müssen im digitUnit-Format vorliegen. Zum Beispiel: 6d2h5m, was 6 Tage, 2 Stunden und 5 Minuten bedeutet. Hier sind die akzeptierten Einheiten: m, h, d. Wenn Sie eine Einheit nicht verwenden möchten, lassen Sie sie vollständig weg. Anstatt also 0d2h0m zu sagen, verwenden Sie 2h", + "invalid_mac_uc": "Ungültiger UC-MAC-Wert, zum Beispiel: 00:00:5e:00:53:af", + "invalid_password": "Ungültiges Passwort, bitte sehen Sie sich die Passwortrichtlinie an", + "invalid_phone_number": "Ungültige Telefonnummer", + "invalid_phone_numbers": "Mindestens eine der Telefonnummern ist ungültig. Bitte geben Sie sie ohne Symbole und Leerzeichen oder in diesem Format an: +1(123)123-1234", + "invalid_port_range": "Ungültiger Portwert. Er muss größer als 0 und kleiner als 65 535 sein. Wenn Sie einen Portbereich verwenden, stellen Sie bitte sicher, dass der zweite Port eine höhere Nummer als der erste hat.", + "invalid_port_ranges": "Ungültige Portbereichskombination! Bitte stellen Sie sicher, dass beide Portwerte vom gleichen Typ sind (einzeln oder Bereich). Wenn es sich um Bereiche handelt, stellen Sie sicher, dass beide die gleiche Anzahl von Ports abdecken", + "invalid_proto_6g": "Dieses Verschlüsselungsprotokoll kann nicht auf einer SSID verwendet werden, die 6G verwendet", + "invalid_proto_passpoint": "Dieses Verschlüsselungsprotokoll kann nicht mit einer Passpoint-SSID verwendet werden. Bitte wählen Sie ein Protokoll aus, das Radius verwenden kann", + "invalid_select_ports": "Inkompatible Werte zwischen Schnittstellen! Bitte stellen Sie sicher, dass es keine doppelte PORT/VLAN-ID-Kombination zwischen Ihren Schnittstellen gibt", + "invalid_third_party": "Ungültige Drittanbieter-JSON-Zeichenfolge. Bitte bestätigen Sie, dass Ihr Wert ein gültiges JSON ist", + "key_file_explanation": "Bitte verwenden Sie eine .pem-Datei, die mit „-----BEGIN PRIVATE KEY-----“ beginnt und mit „-----END PRIVATE KEY-----“ endet.", + "min_max_string": "Der Wert muss eine Länge zwischen {{min}} (einschließlich) und {{max}} (einschließlich) haben.", + "missing_interface_upstream": "Sie müssen mindestens eine Upstream-Schnittstelle haben. Im Moment sind alle Ihre Schnittstellen nachgelagert", + "new_email_to_notify": "Neue E-Mail zur Benachrichtigung", + "new_phone_to_notify": "Neues Telefon zu benachrichtigen", + "not_selected": "Nicht ausgewählt", + "not_uploaded_yet": "Noch nicht hochgeladen", + "pem_file_explanation": "Bitte verwenden Sie eine .pem-Datei", + "required": "Erforderlich", + "using_file": "(mit Datei: {{filename}})", + "value_recorded_no_filename": "Aufgezeichneter Wert, kein Dateiname" }, "inventory": { - "add_child": "Untergeordneten Veranstaltungsort hinzufügen", - "add_child_venue": "Untergeordneten Veranstaltungsort zu {{entityName}}hinzufügen", - "add_tag": "Tag erstellen", - "add_tag_to": "Neues Gerät zu {{name}}hinzufügen", - "add_venue": "Veranstaltungsort hinzufügen", - "assign_ent_ven": "Zu Entität oder Veranstaltungsort zuweisen", - "assign_entity_instructions": "Sie können die Entität, der dieses Tag zugewiesen werden soll, entweder über das Menü unten finden oder die UUID der Entität manuell in das Feld oben einfügen.", - "assign_error": "Fehler beim Versuch, Tag zuzuweisen", - "assign_to_entity": "Zu Entität zuweisen", - "bulk_delete_assigned": "Möchten Sie zugewiesene Geräte in Ihrer Datei massenweise löschen?", - "bulk_delete_assigned_warning": "Achtung: Diese Aktion ist nicht umkehrbar", - "bulk_delete_devices": "Massenlöschgeräte", - "bulk_delete_devices_not_found": "{{number}} Geräte nicht gefunden", - "bulk_delete_explanation": "Verwenden Sie zum Massenlöschen von Geräten eine CSV-Datei mit einer Spalte namens SerialNumber", - "bulk_delete_test": "Datei validieren", - "close_entity_menu": "Menü \"Entität bearbeiten\" schließen", - "delete_devices": "Geräte löschen", - "delete_errors": "{{number}} Gerätefehler löschen", - "delete_tag": "Tag löschen", - "delete_venue": "Veranstaltungsort endgültig löschen", - "deleted_devices": "{{number}} Gelöschte Geräte", - "deleting": "Löschen ...", - "deletion_failure": "Löschfehler", - "devices_assigned": "{{number}} vorhandene Geräte zugewiesen und aktualisiert", - "devices_created": "{{number}} Geräte erstellt", - "devices_deleted": "Geräte gelöscht", - "devices_errors_while_creating": "{{number}} Geräteerstellung fehlgeschlagen", - "devices_errors_while_updating": "{{number}} Geräteupdates fehlgeschlagen", - "devices_found_assigned": "{{number}} Geräte gefunden und bereits einer Entität oder einem Veranstaltungsort zugewiesen", - "devices_found_unassigned": "{{number}} Geräte gefunden, aber nicht zugewiesen", - "devices_imported": " Importierte Geräte", - "devices_not_found": "{{number}} Geräte ohne Konflikt", - "devices_tested": "Getestete Geräte", - "duplicate_serial": "Seriennummer bereits in Datei verwendet (Duplikat)", - "error_create_venue": "Fehler beim Erstellen des Veranstaltungsortes", - "error_delete_tag": "Fehler beim Löschen des Inventar-Tags", - "error_get_venue": "Fehler beim Abrufen von Veranstaltungsorten", - "error_pushing_config": "Fehler beim Versuch, die Konfiguration auf das Gerät zu übertragen: {{error}}", - "error_retrieving": "Beim Abrufen von Inventar-Tags ist ein Fehler aufgetreten", - "error_unassign": "Fehler beim Aufheben der Zuweisung", - "error_update_venue": "Fehler beim Aktualisieren des Veranstaltungsorts", - "error_venue_delete": "Fehler beim Löschen des Veranstaltungsortes", - "error_within_file": "{{number}} Geräte mit falschen Informationen in der Datei (werden ignoriert)", - "file_error": "Es scheint ein Fehler in Ihrer Datei zu sein. Bitte stellen Sie sicher, dass die Datei im CSV-Format vorliegt und die oben genannten 5 Spalten in der ersten Zeile der Datei enthält", - "final_delete_results": "Endgültige Löschergebnisse", - "final_import_results": "Endgültige Importergebnisse", - "import_assigned_devices": "Möchten Sie sie mit diesem Import neu zuweisen?", - "import_assigned_devices_explanation": "Einige Geräte haben Konflikte mit bereits zugewiesenen Geräten. Sie sollten diese Probleme vor dem Importieren beheben.", - "import_devices": "Geräte importieren", - "import_devices_explanation": "Für den Massenimport von Geräten müssen Sie eine CSV-Datei mit den folgenden Spalten verwenden: SerialNumber,Name,Description,DeviceType,NoteText", - "import_devices_to": "Geräte nach {{name}}importieren", - "import_existing_devices": "Aktualisieren und zuweisen?", - "import_existing_devices_explanation": "Einige Geräte sind bereits im Inventar vorhanden und nicht zugewiesen.", - "importing": "Importieren ...", - "last_modification": "Letzte Änderung", - "no_devices_to_delete": "Keine Geräte zum Löschen", - "no_devices_to_import": "Keine gültigen Geräte zum Erstellen oder Aktualisieren!", - "note_text": "Text notieren", - "passed_tests": "Alle Tests wurden bestanden, Ihre Geräte sind bereit für den Import!", - "serial_number_required": "Fehler: Seriennummer fehlt", - "showing_top_10": "Hier ist eine Vorschau der Informationen, die wir aus Ihrer Datei abgerufen haben:", - "sub_venues": "Unterräume", - "subscriber": "Teilnehmer", - "successful_assign": "Tag erfolgreich zugewiesen", - "successful_tag_delete": "Inventar-Tag erfolgreich gelöscht", - "successful_tag_update": "Tag erfolgreich aktualisiert", - "successful_unassign": "Vorgang zum Aufheben der Zuweisung war erfolgreich", - "successful_venue_create": "Erfolgreich erstellter Veranstaltungsort", - "successful_venue_delete": "Veranstaltungsort erfolgreich gelöscht", - "successful_venue_update": "Erfolgreich aktualisierter Veranstaltungsort", - "tag_created": "Inventar-Tag erfolgreich erstellt", - "tag_creation_error": "Fehler beim Versuch, Inventar-Tag zu erstellen", - "tag_update_error": "Fehler beim Aktualisieren des Tags", - "tags_assigned_to": "Inventar-Tags {{name}}zugewiesen", - "test_import": "Importdaten validieren", - "test_results": "Testergebnisse", + "computed_configuration": "Berechnete Konfiguration", + "dev_class": "Geräteklasse", + "device_type": "Gerätetyp", + "error_reboots": "Fehler beim Senden des Befehls: {{count}}", + "error_remove_claim": "Fehler beim Entfernen des Anspruchs: {{e}}", + "error_upgrades": "Fehler beim Senden des Upgrade-Befehls: {{count}}", + "invalid_serial_number": "Ungültige Seriennummer. Eine Seriennummer sollte nur 12 HEX-Zeichen lang sein (A-F, 0-9)", + "no_computed": "Keine berechnete Konfiguration: Sie müssen eine gültige Konfiguration zuweisen, um sie anzuzeigen", + "no_firmware": "Keine Firmware verfügbar für Gerätetyp: {{count}}", + "not_connected": "Gerät nicht verbunden: {{count}}", + "parent": "Elternteil", + "serial_number": "Ordnungsnummer", + "skipped_upgrades": "Übersprungene Upgrades: {{count}}", + "success_remove_claim": "Anspruch erfolgreich entfernt am: {{serial}}", + "successful_reboots": "Neustart gestartet: {{count}}", + "successful_upgrades": "Erfolgreiche Upgrades: {{count}}", + "tag_one": "Etikett", + "tags": "Inventar-Tags", "title": "Inventar", - "type_invalid": "Fehler: Ungültiger Gerätetyp", - "unassign": "Zuordnung aufheben", - "unassign_tag": "Tag von Entität zuweisen", - "unassigned_deleted_devices": "{{number}} Geräte gelöscht und nicht zugewiesen", - "unassigned_tags": "Nicht zugewiesene Tags", - "validating_import_file": "Importdatei und -daten werden validiert...", - "venue": "Tagungsort", - "view_in_gateway": "Im Gateway anzeigen" + "warning_reboots": "Nicht verbunden: {{count}}", + "warning_upgrades": "Nicht verbundene Geräte: {{count}}" }, - "location": { - "add": "Ort hinzufügen", + "jobs": { + "error_macs": "Fehler-MACs", + "job": "Job", + "job_details": "Job Details", + "notify_emails": "E-Mails benachrichtigen", + "notify_sms": "SMS benachrichtigen", + "successful_macs": "Erfolgreiche MACs", + "title": "Arbeitsplätze" + }, + "locations": { + "address_line_one": "Adresszeile eins", + "address_line_two": "Adresszeile zwei", "building_name": "Gebäudename", "city": "Stadt", + "claim_explanation": "Um Standorte zu beanspruchen, können Sie die folgende Tabelle verwenden", "country": "Land", - "create": "Standort erstellen", - "currently_selected": "Aktuell ausgewählter Standort: {{location}}", - "delete": "Ort löschen?", - "error_assign": "Fehler beim Versuch, den Standort zuzuweisen: {{error}}", - "error_creation": "Fehler beim Versuch, Standorte zu erstellen: {{error}}", - "error_delete": "Fehler beim Löschen des Standorts: {{error}}", - "error_fetching_single": "Fehler beim Versuch, den Standort abzurufen: {{error}}", - "geocode": "GeoCode", - "mobiles": "MOBILES", - "no_associated": "Kein zugeordneter Standort", - "phones": "Telefone", + "geocode": "Geo-Code", + "one": "Ort", + "other": "Standorte", "postal": "Postleitzahl", - "search": "Suchen Sie nach Standorten, um die Felder unten automatisch auszufüllen", - "state": "Zustand", - "street_address": "Adresse", - "successful_creation": "Standort erfolgreich erstellt!", - "successful_delete": "Standort erfolgreich gelöscht!", - "successful_update": "Standort erfolgreich aktualisiert!", - "successfully_assigned": "Standort erfolgreich zugewiesen!", + "state": "Bundesstaat / Provinz", "title": "Standorte", - "update_error": "Fehler beim Aktualisieren des Standorts: {{error}}" + "to_claim": "Standorte zu beanspruchen" }, "login": { - "account_verification": "Bestätigung des Kontos", - "authentication_expired": "Authentifizierung abgelaufen, bitte starten Sie den Anmeldevorgang erneut", - "change_password": "Ändere das Passwort", - "change_password_error": "Fehler beim Ändern des Passworts. Stellen Sie sicher, dass das neue Passwort gültig ist, indem Sie die Seite \"Passwortrichtlinie\" besuchen", - "change_password_instructions": "Geben Sie Ihr neues Passwort ein und bestätigen Sie es", - "changing_password": "Passwort ändern...", + "access_policy": "Zugangsrichtlinien", + "change_password_error": "Abgelehntes Passwort, möglicherweise ein altes Passwort", + "change_password_explanation": "Geben Sie Ihr neues Passwort ein und bestätigen Sie es", + "change_your_password": "Ändere das Passwort", "confirm_new_password": "Bestätige neues Passwort", - "different_passwords": "Sie müssen das gleiche Passwort zweimal eingeben", - "email_code_validation": "Bitte überprüfen Sie Ihr E-Mail-Postfach und geben Sie den Bestätigungscode, den wir Ihnen gerade gesendet haben, in das Feld unten ein", - "forgot_password_error": "Fehler beim Versuch, eine E-Mail mit vergessenem Passwort zu senden. Stellen Sie sicher, dass diese Benutzer-ID mit einem Konto verknüpft ist.", - "forgot_password_explanation": "Geben Sie Ihren Benutzernamen ein, um eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts zu erhalten", - "forgot_password_success": "Sie sollten in Kürze eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts erhalten. Bitte überprüfen Sie Ihren Spam, wenn Sie die E-Mail nicht finden können", - "logging_in": "Einloggen...", - "login": "Anmeldung", - "login_error": "Anmeldefehler, stellen Sie sicher, dass die von Ihnen angegebenen Informationen gültig sind", + "email_instructions": "Sie sollten bald einen 6-stelligen Code an Ihre E-Mail-Adresse erhalten. Wenn Sie es nicht finden können, überprüfen Sie bitte Ihren Spam-Ordner.", + "error_sending_code": "Fehler beim Versuch, Code zu senden: {{e}}", + "forgot_password": "Passwort vergessen?", + "forgot_password_instructions": "Geben Sie Ihre E-Mail-Adresse ein, um eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts zu erhalten", + "forgot_password_successful": "Sie sollten in Kürze eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts erhalten. Bitte überprüfen Sie Ihren Spam, wenn Sie die E-Mail nicht finden können", + "forgot_password_title": "Passwort vergessen", + "google_instructions": "Bitte geben Sie den 6-stelligen Code aus Ihrer Google Authenticator-App ein. Wenn es kurz vor dem Ablaufen ist, können Sie auf ein neues warten", + "invalid_credentials": "Ungültige Zugangsdaten, bitte bestätigen Sie, dass Sie die richtige E-Mail-Adresse und das richtige Passwort verwenden.", + "invalid_mfa": "Ungültiger Code! Bitte versuche es erneut", + "login_explanation": "Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein, um sich anzumelden", "new_password": "Neues Kennwort", - "password": "Passwort", - "phone_validation_explanation": "Bitte überprüfen Sie Ihr Mobilgerät und geben Sie den Bestätigungscode, den wir Ihnen gerade gesendet haben, in das Feld unten ein", - "please_enter_gateway": "Bitte geben Sie eine uCentralSec-URL ein", - "please_enter_password": "Bitte geben Sie Ihr Passwort ein", - "please_enter_username": "Bitte geben Sie Ihren Benutzernamen ein", - "previously_used": "Passwort wurde zuvor verwendet", - "send_forgot": "E-Mail senden", - "sending_ellipsis": "Senden…", - "sign_in_to_account": "Melden Sie sich bei Ihrem Konto an", - "url": "uCentralSec-URL", - "username": "Benutzername", - "verification_code": "Geben Sie hier Ihre Bestätigung ein", - "wrong_code": "Der eingegebene Bestätigungscode ist ungültig." + "password_policy": "Kennwortrichtlinie", + "remember_me": "Erinnere dich an mich", + "resend": "Erneut senden", + "resent_code": "Code erfolgreich erneut gesendet!", + "reset_password": "Passwort zurücksetzen", + "sign_in": "Einloggen", + "sms_instructions": "Sie sollten bald einen 6-stelligen Code auf Ihrem Telefon erhalten. Bitte geben Sie es unten ein, um sich anzumelden", + "verification": "Bestätigen Sie Ihre Anmeldung", + "waiting_for_email_verification": "Konto noch nicht per E-Mail validiert. Bitte sehen Sie in Ihrem Posteingang nach oder bitten Sie Ihren Administrator, eine Bestätigung erneut zu senden", + "welcome_back": "Willkommen zurück!", + "your_email": "Deine Emailadresse", + "your_new_password": "Dein neues Passwort", + "your_password": "Ihr Passwort" }, - "preferences": { - "provisioning": "Bereitstellung" + "map": { + "auto_align": "Automatisch ausrichten", + "auto_map": "Automatische Karte", + "by_others": "Karten von anderen", + "cumulative_devices": "Kumulative Geräte", + "default_map": "Standardkarte", + "delete_warning": "Möchten Sie diese Karte wirklich löschen? Dieser Vorgang ist nicht umkehrbar", + "duplicating": "Karte duplizieren", + "my_maps": "Meine Karten", + "other": "Karten", + "root": "Wurzel", + "root_node": "Wurzelknoten", + "set_as_default": "Als Standard einstellen", + "title": "Karte", + "visibility": "Sichtweite" }, - "reboot": { - "directions": "Wann möchten Sie dieses Gerät neu starten?", - "now": "Möchten Sie dieses Gerät jetzt neu starten?", - "title": "Gerät neustarten" + "operator": { + "delete_explanation": "Möchten Sie diesen Operator wirklich löschen? Dieser Vorgang ist nicht umkehrbar", + "delete_operator": "Betreiber löschen", + "import_location_from_device": "Von anderem Gerät importieren", + "one": "Operator", + "operator_one": "Operator", + "operator_other": "Betreiber", + "other": "Betreiber", + "registration_id": "Registrierungs-ID" }, - "scan": { - "active": "Aktiven Scan aktivieren", - "channel": "Kanal", - "directions": "Starten Sie einen WiFi-Scan dieses Geräts, der ungefähr 25 Sekunden dauern sollte.", - "re_scan": "Erneut scannen", - "result_directions": "Sie können oben rechts auf die Schaltfläche „Scannen“ klicken, um $t(scan.re_scan)", - "results": "Ergebnisse des WiFi-Scans", - "scan": "Scan", - "scanning": "Scannen... ", - "waiting_directions": "Bitte warten Sie auf das Scanergebnis. Dies kann bis zu 25 Sekunden dauern. Sie können den Vorgang später beenden und die Ergebnisse aus der Befehlstabelle anzeigen." + "organization": { + "my_organization": "Meine Organisation", + "title": "Organisation" }, - "settings": { - "title": "die Einstellungen" + "profile": { + "about_me": "Über mich", + "activate": "", + "add_new_note": "Notiz hinzufügen", + "deactivate": "Deaktivieren", + "disabled": "Deaktiviert", + "enabled": "aktiviert", + "manage_avatar": "Avatar verwalten", + "new_password": "Neues Kennwort", + "new_password_confirmation": "Bestätige neues Passwort", + "your_profile": "Dein Profil" }, - "simulation": { - "add": "Simulation hinzufügen", - "cancel": "Stornieren", - "cancel_success": "Simulationslauf erfolgreich abgebrochen!", - "check_ongoing_sims": "Folge laufender Sim", - "client_interval": "Kundenintervall", - "delete_simulation": "Sim löschen. {{name}}", - "end": "Endete", - "error_creating": "Fehler beim Erstellen der Simulation: {{error}}", - "error_delete": "Fehler beim Löschen der Simulation: {{error}}", - "error_devices": "Fehler Geräte", - "error_edit": "Fehler beim Versuch, die Simulation zu speichern: {{error}}", - "error_edit_run": "Fehler beim Versuch, den Ausführungsstatus zu ändern: {{error}}", - "error_fetching_simulations": "Fehler beim Abrufen der Simulationen: {{error}}", - "error_start_run": "Fehler beim Versuch, einen Simulationslauf zu starten: {{error}}", - "gateway": "Tor", - "healtcheck_interval": "Healthcheck-Intervall", - "keep_alive": "Bleib am Leben", - "last_refresh": "Letzte Aktualisierung", - "length": "Länge", - "live_devices": "Live-Geräte", - "mac_prefix": "MAC-Präfix", - "max_associations": "max. Verbände", - "max_clients": "Max. Kunden", - "messages_transmitted": "Nachricht TX", - "min_associations": "Mindest. Verbände", - "min_clients": "Mindest. Kunden", - "pause": "Pause", - "pause_success": "Lauf pausiert!", - "prefix_length": "Erforderlich, muss eine Länge von 6 Zeichen haben", - "previous_runs": "Vorherige Läufe", - "received": "empfangen", - "received_messages": "Nachricht RX", - "reconnect_interval": "Wiederverbindungsintervall", - "resume": "Fortsetzen", - "resume_success": "Lauf wieder aufgenommen!", - "run": "Simulationslauf", - "run_simulation": "Simulation ausführen", - "started": "gestartet", - "state_interval": "Zustandsintervall", - "stop": "Halt", - "stop_success": "Lauf gestoppt!", - "success_creating": "Simulation erfolgreich erstellt!", - "success_run_start": "Erfolgreich gestarteter Lauf!", - "successful_delete": "Simulation erfolgreich gelöscht!", - "successful_edit": "Erfolgreich bearbeitete Simulation!", - "threads": "Themen", - "time_full_devices": "Zeit für volle Geräte", - "title": "Simulationen", - "transmitted": "Übertragen", - "valid_cert": "Gültiges Zertifikat", - "valid_key": "Gültiger Schlüssel" + "resources": { + "configuration_resource": "Ressource", + "title": "Ressourcen", + "variable": "Variable" + }, + "rrm": { + "algorithm": "Algorithmus", + "algorithm_other": "Algorithmen", + "cant_save_custom": "Benutzerdefinierte RRM-Konfigurationen können erst erstellt oder bearbeitet werden, wenn der RRM-Server erreichbar ist. Bitte wenden Sie sich an Ihren Administrator", + "cron_error": "Fehler beim Analysieren des CRON-Ausdrucks: Bitte bestätigen Sie, dass er gültig ist", + "cron_scheduler": "CRON-Scheduler", + "cron_templates": "Vorlagen", + "no_algos": "Wir können derzeit keine RRM-Algorithmen abrufen", + "no_providers": "Wir können derzeit keine RRM-Anbieter abrufen", + "param_error": "Ihre Parameter respektieren die Regeln dieses Algorithmus nicht. Bitte schauen Sie sich die Algorithmusbeispiele und Details an", + "parameters": "Parameter", + "vendor": "Verkäufer", + "version": "Ausführung" + }, + "service": { + "billing_code": "Abrechnungscode", + "billing_frequency": "Abrechnungshäufigkeit", + "class_one": "Serviceklasse", + "class_other": "Serviceklassen", + "cost": "Kosten", + "one": "Serviceklasse", + "other": "Serviceklassen" }, "statistics": { - "data": "Daten (KB)", - "data_mb": "Daten (MB)", - "latest_statistics": "Neueste Statistiken", - "lifetime_stats": "Lifetime-Statistik", - "memory": "Erinnerung", - "no_interfaces": "Keine Statistiken zur Schnittstellenlebensdauer verfügbar", - "show_latest": "Letzte Statistik", - "title": "Statistiken", - "used": "Verwendeter Speicher %" + "last_stats": "Letzte Statistik", + "memory": "Erinnerung" }, - "status": { - "connection_status": "Status", - "error": "Statusdaten sind nicht verfügbar", - "last_contact": "Letzter Kontakt", - "load_averages": "Belastung (1/5/15 m.)", - "localtime": "Ortszeit", - "memory": "Verwendeter Speicher", - "percentage_free": "{{percentage}}% von {{total}} kostenlos", - "percentage_used": "{{percentage}}% von {{total}} verwendet", - "title": "#{{serialNumber}} Status", - "total_memory": "Gesamtspeicher", - "uptime": "Betriebszeit", - "used_total_memory": "{{used}} verwendet / {{total}} insgesamt" - }, - "subscriber": { - "add_device_subscriber_explanation": "Um andere Geräte zu reklamieren, kannst du unsere Suchleiste verwenden oder direkt aus der Tabelle reklamieren. Wenn ein Gerät bereits von einem Benutzer beansprucht wurde, müssen Sie zu dessen Details gehen und die Zuweisung aufheben, bevor Sie es beanspruchen.", - "create": "Abonnenten erstellen", - "devices_one": "{{count}} Gerät", - "devices_other": "{{count}} Geräte", - "edit": "Abonnent bearbeiten", - "error_create": "Fehler beim Erstellen des Abonnenten: {{error}}", - "error_delete": "Fehler beim Löschen des Abonnenten: {{error}}", - "error_fetching": "Fehler beim Abrufen von Abonnenten: {{error}}", - "error_fetching_single": "Fehler beim Abrufen des Abonnenten: {{error}}", - "error_update": "Fehler beim Aktualisieren des Abonnenten: {{error}}", - "is_already_claimed": "wird bereits beansprucht von", - "subscribers": "Abonnenten", - "success_create": "Abonnent erfolgreich erstellt!", - "success_delete": "Abonnent erfolgreich gelöscht!", - "success_update": "Abonnent erfolgreich aktualisiert!" + "subscribers": { + "billing_contact_info": "Rechnungs- und Kontaktdaten", + "claim_device_explanation": "Um Geräte zu beanspruchen, können Sie die folgende Tabelle verwenden. Wenn ein Gerät bereits von einem Benutzer beansprucht wurde, müssen Sie zu dessen Details gehen und die Zuweisung aufheben, bevor Sie es beanspruchen können.", + "devices_claimed_one": "{{count}} Gerät beansprucht", + "devices_claimed_other": "{{count}} Geräte beansprucht", + "devices_to_claim_one": "{{count}} Zu beanspruchendes Gerät", + "devices_to_claim_other": "{{count}} Zu beanspruchende Geräte", + "error_claiming": "Fehler beim Beanspruchen: {{serials}}", + "error_removing_claim": "Fehler beim Entfernen von Anspruch(en) auf: {{serials}}", + "no_subscribers_found": "Keine Abonnenten gefunden", + "one": "Teilnehmer", + "other": "Abonnenten", + "reactivate_explanation": "Möchten Sie diesen Abonnenten wirklich reaktivieren?", + "reactivate_title": "Abonnent reaktivieren", + "title": "Abonnenten" }, "system": { - "error_fetching": "Fehler beim Abrufen von Systeminformationen", - "error_reloading": "Fehler beim Neuladen: {{error}}", + "could_not_retrieve": "Fehler: {{name}} Systeminformationen konnten nicht abgerufen werden", + "endpoint": "Endpunkt", "hostname": "Hostname", + "info": "Systeminformationen", "os": "Betriebssystem", "processors": "Prozessoren", - "reload": "Neu laden", - "reload_subsystems": "Subsysteme", + "reload_chosen_subsystems": "Ausgewählte Subsysteme neu laden", + "start": "Start", "subsystems": "Subsysteme", - "success_reload": "Reload-Befehl erfolgreich gesendet!" + "success_reload": "Reload-Befehl erfolgreich gesendet!", + "systems_to_reload": "Wählen Sie Systeme zum Neuladen aus", + "title": "System", + "uptime": "Betriebszeit", + "version": "Ausführung" }, - "telemetry": { - "connection_failed": "Verbindung konnte nicht hergestellt werden. Fehler: {{error}}", - "interval": "Intervall", - "last_update": "Letztes Update", - "lifetime": "Dauer", - "outputmode": "Ausgabemodus", - "types": "Typen" - }, - "trace": { - "choose_network": "Netzwerk auswählen", - "directions": "Starten Sie eine Tcpdump auf diesem Geräts für eine bestimmte Dauer oder eine Anzahl von Paketen", - "download_trace": "Trace-Datei herunterladen", - "packets": "Pakete", - "title": "Tcpdump", - "trace": "Spur", - "trace_not_successful": "Trace nicht erfolgreich: Gateway hat folgenden Fehler gemeldet: {{error}}", - "wait_for_file": "Warten, bis die Trace-Datei fertig ist?", - "waiting_directions": "Bitte warten Sie auf die Trace-Datendatei. Dies könnte eine Weile dauern. Sie können das Warten beenden und die Ablaufverfolgungsdatei später aus der Befehlstabelle abrufen.", - "waiting_seconds": "Verstrichene Zeit: {{seconds}} Sekunden" - }, - "upgrade": { - "command_submitted": "Befehl gesendet", - "device_disconnected": "Gerät getrennt", - "device_reconnected": "Gerät wieder verbunden", - "device_upgrading_firmware": "Geräte-Firmware-Upgrade", - "directions": "Wählen Sie eine Uhrzeit und eine Firmware-Version für dieses Gerät", - "firmware_uri": "Firmware-URL:", - "need_uri": "Sie brauchen eine URL...", - "new_version": "Neue Version ist", - "offline_device": "Diese Option ist gesperrt, da dieses Gerät nicht verbunden ist", - "time": "Zeitpunkt für Aktualisierung:", - "title": "Firmware Aktualisieren", - "upgrade": "Aktualisierung", - "wait_for_upgrade": "Möchten Sie warten, bis das Upgrade abgeschlossen ist?", - "waiting_for_device": "Warten, bis das Gerät wieder verbunden ist" + "table": { + "columns_hidden_one": "{{count}} Spalte ausgeblendet", + "columns_hidden_other": "{{count}} Spalten ausgeblendet", + "first_page": "Erste Seite", + "go_to_page": "Zur Seite gehen", + "last_page": "Letzte Seite", + "next_page": "Nächste Seite", + "page": "Seite", + "previous_page": "Vorherige Seite" }, "user": { - "add_phone_number": "Telefonnummer hinzufügen", - "avatar": "Dein Avatar", - "avatar_file": "Dein Avatar (max. 2 MB)", - "check_phone": "Bitte überprüfen Sie Ihr Telefon auf Ihren Validierungscode", - "confirm_new_password": "Bestätige neues Passwort", - "create": "Benutzer erstellen", - "create_failure": "Fehler beim Erstellen des Benutzers: {{error}}", - "create_success": "Benutzer erfolgreich erstellt", - "creating": "Benutzer erstellen ...", - "delete_avatar": "Avatar löschen", - "delete_failure": "Fehler beim Versuch, den Benutzer zu löschen: {{error}}", - "delete_success": "Benutzer erfolgreich gelöscht!", - "delete_title": "Benutzer löschen", - "delete_warning": "Warnung: Sobald Sie einen Benutzer gelöscht haben, können Sie ihn nicht wiederherstellen", - "deleting": "Löschen ...", - "description": "Beschreibung", - "edit": "Benutzer bearbeiten", - "email_address": "E-Mail-Addresse", - "enter_new_phone": "Geben Sie Ihre neue Telefonnummer ein:", - "error_fetching_users": "Fehler beim Abrufen der Nutzer: {{error}}", - "error_retrieving": "Fehler beim Abrufen des Benutzers", - "error_sending_code": "Fehler beim Versuch, den Validierungscode zu senden. Bitte bestätigen Sie, dass Ihre Telefonnummer gültig ist.", - "force_password_change": "Passwortänderung bei der Anmeldung erzwingen", - "id": "Benutzeridentifikation.", - "last_login": "Letzte Anmeldung", - "login_id": "Anmelde-ID.", - "make_sure_same_password": "Stellen Sie sicher, dass beide Passwörter gleich und gültig sind", - "my_profile": "Mein Profil", - "name": "Name", - "new_code_sent": "Neuer Code gesendet!", - "nickname": "Spitzname", - "nickname_explanation": "Spitzname (optional)", - "not_validated": "Nicht validiert", - "note": "Hinweis", + "error_fetching": "Fehler beim Abrufen der Benutzerinformationen: {{e}}", "password": "Passwort", - "phone_number": "Telefonnummer", - "provide_email": "Bitte geben Sie eine gültige E-Mail Adresse an", - "provide_password": "Bitte geben Sie ein gültiges Passwort ein", - "save_avatar": "Avatar speichern", - "send_code": "Code senden", - "send_code_again": "Code nochmal senden", - "show_hide_password": "Passwort anzeigen/verbergen", - "successful_validation": "Telefonnummer bestätigt! Klicken Sie auf die Schaltfläche Speichern, um es mit Ihrem Profil zu verknüpfen", - "table_title": "Admin-Benutzer", - "update_failure": "Fehler beim Aktualisieren: {{error}}", - "update_failure_title": "Update fehlgeschlagen", - "update_success": "Benutzer erfolgreich aktualisiert", - "update_success_title": "Erfolg", - "user_role": "Rolle", - "users": "Benutzer", - "validate_phone": "Bestätigen", - "validated": "Bestätigt", - "wrong_validation_code": "Sie haben keinen gültigen Code eingegeben. Bitte versuchen Sie es erneut und vergewissern Sie sich, dass Sie die richtige Telefonnummer eingegeben haben" + "role": "Rolle", + "title": "Nutzer" }, - "wifi_analysis": { - "association": "Verband", - "associations": "Verbände", - "mode": "Modus", - "network_diagram": "Netzwerkdiagramm", - "override_dfs": "DFS überschreiben", - "radios": "Radios", - "scan_warning": "Ihr 5G-Funkgerät befindet sich auf einem Radarkanal, Sie müssen „Override DFS“ aktivieren, um das Scannen aller 5G-Kanäle zu ermöglichen", - "title": "WLAN-Analyse", - "vendor": "Verkäufer", - "waiting_for_data": "Warten auf Empfang von Gerätedaten. Bitte schauen Sie später noch einmal nach" + "users": { + "change_password": "Kennwort ändern", + "email_validation": "E-MAIL-VALIDIERUNG", + "error_fetching": "Fehler beim Abrufen der Nutzer: {{e}}", + "error_sending_validation": "Fehler beim Senden der E-Mail-Validierung: {{e}}", + "last_login": "Letzte Anmeldung", + "login_id": "Anmelde-ID", + "one": "Nutzer", + "re_validate_email": "E-Mail erneut validieren", + "reactivate_user": "Benutzer reaktivieren", + "reset_mfa": "MFA zurücksetzen", + "reset_mfa_success": "Benutzer-MFA erfolgreich zurückgesetzt!", + "reset_password": "Passwort zurücksetzen", + "reset_password_error": "Fehler beim Versuch, das Benutzerkennwort zurückzusetzen: {{e}}", + "reset_password_success": "Die E-Mail zum Zurücksetzen des Passworts wurde erfolgreich an die E-Mail-Adresse des Benutzers gesendet", + "role": "Rolle", + "send_validation": "E-Mail-Validierung senden", + "send_validation_explanation": "Möchten Sie den E-Mail-Bestätigungslink erneut senden?", + "stop_suspension": "Reaktivieren", + "success_sending_validation": "Bestätigungs-E-Mail gesendet!", + "suspend": "Aussetzen", + "suspend_success": "Der Benutzer ist jetzt gesperrt", + "suspended": "Suspendiert", + "title": "Benutzer", + "waitiing_for_email_verification": "E-Mail nicht verifiziert" + }, + "venues": { + "confirm_remove_contact": "Möchten Sie diesen Kontakt von diesem Veranstaltungsort entfernen?", + "create_child": "Untergeordneten Veranstaltungsort erstellen", + "error_remove_contact": "Fehler beim Versuch, den Kontakt zu entfernen: {{e}}", + "error_update_devices": "Fehler beim Starten des Geräteupdates: {{e}}", + "go_to_page": "Zur Seite gehen", + "one": "Tagungsort", + "reboot_all_devices": "Alle Geräte neu starten", + "sub_one": "Nebenschauplatz", + "sub_other": "Unterorte", + "subvenues": "Unterorte", + "successfully_reboot_devices": "Neustart von {{num}} Geräten!", + "successfully_removed_contact": "Kontakt erfolgreich entfernt!", + "successfully_update_devices": " {{num}} Geräte werden aktualisiert!", + "title": "Veranstaltungsorte", + "update_all_devices": "Alle Gerätekonfigurationen aktualisieren", + "upgrade_all_devices": "Aktualisieren Sie alle Geräte auf die neueste Firmware", + "upgrade_all_devices_error": "Fehler beim Aktualisieren von Geräten: {{e}}", + "upgrade_all_devices_success": "Upgrade von Geräten erfolgreich gestartet!", + "use_existing": "Benutze existierendes", + "use_existing_contacts": "Verwenden Sie vorhandene Kontakte", + "use_this_contact": "Verwenden Sie diesen Kontakt" } } diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index 9f3fe06..77a3c64 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -1,824 +1,953 @@ { - "actions": { - "actions": "Actions", - "blink": "Blink", - "configure": "Configure", - "connect": "Connect", - "connecting": "Connecting...", - "factory_reset": "Factory Reset", - "firmware_upgrade": "Firmware Upgrade", - "reboot": "Reboot", - "request_ie": "Request IEs", - "telemetry": "Telemetry", - "title": "Commands", - "trace": "Trace", - "wifi_scan": "Wi-Fi Scan" + "account": { + "account": "Account", + "activating_google_authenticator": "Activating Google Authenticator", + "activating_sms_mfa": "Phone Number Validation", + "avatar": "Avatar", + "error_fetching_qr": "Error fetching QR code: {{e}}", + "error_phone_verif": "Error with your validation code, please try again.", + "google_authenticator": "Google Authenticator", + "google_authenticator_intro": "To use Google Authenticator as your account's double-authentication method, you first need to install the app on your iOS or Android device", + "google_authenticator_ready": "Once you have the app ready to use, you can proceed", + "google_authenticator_scan_qr_code_explanation": "Scan the following QR Code using the \"Scan a QR Code\" in the Google Authenticator App", + "google_authenticator_scanned_qr_code": "Once the QR code has been successfully scanned on your phone, you can proceed to the next step", + "google_authenticator_success_explanation": "You have now successfully setup Google Authenticator with your account. Do not forget to save your changes to confirm!", + "google_authenticator_type_code": "Please enter the 6 digit code from your Google Authenticator app below", + "google_authenticator_wait_for_code": "Wait for the next code (not {{old}})", + "google_authenticator_wrong_code": "Invalid Code! Please try again, or wait for the next code to be generated in the Google Authenticator app", + "mfa": "Multi-Factor Authentication", + "phone": "Phone", + "phone_number": "Phone Number", + "phone_number_add_introduction": "Please enter the phone number you would like to use to secure your account on login", + "phone_required": "To activate SMS verification, you need to enter a phone number", + "phone_validation_success_explanation": "Phone number successfully verified! Click 'Save' to add this phone number to your account", + "proceed_to_activation": "Start Activation Process", + "resend": "Resend", + "sms": "SMS", + "success_phone_verif": "Phone number successfully verified! You can now save your profile", + "title": "My Account", + "verify_phone_instructions": "You should receive a code on your phone number in the next few seconds. Please enter it below to verify your phone number", + "verify_phone_number": "Verify your phone number" }, - "blink": { - "blink": "Blink", - "device_leds": "Device LEDs", - "execute_now": "Would you like to set this pattern now?", - "explanation": "What pattern would you like to set on this device for 30 seconds?", - "pattern": "LEDs pattern: ", - "set_leds": "Set LEDs", - "when_blink_leds": "When would you like to make the device LEDs blink?" + "analytics": { + "ack_signal": "ACK Signal", + "active": "Active", + "airtime": "Airtime", + "analyze_sub_venues": "Monitor Sub Venues", + "associations": "Associations", + "associations_explanation": "Total associations", + "average_health": "Overall Health", + "average_health_explanation": "Average sanity of all connected devices providing the health check information", + "average_memory": "Used Memory", + "average_memory_explanation": "Average percentage of used memory", + "average_uptime": "Average Uptime", + "average_uptime_explanation": "Average device uptime (DD:HH:MM:SS)", + "band": "Band", + "bandwidth": "Bandwidth", + "board": "Analytics Collection", + "busy": "Busy", + "channel": "Channel", + "client_lifecycle": "Client Lifecycle", + "client_lifecycle_one": "{{count}} Client Lifecycle", + "client_lifecycle_other": "{{count}} Client Lifecycles", + "connected": "connected", + "connection_explanation": "{{connectedCount}} connected, {{disconnectedCount}} not connected", + "connection_percentage": "{{count}}% connected", + "connection_percentage_explanation": "Percentage of all devices under this venue which are connected ({{connectedCount}} connected, {{disconnectedCount}} not connected)", + "create_board": "Start Monitoring", + "dashboard": "Dashboard", + "delta": "Delta", + "device_types": "Types", + "device_types_explanation": "Device types of all avaialable devices", + "disconnected": "disconnected", + "firmware": "Firmware", + "health": "Health", + "inactive": "Inactive", + "interval": "Interval", + "last_connection": "Last Connection", + "last_contact": "Last Contact", + "last_disconnection": "Last Disconnection", + "last_firmware_explanation": "Most common firmware running on the devices analyzed", + "last_health": "Last Health", + "last_ping": "Last Ping", + "live_view": "Live View", + "live_view_explanation_five": "You can also click on any of the circles to zoom-in", + "live_view_explanation_four": "You can hover over any of the objects with your mouse to see detailed information ", + "live_view_explanation_one": "The 'Live View' graph is a visual representation of your venue. ", + "live_view_explanation_three": "Venue -> AP -> Radio -> SSID -> UEs", + "live_view_explanation_two": "From outside to inside: ", + "live_view_help": "Live View Help", + "memory": "Memory", + "memory_used": "Memory Used", + "mode": "Mode", + "noise": "Noise", + "packets": "Packets", + "radio": "Radio", + "raw_analytics_data": "Raw Analytics Data", + "raw_data": "Raw Data", + "receive": "Receive", + "retention": "Retention", + "retries": "Retries", + "search_serials": "Search Serials", + "stop_monitoring": "Stop Monitoring", + "temperature": "Temperature", + "title": "Analytics", + "total_data": "Total Data", + "total_devices_explanation": "All devices under this venue ({{connectedCount}} connected, {{disconnectedCount}} not connected)", + "total_devices_one": "{{count}} device", + "total_devices_other": "{{count}} devices", + "uptime": "Uptime" + }, + "batch": { + "batches": "Batches", + "cannot_edit_macs": "Because jobs have already been run on this batch, you cannot edit its MAC addresses", + "change_warning": "WARNING: you have updated either the model or manufacturer. We highly suggest updating your certificates to have them stay consistent with this batch by choosing the \"Save and Update Certs\" option", + "create": "Create Certificates", + "create_certificates": "Create Certificates", + "create_certificates_explanation": "Are you sure you want to create this batch's {{nbCerts}} certificates?", + "create_certificates_title": "Create {{name}}'s Certificates", + "delete_explanation": "Are you sure you want to delete this batch? This will revoke all its {{nbCerts}} certificates and delete them. This operation is not revertible", + "delete_title": "Delete Batch {{name}}", + "duplicate_in_file": "Duplicate MAC found in row {{firstRow}} and {{secondRow}}: {{mac}}", + "emails_to_notify": "Emails to notify when this task is completed", + "error_push": "Error starting push changes job: {{e}}", + "general_error_treating_file": "General error while treating file: please make sure it is in .CSV format, contains only one column which has no header.", + "invalid_mac": "Invalid MAC on row {{row}}: {{mac}}", + "mac_count_title": "{{nb}} MACs are currently part of this batch", + "nb_macs": "{{nb}} MACs", + "need_devices": "You need to have at least one certificate to create!", + "parsing_error": "Parsing error on row {{row}}: {{e}}", + "phones_to_notify": "Phone numbers to notify when the task is completed", + "push_changes": "Push Changes", + "push_changes_explanation": "Are you sure you want to push the batch information to all of this batche's certificates? ", + "revoke_explanation": "Are you sure you want to revoke this batch? This will revoke all its {{nbCerts}} certificates. This operation is not revertible", + "revoke_title": "Revoke Batch {{name}}", + "save_and_change": "Save and Update Certs", + "success_push": "Successfully started push changes job! Job number: {{job}}", + "title": "Batch" + }, + "certificates": { + "certificate": "Certificate", + "common_names_explanation": "Need a .CSV file of only one unnamed column containing 12 HEX digits device MACs.", + "device": "Device", + "device_macs": "Device MACs", + "domain_name": "Domain Name", + "error_fetching": "Error fetching certificates: {{e}}", + "error_revoke": "Error while trying to revoke certificate: {{e}}", + "expires_on": "Expires On", + "filename": "Filename", + "invalid_domain": "Accepted formats are: domain.top_level_domain or sub_domain.domain._top_level_domain", + "invalid_mac": "Needs to be 12 HEX characters", + "invalid_redirector": "Accepted formats are: example.com, example.com:16000", + "mac_address": "MAC Address", + "macs": "MACs", + "manufacturer": "Manufacturer", + "model": "Model", + "redirector": "Redirector", + "revoke": "Revoke", + "revoke_count": "Revoke Count", + "revoke_warning": "Are you sure you want to revoke this certificate?", + "server": "Server", + "successful_revoke": "Successfully Revoked Certificate!", + "title": "Certificates" }, "commands": { - "command_success": "Command Submitted Successfully", - "error": "Error while submitting command!", - "error_delete_log": "Error while trying to delete: {{error}}", - "event_queue": "Event Queue", - "reboot_start": "Reboot process has started!", - "success": "Command submitted successfully, you can look at the Commands log for the result", - "title": "Command History", - "unable_queue": "Unable to complete event queue request: {{error}}" + "abort_command_explanation": "Are you sure you want to stop waiting for this command's result?", + "abort_command_title": "Abort Command", + "active_scan": "Active Scan", + "blink": "Blink", + "blink_error": "Error while sending blink command: {{e}}", + "blink_success": "Blink command successfully sent!", + "channel": "Channel", + "confirm_reset": "Start reset of Device #{{serialNumber}}", + "connect": "Connect", + "execution_time": "Execution Time", + "factory_reset": "Factory Reset Device", + "factory_reset_error": "Error while trying to factory reset device: {{e}}", + "factory_reset_success": "Successfully started device factory reset!", + "factory_reset_warning": "Are you sure you want to factory reset this device? This action is not reversible", + "firmware_upgrade": "Firmware Upgrade", + "firmware_upgrade_error": "Error while trying to upgrade device firmware: {{e}}", + "firmware_upgrade_success": "Successfully started device upgrade!", + "image_date": "Image Date", + "keep_redirector": "Keep Redirector?", + "other": "Commands", + "override_dfs": "Override DFS", + "reboot": "Reboot", + "reboot_error": "Error while sending reboot command: {{e}}", + "reboot_success": "Successfully sent reboot command!", + "revision": "Revision", + "scan": "Scan", + "signal": "Signal", + "upgrade": "Upgrade", + "wifiscan": "WiFi Scan", + "wifiscan_error": "Error while trying to scan device: {{e}}", + "wifiscan_error_1": "Your 5G radio is on a radar channel, you must enable “Override DFS” to allow scanning of all 5G channels" }, "common": { - "access_policy": "Access Policy", - "add": "Add", - "add_items": "Add Items", - "add_note": "Add Note", - "add_note_explanation": "Write your new note below and click the '+' button where you are done", - "adding_ellipsis": "Adding...", + "actions": "Actions", + "address_search_autofill": "Search locations to auto-fill the fields below", + "alert": "Alert", "all": "All", - "are_you_sure": "Are you sure?", - "back_to_login": "Back to Login", - "back_to_start": "Back to start", - "blacklist": "Blacklist", + "assign": "Assign", + "avg": "Avg", + "back": "Back", + "base_information": "Base Information", "by": "By", "cancel": "Cancel", - "certificate": "Certificate", - "certificates": "Certificates", "claim": "Claim", - "clear": "Clear", "close": "Close", - "code": "Code", + "columns": "Columns", "command": "Command", - "commands": "Commands", - "commands_executed": "Commands Executed", - "compatible": "Compatible", "completed": "Completed", - "concurrent_devices": "Concurrent Devices", - "config_id": "Config. Id", "confirm": "Confirm", - "confirm_stop_editing": "Are you sure you want to stop editing? This will cancel any unsaved changes you have made.", "connected": "Connected", - "copied": "Copied!", - "copied_to_clipboard": "Copied to Clipboard!", - "copy_to_clipboard": "Copy to clipboard", + "copied": "Copied", + "copy": "Copy", "create": "Create", + "create_new": "Create New", "created": "Created", - "created_by": "Created By", "creator": "Creator", - "current": "Current ", - "custom_date": "Custom Date", - "dashboard": "Dashboard", + "custom": "Custom", + "daily": "Daily", "date": "Date", - "day": "day", - "days": "days", - "default_map": "Default Map", - "delete": "Delete", - "delete_device": "Delete Device", + "day": "Day", + "days": "Days", + "default": "Default", + "description": "Description", "details": "Details", - "device": "Device #{{serialNumber}}", - "device_dashboard": "Device Dashboard", - "device_delete": "Delete #{{serialNumber}}", - "device_deleted": "Device Successfully Deleted", - "device_health": "Device Health", - "device_list": "List of Devices", - "device_page": "View", - "device_status": "Device Status", - "devices": "Devices", - "devices_using_latest": "Devices Using Latest Firmware", - "devices_using_unknown": "Devices Using Unknown Firmware", - "dismiss": "Dismiss", - "do_now": "Do Now!", + "device_details": "Device Details", + "discard_changes": "Discard Changes?", + "disconnected": "Disconnected", + "display_name": "Display Name", "download": "Download", + "download_instructions": "Download Successful! If you cannot find the file, please confirm that you are allowing downloads from this website", "duplicate": "Duplicate", - "duration": "Duration", "edit": "Edit", - "edit_user": "Edit", - "email_address": "Email Address", - "endpoint": "Endpoint", - "endpoints": "Endpoints", + "email": "Email", + "empty_list": "Empty List", + "end": "End", + "entries_one": "Entry", + "entries_other": "Entries", "error": "Error", - "error_adding_note": "Error while adding note", - "error_code": "Error Code", + "error_claiming_obj": "Error while claiming {{obj}}", + "error_download": "Error while trying to download: {{e}}", "errors": "Errors", - "execute_now": "Would you like to execute this command now?", - "executed": "Executed", - "exit": "Exit", - "firmware": "Firmware", - "firmware_dashboard": "Firmware Dashboard", - "firmware_installed": "Firmware Installed", - "forgot_password": "Forgot your Password?", - "forgot_password_title": "Forgot Password", - "from": "From", - "general_error": "API Error, please consult your administrator", + "exit_fullscreen": "Exit", + "finished": "Finished", + "fullscreen": "Fullscreen", + "general_error": "Error connecting to the server. Please consult your administrator.", + "general_info": "General Information", "go_back": "Go Back", + "go_to_map": "Go to Map", "hide": "Hide", - "hour": "hour", - "hours": "hours", - "id": "Id", - "invalid_credentials": "Invalid username and/or password", - "invalid_date_explanation": "Invalid Date, please use the calendar accessible with the button on the right ", - "invalid_file": "The chosen file was invalid, please read the instructions and adjust your file accordingly", - "invalid_password": "This password does not confirm to basic password rules. Please visit our Password Policy page to learn more", - "invalid_pem": "Your .pem file is invalid. It should start with '-----BEGIN CERTIFICATE-----' OR '-----BEGIN PRIVATE KEY-----' and it should end with '-----END CERTIFICATE-----' OR '-----END PRIVATE KEY-----'", - "ip_address": "IP Address", - "ips": "IPs", - "item": "Item", - "items": "Items", - "items_per_page": "Items per page: ", - "key": "Key", - "last_dashboard_refresh": "Last Dashboard Refresh", - "later_tonight": "Later tonight", - "latest": "Latest", - "list": "List", - "loading_ellipsis": "Loading...", - "loading_more_ellipsis": "Loading more...", + "hourly": "Hourly", + "identification": "Identification", + "inherit": "Inherit", + "language": "Language", + "lifetime": "Lifetime", + "locale": "Locale", "logout": "Logout", - "mac": "MAC Address", "main": "Main", + "make_higher_priority": "Make Higher Priority", + "make_lower_priority": "Make Lower Priority", + "manage": "Manage", + "manual": "Manual", "manufacturer": "Manufacturer", - "memory_used": "Memory Used", - "min_max": "Min: {{min}}, Max: {{max}}", - "minute": "minute", - "minutes": "minutes", + "map": "Map", + "max": "Max", + "min": "Min", + "mode": "Mode", + "model": "Model", "modified": "Modified", - "na": "N/A", - "need_date": "You need a date...", + "monthly": "Monthly", + "my_account": "My Account", + "name": "Name", + "name_error": "Name must be less than 50 characters long", + "next": "Next", "no": "No", "no_addresses_found": "No Addresses Found", "no_clients_found": "No Clients Found", "no_devices_found": "No Devices Found", - "no_items": "No Items", + "no_items_yet": "No items yet", + "no_obj_found": "No {{obj}} Found", + "no_records_found": "No Records Found", "none": "None", - "not_connected": "Not Connected", - "of_connected": "% of connected devices", - "off": "Off", - "on": "On", - "optional": "Optional", - "overall_health": "Overall Health", - "password_policy": "Password Policy", - "preferences": "Preferences", - "preview": "Preview", - "program": "Program", - "reason": "Reason", - "recorded": "Recorded", - "refresh": "Refresh", - "refresh_device": "Refresh Device", - "remove_claim": "Remove Claim", - "required": "Required", - "result": "Result", - "save": "Save", - "saved": "Saved!", - "saving": "Saving... ", - "schedule": "Schedule", - "search": "Search Devices", - "second": "second", - "seconds": "seconds", - "seconds_elapsed": "Seconds elapsed", - "see_details": "See Details", - "select": "Select", - "serial_num": "Serial #", - "serial_number": "Serial Number", - "show_all": "Show All", - "socket_connection_closed": "Connection closed!", - "start": "Start", - "status": "Status", - "stop_editing": "Stop Editing", - "submit": "Submit", - "submitted": "Submitted", - "success": "Success", - "system": "System", - "table": "Table", - "time_per_device": "Devices/Second", - "timestamp": "Time", - "to": "To", - "type": "Type", - "type_for_options": "Type the value you need to create...", - "type_for_options_format": "Type a value of the valid format ({{format}})...", - "unable_to_connect": "Unable to Connect to Device", - "unable_to_delete": "Unable to Delete", - "unknown": "Unknown", - "up_to_date": "Up to Date Devices", - "uptimes": "Uptimes", - "use_file": "Use File", - "uuid": "UUID", - "vendors": "Vendors", - "view_more": "View more", - "visibility": "Visibility", - "waiting_for_update": "Waiting for Update", - "yes": "Yes" - }, - "configuration": { - "add_configuration": "Add Configuration", - "add_new_block": "Add new Configuration Block", - "add_or_link": "Link or Add", - "add_radio": "Add Radio", - "ca_cert_explanation": "Please use a .pem file that starts with \"-----BEGIN CERTIFICATE-----\" and ends with \"-----END CERTIFICATE-----\". The result will be shown in the field below. You can also copy and paste the certificate you would like to use directly.", - "cannot_delete": "This configuration cannot be deleted because it is being used by at least one entity, venue or device", - "choose_radio_band": "What radio band you would like to create?", - "choose_section": "Which section you would like this block to contain?", - "configuration_browser": "Configuration Browser", - "configurations": "Configurations", - "create": "Create Configuration", - "create_config": "Create New Configuration", - "create_new_configuration": "Create New Configuration Element", - "created": "Created", - "creation_success": "Configuration successfully created!", - "currently_associated": "Currently Associated Configuration: {{config}}", - "currently_selected_config": "Currently Selected Configuration: {{config}}", - "default_configs": "Default Configs", - "default_configurations": "Default Configurations", - "delete_config": "Delete Config", - "details": "Details", - "device_password": "Password", - "device_type": "Device Type", - "device_types": "Device Types", - "devices_affected": "Devices affected by this configuration: ", - "edit_configuration": "Edit Configuration", - "error_delete": "Error while trying to delete: {{error}}", - "error_delete_blacklist": "Error deleting from blacklist: {{error}}", - "error_fetching_config": "Error while fetching configuration", - "error_trying_delete": "Error while trying to delete: {{error}}", - "error_update": "Error: {{error}}", - "explanation": "Explanation", - "key_pem_explanation": "Please select .pem file", - "last_configuration_change": "Configuration Change", - "last_configuration_download": "Last Configuration Download", - "location": "Location", - "need_device_type": "Every configuration needs to support at least one device type", - "no_associated_config": "No Associated Configuration", - "no_associated_configuration": "No Associated Configurations", + "not_found": "404 - Not Found", "note": "Note", "notes": "Notes", - "owner": "Owner", - "select_configuration": "Select this Configuration", - "success_block_delete": "Successfully deleted configuration block", - "success_update": "Configuration Successfully Updated!", - "successful_delete": "Deleted Configuration!", - "support_all": "Support All", - "supported_device_types": "Supported Device Types", - "title": "Configuration", - "type": "Device Type", - "used_by": "Used By", - "used_by_details": "{{entities}} Entities, {{venues}} Venues and {{devices}} Devices", - "uuid": "Config ID", + "of": "of", + "password": "Password", + "preview": "Preview", + "quarterly": "Quarterly", + "redirector": "Redirector", + "refresh": "Refresh", + "remove": "Remove", + "remove_claim": "Remove Claim", + "reset": "Reset", + "revoked": "Revoked", + "save": "Save", + "search": "Search", + "seconds": "Seconds", + "select_value": "Select Value", + "sending": "Sending", + "sent_code": "Sent Code!", + "show": "Show", + "size": "Size", + "start": "Start", + "started": "Started", + "state": "State", + "status": "Status", + "stop_editing": "Stop Editing", + "submitted": "Submitted", + "success": "Success", + "successfully_claimed_obj": "Successfully claimed {{count}} {{obj}}", + "sync": "Sync", + "test": "Test", + "theme": "Theme", + "time": "Time", + "timestamp": "Timestamp", + "type": "Type", + "type_for_options": "Type the value you need to create...", + "unknown": "Unknown", + "use_file": "Use File", + "value": "Value", + "variable": "Variable", + "view_details": "View Details", + "view_in_gateway": "View In Controller", + "view_json": "View JSON", + "warning": "Warning", + "warnings": "Warnings", + "yearly": "Yearly", + "yes": "Yes", + "your_new_note": "Your new note" + }, + "configurations": { + "add_interface": "Add Interface", + "add_radio": "Add Radio", + "add_ssid": "Add SSID", + "add_subsection": "Add Subsection", + "advanced_settings": "Advanced Settings", + "affected_explanation_one": "There are {{count}} device affected by this configuration", + "affected_explanation_other": "There are {{count}} devices affected by this configuration", + "applied_configuration": "Applied Configuration", + "cant_delete_explanation": "Cannot delete this configuration because it is being used by at least one device, venue or entity. You can see what they are by clicking on the button next to \"In Use\" on this configuration's form", + "cant_delete_explanation_simple": "Cannot delete this configuration because it is being used by at least one device, venue or entity. You can see what they are by going on the configuration page", + "configuration_json": "Configuration JSON", + "configuration_push_result": "Configuration Push Result", + "configuration_sections": "Configuration Sections", + "delete_interface": "Delete Interface", + "delete_radio": "Delete Radio", + "delete_ssid": "Delete SSID", + "device_configurations": "Device Configurations", + "device_types": "Device Types", + "dhcp_snooping": "DHCP Snooping", + "error_pushes_one": "Error (could be because of bad configuration): {{count}}", + "error_pushes_other": "Errors (could be because of bad configuration): {{count}}", + "expert_name": "Expert Mode", + "explanation": "Explanation", + "firewall": "Firewall", + "firmware_upgrade": "Firmware Upgrade", + "globals": "Globals", + "health": "Health", + "hostapd_warning": "URL param, ex.: test=value", + "import_file": "Import Configuration from File", + "import_file_explanation": "You can use the option below to import a configuration JSON file, with a content of this format: \n{\n \"interfaces\": [ ... ],\n \"globals\": { ... },\n ...etc\n}", + "import_warning": "WARNING: This operation will overwrite all the configuration sections you might have already created. ", + "imported_configuration": "Imported Configuration", + "in_use_title": "{{name}} In Use", + "interfaces": "Interfaces", + "interfaces_instruction": "Please use a valid JSON string in the following form: { \"interfaces\": [] }. ", + "invalid_resource": "Invalid or Deleted Resource", + "metrics": "Metrics", + "no_resource_selected": "No Resource Selected", + "notification_details": "Updated: {{success}}, Waiting for connection: {{warning}}, Errors: {{error}}", + "one": "Configuration", + "push_configuration": "Push Configuration", + "push_configuration_error": "Error while trying to push configuration to device: {{e}}", + "push_configuration_explanation": "Configuration not pushed, error code {{code}}", + "push_success": "Configuration Successfully Pushed!", + "radio_limit": "You have reached the maximum amount of radios (5). You need to delete one of the activated bands to add a new one", + "radios": "Radios", + "rc_only": "Release Candidates Only", + "save_warnings": "Are you sure you want to save your configuration? ", + "services": "Services", + "special_configuration": "Device-Specific Configuration", + "start_special_creation": "Create configuration for this device", + "statistics": "Statistics", + "successful_pushes_one": "Successful Push: {{count}}", + "successful_pushes_other": "Successful Pushes: {{count}}", + "third_party": "Third Party", + "third_party_instructions": "Please use a valid JSON string in the following form: { \"value_name\": \"value\" }. ", + "title": "Configurations", + "unit": "Unit", "view_affected_devices": "View Affected Devices", - "view_config": "View Configuration", "view_in_use": "View In Use", - "view_json": "View raw JSON" + "warning_pushes_one": "Waiting for devices to connect: {{count}}", + "warning_pushes_other": "Waiting for devices to connect: {{count}}", + "weight": "Weight", + "wifi_frames": "WiFi Frames" }, - "configure": { - "choose_file": "You need to choose a valid .json file: ", - "enter_new": "Enter new device configuration JSON: ", - "placeholder": "Config JSON", - "title": "Configure", - "valid_json": "You need to enter valid JSON" - }, - "connect": { - "error_trying_to_connect": "Error while trying to connect to device: {{error}}" - }, - "contact": { + "contacts": { "access_pin": "Access PIN", - "add_contact": "Add Contact", - "contact": "Contact", - "create_contact": "Create Contact", - "currently_selected_contact": "Currently Selected Contact: {{contact}}", - "delete": "Delete Contact?", - "error_assign": "Error while trying to assign contact: {{error}}", - "error_creation": "Error while trying to create contact: {{error}}", - "error_delete": "Error trying to delete contact: {{error}}", - "error_fetching_list": "Error fetching contacts", - "error_fetching_single": "Error fetching contact: {{error}}", - "error_unassign": "Error while trying to unassign contact: {{error}}", + "claim_explanation": "To claim contacts you can use the table below", "first_name": "First Name", "identifier": "Identifier", "initials": "Initials", "last_name": "Last Name", - "no_associated_contact": "No Associated Contact", + "mobiles": "Mobiles", + "one": "Contact", + "other": "Contacts", + "phones": "Phones", "primary_email": "Primary Email", "salutation": "Salutation", "secondary_email": "Secondary Email", - "successful_assign": "Successfully assigned contact!", - "successful_creation": "Contact Created!", - "successful_delete": "Successfully Deleted Contact!", - "successful_unassign": "Successfully Unassigned Contact", - "successful_update": "Successfully Updated Contact", - "title": "Contacts", - "type": "Type", - "update_error": "Error updating contact: {{error}}", - "user_title": "Title", - "visual": "Correspondence Name" + "title": "Title", + "to_claim": "Contacts to claim", + "visual": "Visual" }, - "delete_command": { - "explanation": "Are you sure you want to delete this command? This action is not reversible.", - "title": "Delete Command" + "controller": { + "configurations": { + "create_success": "Created Configuration!", + "delete_success": "Configuration is now deleted!", + "title": "Default Configurations", + "update_success": "Updated Configuration!" + }, + "configure": { + "invalid": "Your new configuration needs to be valid JSON", + "success": "New configuration is now deploying to the device", + "title": "Configure", + "warning": "Be warned: there will only be minimal tests done on this configuration" + }, + "crud": { + "choose_time": "Custom Time-Frame", + "clear_time": "Clear Time", + "delete_success_obj": "Deleted {{obj}}" + }, + "dashboard": { + "associations": "Associations", + "associations_explanation": "All current connected associations (or UEs)", + "certificates": "Certificates", + "certificates_explanation": "Status of certificates of currently connected devices", + "commands": "Commands", + "commands_explanation": "All executed commands", + "device_dashboard_refresh": "New Connection Statistics", + "device_types": "Device Types", + "device_types_explanation": "Device types of all devices pointing to this controller", + "devices_explanation": "All devices are pointing towards this controller ", + "error_fetching": "Error fetching dashboard", + "expand": "Expand", + "last_ping_explanation": "When this data was gathered ", + "memory": "Memory Use", + "memory_explanation": "Currently connected devices with the corresponding amount of used memory", + "no_certificate": "No Certificate", + "not_connected": "Not Connected", + "others": "Others", + "overall_health": "Overall Health", + "overall_health_explanation": "Average health of all currently connected devices from which we receive health data. The exact calculation is: (Devices=100% * 100 + Devices>90 * 95 + Devices>60 * 75 + Devices<60 * 30) / Connected Devices", + "overall_health_explanation_pie": "The number of devices with a health percentage within these categories", + "serial_mismatch": "Serial Mismatch", + "status": "Status", + "status_explanation": "Status of all devices pointing at this controller ", + "unknown_status": "Unrecognized Status", + "unrecognized": "Unrecognized", + "uptimes": "Uptimes", + "uptimes_explanation": "Currently connected devices with the corresponding uptimes", + "vendors": "Vendors", + "vendors_explanation": "Vendors of the devices pointing to this controller", + "verified": "Verified" + }, + "devices": { + "add_blacklist": "Add Serial Number", + "added": "Added", + "added_blacklist": "Added serial number to blacklist!", + "average_uptime": "Average Uptime", + "blacklist": "Blacklist", + "blacklist_update": "Update {{serialNumber}} Record", + "by": "By", + "capabilities": "Capabilities", + "command_one": "Command", + "commands": "Commands", + "complete_data": "Complete Data", + "config_id": "Config ID", + "connecting": "Connecting", + "connection_changes": "Connection Statuses", + "delete_blacklist": "Removed serial number from blacklist!", + "delete_health_explanation": "This will permanently delete all of the health checks before the date you choose", + "delete_logs_explanation": "This will permanently delete all of the logs before the date you choose", + "error_code": "Error Code", + "executed": "Executed", + "finished_reboot": "{{serialNumber}} just finished rebooting!", + "finished_upgrade": "{{serialNumber}} has finished upgrading!", + "from_to": "From {{from}} to {{to}}", + "healthchecks": "Health Checks", + "last_modified": "Last Modified: ", + "last_upgrade": "Last Upgrade", + "localtime": "Local Time", + "logs": "Logs", + "new_statistics": "New Statistics", + "no_more_available": "All Retrieved", + "reason": "Reason", + "results": "Results", + "sent_upgrade_to_latest": "Sent 'Upgrade to Latest' command to device", + "severity": "Severity", + "show_more": "Show More", + "started_reboot": "{{serialNumber}} shut off to reboot!", + "started_upgrade": "{{serialNumber}} just shut down to start the upgrade!", + "trace": "Trace", + "trace_description": "Launch a remote trace of this device for either a specific duration or a number of packets", + "update_success": "Device updated!", + "updated_blacklist": "Updated Blacklist!" + }, + "firmware": { + "devices_explanation": "Devices that have pointed towards this firmware server. This could explain discrepancies between this number and the device dashboard's ", + "endpoints": "Endpoints", + "endpoints_explanation": "All endpoints that will point towards this firmware server", + "firmware_age": "Firmware Age", + "firmware_age_explanation": "Average firmware age for the devices for which we have that data", + "latest": "Latest Firmware Installed", + "ouis_explanation": "OUIs of devices that have connected to this firmware server", + "outdated": "Outdated, Newer Firmware Available", + "release": "Release", + "show_dev_releases": "Dev Releases", + "status_explanation": "Connection status of devices that have connected to this firmware server", + "unrecognized": "Unrecognized Firmware", + "unrecognized_firmware": "Unrecognized Firmware", + "unrecognized_firmware_explanation": "Firmware that is currently used by devices and is not recognized by this firmware server", + "up_to_date": "Up To Date Devices", + "up_to_date_explanation": "Devices using the latest available software available to them" + }, + "provisioning": { + "title": "Provisioning" + }, + "queue": { + "title": "Event Queue" + }, + "stats": { + "load": "Load (1 | 5 | 15 m.)", + "seconds_ago": "{{s}} seconds ago", + "used": "used" + }, + "telemetry": { + "duration": "Duration", + "interval": "Interval", + "kafka": "Kafka", + "kafka_success": "Kafka telemetry is now started!", + "last_update": "Last Update", + "minutes": "Minutes", + "need_types": "You need to select at least one type", + "output": "Output Mode", + "seconds_ago": "{{seconds}} seconds ago", + "title": "Telemetry", + "types": "Types", + "websocket": "WebSocket" + }, + "trace": { + "down": "Down", + "download": "Download Trace", + "duration": "Duration", + "network": "Network", + "packets": "Packets", + "success": "Completed trace on device #{{serialNumber}}. You can now download the result", + "up": "Up", + "wait": "Wait for the results?" + }, + "wifi": { + "active_ms": "Active", + "busy_ms": "Busy", + "channel_width": "Ch Width", + "mode": "Mode", + "noise": "Noise", + "receive_ms": "Receive", + "rx_rate": "Rx Rate", + "station": "Station", + "tx_rate": "Tx Rate", + "vendor": "Vendor", + "wifi_analysis": "Wi-Fi Analysis " + } }, - "delete_logs": { - "date": "Select the date of the oldest log you would like to keep", - "device_logs_title": "Delete Device Logs", - "explanation": "This will delete all of the {{object}} before the date you choose. Be careful, this action is not reversible.", - "healthchecks_title": "Delete Healthchecks" + "crud": { + "add": "Add", + "confirm_cancel": "Are you sure you want to discard the changes you have made?", + "confirm_delete_obj": "Are you sure you want to delete this {{obj}}?", + "create": "Create", + "create_object": "Create {{obj}}", + "delete": "Delete", + "delete_confirm": "Are you sure you want to delete this {{obj}}?", + "delete_obj": "Delete {{obj}}", + "edit": "Edit", + "edit_obj": "Edit {{obj}}", + "error_create_obj": "Error creating {{obj}}: {{e}}", + "error_delete_obj": "Error deleting {{obj}}: {{e}}", + "error_fetching_obj": "Error fetching {{obj}}: {{e}}", + "error_revoke_obj": "Error revoking {{obj}}: {{e}}", + "error_update_obj": "Error updating {{obj}}: {{e}}", + "success_create_obj": "Successfully Created {{obj}}!", + "success_delete_obj": "Successfully deleted {{obj}}!", + "success_revoke_obj": "Successfully revoked {{obj}}!", + "success_update_obj": "Successfully updated {{obj}}!" }, - "device": { - "add_to_blacklist": "Add Device To Blacklist", - "all_devices": "All Devices", - "already_running_command": "Device is already executing a command, please try later", - "blacklisted_on": "Date", - "capabilities": "Capabilities", - "certificate_explanation": "Certificates of connected devices", - "count_explanation": "Devices pointing at this gateway instance", - "edit_blacklist": "Edit Blacklisted Device", - "error_adding_blacklist": "Error adding device to blacklist: {{error}}", - "error_edit_blacklist": "Error editing blacklist: {{error}}", - "error_fetching_device": "Error fetching device information: {{error}}", - "error_fetching_devices": "Error while fetching devices: {{error}}", - "firmware_count_explanation": "This is the total amount of devices that were added to this firmware server, including devices not currently pointing at the related gateway server.", - "health_explanation": "Health of connected devices ((Devices=100% * 100 + Devices>90% * 95 + Devices>60% * 75 + Devices<60% * 35) / ConnectedDevices)", - "mac_not_found": "Serial number not found, redirecting you to the Devices page", - "memory_explanation": "Amount of connected devices with corresponding memory used percentage", - "remove_from_blacklist": "Remove from blacklist", - "success_added_blacklist": "Device successfully added to blacklist!", - "success_edit_blacklist": "Successfully edited blacklist!", - "success_removed_blacklist": "Successfully removed device from blacklist!", - "uptimes_explanation": "Amount of devices connected based on their uptime" + "devices": { + "all": "All", + "associations": "Associations", + "connected": "Connected", + "create_errors": "errors while trying to create devices", + "create_success": " devices successfully created", + "current_firmware": "Current Firmware", + "device_type_not_found": "Unrecognized device type", + "duplicate_serial": "Duplicate serial number within the file", + "error_rtty": "Error trying to connect to the device: {{e}}", + "file_errors": "problematic devices", + "found_assigned": "already assigned devices", + "found_not_assigned": "already existing but now owned devices", + "import_batch_tags": "Import Devices", + "import_device_warning": "Please make sure there are no extra spaces at the start or end of any values unless it is part of the value desired", + "import_explanation": "To bulk import devices, you need to use a CSV file with the following columns: SerialNumber, DeviceType, Name, Description, Note", + "invalid_serial_number": "Invalid Serial Number (needs to be 12 HEX chars)", + "new_devices": "new devices", + "not_connected": "Not Connected", + "not_found_gateway": "Error: device has not yet connected to the controller", + "one": "Device", + "reassign_already_owned": "Reassign devices which already exist and are owned by another entity/venue/subscriber?", + "sanity": "Sanity", + "start_import": "Start Device Importation", + "test_batch": "Test Import Data", + "test_results": "Test Results", + "title": "Devices", + "treating": "Testing: ", + "unassigned_only": "Unassigned Only", + "update_error": "errors while trying to update devices", + "update_success": "devices successfully updated" }, - "device_logs": { - "log": "Log", - "severity": "Severity", - "title": "Logs" - }, - "entity": { - "add_child": "Add Child Entity to {{entityName}}", - "add_failure": "Error, the server returned : {{error}}", - "add_ips": "Manage IPs", - "add_root": "Add Root Entity", - "add_success": "Entity Successfully Created!", - "assigned_inventory": "Assigned Inventory", - "cannot_delete": "You cannot delete entities which have children. Delete this entity's children to be able to delete it.", - "confirm_map_delete": "Are you sure you want to delete the map {{name}}? This action cannot be reverted", - "currently_selected_entity": "Currently Selected Entity: {{config}}", - "currently_selected_venue": "Currently Selected Venue: {{config}}", - "delete_success": "Entity Successfully Deleted", - "delete_warning": "Warning: this operation cannot be reverted", - "duplicate_from_node": "Duplicate with specific Root Node", - "duplicate_map": "Duplicate Map", - "duplicate_with_node": "Duplicate {{mapName}} with {{rootName}} as root node", - "edit_failure": "Update unsuccessful : {{error}}", - "enter_here": "Enter the IP(s) you'd like to add here", - "entire_tree": "Network Map", - "entities": "Entities", + "entities": { + "active": "Active", + "add_configurations": "Add Configurations", + "add_ips": "Add IPs", + "add_ips_explanation": "You can add IPv4 or IPv6 addresses in the following formats", + "api_key": "API Key", + "cant_delete_explanation": "Cannot delete this entity because it has child entities and/or venues. You need to delete all of this entity's children before deleting it ", + "claim_device_explanation": "To claim devices you can use the table below. If a device was already claimed by another entity or venue we will also unassign them before assigning them to this entity", + "client_enrollment_profile": "Client Enrollment Profile", + "create_child_entity": "Create Child Entity", + "create_root": "Create Root Entity", + "create_root_explanation": "Please enter the information necessary to create the root entity of your provisioning service. This information can be modified after creation", + "current_state": "Current State", + "default_redirector": "Default Redirector", + "devices_to_claim": "New Devices to Claim", + "devices_under_root": "Devices cannot be created directly under the root entity. Please create new entities or venues and create devices under them.", + "enter_ips": "Enter the IP(s) you'd like to add here", "entity": "Entity", - "error_deleting_map": "Error deleting map: {{error}}", - "error_fetch_entity": "Error while fetching entity information", - "error_fetching": "Error while fetching entities", - "error_fetching_map": "Error fetching map: {{error}}", - "error_fetching_tree": "Error while fetching tree: {{error}}", - "error_saving": "Error while saving entity", - "error_saving_map": "Error saving map: {{error}}", - "higher_priority": "Make Higher Priority", + "error_sync": "Error while trying to start synchronization of {{name}}: {{e}}", + "failed_test": "Failed tests with DigiCert credentials, please verify your entity information", + "initial_state": "Initial State", + "ip_cidr": "IP/number (example: 10.0.0.0/8)", "ip_detection": "IP Detection", - "ip_formats": "You can add IPv4 or IPv6 addresses in the following formats:", - "lower_priority": "Make Lower Priority", - "map": "Map", - "map_delete_success": "Map Successfully Deleted!", - "need_select_entity": "You need to select an entity from the table below", - "no_ips": "No IPs selected", - "not_assigned": "Not Assigned", - "only_unassigned": "Only Unassigned", - "select_entity": "Select this Entity", - "selected_entity": "Selected Entity", - "selected_map": "Selected Map", - "tree_saved": "Map Successfully Saved!", - "update_failure_error": "Error while trying to update entity: {{error}}", - "valid_serial": "Needs to be a valid serial number (12 HEX characters)", - "venues": "Venues" - }, - "factory_reset": { - "redirector": "Keep redirector: ", - "reset": "Reset", - "resetting": "Resetting... ", - "title": "Factory Reset", - "warning": "Warning: Once you submit this cannot be reverted" - }, - "firmware": { - "age_explanation": "Average number of days for all devices from which we can obtain that value", - "average_age": "Average Firmware Age", - "choose_custom": "Choose", - "details_title": "Image #{{image}} Details", - "device_type": "Device Type", - "device_types": "Device Types", - "downloads": "Downloads", - "error_fetching_latest": "Error while fetching latest firmware", - "from_release": "From", - "history_title": "History", - "image": "Image", - "image_date": "Image Date", - "installed_firmware": "Installed Firmware", - "latest_explanation": "Devices running recognized firmware at its latest version", - "latest_version_installed": "Latest Version Installed", - "newer_firmware_available": "Newer Revisions Available", - "reinstall_latest": "Reinstall ", - "release": "Release", - "revision": "Revision", - "show_dev": "Show Dev Releases", - "size": "Size", - "status": "Firmware Status", - "title": "Firmware", - "to_release": "To", - "unknown_firmware_status": "Unknown Firmware Status", - "upgrade": "Upgrade", - "upgrade_command_submitted": "Upgrade in progress...", - "upgrade_to_latest": "Latest", - "upgrade_to_version": "Upgrade to this Revision", - "upgrading": "Upgrading..." + "ip_list": "List: IP,IP IP", + "ip_range": "Range: IP-IP", + "ip_single_address": "Single Address: IP", + "one": "Entity", + "organization": "Organization", + "server_enrollment_profile": "Server Enrollment Profile", + "status": "Status", + "sub_one": "Sub-Entity", + "sub_other": "Sub-Entities", + "success_sync": "Successfully started synchronization of {{name}}!", + "success_test": "Test of this entity's DigiCert credentials was successful!", + "suspended": "Suspended", + "sync_explanation": "Would you like to synchronize this entity? This may take a while depending on the amount of certificates belonging to this entity.", + "sync_title": "Sync {{name}}", + "test_digicert_creds": "Test Credentials", + "title": "Entities", + "tree": "Entity Tree", + "venues_under_root": "Venues cannot be created directly under the root entity. Please create new entities and create venues under these." }, "footer": { - "coreui_for_react": "CoreUI for React", - "powered_by": "Powered by", + "powered_by": "Powered By", "version": "Version" }, - "health": { - "sanity": "Sanity", - "title": "Health" + "form": { + "certificate_file_explanation": "Please use a .pem file that starts with \"-----BEGIN CERTIFICATE-----\" and ends with \"-----END CERTIFICATE-----\"", + "invalid_cidr": "Invalid CIDR IPv4 address. Example: 192.168.0.1/12", + "invalid_email": "Invalid Email", + "invalid_file_content": "Invalid file content, please confirm that it is of the valid format", + "invalid_fqdn_host": "Invalid FQDN hostname", + "invalid_hostname": "Invalid hostname: it needs to be composed of alphanumeric characters and dashes only", + "invalid_icon_lang": "Invalid language, it should be in a 3-letter format (eng, fre, ger, ita, etc.)", + "invalid_ieee": "For this encryption protocol, ieee80211w needs to be either 'optional' or 'required'", + "invalid_interfaces": "Invalid Interfaces JSON string. Please confirm that your value is: valid JSON and has interfaces as its only key and that the interfaces value is an array. Example: {\"interfaces\": []}", + "invalid_ipv4": "Invalid IPv4 address (ex.: 192.168.0.1 or 192.168.0.1/16", + "invalid_ipv6": "Invalid IPv6 address (ex.: 2001:db8:3333:4444:5555:6666:7777:8888)", + "invalid_json": "Invalid JSON string", + "invalid_lease_time": "Invalid lease time value! They need to be in the digitUnit format. For example: 6d2h5m, which means 6 days, 2 hours and 5 minutes. Here are the accepted units: m, h, d. If you do not want to use a unit, omit it completely. So instead of saying 0d2h0m, use 2h", + "invalid_mac_uc": "Invalid UC-MAC value, for example: 00:00:5e:00:53:af", + "invalid_password": "Invalid password, please look at the password policy", + "invalid_phone_number": "Invalid Phone Number", + "invalid_phone_numbers": "One or more of the phone numbers are invalid. Please provide them without symbols and spaces, or in this format: +1(123)123-1234", + "invalid_port_range": "Invalid port value. It needs to be more than 0 and less than 65 535. If using a port range, please make sure the second port is a higher number than the first one.", + "invalid_port_ranges": "Invalid port range combination! Please make sure both port values are the same type (single or range). If they are ranges, make sure they are both covering the same amount of ports", + "invalid_proto_6g": "This encryption protocol cannot be used on an SSID which uses 6G", + "invalid_proto_passpoint": "", + "invalid_select_ports": "Incompatible values between interfaces! Please make sure that there is no duplicate PORT/VLAN ID combination between your interfaces", + "invalid_third_party": "Invalid Third Party JSON string. Please confirm that your value is a valid JSON", + "key_file_explanation": "Please use a .pem file that starts with \"-----BEGIN PRIVATE KEY-----\" and ends with \"-----END PRIVATE KEY-----\"", + "min_max_string": "Value needs to be of a length between {{min}} (inclusive) and {{max}} (inclusive)", + "missing_interface_upstream": "You need to have at least one upstream interface. At the moment, all your interfaces are downstream", + "new_email_to_notify": "New email to notify", + "new_phone_to_notify": "New phone to notify", + "not_selected": "Not Selected", + "not_uploaded_yet": "Not Uploaded Yet", + "pem_file_explanation": "Please use a .pem file", + "required": "Required", + "using_file": "(using file: {{filename}})", + "value_recorded_no_filename": "Recorded value, no filename" }, "inventory": { - "add_child": "Add Child Venue", - "add_child_venue": "Add Child Venue to {{entityName}}", - "add_tag": "Create Tag", - "add_tag_to": "Add New Device to {{name}}", - "add_venue": "Add Venue", - "assign_ent_ven": "Assign to Entity or Venue", - "assign_entity_instructions": "You can either find the entity you want this tag to be assigned to by using the menu below, or you can manually paste the entity's UUID in the field above.", - "assign_error": "Error while trying to assign tag", - "assign_to_entity": "Assign to Entity", - "bulk_delete_assigned": "Would you like to bulk delete assigned devices within your file?", - "bulk_delete_assigned_warning": "Warning: this action is not reversible", - "bulk_delete_devices": "Bulk Delete Devices", - "bulk_delete_devices_not_found": "{{number}} devices not found", - "bulk_delete_explanation": "To bulk delete devices, use a CSV file with one column called SerialNumber", - "bulk_delete_test": "Validate File", - "close_entity_menu": "Close Edit Entity Menu", - "delete_devices": "Delete Devices", - "delete_errors": "{{number}} Delete Device Errors", - "delete_tag": "Delete Tag", - "delete_venue": "Permanently Delete Venue", - "deleted_devices": "{{number}} Deleted Devices", - "deleting": "Deleting... ", - "deletion_failure": "Deletion error", - "devices_assigned": "{{number}} existing devices assigned and updated", - "devices_created": "{{number}} devices created", - "devices_deleted": "Devices Deleted", - "devices_errors_while_creating": "{{number}} device creations failed", - "devices_errors_while_updating": "{{number}} device updates failed", - "devices_found_assigned": "{{number}} devices found and already assigned to an entity or venue", - "devices_found_unassigned": "{{number}} devices found, but not assigned", - "devices_imported": " Devices Imported", - "devices_not_found": "{{number}} devices with no conflict", - "devices_tested": "Devices Tested", - "duplicate_serial": "Serial Number already used in file (duplicate)", - "error_create_venue": "Error while creating venue", - "error_delete_tag": "Error while deleting inventory tag", - "error_get_venue": "Error while retrieving venues", - "error_pushing_config": "Error while trying to push configuration to device: {{error}}", - "error_retrieving": "Error occurred while retrieving inventory tags", - "error_unassign": "Error during unassign operation", - "error_update_venue": "Error while updating venue", - "error_venue_delete": "Error while deleting venue", - "error_within_file": "{{number}} devices with wrong information in file (will be ignored)", - "file_error": "There seems to be a mistake in your file. Please make sure the file is in CSV format and contains the 5 columns mentioned above in the first line of the file", - "final_delete_results": "Final Delete Results", - "final_import_results": "Final Import Results", - "import_assigned_devices": "Do you want to reassign them with this import?", - "import_assigned_devices_explanation": "Some devices conflict with already assigned devices. You should resolve those problems before importing. ", - "import_devices": "Import Devices", - "import_devices_explanation": "To bulk import devices, you need to use a CSV file with the following columns: SerialNumber,Name,Description,DeviceType,NoteText", - "import_devices_to": "Import Devices to {{name}}", - "import_existing_devices": "Update and assign them?", - "import_existing_devices_explanation": "Some devices already exist in the inventory and are unassigned.", - "importing": "Importing...", - "last_modification": "Last Modification", - "no_devices_to_delete": "No Devices to Delete", - "no_devices_to_import": "No valid devices to create or update!", - "note_text": "Note Text", - "passed_tests": "All tests were passed, your devices are ready to import!", - "serial_number_required": "Error: Missing Serial Number", - "showing_top_10": "Here is a preview of the information we have retrieved from your file:", - "sub_venues": "Subvenues", - "subscriber": "Subscriber", - "successful_assign": "Tag successfully assigned", - "successful_tag_delete": "Inventory Tag Successfully Deleted", - "successful_tag_update": "Successfully updated tag", - "successful_unassign": "Unassign operation was successful", - "successful_venue_create": "Successfully Created Venue", - "successful_venue_delete": "Venue successfully deleted", - "successful_venue_update": "Successfully Updated Venue", - "tag_created": "Inventory tag successfully created", - "tag_creation_error": "Error while trying to create inventory tag", - "tag_update_error": "Error while updating tag", - "tags_assigned_to": "Inventory tags assigned to {{name}}", - "test_import": "Validate Import Data", - "test_results": "Test Results", + "computed_configuration": "Computed Configuration", + "dev_class": "Device Class", + "device_type": "Device Type", + "error_reboots": "Error while sending command: {{count}}", + "error_remove_claim": "Error while removing claim: {{e}}", + "error_upgrades": "Error while sending upgrade command: {{count}}", + "invalid_serial_number": "Invalid serial number. A serial number should only be 12 HEX chars (A-F, 0-9)", + "no_computed": "No Computed Configuration: you will need to assign a valid configuration to see it", + "no_firmware": "No firmware available for device type: {{count}}", + "not_connected": "Device not connected: {{count}}", + "parent": "Parent", + "serial_number": "Serial Number", + "skipped_upgrades": "Skipped upgrades: {{count}}", + "success_remove_claim": "Successfully removed claim on: {{serial}}", + "successful_reboots": "Started Rebooting: {{count}}", + "successful_upgrades": "Successful upgrades: {{count}}", + "tag_one": "Tag", + "tags": "Inventory Tags", "title": "Inventory", - "type_invalid": "Error: Invalid Device Type", - "unassign": "Unassign", - "unassign_tag": "Unassign Tag from Entity", - "unassigned_deleted_devices": "{{number}} Devices Deleted and Unassigned", - "unassigned_tags": "Unassigned tags", - "validating_import_file": "Validating import file and data...", - "venue": "Venue", - "view_in_gateway": "Details in Gateway" + "warning_reboots": "Not connected: {{count}}", + "warning_upgrades": "Devices not connected: {{count}}" }, - "location": { - "add": "Add Location", + "jobs": { + "error_macs": "Error MACs", + "job": "Job", + "job_details": "Job Details", + "notify_emails": "Notify Emails", + "notify_sms": "Notify SMS", + "successful_macs": "Successful MACs", + "title": "Jobs" + }, + "locations": { + "address_line_one": "Address Line One", + "address_line_two": "Address Line Two", "building_name": "Building Name", "city": "City", + "claim_explanation": "To claim locations you can use the table below", "country": "Country", - "create": "Create Location", - "currently_selected": "Currently Selected Location: {{location}}", - "delete": "Delete Location?", - "error_assign": "Error while trying to assign location: {{error}}", - "error_creation": "Error while trying to create locations: {{error}}", - "error_delete": "Error while deleting location: {{error}}", - "error_fetching_single": "Error while trying to fetch location: {{error}}", - "geocode": "GeoCode", - "mobiles": "Mobiles", - "no_associated": "No Associated Location", - "phones": "Phones", + "geocode": "Geo Code", + "one": "Location", + "other": "Locations", "postal": "ZIP/Postal Code", - "search": "Search locations to auto fill the fields below", - "state": "State", - "street_address": "Street Address", - "successful_creation": "Location Successfully Created!", - "successful_delete": "Successfully Deleted Location!", - "successful_update": "Successfully updated location!", - "successfully_assigned": "Location Successfully Assigned!", + "state": "State/Province", "title": "Locations", - "update_error": "Error updating location: {{error}}" + "to_claim": "Locations to claim" }, "login": { - "account_verification": "Account Verification", - "authentication_expired": "Authentication expired, please start the login process again", - "change_password": "Change Password", - "change_password_error": "Error while changing password. Make sure the new password is valid by visiting the 'Password Policy' page", - "change_password_instructions": "Enter and confirm your new password", - "changing_password": "Changing Password... ", - "confirm_new_password": "Confirm New Password", - "different_passwords": "You need to enter the same password twice", - "email_code_validation": "Please check your email box and enter the verification code we have just sent you in the box below", - "forgot_password_error": "Error while trying to send Forgot Password email. Please make sure this userId is associated to an account.", - "forgot_password_explanation": "Enter your username to receive an email containing the instructions to reset your password", - "forgot_password_success": "You should soon receive an email containing the instructions to reset your password. Please make sure to check your spam if you can't find the email", - "logging_in": "Logging In... ", - "login": "Login", - "login_error": "Login error, make sure the information you are providing is valid", + "access_policy": "Access Policy", + "change_password_error": "Rejected password, this maybe an old password", + "change_password_explanation": "Enter and confirm your new password", + "change_your_password": "Change Password", + "confirm_new_password": "Confirm new password", + "email_instructions": "You should soon receive a 6-digit code at your email address. If you cannot find it please verify your spam folder. ", + "error_sending_code": "Error while trying to send code: {{e}}", + "forgot_password": "Forgot Password?", + "forgot_password_instructions": "Enter your email address to receive an email containing the instructions to reset your password", + "forgot_password_successful": "You should soon receive an email containing the instructions to reset your password. Please make sure to check your spam if you can't find the email", + "forgot_password_title": "Forgot Password", + "google_instructions": "Please input the 6-digit code from your Google Authenticator app. If it is close to expiring, you can wait for a new one", + "invalid_credentials": "Invalid Credentials, please confirm that you are using the right email and password.", + "invalid_mfa": "Invalid Code! Please try again", + "login_explanation": "Enter your email and password to sign in", + "new_password": "New password", + "password_policy": "Password Policy", + "remember_me": "Remember Me", + "resend": "Resend", + "resent_code": "Successfully Resent Code!", + "reset_password": "Reset Password", + "sign_in": "Sign In", + "sms_instructions": "You should receive a 6-digit code on your phone soon. Please enter it below to login", + "verification": "Verify your login", + "waiting_for_email_verification": "Account not yet email validated. Please look at your inbox or ask your administrator to resend a validation", + "welcome_back": "Welcome Back!", + "your_email": "Your email address", + "your_new_password": "Your new password", + "your_password": "Your password" + }, + "map": { + "auto_align": "Auto Align", + "auto_map": "Auto Map", + "by_others": "Maps by others", + "cumulative_devices": "Cumulative Devices", + "default_map": "Default Map", + "delete_warning": "Are you sure you want to delete this map? This operation is not reversible", + "duplicating": "Duplicating Map", + "my_maps": "My Maps", + "other": "Maps", + "root": "Root", + "root_node": "Root Node", + "set_as_default": "Set as Default", + "title": "Map", + "visibility": "Visibility" + }, + "operator": { + "delete_explanation": "Are you sure you want to delete this operator? This operation is not reversible", + "delete_operator": "Delete Operator", + "import_location_from_device": "Import from other Device", + "one": "Operator", + "operator_one": "Operator", + "operator_other": "Operators", + "other": "Operators", + "registration_id": "Registration ID" + }, + "organization": { + "my_organization": "My Organization", + "title": "Organization" + }, + "profile": { + "about_me": "About Me", + "activate": "Activate", + "add_new_note": "Add Note", + "deactivate": "Deactivate", + "disabled": "Disabled", + "enabled": "Enabled", + "manage_avatar": "Manage Avatar", "new_password": "New Password", - "password": "Password", - "phone_validation_explanation": "Please check your mobile device and enter the verification code we have just sent you in the box below", - "please_enter_gateway": "Please enter a uCentralSec URL", - "please_enter_password": "Please enter your password", - "please_enter_username": "Please enter your username", - "previously_used": "Password was previously used", - "send_forgot": "Send Email", - "sending_ellipsis": "Sending... ", - "sign_in_to_account": "Sign in to your account", - "url": "uCentralSec URL", - "username": "Username", - "verification_code": "Enter your verification here", - "wrong_code": "The verification code that was entered is not valid. " + "new_password_confirmation": "Confirm New Password", + "your_profile": "Your Profile" }, - "preferences": { - "provisioning": "Provisioning" + "resources": { + "configuration_resource": "Resource", + "title": "Resources", + "variable": "Variable" }, - "reboot": { - "directions": "When would you like to reboot this device?", - "now": "Would you like to reboot this device now?", - "title": "Reboot" + "rrm": { + "algorithm": "Algorithm", + "algorithm_other": "Algorithms", + "cant_save_custom": "Cannot create or edit custom RRM configurations until RRM server is reachable. Please consult with your administrator", + "cron_error": "Error while parsing CRON expression: please confirm that it is valid", + "cron_scheduler": "CRON Scheduler", + "cron_templates": "Templates", + "no_algos": "Unable to fetch RRM algorithms at the moment", + "no_providers": "Unable to fetch RRM providers at the moment", + "param_error": "Your parameters do not respect the rules of this algorithm. Please look at the algorithm examples and details", + "parameters": "Parameters", + "vendor": "Vendor", + "version": "Version" }, - "scan": { - "active": "Enable active scan", - "channel": "Channel", - "directions": "Launch a wifi scan of this device, which should take approximately 25 seconds.", - "re_scan": "Re-Scan", - "result_directions": "You can click the 'Scan' button at the top right to $t(scan.re_scan)", - "results": "Wi-Fi Scan Results", - "scan": "Scan", - "scanning": "Scanning... ", - "waiting_directions": "Please wait for the scan result. This may take up to 25 seconds. You can exit and look at the results from the commands table later." - }, - "settings": { - "title": "Settings" - }, - "simulation": { - "add": "Add Simulation", - "cancel": "Cancel", - "cancel_success": "Simulation Run Successfully Cancelled!", - "check_ongoing_sims": "Follow Ongoing Sim", - "client_interval": "Client Interval", - "delete_simulation": "Delete Sim. {{name}}", - "end": "Ended", - "error_creating": "Error creating simulation: {{error}}", - "error_delete": "Error while deleting simulation: {{error}}", - "error_devices": "Error Devices", - "error_edit": "Error while trying to save simulation: {{error}}", - "error_edit_run": "Error while trying to change run state: {{error}}", - "error_fetching_simulations": "Error fetching simulations: {{error}}", - "error_start_run": "Error while trying to start a simulation run: {{error}}", - "gateway": "Gateway", - "healtcheck_interval": "Healthcheck Interval", - "keep_alive": "Keep Alive", - "last_refresh": "Last Refresh", - "length": "Length", - "live_devices": "Live Devices", - "mac_prefix": "MAC Prefix", - "max_associations": "Max. Associations", - "max_clients": "Max. Clients", - "messages_transmitted": "Msgs TX", - "min_associations": "Min. Associations", - "min_clients": "Min. Clients", - "pause": "Pause", - "pause_success": "Run Paused!", - "prefix_length": "Required, needs to be of a length of 6 characters", - "previous_runs": "Previous Runs", - "received": "Received", - "received_messages": "Msgs RX", - "reconnect_interval": "Reconnect Interval", - "resume": "Resume", - "resume_success": "Run Resumed!", - "run": "Simulation Run", - "run_simulation": "Run Simulation", - "started": "Started", - "state_interval": "State Interval", - "stop": "Stop", - "stop_success": "Run Stopped!", - "success_creating": "Simulation Successfully Created!", - "success_run_start": "Successfully Started Run!", - "successful_delete": "Successfully Deleted Simulation!", - "successful_edit": "Successfully Edited Simulation!", - "threads": "Threads", - "time_full_devices": "Time to Full Devices", - "title": "Simulations", - "transmitted": "Transmitted", - "valid_cert": "Valid Certificate", - "valid_key": "Valid Key" + "service": { + "billing_code": "Billing Code", + "billing_frequency": "Billing Frequency", + "class_one": "Service Class", + "class_other": "Service Classes", + "cost": "Cost", + "one": "Service Class", + "other": "Service Classes" }, "statistics": { - "data": "Data (KB)", - "data_mb": "Data (MB)", - "latest_statistics": "Latest Statistics", - "lifetime_stats": "Lifetime Statistics", - "memory": "Memory", - "no_interfaces": "No interface lifetime statistics available", - "show_latest": "Last Statistics", - "title": "Statistics", - "used": "Used Memory %" + "last_stats": "Last Statistics", + "memory": "Memory" }, - "status": { - "connection_status": "Status", - "error": "Status data is unavailable", - "last_contact": "Last Contact", - "load_averages": "Load (1/5/15 m.)", - "localtime": "Localtime", - "memory": "Memory Used", - "percentage_free": "{{percentage}}% of {{total}} free", - "percentage_used": "{{percentage}}% of {{total}} used", - "title": "#{{serialNumber}} Status", - "total_memory": "Total Memory", - "uptime": "Uptime", - "used_total_memory": "{{used}} used / {{total}} total " - }, - "subscriber": { - "add_device_subscriber_explanation": "To claim devices, you can use our search bar or claim directly from the table. If a device was already claimed by a user, you will need to go to to their details and unassign it before claiming it.", - "create": "Create Subscriber", - "devices_one": "{{count}} Device", - "devices_other": "{{count}} Devices", - "edit": "Edit Subscriber", - "error_create": "Error creating subscriber: {{error}}", - "error_delete": "Error deleting subscriber: {{error}}", - "error_fetching": "Error fetching subscribers: {{error}}", - "error_fetching_single": "Error fetching subscriber: {{error}}", - "error_update": "Error updating subscriber: {{error}}", - "is_already_claimed": "is already claimed by ", - "subscribers": "Subscribers", - "success_create": "Subscriber successfully created!", - "success_delete": "Subscriber successfully deleted!", - "success_update": "Successfully updated subscriber!" + "subscribers": { + "billing_contact_info": "Billing and Contact Details", + "claim_device_explanation": "To claim devices you can use the table below. If a device was already claimed by a user, you will need to go to to their details and unassign it before claiming it.", + "devices_claimed_one": "{{count}} Device Claimed", + "devices_claimed_other": "{{count}} Devices Claimed", + "devices_to_claim_one": "{{count}} Device to Claim", + "devices_to_claim_other": "{{count}} Devices to Claim", + "error_claiming": "Error claiming: {{serials}}", + "error_removing_claim": "Error removing claim(s) on: {{serials}}", + "no_subscribers_found": "No Subscribers Found", + "one": "Subscriber", + "other": "Subscribers", + "reactivate_explanation": "Are you sure you want to reactivate this subscriber?", + "reactivate_title": "Reactivate Subscriber", + "title": "Subscribers" }, "system": { - "error_fetching": "Error while fetching system information", - "error_reloading": "Error while reloading: {{error}}", + "could_not_retrieve": "Error: could not retrieve {{name}} system information", + "endpoint": "Endpoint", "hostname": "Host Name", - "os": "Operation System", + "info": "System Info", + "os": "Operating System", "processors": "Processors", - "reload": "Reload", - "reload_subsystems": "Reload", + "reload_chosen_subsystems": "Reload Chosen Subsystems", + "start": "Start", "subsystems": "Subsystems", - "success_reload": "Reload command successfully submitted!" + "success_reload": "Successfully sent reload command!", + "systems_to_reload": "Choose systems to reload", + "title": "System", + "uptime": "Uptime", + "version": "Version" }, - "telemetry": { - "connection_failed": "Failed to create connection. Error: {{error}}", - "interval": "Interval", - "last_update": "Last Update", - "lifetime": "Duration", - "outputmode": "Output Mode", - "types": "Types" - }, - "trace": { - "choose_network": "Choose network", - "directions": "Launch a remote trace of this device for either a specific duration or a number of packets", - "download_trace": "Download Trace File", - "packets": "Packets", - "title": "Trace", - "trace": "Trace", - "trace_not_successful": "Trace not successful: gateway reported the following error : {{error}}", - "wait_for_file": "Wait until the trace file is ready?", - "waiting_directions": "Please wait for the trace data file. This may take some time. You can exit the wait and retrieve the trace file from the commands table later.", - "waiting_seconds": "Time Elapsed: {{seconds}} seconds" - }, - "upgrade": { - "command_submitted": "Command submitted", - "device_disconnected": "Device disconnected", - "device_reconnected": "Device reconnected", - "device_upgrading_firmware": "Device upgrading firmware", - "directions": "Choose a time and a firmware version for this device", - "firmware_uri": "Firmware URI:", - "need_uri": "You need a URI...", - "new_version": "New version is ", - "offline_device": "This option is blocked because this device is not connected", - "time": "Time of upgrade:", - "title": "Firmware Upgrade", - "upgrade": "Upgrade", - "wait_for_upgrade": "Would you like to wait for the upgrade to finish?", - "waiting_for_device": "Waiting for device to reconnect" + "table": { + "columns_hidden_one": "{{count}} Column Hidden", + "columns_hidden_other": "{{count}} Columns Hidden", + "first_page": "First Page", + "go_to_page": "Go to page", + "last_page": "Last Page", + "next_page": "Next Page", + "page": "Page", + "previous_page": "Previous Page" }, "user": { - "add_phone_number": "Add Phone Number", - "avatar": "Your Avatar", - "avatar_file": "Your Avatar (max. of 2 MB)", - "check_phone": "Please check your phone for your validation code", - "confirm_new_password": "Confirm New Password", - "create": "Create User", - "create_failure": "Error while creating user: {{error}}", - "create_success": "User Created Successfully", - "creating": "Creating User...", - "delete_avatar": "Delete Avatar", - "delete_failure": "Error while trying to delete user: {{error}}", - "delete_success": "User successfully deleted!", - "delete_title": "Delete User", - "delete_warning": "Warning: Once you delete a user you cannot revert", - "deleting": "Deleting... ", - "description": "Description", - "edit": "Edit User", - "email_address": "Email Address", - "enter_new_phone": "Enter your new phone number: ", - "error_fetching_users": "Error fetching users: {{error}}", - "error_retrieving": "Error retrieving user", - "error_sending_code": "Error while trying to send validation code. Please confirm that your phone number is valid.", - "force_password_change": "Force Password Change on Login", - "id": "User Id.", - "last_login": "Last Login", - "login_id": "Login Id.", - "make_sure_same_password": "Make sure both passwords are the same and are valid", - "my_profile": "My Profile", - "name": "Name", - "new_code_sent": "New Code Sent!", - "nickname": "Nickname", - "nickname_explanation": "Nickname (optional)", - "not_validated": "Not Validated", - "note": "Note", + "error_fetching": "Error fetching user information: {{e}}", "password": "Password", - "phone_number": "Phone Number", - "provide_email": "Please provide a valid email address", - "provide_password": "Please provide a valid password", - "save_avatar": "Save Avatar", - "send_code": "Send Code", - "send_code_again": "Send Code Again", - "show_hide_password": "Show/Hide Password", - "successful_validation": "Phone Number Validated! Click the save button to link it to your profile", - "table_title": "Admin Users", - "update_failure": "Error while trying to update: {{error}}", - "update_failure_title": "Update Failed", - "update_success": "User Updated Successfully", - "update_success_title": "Success", - "user_role": "Role", - "users": "Users", - "validate_phone": "Validate", - "validated": "Validated", - "wrong_validation_code": "You have not entered a valid code. Please try again and make sure you have entered the right phone number" + "role": "Role", + "title": "User" }, - "wifi_analysis": { - "association": "Association", - "associations": "Associations", - "mode": "Mode", - "network_diagram": "Network Diagram", - "override_dfs": "Override DFS", - "radios": "Radios", - "scan_warning": "Your 5G radio is on a radar channel, you must enable “Override DFS” to allow scanning of all 5G channels", - "title": "Wi-Fi Analysis", - "vendor": "Vendor", - "waiting_for_data": "Waiting to receive device data. Please check again later" + "users": { + "change_password": "Force Password Change", + "email_validation": "Email Validation", + "error_fetching": "Error fetching users: {{e}}", + "error_sending_validation": "Error while sending email validation: {{e}}", + "last_login": "Last Login", + "login_id": "Login Id", + "one": "User", + "re_validate_email": "Re-validate Email", + "reactivate_user": "Reactivate User", + "reset_mfa": "Reset MFA", + "reset_mfa_success": "Successfully reset user MFA!", + "reset_password": "Reset Password", + "reset_password_error": "Error trying to reset user password: {{e}}", + "reset_password_success": "Successfully sent reset password email to user email address", + "role": "Role", + "send_validation": "Send Email Validation", + "send_validation_explanation": "Do you want to resend the email verification link?", + "stop_suspension": "Re-activate", + "success_sending_validation": "Validation email sent!", + "suspend": "Suspend", + "suspend_success": "User is now suspended", + "suspended": "Suspended", + "title": "Users", + "waitiing_for_email_verification": "Email Not Verified" + }, + "venues": { + "confirm_remove_contact": "Do you want to remove this contact from this venue?", + "create_child": "Create Child Venue", + "error_remove_contact": "Error while trying to remove contact: {{e}}", + "error_update_devices": "Error starting device update: {{e}}", + "go_to_page": "Go to page", + "one": "Venue", + "reboot_all_devices": "Reboot All Devices", + "sub_one": "Sub-Venue", + "sub_other": "Sub-Venues", + "subvenues": "Sub-Venues", + "successfully_reboot_devices": "Rebooting {{num}} devices!", + "successfully_removed_contact": "Successfully removed contact!", + "successfully_update_devices": "Updating {{num}} devices!", + "title": "Venues", + "update_all_devices": "Update All Device Configurations", + "upgrade_all_devices": "Upgrade All Devices to Latest Firmware", + "upgrade_all_devices_error": "Error upgrading devices: {{e}}", + "upgrade_all_devices_success": "Successfully started upgrading devices!", + "use_existing": "Use Existing", + "use_existing_contacts": "Use Existing Contacts", + "use_this_contact": "Use this contact" } } diff --git a/public/locales/es/translation.json b/public/locales/es/translation.json index d44b526..350ea0d 100644 --- a/public/locales/es/translation.json +++ b/public/locales/es/translation.json @@ -1,824 +1,953 @@ { - "actions": { - "actions": "Comportamiento", - "blink": "Parpadeo", - "configure": "Configurar", - "connect": "Conectar", - "connecting": "Conectando ...", - "factory_reset": "Restablecimiento De Fábrica", - "firmware_upgrade": "Actualización de firmware", - "reboot": "Reiniciar", - "request_ie": "Solicitar IE", - "telemetry": "Telemetria", - "title": "Comandos", - "trace": "Rastro", - "wifi_scan": "Escaneo Wi-Fi " + "account": { + "account": "Cuenta", + "activating_google_authenticator": "Activando el Autenticador de Google", + "activating_sms_mfa": "Validación del número de teléfono", + "avatar": "Avatar", + "error_fetching_qr": "Error al obtener el código QR: {{e}}", + "error_phone_verif": "Error con su código de validación, inténtelo de nuevo.", + "google_authenticator": "Autenticador de Google", + "google_authenticator_intro": "Para usar Google Authenticator como método de autenticación doble de su cuenta, primero debe instalar la aplicación en su dispositivo iOS o Android", + "google_authenticator_ready": "Una vez que tenga la aplicación lista para usar, puede continuar", + "google_authenticator_scan_qr_code_explanation": "Escanee el siguiente código QR usando \"Escanear un código QR\" en la aplicación Google Authenticator", + "google_authenticator_scanned_qr_code": "Una vez que el código QR se haya escaneado con éxito en su teléfono, puede continuar con el siguiente paso", + "google_authenticator_success_explanation": "Ahora ha configurado con éxito Google Authenticator con su cuenta. ¡No olvides guardar tus cambios para confirmar!", + "google_authenticator_type_code": "Ingrese el código de 6 dígitos de su aplicación Google Authenticator a continuación", + "google_authenticator_wait_for_code": "Espere el siguiente código (no {{old}})", + "google_authenticator_wrong_code": "¡Codigo invalido! Vuelva a intentarlo o espere a que se genere el siguiente código en la aplicación Google Authenticator.", + "mfa": "Autenticación multifactorial", + "phone": "Teléfono", + "phone_number": "Número de teléfono", + "phone_number_add_introduction": "Ingrese el número de teléfono que le gustaría usar para proteger su cuenta al iniciar sesión", + "phone_required": "Para activar la verificación por SMS, debe ingresar un número de teléfono", + "phone_validation_success_explanation": "¡Número de teléfono verificado con éxito! Haga clic en 'Guardar' para agregar este número de teléfono a su cuenta", + "proceed_to_activation": "Iniciar proceso de activación", + "resend": "Reenviar", + "sms": "SMS", + "success_phone_verif": "¡Número de teléfono verificado con éxito! Ahora puedes guardar tu perfil", + "title": "Mi cuenta", + "verify_phone_instructions": "Debería recibir un código en su número de teléfono en los próximos segundos. Ingréselo a continuación para verificar su número de teléfono", + "verify_phone_number": "Verifica tu numero de teléfono" }, - "blink": { - "blink": "Parpadeo", - "device_leds": "LED de dispositivo", - "execute_now": "¿Le gustaría establecer este patrón ahora?", - "explanation": "¿Qué patrón le gustaría establecer en este dispositivo durante 30 segundos?", - "pattern": "Elija el patrón que le gustaría usar:", - "set_leds": "Establecer LED", - "when_blink_leds": "¿Cuándo desea que los LED del dispositivo parpadeen?" + "analytics": { + "ack_signal": "Señal de reconocimiento", + "active": "Activo", + "airtime": "Tiempo en antena", + "analyze_sub_venues": "Supervisar sublugares", + "associations": "Asociaciones", + "associations_explanation": "Asociaciones totales", + "average_health": "Salud en general", + "average_health_explanation": "Sanidad promedio de todos los dispositivos conectados que brindan la información de verificación de estado", + "average_memory": "Memoria usada", + "average_memory_explanation": "Porcentaje medio de memoria utilizada", + "average_uptime": "Tiempo de actividad promedio", + "average_uptime_explanation": "Tiempo de actividad promedio del dispositivo (DD:HH:MM:SS)", + "band": "Banda", + "bandwidth": "Banda ancha", + "board": "Colección de análisis", + "busy": "Ocupado", + "channel": "Canal", + "client_lifecycle": "Ciclo de vida del cliente", + "client_lifecycle_one": "{{count}} ciclo de vida del cliente", + "client_lifecycle_other": "{{count}} ciclos de vida del cliente", + "connected": "Conectado", + "connection_explanation": "{{connectedCount}} conectado, {{disconnectedCount}} no conectado", + "connection_percentage": "{{count}}% conectado", + "connection_percentage_explanation": "Porcentaje de todos los dispositivos en este lugar que están conectados ({{connectedCount}} conectados, {{disconnectedCount}} no conectados)", + "create_board": "Comenzar a monitorear", + "dashboard": "Tablero", + "delta": "delta", + "device_types": "Los tipos", + "device_types_explanation": "Tipos de dispositivos de todos los dispositivos disponibles", + "disconnected": "Desconectado", + "firmware": "Firmware", + "health": "salud", + "inactive": "inactivo", + "interval": "intervalo", + "last_connection": "Última conexion", + "last_contact": "Último contacto", + "last_disconnection": "Última desconexión", + "last_firmware_explanation": "Firmware más común que se ejecuta en los dispositivos analizados", + "last_health": "última salud", + "last_ping": "Último ping", + "live_view": "Vista en vivo", + "live_view_explanation_five": "También puede hacer clic en cualquiera de los círculos para acercar", + "live_view_explanation_four": "Puede pasar el mouse sobre cualquiera de los objetos para ver información detallada", + "live_view_explanation_one": "El gráfico 'Vista en vivo' es una representación visual de su lugar.", + "live_view_explanation_three": "Lugar -> AP -> Radio -> SSID -> UE", + "live_view_explanation_two": "De afuera hacia adentro:", + "live_view_help": "Ayuda de visualización en vivo", + "memory": "Memoria", + "memory_used": "Memoria usada", + "mode": "Modo", + "noise": "Ruido", + "packets": "Paquetes", + "radio": "RADIO", + "raw_analytics_data": "Datos analíticos sin procesar", + "raw_data": "Datos sin procesar", + "receive": "Recibir", + "retention": "Retencion", + "retries": "Reintentos", + "search_serials": "Buscar seriales", + "stop_monitoring": "Dejar de monitorear", + "temperature": "temperatura", + "title": "ANALÍTICA", + "total_data": "Datos totales", + "total_devices_explanation": "Todos los dispositivos en este lugar ({{connectedCount}} conectado, {{disconnectedCount}} no conectado)", + "total_devices_one": "{{count}} dispositivo", + "total_devices_other": "{{count}} dispositivos", + "uptime": "Tiempo de actividad" + }, + "batch": { + "batches": "lotes", + "cannot_edit_macs": "Debido a que los trabajos ya se ejecutaron en este lote, no puede editar sus direcciones MAC", + "change_warning": "ATENCIÓN: has actualizado el modelo o el fabricante. Recomendamos enfáticamente actualizar sus certificados para que se mantengan consistentes con este lote eligiendo la opción \"Guardar y actualizar certificados\".", + "create": "Crear certificados", + "create_certificates": "Crear certificados", + "create_certificates_explanation": "¿Está seguro de que desea crear los certificados {{nbCerts}} de este lote?", + "create_certificates_title": "Crear certificados de {{name}}", + "delete_explanation": "¿Está seguro de que desea eliminar este lote? Esto revocará todos sus certificados {{nbCerts}} y los eliminará. Esta operación no es reversible.", + "delete_title": "Eliminar lote {{name}}", + "duplicate_in_file": "MAC duplicado encontrado en la fila {{firstRow}} y {{secondRow}}: {{mac}}", + "emails_to_notify": "Correos electrónicos para notificar cuando se complete esta tarea", + "error_push": "Error al iniciar el trabajo de cambios de inserción: {{e}}", + "general_error_treating_file": "Error general al tratar el archivo: asegúrese de que esté en formato .CSV, contiene solo una columna que no tiene encabezado.", + "invalid_mac": "MAC no válido en la fila {{row}}: {{mac}}", + "mac_count_title": "{{nb}} MAC forman parte actualmente de este lote", + "nb_macs": "{{nb}} MAC", + "need_devices": "¡Necesitas tener al menos un certificado para crear!", + "parsing_error": "Error de análisis en la fila {{row}}: {{e}}", + "phones_to_notify": "Números de teléfono para notificar cuando se complete la tarea", + "push_changes": "Empujar cambios", + "push_changes_explanation": "¿Está seguro de que desea enviar la información del lote a todos los certificados de este lote?", + "revoke_explanation": "¿Está seguro de que desea revocar este lote? Esto revocará todos sus {{nbCerts}} certificados. Esta operación no es reversible.", + "revoke_title": "Revocar lote {{name}}", + "save_and_change": "Guardar y actualizar certificados", + "success_push": "¡Comenzó con éxito el trabajo de cambios de inserción! Número de trabajo: {{job}}", + "title": "Lote" + }, + "certificates": { + "certificate": "Certificado", + "common_names_explanation": "Necesita un archivo .CSV de una sola columna sin nombre que contenga 12 MAC de dispositivo de dígitos HEX.", + "device": "Dispositivo", + "device_macs": "MAC del dispositivo", + "domain_name": "Nombre de dominio", + "error_fetching": "Error al obtener certificados: {{e}}", + "error_revoke": "Error al intentar revocar el certificado: {{e}}", + "expires_on": "Expira el", + "filename": "Nombre del archivo", + "invalid_domain": "Los formatos aceptados son: dominio.dominio_nivel_superior o sub_dominio.dominio._dominio_nivel_superior", + "invalid_mac": "Debe tener 12 caracteres hexadecimales", + "invalid_redirector": "Los formatos aceptados son: ejemplo.com, ejemplo.com:16000", + "mac_address": "Dirección MAC", + "macs": "MAC", + "manufacturer": "Fabricante", + "model": "Modelo", + "redirector": "redirector", + "revoke": "REVOCAR", + "revoke_count": "Recuento de revocaciones", + "revoke_warning": "¿Está seguro de que desea revocar este certificado?", + "server": "Servidor", + "successful_revoke": "¡Certificado revocado con éxito!", + "title": "Certificados" }, "commands": { - "command_success": "Comando enviado con éxito", - "error": "¡Error al enviar el comando!", - "error_delete_log": "Error al intentar eliminar: {{error}}", - "event_queue": "Cola de eventos", - "reboot_start": "¡El proceso de reinicio ha comenzado!", - "success": "Comando enviado con éxito, puede consultar el registro de Comandos para ver el resultado", - "title": "Historial de Comandos", - "unable_queue": "No se pudo completar la solicitud de cola de eventos: {{error}}" + "abort_command_explanation": "¿Está seguro de que desea dejar de esperar el resultado de este comando?", + "abort_command_title": "Comando de cancelación", + "active_scan": "Escaneo activo", + "blink": "Parpadeo", + "blink_error": "Error al enviar el comando de parpadeo: {{e}}", + "blink_success": "¡Comando de parpadeo enviado con éxito!", + "channel": "Canal", + "confirm_reset": "Iniciar reinicio del dispositivo #{{serialNumber}}", + "connect": "Conectar", + "execution_time": "Tiempo de ejecución", + "factory_reset": "Dispositivo de restablecimiento de fábrica", + "factory_reset_error": "Error al intentar restablecer el dispositivo de fábrica: {{e}}", + "factory_reset_success": "¡Restablecimiento de fábrica del dispositivo iniciado con éxito!", + "factory_reset_warning": "¿Está seguro de que desea restablecer de fábrica este dispositivo? Esta acción no es reversible", + "firmware_upgrade": "Actualización de firmware", + "firmware_upgrade_error": "Error al intentar actualizar el firmware del dispositivo: {{e}}", + "firmware_upgrade_success": "¡Actualización del dispositivo iniciada con éxito!", + "image_date": "Fecha de la imagen", + "keep_redirector": "¿Mantener el redirector?", + "other": "comandos", + "override_dfs": "Anular DFS", + "reboot": "Reiniciar", + "reboot_error": "Error al enviar el comando de reinicio: {{e}}", + "reboot_success": "¡Comando de reinicio enviado con éxito!", + "revision": "revisión", + "scan": "Escanear", + "signal": "Señal", + "upgrade": "Mejorar", + "wifiscan": "Escaneo Wifi", + "wifiscan_error": "Error al intentar escanear el dispositivo: {{e}}", + "wifiscan_error_1": "Su radio 5G está en un canal de radar, debe habilitar \"Anular DFS\" para permitir el escaneo de todos los canales 5G" }, "common": { - "access_policy": "Política de acceso", - "add": "Añadir", - "add_items": "Agregar articulos", - "add_note": "Añadir la nota", - "add_note_explanation": "Escriba su nueva nota a continuación y haga clic en el botón '+' donde haya terminado", - "adding_ellipsis": "Añadiendo ...", + "actions": "Comportamiento", + "address_search_autofill": "Busque ubicaciones para completar automáticamente los campos a continuación", + "alert": "Alerta", "all": "TODOS", - "are_you_sure": "¿Estás seguro?", - "back_to_login": "Atrás para iniciar sesión", - "back_to_start": "volver a empezar", - "blacklist": "Lista negra", + "assign": "Asignar", + "avg": "promedio", + "back": "atrás", + "base_information": "Información base", "by": "Por", "cancel": "Cancelar", - "certificate": "Certificado", - "certificates": "Certificados", "claim": "Reclamación", - "clear": "Claro", "close": "Cerrar", - "code": "Código", + "columns": "Columnas", "command": "Mando", - "commands": "comandos", - "commands_executed": "Comandos ejecutados", - "compatible": "Compatible", "completed": "terminado", - "concurrent_devices": "Dispositivos concurrentes", - "config_id": "Config. Identificación", "confirm": "Confirmar", - "confirm_stop_editing": "¿Estás seguro de que quieres dejar de editar? Esto cancelará cualquier cambio no guardado que haya realizado.", "connected": "Conectado", - "copied": "Copiado!", - "copied_to_clipboard": "¡Copiado al portapapeles!", - "copy_to_clipboard": "Copiar al portapapeles", + "copied": "Copiado", + "copy": "Dupdo", "create": "Crear", + "create_new": "Crear nuevo", "created": "creado", - "created_by": "Creado por", "creator": "Creador", - "current": "Corriente", - "custom_date": "Fecha personalizada", - "dashboard": "Tablero", + "custom": "Personalizado", + "daily": "diario", "date": "Fecha", - "day": "día", + "day": "Día", "days": "días", - "default_map": "Mapa predeterminado", - "delete": "Borrar", - "delete_device": "Eliminar dispositivo", + "default": "Defecto", + "description": "Descripción", "details": "Detalles", - "device": "Dispositivo n.º{{serialNumber}}", - "device_dashboard": "Panel de control del dispositivo", - "device_delete": "Eliminar #{{serialNumber}}", - "device_deleted": "Dispositivo eliminado correctamente", - "device_health": "Salud del dispositivo", - "device_list": "Listado de dispositivos", - "device_page": "Ver", - "device_status": "Estado del dispositivo", - "devices": "Dispositivos", - "devices_using_latest": "Dispositivos que utilizan el firmware más reciente", - "devices_using_unknown": "Dispositivos que utilizan firmware desconocido", - "dismiss": "Despedir", - "do_now": "¡Hagan ahora!", + "device_details": "Detalles del dispositivo", + "discard_changes": "¿Descartar los cambios?", + "disconnected": "Desconectado", + "display_name": "Nombre para mostrar", "download": "Descargar", + "download_instructions": "¡Descarga Exitosa! Si no puede encontrar el archivo, confirme que está permitiendo las descargas desde este sitio web", "duplicate": "Duplicar", - "duration": "Duración", "edit": "Editar", - "edit_user": "Editar", - "email_address": "Dirección de correo electrónico", - "endpoint": "punto final", - "endpoints": "Puntos finales", + "email": "Email", + "empty_list": "Lista vacía", + "end": "Fin", + "entries_one": "entrada", + "entries_other": "entradas", "error": "Error", - "error_adding_note": "Error al agregar una nota", - "error_code": "código de error", + "error_claiming_obj": "Error al reclamar {{obj}}", + "error_download": "Error al intentar descargar: {{e}}", "errors": "Los errores", - "execute_now": "¿Le gustaría ejecutar este comando ahora?", - "executed": "ejecutado", - "exit": "salida", - "firmware": "Firmware", - "firmware_dashboard": "Panel de firmware", - "firmware_installed": "Firmware instalado", - "forgot_password": "¿Olvidaste tu contraseña?", - "forgot_password_title": "Se te olvidó tu contraseña", - "from": "Desde", - "general_error": "Error de API, consulte a su administrador", + "exit_fullscreen": "salida", + "finished": "terminado", + "fullscreen": "Pantalla Completa", + "general_error": "Error al conectar con el servidor. Consulte a su administrador.", + "general_info": "Información general", "go_back": "Regresa", + "go_to_map": "Ir al mapa", "hide": "Esconder", - "hour": "hora", - "hours": "horas", - "id": "Carné de identidad", - "invalid_credentials": "Nombre de usuario y / o contraseña inválido", - "invalid_date_explanation": "Fecha no válida, utilice el calendario accesible con el botón de la derecha", - "invalid_file": "El archivo elegido no es válido, lea las instrucciones y ajuste su archivo en consecuencia", - "invalid_password": "Esta contraseña no confirma las reglas básicas de contraseña. Visite nuestra página de Política de contraseñas para obtener más información.", - "invalid_pem": "Su archivo .pem no es válido. Debe comenzar con '----- BEGIN CERTIFICATE -----' O '----- BEGIN PRIVATE KEY -----' y debe terminar con '----- END CERTIFICATE --- - 'O' ----- FIN DE CLAVE PRIVADA ----- '", - "ip_address": "Dirección IP", - "ips": "IPs", - "item": "ít", - "items": "artículos", - "items_per_page": "Artículos por página:", - "key": "Llave", - "last_dashboard_refresh": "Última actualización del panel", - "later_tonight": "Más tarde esta noche", - "latest": "último", - "list": "Lista", - "loading_ellipsis": "Cargando...", - "loading_more_ellipsis": "Cargando más ...", + "hourly": "Cada hora", + "identification": "identificación", + "inherit": "Heredar", + "language": "idioma", + "lifetime": "Toda la vida", + "locale": "lugar", "logout": "Cerrar sesión", - "mac": "Dirección MAC", "main": "Principal", + "make_higher_priority": "Dar mayor prioridad", + "make_lower_priority": "Hacer una prioridad más baja", + "manage": "Gestionar", + "manual": "Manual", "manufacturer": "Fabricante", - "memory_used": "Memoria usada", - "min_max": "Mín .: {{min}}, Máx .: {{max}}", - "minute": "minuto", - "minutes": "minutos", + "map": "Mapa", + "max": "Max", + "min": "Min", + "mode": "Modo", + "model": "Modelo", "modified": "Modificado", - "na": "N / A", - "need_date": "Necesitas una cita ...", + "monthly": "Mensual", + "my_account": "Mi cuenta", + "name": "Nombre", + "name_error": "El nombre debe tener menos de 50 caracteres", + "next": "Siguiente", "no": "No", "no_addresses_found": "No se encontraron direcciones", "no_clients_found": "No se encontraron clientes", "no_devices_found": "No se encontraron dispositivos", - "no_items": "No hay articulos", + "no_items_yet": "Aún no hay elementos", + "no_obj_found": "No se encontró {{obj}} ", + "no_records_found": "No se encontrarón archivos", "none": "Ninguna", - "not_connected": "No conectado", - "of_connected": "% de dispositivos conectados", - "off": "Apagado", - "on": "en", - "optional": "Opcional", - "overall_health": "Salud en general", - "password_policy": "Política de contraseñas", - "preferences": "Preferencias", - "preview": "Avance", - "program": "Programa", - "reason": "Razón", - "recorded": "Grabado", - "refresh": "Refrescar", - "refresh_device": "Actualizar dispositivo", - "remove_claim": "Quitar reclamo", - "required": "Necesario", - "result": "Resultado", - "save": "Salvar", - "saved": "¡Salvado!", - "saving": "Ahorro...", - "schedule": "Programar", - "search": "Dispositivos de búsqueda", - "second": "segundo", - "seconds": "segundos", - "seconds_elapsed": "Segundos transcurridos", - "see_details": "Ver detalles", - "select": "Seleccionar", - "serial_num": "Número de serie", - "serial_number": "Número de serie", - "show_all": "Mostrar todo", - "socket_connection_closed": "¡Conexión cerrada!", - "start": "comienzo", - "status": "Estado", - "stop_editing": "Dejar de editar", - "submit": "Enviar", - "submitted": "Presentado", - "success": "Éxito", - "system": "Sistema", - "table": "Mesa", - "time_per_device": "Dispositivo / segundo", - "timestamp": "hora", - "to": "a", - "type": "Tipo", - "type_for_options": "Escriba el valor que necesita crear ...", - "type_for_options_format": "Escriba un valor del formato válido ({{format}}) ...", - "unable_to_connect": "No se puede conectar al dispositivo", - "unable_to_delete": "No se puede eliminar", - "unknown": "Desconocido", - "up_to_date": "Dispositivos actualizados", - "uptimes": "Tiempos de actividad", - "use_file": "Usar archivo", - "uuid": "UUID", - "vendors": "Vendedores", - "view_more": "Ver más", - "visibility": "Visibilidad", - "waiting_for_update": "Esperando actualización", - "yes": "Sí" - }, - "configuration": { - "add_configuration": "Agregar configuración", - "add_new_block": "Agregar nuevo bloque de configuración", - "add_or_link": "Vincular o agregar", - "add_radio": "Agregar radio", - "ca_cert_explanation": "Utilice un archivo .pem que comience con \"----- BEGIN CERTIFICATE -----\" y termine con \"----- END CERTIFICATE -----\". El resultado se mostrará en el campo siguiente. También puede copiar y pegar el certificado que le gustaría usar directamente.", - "cannot_delete": "Esta configuración no se puede eliminar porque está siendo utilizada por al menos una entidad, lugar o dispositivo", - "choose_radio_band": "¿Qué banda de radio te gustaría crear?", - "choose_section": "Qué sección le gustaría que contenga este bloque?", - "configuration_browser": "Navegador de configuración", - "configurations": "Configuraciones", - "create": "Crear Configuración", - "create_config": "Crear nueva configuración", - "create_new_configuration": "Crear nuevo elemento de configuración", - "created": "creado", - "creation_success": "¡Configuración creada con éxito!", - "currently_associated": "Configuración asociada actual: {{config}}", - "currently_selected_config": "Configuración seleccionada actualmente: {{config}}", - "default_configs": "Configuraciones predeterminadas", - "default_configurations": "Configuraciones predeterminadas", - "delete_config": "Eliminar Configuración", - "details": "Detalles", - "device_password": "Contraseña", - "device_type": "Tipo de dispositivo", - "device_types": "Tipos de dispositivos", - "devices_affected": "Dispositivos afectados por esta configuración:", - "edit_configuration": "Editar configuración", - "error_delete": "Error al intentar eliminar: {{error}}", - "error_delete_blacklist": "Error al eliminar de la lista negra: {{error}}", - "error_fetching_config": "Error al obtener la configuración", - "error_trying_delete": "Error al intentar eliminar: {{error}}", - "error_update": "Error: {{error}}", - "explanation": "Explicación", - "key_pem_explanation": "Seleccione el archivo .pem", - "last_configuration_change": "CAMBIO DE CONFIGURACIÓN", - "last_configuration_download": "Descarga de la última configuración", - "location": "Ubicación", - "need_device_type": "Cada configuración debe admitir al menos un tipo de dispositivo", - "no_associated_config": "Sin configuración asociada", - "no_associated_configuration": "Sin configuraciones asociadas", + "not_found": "404 No encontrado", "note": "Nota", "notes": "Notas", - "owner": "Propietario", - "select_configuration": "Seleccione esta configuración", - "success_block_delete": "Bloque de configuración eliminado con éxito", - "success_update": "¡Configuración actualizada con éxito!", - "successful_delete": "Configuración eliminada!", - "support_all": "Apoyar a todos", - "supported_device_types": "Tipos de dispositivos compatibles", - "title": "Configuración", - "type": "Tipo de dispositivo", - "used_by": "Usado por", - "used_by_details": "{{entities}} Entidades, {{venues}} lugares y {{devices}} dispositivos", - "uuid": "ID de configuración", + "of": "de", + "password": "Contraseña", + "preview": "Avance", + "quarterly": "Trimestral", + "redirector": "redirector", + "refresh": "Refrescar", + "remove": "retirar", + "remove_claim": "Quitar reclamo", + "reset": "Reiniciar", + "revoked": "Revocado", + "save": "Salvar", + "search": "Buscar", + "seconds": "Segundos", + "select_value": "Selecciona valor", + "sending": "Enviando", + "sent_code": "¡Código enviado!", + "show": "Show", + "size": "Tamaño", + "start": "comienzo", + "started": "Empezado", + "state": "Estado", + "status": "Estado", + "stop_editing": "Dejar de editar", + "submitted": "Presentado", + "success": "Éxito", + "successfully_claimed_obj": "Reclamado con éxito {{count}} {{obj}}", + "sync": "Sincronizar", + "test": "Prueba", + "theme": "Tema", + "time": "hora", + "timestamp": "marca de tiempo", + "type": "Tipo", + "type_for_options": "Escriba el valor que necesita crear ...", + "unknown": "Desconocido", + "use_file": "Usar archivo", + "value": "Valor", + "variable": "Variable", + "view_details": "Ver detalles", + "view_in_gateway": "Ver en controlador", + "view_json": "Ver JSON", + "warning": "Advertencia", + "warnings": "Advertencias", + "yearly": "Anual", + "yes": "Sí", + "your_new_note": "tu nueva nota" + }, + "configurations": { + "add_interface": "Añadir interfaz", + "add_radio": "Agregar radio", + "add_ssid": "Agregar SSID", + "add_subsection": "Agregar subsección", + "advanced_settings": "Ajustes avanzados", + "affected_explanation_one": "Hay {{count}} dispositivos afectados por esta configuración", + "affected_explanation_other": "Hay {{count}} dispositivos afectados por esta configuración", + "applied_configuration": "Configuración aplicada", + "cant_delete_explanation": "No se puede eliminar esta configuración porque la está utilizando al menos un dispositivo, lugar o entidad. Puede ver cuáles son haciendo clic en el botón junto a \"En uso\" en el formulario de esta configuración", + "cant_delete_explanation_simple": "No se puede eliminar esta configuración porque la está utilizando al menos un dispositivo, lugar o entidad. Puede ver cuáles son yendo a la página de configuración", + "configuration_json": "JSON de configuración", + "configuration_push_result": "Resultado de envío de configuración", + "configuration_sections": "Secciones de configuración", + "delete_interface": "Eliminar interfaz", + "delete_radio": "Eliminar radio", + "delete_ssid": "Eliminar SSID", + "device_configurations": "Configuraciones de dispositivos", + "device_types": "Tipos de dispositivos", + "dhcp_snooping": "Espionaje de DHCP", + "error_pushes_one": "Error (podría deberse a una mala configuración): {{count}}", + "error_pushes_other": "Errores (pueden deberse a una mala configuración): {{count}}", + "expert_name": "Modo experto", + "explanation": "Explicación", + "firewall": "cortafuegos", + "firmware_upgrade": "Actualización de firmware", + "globals": "globales", + "health": "salud", + "hostapd_warning": "Parámetro de URL, ej.: prueba=valor", + "import_file": "Importar configuración desde archivo", + "import_file_explanation": "Puede utilizar la siguiente opción para importar un archivo JSON de configuración, con un contenido de este formato:\n{\n \"interfaces\": [ ... ],\n \"globals\": { ... },\n ...etc\n}", + "import_warning": "ADVERTENCIA: Esta operación sobrescribirá todas las secciones de configuración que ya haya creado.", + "imported_configuration": "Configuración importada", + "in_use_title": "{{name}} en uso", + "interfaces": "Interfaces", + "interfaces_instruction": "Utilice una cadena JSON válida en el siguiente formato: { \"interfaces\": [] }.", + "invalid_resource": "Recurso no válido o eliminado", + "metrics": "Métrica", + "no_resource_selected": "Ningún recurso seleccionado", + "notification_details": "Actualizado: {{success}}, Esperando conexión: {{warning}}, Errores: {{error}}", + "one": "Configuración", + "push_configuration": "Configuración de inserción", + "push_configuration_error": "Error al intentar enviar la configuración al dispositivo: {{e}}", + "push_configuration_explanation": "Configuración no enviada, código de error {{code}}", + "push_success": "¡Configuración presionada con éxito!", + "radio_limit": "Has alcanzado la cantidad máxima de radios (5). Necesita eliminar una de las bandas activadas para agregar una nueva", + "radios": "Radios", + "rc_only": "Solo candidatos de lanzamiento", + "save_warnings": "¿Está seguro de que desea guardar su configuración?", + "services": "Servicios", + "special_configuration": "Configuración específica del dispositivo", + "start_special_creation": "Crear configuración para este dispositivo", + "statistics": "estadística", + "successful_pushes_one": "Empuje exitoso: {{count}}", + "successful_pushes_other": "Empujes exitosos: {{count}}", + "third_party": "Tercero", + "third_party_instructions": "Utilice una cadena JSON válida en el siguiente formato: { \"value_name\": \"value\" }.", + "title": "Configuraciones", + "unit": "Unidad", "view_affected_devices": "Ver dispositivos afectados", - "view_config": "Ver configuración", "view_in_use": "Ver en uso", - "view_json": "Ver JSON sin procesar" + "warning_pushes_one": "Esperando a que los dispositivos se conecten: {{count}}", + "warning_pushes_other": "Esperando a que los dispositivos se conecten: {{count}}", + "weight": "Peso", + "wifi_frames": "Marcos WiFi" }, - "configure": { - "choose_file": "Debe elegir un archivo .json válido:", - "enter_new": "Ingrese la nueva configuración del dispositivo JSON:", - "placeholder": "Configurar JSON", - "title": "Configurar", - "valid_json": "Debes ingresar un JSON válido" - }, - "connect": { - "error_trying_to_connect": "Error al intentar conectarse al dispositivo: {{error}}" - }, - "contact": { + "contacts": { "access_pin": "PIN de acceso", - "add_contact": "Agregar contacto", - "contact": "Contacto", - "create_contact": "Crear contacto", - "currently_selected_contact": "Contacto seleccionado actualmente: {{contact}}", - "delete": "¿Borrar contacto?", - "error_assign": "Error al intentar asignar el contacto: {{error}}", - "error_creation": "Error al intentar crear contacto: {{error}}", - "error_delete": "Error al intentar eliminar el contacto: {{error}}", - "error_fetching_list": "Error al obtener los contactos", - "error_fetching_single": "Error al obtener el contacto: {{error}}", - "error_unassign": "Error al intentar anular la asignación del contacto: {{error}}", + "claim_explanation": "Para reclamar contactos puede usar la tabla a continuación", "first_name": "Nombre de pila", "identifier": "Identificador", "initials": "Iniciales", "last_name": "Apellido", - "no_associated_contact": "Sin contacto asociado", + "mobiles": "MOBILES", + "one": "Contacto", + "other": "Contactos", + "phones": "Los telefonos", "primary_email": "Correo electrónico principal", "salutation": "saludo", "secondary_email": "Email secundario", - "successful_assign": "¡Contacto asignado correctamente!", - "successful_creation": "Contacto Creado!", - "successful_delete": "¡Contacto eliminado con éxito!", - "successful_unassign": "Contacto no asignado correctamente", - "successful_update": "Contacto actualizado con éxito", - "title": "Contactos", - "type": "Tipo", - "update_error": "Error al actualizar el contacto: {{error}}", - "user_title": "Título", - "visual": "Nombre de correspondencia" + "title": "Título", + "to_claim": "Contactos para reclamar", + "visual": "Visual" }, - "delete_command": { - "explanation": "¿Está seguro de que desea eliminar este comando? Esta acción no es reversible.", - "title": "Eliminar comando" + "controller": { + "configurations": { + "create_success": "¡Configuración creada!", + "delete_success": "¡La configuración ahora está eliminada!", + "title": "Configuraciones predeterminadas", + "update_success": "¡Configuración actualizada!" + }, + "configure": { + "invalid": "Su nueva configuración debe ser JSON válido", + "success": "La nueva configuración ahora se está implementando en el dispositivo", + "title": "configurar", + "warning": "Tenga cuidado: solo se realizarán pruebas mínimas en esta configuración" + }, + "crud": { + "choose_time": "Marco de tiempo personalizado", + "clear_time": "Tiempo claro", + "delete_success_obj": "Eliminado {{obj}}" + }, + "dashboard": { + "associations": "Asociaciones", + "associations_explanation": "Todas las asociaciones conectadas actuales (o UE)", + "certificates": "Certificados", + "certificates_explanation": "Estado de los certificados de los dispositivos actualmente conectados", + "commands": "comandos", + "commands_explanation": "Todos los comandos ejecutados", + "device_dashboard_refresh": "Nuevas estadísticas de conexión", + "device_types": "Tipos de dispositivos", + "device_types_explanation": "Tipos de dispositivos de todos los dispositivos que apuntan a este controlador", + "devices_explanation": "Todos los dispositivos apuntan hacia este punto final del controlador", + "error_fetching": "Error al obtener el panel", + "expand": "Expandir", + "last_ping_explanation": "Cuando se recopilaron estos datos", + "memory": "Uso de memoria", + "memory_explanation": "Dispositivos conectados actualmente con la cantidad correspondiente de memoria utilizada", + "no_certificate": "Sin certificado", + "not_connected": "No conectado", + "others": "Otros", + "overall_health": "Salud en general", + "overall_health_explanation": "Salud promedio de todos los dispositivos actualmente conectados de los cuales recibimos datos de salud. El cálculo exacto es: (Dispositivos=100% * 100 + Dispositivos>90 * 95 + Dispositivos>60 * 75 + Dispositivos<60 * 30) / Dispositivos conectados", + "overall_health_explanation_pie": "La cantidad de dispositivos con un porcentaje de salud dentro de estas categorías", + "serial_mismatch": "Discrepancia de serie", + "status": "Estado", + "status_explanation": "Estado de todos los dispositivos que apuntan a este punto final del controlador", + "unknown_status": "Estado no reconocido", + "unrecognized": "Poco reconocido", + "uptimes": "", + "uptimes_explanation": "Dispositivos conectados actualmente con los tiempos de actividad correspondientes", + "vendors": "Vendedores", + "vendors_explanation": "Proveedores de los dispositivos que apuntan a este controlador", + "verified": "Verificado" + }, + "devices": { + "add_blacklist": "Agregar número de serie", + "added": "Adicional", + "added_blacklist": "¡Número de serie agregado a la lista negra!", + "average_uptime": "Tiempo de actividad promedio", + "blacklist": "Lista negra", + "blacklist_update": "Actualizar registro {{serialNumber}} ", + "by": "Por", + "capabilities": "capacidades", + "command_one": "Mando", + "commands": "comandos", + "complete_data": "Datos completos", + "config_id": "ID de configuración", + "connecting": "Conectando", + "connection_changes": "Estados de conexión", + "delete_blacklist": "¡Se eliminó el número de serie de la lista negra!", + "delete_health_explanation": "Esto eliminará de forma permanente todas las comprobaciones de estado antes de la fecha que elija", + "delete_logs_explanation": "Esto eliminará permanentemente todos los registros anteriores a la fecha que elija", + "error_code": "código de error", + "executed": "ejecutado", + "finished_reboot": " ¡{{serialNumber}} acaba de terminar de reiniciarse!", + "finished_upgrade": " ¡{{serialNumber}} ha terminado de actualizarse!", + "from_to": "De {{from}} a {{to}}", + "healthchecks": "Chequeos de salud", + "last_modified": "Última modificación:", + "last_upgrade": "Última actualización", + "localtime": "Hora local", + "logs": "registros", + "new_statistics": "Nuevas estadísticas", + "no_more_available": "Todo recuperado", + "reason": "Razón", + "results": "Resultados", + "sent_upgrade_to_latest": "Se envió el comando 'Actualizar a la última' al dispositivo", + "severity": "Gravedad", + "show_more": "Mostrar más", + "started_reboot": " ¡{{serialNumber}} apague para reiniciar!", + "started_upgrade": " ¡{{serialNumber}} simplemente apague para iniciar la actualización!", + "trace": "Rastro", + "trace_description": "Lanzar un rastreo remoto de este dispositivo por una duración específica o por una cantidad de paquetes", + "update_success": "¡Dispositivo actualizado!", + "updated_blacklist": "¡Lista negra actualizada!" + }, + "firmware": { + "devices_explanation": "Dispositivos que han apuntado hacia este servidor de firmware. Esto podría explicar las discrepancias entre este número y el tablero del dispositivo.", + "endpoints": "Puntos finales", + "endpoints_explanation": "Todos los puntos finales que apuntarán hacia este servidor de firmware", + "firmware_age": "Edad del firmware", + "firmware_age_explanation": "Antigüedad media del firmware de los dispositivos de los que tenemos esos datos", + "latest": "Último firmware instalado", + "ouis_explanation": "OUI de dispositivos que se han conectado a este servidor de firmware", + "outdated": "Firmware obsoleto y más reciente disponible", + "release": "Lanzamiento", + "show_dev_releases": "Lanzamientos de desarrollo", + "status_explanation": "Estado de conexión de los dispositivos que se han conectado a este servidor de firmware", + "unrecognized": "Firmware no reconocido", + "unrecognized_firmware": "Firmware no reconocido", + "unrecognized_firmware_explanation": "Firmware que utilizan actualmente los dispositivos y no es reconocido por este servidor de firmware", + "up_to_date": "Dispositivos actualizados", + "up_to_date_explanation": "Dispositivos que utilizan el último software disponible disponible para ellos" + }, + "provisioning": { + "title": "Aprovisionamiento" + }, + "queue": { + "title": "Cola de eventos" + }, + "stats": { + "load": "Carga (1 | 5 | 15 m.)", + "seconds_ago": " Hace {{s}} segundos", + "used": "Usado" + }, + "telemetry": { + "duration": "Duración", + "interval": "intervalo", + "kafka": "Kafka", + "kafka_success": "¡La telemetría de Kafka ya ha comenzado!", + "last_update": "Última actualización", + "minutes": "Minutos", + "need_types": "Debe seleccionar al menos un tipo", + "output": "Modo de salida", + "seconds_ago": " Hace{{seconds}} segundos", + "title": "Telemetria", + "types": "Los tipos", + "websocket": "WebSocket" + }, + "trace": { + "down": "ABAJO", + "download": "Descargar seguimiento", + "duration": "Duración", + "network": "Red", + "packets": "Paquetes", + "success": "Rastreo completado en el dispositivo #{{serialNumber}}. Ya puedes descargar el resultado.", + "up": "Arriba", + "wait": "¿Esperar los resultados?" + }, + "wifi": { + "active_ms": "Activo", + "busy_ms": "Ocupado", + "channel_width": "ancho de canal", + "mode": "Modo", + "noise": "Ruido", + "receive_ms": "Recibir", + "rx_rate": "Tasa de prescripción", + "station": "Estación", + "tx_rate": "Tasa de transmisión", + "vendor": "Vendedor", + "wifi_analysis": "Análisis de Wi-Fi" + } }, - "delete_logs": { - "date": "Seleccione la fecha del registro más antiguo que le gustaría conservar", - "device_logs_title": "Eliminar registros de dispositivos", - "explanation": "Esto eliminará todos los {{object}} antes de la fecha que elija. Tenga cuidado, esta acción no es reversible.", - "healthchecks_title": "Eliminar comprobaciones de estado" + "crud": { + "add": "Añadir", + "confirm_cancel": "¿Está seguro de que desea descartar los cambios que ha realizado?", + "confirm_delete_obj": "¿Está seguro de que desea eliminar esto {{obj}}?", + "create": "Crear", + "create_object": "Crear {{obj}}", + "delete": "Borrar", + "delete_confirm": "¿Está seguro de que desea eliminar esto {{obj}}?", + "delete_obj": "Eliminar {{obj}}", + "edit": "Editar", + "edit_obj": "Editar {{obj}}", + "error_create_obj": "Error al crear {{obj}}: {{e}}", + "error_delete_obj": "Error al eliminar {{obj}}: {{e}}", + "error_fetching_obj": "Error al obtener {{obj}}: {{e}}", + "error_revoke_obj": "Error al revocar {{obj}}: {{e}}", + "error_update_obj": "Error al actualizar {{obj}}: {{e}}", + "success_create_obj": "¡Creado con éxito {{obj}}!", + "success_delete_obj": "¡Eliminó con éxito {{obj}}!", + "success_revoke_obj": "¡Revocado con éxito {{obj}}!", + "success_update_obj": "¡Actualizado con éxito {{obj}}!" }, - "device": { - "add_to_blacklist": "Agregar dispositivo a la lista negra", - "all_devices": "Todos los dispositivos", - "already_running_command": "El dispositivo ya está ejecutando un comando, intente más tarde", - "blacklisted_on": "Fecha", - "capabilities": "capacidades", - "certificate_explanation": "Certificados de dispositivos conectados", - "count_explanation": "Dispositivos que apuntan a esta instancia de puerta de enlace", - "edit_blacklist": "Editar dispositivo incluido en la lista negra", - "error_adding_blacklist": "Error al agregar el dispositivo a la lista negra: {{error}}", - "error_edit_blacklist": "Error al editar la lista negra: {{error}}", - "error_fetching_device": "Error al obtener la información del dispositivo: {{error}}", - "error_fetching_devices": "Error al recuperar dispositivos: {{error}}", - "firmware_count_explanation": "Esta es la cantidad total de dispositivos que se agregaron a este servidor de firmware, incluidos los dispositivos que actualmente no apuntan al servidor de puerta de enlace relacionado.", - "health_explanation": "Estado de los dispositivos conectados ((Dispositivos = 100% * 100 + Dispositivos> 90% * 95 + Dispositivos> 60% * 75 + Dispositivos <60% * 35) / Dispositivos conectados)", - "mac_not_found": "Número de serie no encontrado, lo redirige a la página Dispositivos", - "memory_explanation": "Cantidad de dispositivos conectados con la memoria correspondiente utilizada%", - "remove_from_blacklist": "ELIMINAR DE LA LISTA NEGRA", - "success_added_blacklist": "¡Dispositivo agregado exitosamente a la lista negra!", - "success_edit_blacklist": "Lista negra editada con éxito!", - "success_removed_blacklist": "¡Dispositivo eliminado con éxito de la lista negra!", - "uptimes_explanation": "Cantidad de dispositivos conectados según su tiempo de actividad" + "devices": { + "all": "TODOS", + "associations": "Asociaciones", + "connected": "Conectado", + "create_errors": "errores al intentar crear dispositivos", + "create_success": " dispositivos creados con éxito", + "current_firmware": "Firmware actual", + "device_type_not_found": "Tipo de dispositivo no reconocido", + "duplicate_serial": "Número de serie duplicado dentro del archivo", + "error_rtty": "Error al intentar conectarse al dispositivo: {{e}}", + "file_errors": "dispositivos problemáticos", + "found_assigned": "dispositivos ya asignados", + "found_not_assigned": "dispositivos ya existentes pero ahora propiedad", + "import_batch_tags": "Importar dispositivos", + "import_device_warning": "Asegúrese de que no haya espacios adicionales al principio o al final de ningún valor a menos que sea parte del valor deseado", + "import_explanation": "Para importar dispositivos de forma masiva, debe usar un archivo CSV con las siguientes columnas: Número de serie, Tipo de dispositivo, Nombre, Descripción, Nota", + "invalid_serial_number": "Número de serie no válido (debe tener 12 caracteres HEX)", + "new_devices": "Nuevos dispositivos", + "not_connected": "No conectado", + "not_found_gateway": "Error: el dispositivo aún no se ha conectado a la puerta de enlace", + "one": "Dispositivo", + "reassign_already_owned": "¿Reasignar dispositivos que ya existen y son propiedad de otra entidad/lugar/suscriptor?", + "sanity": "Cordura", + "start_import": "Iniciar la importación de dispositivos", + "test_batch": "Datos de importación de prueba", + "test_results": "Resultados de la prueba", + "title": "Dispositivos", + "treating": "Pruebas:", + "unassigned_only": "Solo sin asignar", + "update_error": "errores al intentar actualizar dispositivos", + "update_success": "dispositivos actualizados con éxito" }, - "device_logs": { - "log": "Iniciar sesión", - "severity": "Gravedad", - "title": "Registros" - }, - "entity": { - "add_child": "Agregar entidad secundaria a {{entityName}}", - "add_failure": "Error, el servidor devolvió: {{error}}", - "add_ips": "Administrar direcciones IP", - "add_root": "Agregar entidad raíz", - "add_success": "¡Entidad creada con éxito!", - "assigned_inventory": "Inventario asignado", - "cannot_delete": "No puede eliminar entidades que tienen hijos. Elimina los hijos de esta entidad para poder eliminarla.", - "confirm_map_delete": "¿Está seguro de que desea eliminar el mapa {{name}}? Esta acción no se puede revertir", - "currently_selected_entity": "Entidad seleccionada actualmente: {{config}}", - "currently_selected_venue": "Lugar seleccionado actualmente: {{config}}", - "delete_success": "Entidad eliminada correctamente", - "delete_warning": "Advertencia: esta operación no se puede revertir", - "duplicate_from_node": "Duplicar con un nodo raíz específico", - "duplicate_map": "Mapa duplicado", - "duplicate_with_node": "Duplicar {{mapName}} con {{rootName}} como nodo raíz", - "edit_failure": "Actualización fallida: {{error}}", - "enter_here": "Ingrese las IP que desea agregar aquí", - "entire_tree": "Mapa de red", - "entities": "entidades", + "entities": { + "active": "Activo", + "add_configurations": "Agregar configuraciones", + "add_ips": "Agregar direcciones IP", + "add_ips_explanation": "Puede agregar direcciones IPv4 o IPv6 en los siguientes formatos", + "api_key": "Clave API", + "cant_delete_explanation": "No se puede eliminar esta entidad porque tiene entidades y/o lugares secundarios. Debe eliminar todos los elementos secundarios de esta entidad antes de eliminarla.", + "claim_device_explanation": "Para reclamar dispositivos, puede usar la tabla a continuación. Si un dispositivo ya fue reclamado por otra entidad o lugar, también lo desasignaremos antes de asignarlo a esta entidad.", + "client_enrollment_profile": "Perfil de inscripción del cliente", + "create_child_entity": "Crear entidad secundaria", + "create_root": "Crear entidad raíz", + "create_root_explanation": "Ingrese la información necesaria para crear la entidad raíz de su servicio de aprovisionamiento. Esta información se puede modificar después de la creación.", + "current_state": "Estado Actual", + "default_redirector": "Redirector predeterminado", + "devices_to_claim": "Nuevos dispositivos para reclamar", + "devices_under_root": "Los dispositivos no se pueden crear directamente bajo la entidad raíz. Cree nuevas entidades o lugares y cree dispositivos debajo de ellos.", + "enter_ips": "Ingrese las IP que desea agregar aquí", "entity": "Entidad", - "error_deleting_map": "Error al eliminar el mapa: {{error}}", - "error_fetch_entity": "Error al obtener la información de la entidad", - "error_fetching": "Error al recuperar entidades", - "error_fetching_map": "Error al obtener el mapa: {{error}}", - "error_fetching_tree": "Error al obtener el árbol: {{error}}", - "error_saving": "Error al guardar la entidad", - "error_saving_map": "Error al guardar el mapa: {{error}}", - "higher_priority": "Dar mayor prioridad", + "error_sync": "Error al intentar iniciar la sincronización de {{name}}: {{e}}", + "failed_test": "Pruebas fallidas con credenciales de DigiCert, verifique la información de su entidad", + "initial_state": "Estado inicial", + "ip_cidr": "IP/número (ejemplo: 10.0.0.0/8)", "ip_detection": "Detección de IP", - "ip_formats": "Puede agregar direcciones IPv4 o IPv6 en los siguientes formatos:", - "lower_priority": "Hacer una prioridad más baja", - "map": "Mapa", - "map_delete_success": "¡Mapa eliminado correctamente!", - "need_select_entity": "Debe seleccionar una entidad de la siguiente tabla", - "no_ips": "No se seleccionaron direcciones IP", - "not_assigned": "No asignado", - "only_unassigned": "Solo sin asignar", - "select_entity": "Seleccione esta entidad", - "selected_entity": "Entidad seleccionada", - "selected_map": "Mapa seleccionado", - "tree_saved": "¡Mapa guardado con éxito!", - "update_failure_error": "Error al intentar actualizar la entidad: {{error}}", - "valid_serial": "Debe ser un número de serie válido (12 caracteres HEX)", - "venues": "Sedes" - }, - "factory_reset": { - "redirector": "Mantener el redirector:", - "reset": "Reiniciar", - "resetting": "Restableciendo…", - "title": "Restablecimiento De Fábrica", - "warning": "Advertencia: una vez que envíe, esto no se podrá revertir" - }, - "firmware": { - "age_explanation": "Número medio de días para todos los dispositivos de los que podemos obtener ese valor", - "average_age": "Edad promedio del firmware", - "choose_custom": "Escoger", - "details_title": "Detalles de la imagen n. °{{image}} ", - "device_type": "Tipo de dispositivo", - "device_types": "Tipos de dispositivos", - "downloads": "Descargas", - "error_fetching_latest": "Error al obtener el firmware más reciente", - "from_release": "Desde", - "history_title": "Historia", - "image": "Imagen", - "image_date": "Fecha de la imagen", - "installed_firmware": "Firmware instalado", - "latest_explanation": "Dispositivos que ejecutan firmware reconocido en su última versión", - "latest_version_installed": "Última versión instalada", - "newer_firmware_available": "Nuevas revisiones disponibles", - "reinstall_latest": "Reinstalar", - "release": "Lanzamiento", - "revision": "Revisión", - "show_dev": "Mostrar lanzamientos para desarrolladores", - "size": "Tamaño", - "status": "Estado del firmware", - "title": "Firmware", - "to_release": "A", - "unknown_firmware_status": "Estado de firmware desconocido", - "upgrade": "Mejorar", - "upgrade_command_submitted": "Actualización en curso...", - "upgrade_to_latest": "último", - "upgrade_to_version": "Actualizar a esta revisión", - "upgrading": "Actualizando ..." + "ip_list": "Lista: IP, IP IP", + "ip_range": "Rango: IP-IP", + "ip_single_address": "Dirección única: IP", + "one": "Entidad", + "organization": "Organización", + "server_enrollment_profile": "Perfil de inscripción del servidor", + "status": "Estado", + "sub_one": "subentidad", + "sub_other": "subentidades", + "success_sync": "¡Inició con éxito la sincronización de {{name}}!", + "success_test": "¡La prueba de las credenciales DigiCert de esta entidad fue exitosa!", + "suspended": "Suspendido", + "sync_explanation": "¿Le gustaría sincronizar esta entidad? Esto puede tomar un tiempo dependiendo de la cantidad de certificados que pertenezcan a esta entidad.", + "sync_title": "sincronizar {{name}}", + "test_digicert_creds": "Credenciales de prueba", + "title": "entidades", + "tree": "Árbol de entidades", + "venues_under_root": "Los lugares no se pueden crear directamente bajo la entidad raíz. Cree nuevas entidades y cree lugares bajo estas." }, "footer": { - "coreui_for_react": "CoreUI para React", "powered_by": "energizado por", "version": "Versión" }, - "health": { - "sanity": "Cordura", - "title": "Salud" + "form": { + "certificate_file_explanation": "Utilice un archivo .pem que comience con \"-----BEGIN CERTIFICATE-----\" y termine con \"-----END CERTIFICATE-----\"", + "invalid_cidr": "Dirección IPv4 CIDR no válida. Ejemplo: 192.168.0.1/12", + "invalid_email": "Email inválido", + "invalid_file_content": "Contenido de archivo no válido, confirme que tiene un formato válido", + "invalid_fqdn_host": "Nombre de host FQDN no válido", + "invalid_hostname": "Nombre de host no válido: debe estar compuesto solo de caracteres alfanuméricos y guiones", + "invalid_icon_lang": "Idioma no válido, debe estar en un formato de 3 letras (eng, fre, ger, ita, etc.)", + "invalid_ieee": "Para este protocolo de encriptación, ieee80211w debe ser 'opcional' u 'requerido'", + "invalid_interfaces": "Cadena JSON de interfaces no válida. Confirme que su valor es: JSON válido y tiene interfaces como su única clave y que el valor de las interfaces es una matriz. Ejemplo: {\"interfaces\": []}", + "invalid_ipv4": "Dirección IPv4 no válida (ej.: 192.168.0.1 o 192.168.0.1/16", + "invalid_ipv6": "Dirección IPv6 no válida (ej.: 2001:db8:3333:4444:5555:6666:7777:8888)", + "invalid_json": "Cadena JSON no válida", + "invalid_lease_time": "¡Valor de tiempo de arrendamiento no válido! Deben estar en el formato digitUnit. Por ejemplo: 6d2h5m, lo que significa 6 días, 2 horas y 5 minutos. Estas son las unidades aceptadas: m, h, d. Si no desea utilizar una unidad, omítala por completo. Entonces, en lugar de decir 0d2h0m, usa 2h", + "invalid_mac_uc": "Valor de UC-MAC no válido, por ejemplo: 00:00:5e:00:53:af", + "invalid_password": "Contraseña no válida, consulte la política de contraseñas", + "invalid_phone_number": "Numero de telefono invalido", + "invalid_phone_numbers": "Uno o más de los números de teléfono no son válidos. Proporciónelos sin símbolos ni espacios, o en este formato: +1(123)123-1234", + "invalid_port_range": "Valor de puerto no válido. Debe ser mayor que 0 y menor que 65 535. Si usa un rango de puertos, asegúrese de que el segundo puerto sea un número más alto que el primero.", + "invalid_port_ranges": "¡Combinación de intervalo de puertos no válida! Asegúrese de que ambos valores de puerto sean del mismo tipo (único o rango). Si son rangos, asegúrese de que ambos cubran la misma cantidad de puertos", + "invalid_proto_6g": "Este protocolo de encriptación no se puede usar en un SSID que usa 6G", + "invalid_proto_passpoint": "Este protocolo de cifrado no se puede utilizar con un SSID de punto de acceso. Seleccione un protocolo que pueda usar Radius", + "invalid_select_ports": "¡Valores incompatibles entre interfaces! Asegúrese de que no haya una combinación de ID de VLAN/PUERTO duplicada entre sus interfaces", + "invalid_third_party": "Cadena JSON de terceros no válida. Confirme que su valor es un JSON válido", + "key_file_explanation": "Utilice un archivo .pem que comience con \"-----BEGIN PRIVATE KEY-----\" y termine con \"-----END PRIVATE KEY-----\"", + "min_max_string": "El valor debe tener una longitud entre {{min}} (inclusive) y {{max}} (inclusive)", + "missing_interface_upstream": "Debe tener al menos una interfaz ascendente. Por el momento, todas sus interfaces están en sentido descendente", + "new_email_to_notify": "Nuevo correo electrónico para notificar", + "new_phone_to_notify": "Nuevo teléfono para avisar", + "not_selected": "No seleccionado", + "not_uploaded_yet": "no subido todavía", + "pem_file_explanation": "Utilice un archivo .pem", + "required": "Necesario", + "using_file": "(usando archivo: {{filename}})", + "value_recorded_no_filename": "Valor registrado, sin nombre de archivo" }, "inventory": { - "add_child": "Agregar lugar secundario", - "add_child_venue": "Agregar lugar infantil a {{entityName}}", - "add_tag": "Crear etiqueta", - "add_tag_to": "Agregar nuevo dispositivo a {{name}}", - "add_venue": "Agregar lugar", - "assign_ent_ven": "Asignar a entidad o lugar", - "assign_entity_instructions": "Puede encontrar la entidad a la que desea que se asigne esta etiqueta utilizando el menú a continuación, o puede pegar manualmente el UUID de la entidad en el campo de arriba.", - "assign_error": "Error al intentar asignar la etiqueta", - "assign_to_entity": "Asignar a entidad", - "bulk_delete_assigned": "¿Le gustaría eliminar de forma masiva los dispositivos asignados dentro de su archivo?", - "bulk_delete_assigned_warning": "Advertencia: esta acción no es reversible", - "bulk_delete_devices": "Dispositivos de eliminación masiva", - "bulk_delete_devices_not_found": "{{number}} dispositivos no encontrados", - "bulk_delete_explanation": "Para eliminar dispositivos de forma masiva, use un archivo CSV con una columna llamada SerialNumber", - "bulk_delete_test": "Validar archivo", - "close_entity_menu": "Cerrar el menú Editar entidad", - "delete_devices": "BORRAR DISPOSITIVOS", - "delete_errors": "{{number}} Eliminar errores del dispositivo", - "delete_tag": "Eliminar etiqueta", - "delete_venue": "Eliminar el lugar de forma permanente", - "deleted_devices": "{{number}} Dispositivos eliminados", - "deleting": "Eliminando ...", - "deletion_failure": "Error de borrado", - "devices_assigned": "{{number}} dispositivos existentes asignados y actualizados", - "devices_created": "{{number}} dispositivos creados", - "devices_deleted": "Dispositivos eliminados", - "devices_errors_while_creating": "{{number}} fallaron las creaciones del dispositivo", - "devices_errors_while_updating": "{{number}} fallaron las actualizaciones del dispositivo", - "devices_found_assigned": "{{number}} dispositivos encontrados y ya asignados a una entidad o lugar", - "devices_found_unassigned": "{{number}} dispositivos encontrados, pero no asignados", - "devices_imported": " Dispositivos importados", - "devices_not_found": "{{number}} dispositivos sin conflicto", - "devices_tested": "Dispositivos probados", - "duplicate_serial": "Número de serie ya utilizado en el archivo (duplicado)", - "error_create_venue": "Error al crear el lugar", - "error_delete_tag": "Error al eliminar la etiqueta de inventario", - "error_get_venue": "Error al recuperar lugares", - "error_pushing_config": "Error al intentar enviar la configuración al dispositivo: {{error}}", - "error_retrieving": "Se produjo un error al recuperar las etiquetas de inventario", - "error_unassign": "Error durante la operación de anulación de asignación", - "error_update_venue": "Error al actualizar el lugar", - "error_venue_delete": "Error al eliminar el lugar", - "error_within_file": "{{number}} dispositivos con información incorrecta en el archivo (se ignorarán)", - "file_error": "Parece haber un error en su archivo. Asegúrese de que el archivo esté en formato CSV y contenga las 5 columnas mencionadas anteriormente en la primera línea del archivo", - "final_delete_results": "Resultados de eliminación final", - "final_import_results": "Resultados finales de importación", - "import_assigned_devices": "¿Quieres reasignarlos con esta importación?", - "import_assigned_devices_explanation": "Algunos dispositivos entran en conflicto con los dispositivos ya asignados. Debe resolver esos problemas antes de importar.", - "import_devices": "Importar dispositivos", - "import_devices_explanation": "Para importar dispositivos de forma masiva, debe utilizar un archivo CSV con las siguientes columnas: Número de serie, Nombre, Descripción, Tipo de dispositivo, Texto de nota", - "import_devices_to": "Importar dispositivos a {{name}}", - "import_existing_devices": "¿Actualizarlos y asignarlos?", - "import_existing_devices_explanation": "Algunos dispositivos ya existen en el inventario y no están asignados.", - "importing": "Importador...", - "last_modification": "Última modificación", - "no_devices_to_delete": "No hay dispositivos para eliminar", - "no_devices_to_import": "¡No hay dispositivos válidos para crear o actualizar!", - "note_text": "Texto de la nota", - "passed_tests": "Se aprobaron todas las pruebas, ¡sus dispositivos están listos para importar!", - "serial_number_required": "Error: falta el número de serie", - "showing_top_10": "Aquí hay una vista previa de la información que hemos recuperado de su archivo:", - "sub_venues": "Subvenues", - "subscriber": "Abonado", - "successful_assign": "Etiqueta asignada correctamente", - "successful_tag_delete": "Etiqueta de inventario eliminada correctamente", - "successful_tag_update": "Etiqueta actualizada correctamente", - "successful_unassign": "La operación de anulación de asignación se realizó correctamente", - "successful_venue_create": "Lugar creado con éxito", - "successful_venue_delete": "Lugar eliminado correctamente", - "successful_venue_update": "Lugar actualizado con éxito", - "tag_created": "Etiqueta de inventario creada correctamente", - "tag_creation_error": "Error al intentar crear una etiqueta de inventario", - "tag_update_error": "Error al actualizar la etiqueta", - "tags_assigned_to": "Etiquetas de inventario asignadas a {{name}}", - "test_import": "Validar datos de importación", - "test_results": "Resultados de la prueba", + "computed_configuration": "Configuración calculada", + "dev_class": "Clase de dispositivo", + "device_type": "Tipo de dispositivo", + "error_reboots": "Error al enviar el comando: {{count}}", + "error_remove_claim": "Error al eliminar el reclamo: {{e}}", + "error_upgrades": "Error al enviar el comando de actualización: {{count}}", + "invalid_serial_number": "Numero de serie invalido. Un número de serie solo debe tener 12 caracteres HEX (A-F, 0-9)", + "no_computed": "Sin configuración calculada: deberá asignar una configuración válida para verla", + "no_firmware": "No hay firmware disponible para el tipo de dispositivo: {{count}}", + "not_connected": "Dispositivo no conectado: {{count}}", + "parent": "Padre", + "serial_number": "Número de serie", + "skipped_upgrades": "Actualizaciones omitidas: {{count}}", + "success_remove_claim": "Reclamación eliminada con éxito en: {{serial}}", + "successful_reboots": "Comenzó a reiniciar: {{count}}", + "successful_upgrades": "Actualizaciones exitosas: {{count}}", + "tag_one": "Etiqueta", + "tags": "Etiquetas de inventario", "title": "Inventario", - "type_invalid": "Error: tipo de dispositivo no válido", - "unassign": "Anular asignación", - "unassign_tag": "Anular asignación de etiqueta de entidad", - "unassigned_deleted_devices": "{{number}} Dispositivos eliminados y sin asignar", - "unassigned_tags": "Etiquetas sin asignar", - "validating_import_file": "Validando archivo y datos de importación ...", - "venue": "Lugar de encuentro", - "view_in_gateway": "Ver en Gateway" + "warning_reboots": "No conectado: {{count}}", + "warning_upgrades": "Dispositivos no conectados: {{count}}" }, - "location": { - "add": "Añade una ubicación", + "jobs": { + "error_macs": "MAC con errores", + "job": "Trabajo", + "job_details": "Detalles del trabajo", + "notify_emails": "Notificar correos electrónicos", + "notify_sms": "Notificar SMS", + "successful_macs": "MAC exitosos", + "title": "Trabajos" + }, + "locations": { + "address_line_one": "Dirección Línea Uno", + "address_line_two": "Dirección línea dos", "building_name": "Nombre del edificio", "city": "ciudad", + "claim_explanation": "Para reclamar ubicaciones, puede usar la tabla a continuación", "country": "País", - "create": "Crear ubicación", - "currently_selected": "Ubicación seleccionada actualmente: {{location}}", - "delete": "¿Eliminar ubicación?", - "error_assign": "Error al intentar asignar la ubicación: {{error}}", - "error_creation": "Error al intentar crear ubicaciones: {{error}}", - "error_delete": "Error al eliminar la ubicación: {{error}}", - "error_fetching_single": "Error al intentar obtener la ubicación: {{error}}", - "geocode": "Geocode", - "mobiles": "MOBILES", - "no_associated": "Sin ubicación asociada", - "phones": "Los telefonos", + "geocode": "Código geográfico", + "one": "Ubicación", + "other": "Ubicaciones", "postal": "código postal", - "search": "Busque ubicaciones para completar automáticamente los campos a continuación", - "state": "Estado", - "street_address": "Dirección", - "successful_creation": "¡Ubicación creada con éxito!", - "successful_delete": "¡Ubicación eliminada con éxito!", - "successful_update": "¡Ubicación actualizada con éxito!", - "successfully_assigned": "¡Ubicación asignada correctamente!", + "state": "Provincia del estado", "title": "Ubicaciones", - "update_error": "Error al actualizar la ubicación: {{error}}" + "to_claim": "Ubicaciones para reclamar" }, "login": { - "account_verification": "Verificación de la cuenta", - "authentication_expired": "Autenticación caducada, vuelva a iniciar el proceso de inicio de sesión", - "change_password": "Cambia la contraseña", - "change_password_error": "Error al cambiar la contraseña. Asegúrese de que la nueva contraseña sea válida visitando la página 'Política de contraseñas'", - "change_password_instructions": "Ingrese y confirme su nueva contraseña", - "changing_password": "Cambio de contraseña ...", + "access_policy": "Política de acceso", + "change_password_error": "Contraseña rechazada, esta puede ser una contraseña antigua", + "change_password_explanation": "Ingrese y confirme su nueva contraseña", + "change_your_password": "Cambia la contraseña", "confirm_new_password": "confirmar nueva contraseña", - "different_passwords": "Debes ingresar la misma contraseña dos veces", - "email_code_validation": "Por favor, marque su casilla de correo electrónico e ingrese el código de verificación que le acabamos de enviar en la casilla a continuación.", - "forgot_password_error": "Error al intentar enviar el correo electrónico de Olvidé mi contraseña. Asegúrese de que este ID de usuario esté asociado a una cuenta.", - "forgot_password_explanation": "Ingrese su nombre de usuario para recibir un correo electrónico con las instrucciones para restablecer su contraseña", - "forgot_password_success": "Pronto debería recibir un correo electrónico con las instrucciones para restablecer su contraseña. Asegúrese de verificar su correo no deseado si no puede encontrar el correo electrónico", - "logging_in": "Iniciar sesión...", - "login": "Iniciar sesión", - "login_error": "Error de inicio de sesión, asegúrese de que la información que proporciona sea válida", + "email_instructions": "Pronto debería recibir un código de 6 dígitos en su dirección de correo electrónico. Si no puede encontrarlo, verifique su carpeta de correo no deseado.", + "error_sending_code": "Error al intentar enviar el código: {{e}}", + "forgot_password": "¿Se te olvidó tu contraseña?", + "forgot_password_instructions": "Ingrese su dirección de correo electrónico para recibir un correo electrónico con las instrucciones para restablecer su contraseña", + "forgot_password_successful": "Pronto debería recibir un correo electrónico con las instrucciones para restablecer su contraseña. Asegúrese de verificar su correo no deseado si no puede encontrar el correo electrónico", + "forgot_password_title": "Se te olvidó tu contraseña", + "google_instructions": "Ingrese el código de 6 dígitos de su aplicación Google Authenticator. Si está a punto de caducar, puede esperar a uno nuevo", + "invalid_credentials": "Credenciales no válidas, confirme que está utilizando el correo electrónico y la contraseña correctos.", + "invalid_mfa": "¡Codigo invalido! Inténtalo de nuevo", + "login_explanation": "Ingrese su correo electrónico y contraseña para iniciar sesión", "new_password": "Nueva contraseña", - "password": "Contraseña", - "phone_validation_explanation": "Verifique su dispositivo móvil e ingrese el código de verificación que le acabamos de enviar en el cuadro a continuación", - "please_enter_gateway": "Ingrese una URL de uCentralSec", - "please_enter_password": "Por favor, introduzca su contraseña", - "please_enter_username": "Por favor, ingrese su nombre de usuario", - "previously_used": "La contraseña se usó anteriormente", - "send_forgot": "Enviar correo electrónico", - "sending_ellipsis": "Enviando...", - "sign_in_to_account": "Iniciar sesión en su cuenta", - "url": "URL de uCentralSec", - "username": "Nombre de usuario", - "verification_code": "Ingrese su verificación aquí", - "wrong_code": "El código de verificación que se ingresó no es válido." + "password_policy": "Política de contraseñas", + "remember_me": "Recuérdame", + "resend": "Reenviar", + "resent_code": "¡Código de reenvío exitoso!", + "reset_password": "Restablecer la contraseña", + "sign_in": "Registrarse", + "sms_instructions": "Debería recibir un código de 6 dígitos en su teléfono pronto. Por favor, introdúzcalo a continuación para iniciar sesión", + "verification": "Verifica tu inicio de sesión", + "waiting_for_email_verification": "Cuenta aún no validada por correo electrónico. Mire su bandeja de entrada o solicite a su administrador que vuelva a enviar una validación.", + "welcome_back": "¡Dar una buena acogida!", + "your_email": "Tu correo electrónico", + "your_new_password": "Tu nueva contraseña", + "your_password": "Tu contraseña" }, - "preferences": { - "provisioning": "Aprovisionamiento" + "map": { + "auto_align": "Alineación automática", + "auto_map": "Mapa automático", + "by_others": "Mapas de otros", + "cumulative_devices": "Dispositivos acumulativos", + "default_map": "Mapa predeterminado", + "delete_warning": "¿Está seguro de que desea eliminar este mapa? Esta operación no es reversible.", + "duplicating": "Mapa duplicado", + "my_maps": "Mis mapas", + "other": "Mapas", + "root": "Raíz", + "root_node": "Nodo raíz", + "set_as_default": "Establecer por defecto", + "title": "Mapa", + "visibility": "Visibilidad" }, - "reboot": { - "directions": "¿Cuándo le gustaría reiniciar este dispositivo?", - "now": "¿Le gustaría reiniciar este dispositivo ahora?", - "title": "Reiniciar" + "operator": { + "delete_explanation": "¿Está seguro de que desea eliminar este operador? Esta operación no es reversible.", + "delete_operator": "Eliminar operador", + "import_location_from_device": "Importar desde otro dispositivo", + "one": "OPERADOR", + "operator_one": "OPERADOR", + "operator_other": "Operadores", + "other": "Operadores", + "registration_id": "Identificación de Registro" }, - "scan": { - "active": "Habilitar escaneo activo", - "channel": "Canal", - "directions": "Ejecute un escaneo wifi de este dispositivo, que debería tomar aproximadamente 25 segundos.", - "re_scan": "Vuelva a escanear", - "result_directions": "Puede hacer clic en el botón 'Escanear' en la parte superior derecha para $t(scan.re_scan)", - "results": "Resultados de escaneo Wi-Fi", - "scan": "Escanear", - "scanning": "Exploración... ", - "waiting_directions": "Espere el resultado del escaneo. Esto puede tardar hasta 25 segundos. Puede salir y ver los resultados de la tabla de comandos más adelante." + "organization": { + "my_organization": "MI ORGANIZACION", + "title": "Organización" }, - "settings": { - "title": "Ajustes" + "profile": { + "about_me": "Sobre mí", + "activate": "", + "add_new_note": "Añadir la nota", + "deactivate": "Desactivar", + "disabled": "Discapacitado", + "enabled": "Habilitado", + "manage_avatar": "Administrar avatar", + "new_password": "Nueva contraseña", + "new_password_confirmation": "confirmar nueva contraseña", + "your_profile": "Tu Perfil" }, - "simulation": { - "add": "Agregar simulación", - "cancel": "Cancelar", - "cancel_success": "¡La ejecución de la simulación se canceló con éxito!", - "check_ongoing_sims": "Seguir Sim en curso", - "client_interval": "Intervalo de cliente", - "delete_simulation": "Eliminar Sim. {{name}}", - "end": "Término", - "error_creating": "Error al crear la simulación: {{error}}", - "error_delete": "Error al eliminar la simulación: {{error}}", - "error_devices": "Dispositivos de error", - "error_edit": "Error al intentar guardar la simulación: {{error}}", - "error_edit_run": "Error al intentar cambiar el estado de ejecución: {{error}}", - "error_fetching_simulations": "Error al obtener simulaciones: {{error}}", - "error_start_run": "Error al intentar iniciar una ejecución de simulación: {{error}}", - "gateway": "Puerta", - "healtcheck_interval": "Intervalo de comprobación de estado", - "keep_alive": "Mantener viva", - "last_refresh": "Última actualización", - "length": "Longitud", - "live_devices": "Dispositivos en vivo", - "mac_prefix": "Prefijo MAC", - "max_associations": "Max. Asociaciones", - "max_clients": "Max. Clientela", - "messages_transmitted": "Mensajes TX", - "min_associations": "Min. Asociaciones", - "min_clients": "Min. Clientela", - "pause": "pausa", - "pause_success": "¡Ejecutar en pausa!", - "prefix_length": "Obligatorio, debe tener una longitud de 6 caracteres", - "previous_runs": "Ejecuciones anteriores", - "received": "recibido", - "received_messages": "Msgs RX", - "reconnect_interval": "Intervalo de reconexión", - "resume": "Currículum", - "resume_success": "¡Ejecutar reanudado!", - "run": "Ejecución de simulación", - "run_simulation": "Ejecutar simulación", - "started": "Empezado", - "state_interval": "Intervalo de estado", - "stop": "Detener", - "stop_success": "¡Corre, detenido!", - "success_creating": "¡Simulación creada con éxito!", - "success_run_start": "¡Ejecución iniciada con éxito!", - "successful_delete": "¡Simulación eliminada con éxito!", - "successful_edit": "¡Simulación editada con éxito!", - "threads": "Trapos", - "time_full_devices": "Tiempo para dispositivos completos", - "title": "Simulaciones", - "transmitted": "Transmitido", - "valid_cert": "Certificado válido", - "valid_key": "Clave válida" + "resources": { + "configuration_resource": "Recurso", + "title": "Recursos", + "variable": "Variable" + }, + "rrm": { + "algorithm": "Algoritmo", + "algorithm_other": "Algoritmos", + "cant_save_custom": "No se pueden crear ni editar configuraciones de RRM personalizadas hasta que se pueda acceder al servidor de RRM. Por favor consulte con su administrador", + "cron_error": "Error al analizar la expresión CRON: confirme que es válida", + "cron_scheduler": "Programador CRON", + "cron_templates": "Plantillas", + "no_algos": "No podemos obtener algoritmos RRM en este momento", + "no_providers": "No podemos obtener proveedores de RRM en este momento", + "param_error": "Sus parámetros no respetan las reglas de este algoritmo. Por favor, mire los ejemplos y detalles del algoritmo.", + "parameters": "Parámetros", + "vendor": "Vendedor", + "version": "Versión" + }, + "service": { + "billing_code": "Código de facturación", + "billing_frequency": "Frecuencia de facturación", + "class_one": "Clase de servicio", + "class_other": "Clases de servicio", + "cost": "Costo", + "one": "Clase de servicio", + "other": "Clases de servicio" }, "statistics": { - "data": "Datos (KB)", - "data_mb": "Datos (MB)", - "latest_statistics": "Últimas estadísticas", - "lifetime_stats": "Estadísticas de por vida", - "memory": "Memoria", - "no_interfaces": "No hay estadísticas de vida útil de la interfaz disponibles", - "show_latest": "Últimas estadísticas", - "title": "estadística", - "used": "Memoria usada %" + "last_stats": "Últimas estadísticas", + "memory": "Memoria" }, - "status": { - "connection_status": "Estado", - "error": "Los datos de estado no están disponibles", - "last_contact": "Último contacto", - "load_averages": "Carga (1/5/15 m.)", - "localtime": "Hora local", - "memory": "Memoria usada", - "percentage_free": "{{percentage}}% de {{total}} gratis", - "percentage_used": "{{percentage}}% de {{total}} utilizado", - "title": "#{{serialNumber}} Estado", - "total_memory": "Memoria total", - "uptime": "Tiempo de actividad", - "used_total_memory": "{{used}} usado / {{total}} total" - }, - "subscriber": { - "add_device_subscriber_explanation": "Para reclamar otros dispositivos, puede usar nuestra barra de búsqueda o reclamar directamente desde la tabla. Si un dispositivo ya fue reclamado por un usuario, deberá ir a sus detalles y anular la asignación antes de reclamarlo.", - "create": "Crear suscriptor", - "devices_one": "{{count}} dispositivo", - "devices_other": "{{count}} dispositivos", - "edit": "Editar suscriptor", - "error_create": "Error al crear el suscriptor: {{error}}", - "error_delete": "Error al eliminar el suscriptor: {{error}}", - "error_fetching": "Error al obtener suscriptores: {{error}}", - "error_fetching_single": "Error al obtener el suscriptor: {{error}}", - "error_update": "Error al actualizar el suscriptor: {{error}}", - "is_already_claimed": "ya es reclamado por", - "subscribers": "Suscriptores", - "success_create": "¡Suscriptor creado correctamente!", - "success_delete": "¡Suscriptor eliminado correctamente!", - "success_update": "Suscriptor actualizado con éxito!" + "subscribers": { + "billing_contact_info": "Detalles de facturación y contacto", + "claim_device_explanation": "Para reclamar dispositivos, puede usar la tabla a continuación. Si un dispositivo ya fue reclamado por un usuario, deberá ir a sus detalles y anular la asignación antes de reclamarlo.", + "devices_claimed_one": "{{count}} dispositivo reclamado", + "devices_claimed_other": "{{count}} dispositivos reclamados", + "devices_to_claim_one": "{{count}} dispositivo para reclamar", + "devices_to_claim_other": "{{count}} Dispositivos para reclamar", + "error_claiming": "Error al reclamar: {{serials}}", + "error_removing_claim": "Error al eliminar reclamo(s) en: {{serials}}", + "no_subscribers_found": "No se encontraron suscriptores", + "one": "Abonado", + "other": "Suscriptores", + "reactivate_explanation": "¿Está seguro de que desea reactivar este suscriptor?", + "reactivate_title": "Reactivar Suscriptor", + "title": "Suscriptores" }, "system": { - "error_fetching": "Error al obtener información del sistema", - "error_reloading": "Error al recargar: {{error}}", + "could_not_retrieve": "Error: no se pudo recuperar la información del sistema {{name}} ", + "endpoint": "punto final", "hostname": "Nombre de host", + "info": "Información del sistema", "os": "sistema operativo", "processors": "Procesadores", - "reload": "Recargar", - "reload_subsystems": "Recargar", + "reload_chosen_subsystems": "Recargar subsistemas elegidos", + "start": "comienzo", "subsystems": "Subsistemas", - "success_reload": "¡El comando de recarga se envió correctamente!" + "success_reload": "¡Comando de recarga enviado con éxito!", + "systems_to_reload": "Elige sistemas para recargar", + "title": "Sistema", + "uptime": "Tiempo de actividad", + "version": "Versión" }, - "telemetry": { - "connection_failed": "No se pudo crear la conexión. Error: {{error}}", - "interval": "intervalo", - "last_update": "Última actualización", - "lifetime": "Duración", - "outputmode": "Modo salida", - "types": "Los tipos" - }, - "trace": { - "choose_network": "Elija la red", - "directions": "Lanzar un rastreo remoto de este dispositivo por una duración específica o por una cantidad de paquetes", - "download_trace": "Descargar archivo de seguimiento", - "packets": "Paquetes", - "title": "Rastro", - "trace": "Rastro", - "trace_not_successful": "Seguimiento fallido: la puerta de enlace informó el siguiente error: {{error}}", - "wait_for_file": "¿Esperar hasta que el archivo de rastreo esté listo?", - "waiting_directions": "Espere el archivo de datos de seguimiento. Esto puede tomar algo de tiempo. Puede salir de la espera y recuperar el archivo de seguimiento de la tabla de comandos más tarde.", - "waiting_seconds": "Tiempo transcurrido: {{seconds}} segundos" - }, - "upgrade": { - "command_submitted": "Comando enviado", - "device_disconnected": "Dispositivo desconectado", - "device_reconnected": "Dispositivo reconectado", - "device_upgrading_firmware": "Firmware de actualización del dispositivo", - "directions": "Elija una hora y una versión de firmware para este dispositivo", - "firmware_uri": "URI de firmware:", - "need_uri": "Necesitas un URI ...", - "new_version": "La nueva versión es", - "offline_device": "Esta opción está bloqueada porque este dispositivo no está conectado", - "time": "Hora de actualización:", - "title": "Actualización de firmware", - "upgrade": "Mejorar", - "wait_for_upgrade": "¿Le gustaría esperar a que finalice la actualización?", - "waiting_for_device": "Esperando que el dispositivo se vuelva a conectar" + "table": { + "columns_hidden_one": "{{count}} columna oculta", + "columns_hidden_other": "{{count}} columnas ocultas", + "first_page": "Primera pagina", + "go_to_page": "Ir a la página", + "last_page": "Ultima pagina", + "next_page": "Siguiente página", + "page": "Página", + "previous_page": "Página anterior" }, "user": { - "add_phone_number": "Agregar el número de teléfono", - "avatar": "Tu avatar", - "avatar_file": "Tu avatar (máx. De 2 MB)", - "check_phone": "Por favor revise su teléfono para su código de validación", - "confirm_new_password": "confirmar nueva contraseña", - "create": "Crear usuario", - "create_failure": "Error al crear el usuario: {{error}}", - "create_success": "Usuario creado con éxito", - "creating": "Creando usuario ...", - "delete_avatar": "Eliminar avatar", - "delete_failure": "Error al intentar eliminar al usuario: {{error}}", - "delete_success": "¡Usuario eliminado correctamente!", - "delete_title": "Borrar usuario", - "delete_warning": "Advertencia: una vez que elimina un usuario, no puede revertir", - "deleting": "Eliminando ...", - "description": "Descripción", - "edit": "editar usuario", - "email_address": "Dirección de correo electrónico", - "enter_new_phone": "Ingrese su nuevo número de teléfono:", - "error_fetching_users": "Error al obtener usuarios: {{error}}", - "error_retrieving": "Error al recuperar usuario", - "error_sending_code": "Error al intentar enviar el código de validación. Confirma que tu número de teléfono es válido.", - "force_password_change": "Forzar cambio de contraseña al iniciar sesión", - "id": "Id. De usuario", - "last_login": "Último acceso", - "login_id": "Ingresar identificación.", - "make_sure_same_password": "Asegúrese de que ambas contraseñas sean iguales y válidas", - "my_profile": "Mi perfil", - "name": "Nombre", - "new_code_sent": "¡Nuevo código enviado!", - "nickname": "Apodo", - "nickname_explanation": "Apodo (opcional)", - "not_validated": "No validado", - "note": "Nota", + "error_fetching": "Error al obtener la información del usuario: {{e}}", "password": "Contraseña", - "phone_number": "Número de teléfono", - "provide_email": "Por favor ingrese su dirección de correo electrónico válida", - "provide_password": "Proporcione una contraseña válida", - "save_avatar": "Guardar avatar", - "send_code": "Enviar código", - "send_code_again": "Enviar Código De nuevo", - "show_hide_password": "Mostrar / Ocultar contraseña", - "successful_validation": "¡Número de teléfono validado! Haga clic en el botón guardar para vincularlo a su perfil", - "table_title": "Usuarios administrativos", - "update_failure": "Error al intentar actualizar: {{error}}", - "update_failure_title": "Actualización fallida", - "update_success": "Usuario actualizado con éxito", - "update_success_title": "Éxito", - "user_role": "papel", - "users": "Usuarios", - "validate_phone": "validar", - "validated": "Validado", - "wrong_validation_code": "No ha introducido un código válido. Vuelve a intentarlo y asegúrate de haber ingresado el número de teléfono correcto." + "role": "papel", + "title": "Usuario" }, - "wifi_analysis": { - "association": "Asociación", - "associations": "Asociaciones", - "mode": "Modo", - "network_diagram": "Diagrama de Red", - "override_dfs": "Anular DFS", - "radios": "Radios", - "scan_warning": "Su radio 5G está en un canal de radar, debe habilitar \"Anular DFS\" para permitir el escaneo de todos los canales 5G", - "title": "Análisis de Wi-Fi", - "vendor": "Vendedor", - "waiting_for_data": "Esperando recibir datos del dispositivo. Vuelva a consultar más tarde" + "users": { + "change_password": "Forzar cambio de contraseña", + "email_validation": "VALIDACIÓN DE CORREO ELECTRÓNICO", + "error_fetching": "Error al obtener usuarios: {{e}}", + "error_sending_validation": "Error al enviar la validación de correo electrónico: {{e}}", + "last_login": "Último acceso", + "login_id": "Ingresar identificación", + "one": "Usuario", + "re_validate_email": "Revalidar correo electrónico", + "reactivate_user": "Reactivar usuario", + "reset_mfa": "Restablecer MFA", + "reset_mfa_success": "¡Restablecer correctamente el MFA del usuario!", + "reset_password": "Restablecer la contraseña", + "reset_password_error": "Error al intentar restablecer la contraseña de usuario: {{e}}", + "reset_password_success": "Correo electrónico de restablecimiento de contraseña enviado con éxito a la dirección de correo electrónico del usuario", + "role": "papel", + "send_validation": "Enviar validación de correo electrónico", + "send_validation_explanation": "¿Desea reenviar el enlace de verificación de correo electrónico?", + "stop_suspension": "reactivar", + "success_sending_validation": "¡Correo electrónico de validación enviado!", + "suspend": "Suspender", + "suspend_success": "El usuario ahora está suspendido", + "suspended": "Suspendido", + "title": "Usuarios", + "waitiing_for_email_verification": "Correo electrónico no verificado" + }, + "venues": { + "confirm_remove_contact": "¿Quieres eliminar este contacto de este lugar?", + "create_child": "Crear lugar secundario", + "error_remove_contact": "Error al intentar eliminar el contacto: {{e}}", + "error_update_devices": "Error al iniciar la actualización del dispositivo: {{e}}", + "go_to_page": "Ir a la página", + "one": "Lugar de encuentro", + "reboot_all_devices": "Reiniciar todos los dispositivos", + "sub_one": "Sublugar", + "sub_other": "Subsedes", + "subvenues": "Subsedes", + "successfully_reboot_devices": "¡Reiniciando {{num}} dispositivos!", + "successfully_removed_contact": "¡Contacto eliminado con éxito!", + "successfully_update_devices": "¡Actualizando {{num}} dispositivos!", + "title": "Sedes", + "update_all_devices": "Actualizar todas las configuraciones de dispositivos", + "upgrade_all_devices": "Actualice todos los dispositivos al firmware más reciente", + "upgrade_all_devices_error": "Error al actualizar dispositivos: {{e}}", + "upgrade_all_devices_success": "¡Comenzó con éxito la actualización de dispositivos!", + "use_existing": "Utilizar existente", + "use_existing_contacts": "Usar contactos existentes", + "use_this_contact": "Usa este contacto" } } diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json index 3853fce..1c7f4d7 100644 --- a/public/locales/fr/translation.json +++ b/public/locales/fr/translation.json @@ -1,824 +1,953 @@ { - "actions": { - "actions": "actes", - "blink": "Cligner", - "configure": "Configurer", - "connect": "Relier", - "connecting": "De liaison...", - "factory_reset": "Retour aux paramètres d'usine", - "firmware_upgrade": "Mise à jour du firmware", - "reboot": "Redémarrer", - "request_ie": "Demander des IE", - "telemetry": "Télémétrie", - "title": "Les commandes", - "trace": "Trace", - "wifi_scan": "Balayage Wi-Fi" + "account": { + "account": "Compte", + "activating_google_authenticator": "Activation de Google Authenticator", + "activating_sms_mfa": "Validation du numéro de téléphone", + "avatar": "Avatar", + "error_fetching_qr": "Erreur lors de la récupération du code QR : {{e}}", + "error_phone_verif": "Erreur avec votre code de validation, veuillez réessayer.", + "google_authenticator": "Google Authenticator", + "google_authenticator_intro": "Pour utiliser Google Authenticator comme méthode de double authentification de votre compte, vous devez d'abord installer l'application sur votre appareil iOS ou Android", + "google_authenticator_ready": "Une fois que vous avez l'application prête à l'emploi, vous pouvez continuer", + "google_authenticator_scan_qr_code_explanation": "Scannez le code QR suivant à l'aide de \"Scanner un code QR\" dans l'application Google Authenticator", + "google_authenticator_scanned_qr_code": "Une fois le code QR scanné avec succès sur votre téléphone, vous pouvez passer à l'étape suivante", + "google_authenticator_success_explanation": "Vous avez maintenant configuré avec succès Google Authenticator avec votre compte. N'oubliez pas d'enregistrer vos modifications pour confirmer !", + "google_authenticator_type_code": "Veuillez saisir ci-dessous le code à 6 chiffres de votre application Google Authenticator", + "google_authenticator_wait_for_code": "Attendez le code suivant (pas {{old}})", + "google_authenticator_wrong_code": "Code invalide! Veuillez réessayer ou attendre que le prochain code soit généré dans l'application Google Authenticator", + "mfa": "Authentification multifacteur", + "phone": "Téléphone", + "phone_number": "Numéro de téléphone", + "phone_number_add_introduction": "Veuillez entrer le numéro de téléphone que vous souhaitez utiliser pour sécuriser votre compte lors de la connexion", + "phone_required": "Pour activer la vérification par SMS, vous devez entrer un numéro de téléphone", + "phone_validation_success_explanation": "Numéro de téléphone vérifié avec succès ! Cliquez sur \"Enregistrer\" pour ajouter ce numéro de téléphone à votre compte", + "proceed_to_activation": "Démarrer le processus d'activation", + "resend": "Renvoyer", + "sms": "SMS", + "success_phone_verif": "Numéro de téléphone vérifié avec succès ! Vous pouvez maintenant enregistrer votre profil", + "title": "Mon compte", + "verify_phone_instructions": "Vous devriez recevoir un code sur votre numéro de téléphone dans les prochaines secondes. Veuillez le saisir ci-dessous pour vérifier votre numéro de téléphone", + "verify_phone_number": "Vérifiez votre numéro de téléphone" }, - "blink": { - "blink": "Cligner", - "device_leds": "LED de l'appareil", - "execute_now": "Souhaitez-vous définir ce modèle maintenant ?", - "explanation": "Quel modèle souhaitez-vous définir sur cet appareil pendant 30 secondes ?", - "pattern": "Choisissez le modèle que vous souhaitez utiliser :", - "set_leds": "Définir les LED", - "when_blink_leds": "Quand souhaitez-vous faire clignoter les LED de l'appareil ?" + "analytics": { + "ack_signal": "Signal ACK", + "active": "actif", + "airtime": "Temps d'antenne", + "analyze_sub_venues": "Surveiller les sous-salles", + "associations": "Les associations", + "associations_explanation": "Associations totales", + "average_health": "Santé globale", + "average_health_explanation": "Bon état d'esprit moyen de tous les appareils connectés fournissant les informations de vérification de l'état", + "average_memory": "Mémoire utilisée", + "average_memory_explanation": "Pourcentage moyen de mémoire utilisée", + "average_uptime": "Disponibilité moyenne", + "average_uptime_explanation": "Disponibilité moyenne de l'appareil (JJ:HH:MM:SS)", + "band": "B: et", + "bandwidth": "Bande passante", + "board": "Collecte d'analyses", + "busy": "Occupé", + "channel": "Canal", + "client_lifecycle": "Cycle de vie des clients", + "client_lifecycle_one": "{{count}} Cycle de vie des clients", + "client_lifecycle_other": "{{count}} Cycles de vie des clients", + "connected": "Connecté", + "connection_explanation": "{{connectedCount}} connecté, {{disconnectedCount}} non connecté", + "connection_percentage": "{{count}} % connectés", + "connection_percentage_explanation": "Pourcentage de tous les appareils sous ce lieu qui sont connectés ({{connectedCount}} connectés, {{disconnectedCount}} non connectés)", + "create_board": "Démarrer la surveillance", + "dashboard": "Tableau de bord", + "delta": "Delta", + "device_types": "Les types", + "device_types_explanation": "Types d'appareils de tous les appareils disponibles", + "disconnected": "Débranché", + "firmware": "Micrologiciel", + "health": "santé", + "inactive": "Inactif", + "interval": "Intervalle", + "last_connection": "Dernière connexion", + "last_contact": "Dernier contact", + "last_disconnection": "Dernière déconnexion", + "last_firmware_explanation": "Micrologiciel le plus courant exécuté sur les appareils analysés", + "last_health": "Dernière santé", + "last_ping": "Dernier ping", + "live_view": "Vue en direct", + "live_view_explanation_five": "Vous pouvez également cliquer sur l'un des cercles pour zoomer", + "live_view_explanation_four": "Vous pouvez survoler n'importe quel objet avec votre souris pour voir des informations détaillées", + "live_view_explanation_one": "Le graphique 'Live View' est une représentation visuelle de votre site.", + "live_view_explanation_three": "Lieu -> AP -> Radio -> SSID -> UE", + "live_view_explanation_two": "De l'extérieur vers l'intérieur :", + "live_view_help": "Aide sur l'affichage en direct", + "memory": "mémoire", + "memory_used": "Mémoire utilisée", + "mode": "Mode", + "noise": "Bruit", + "packets": "Paquets", + "radio": "Radio", + "raw_analytics_data": "Données analytiques brutes", + "raw_data": "Données brutes", + "receive": "Recevoir", + "retention": "Rétention", + "retries": "Tentatives", + "search_serials": "Rechercher des publications en série", + "stop_monitoring": "Arrêter la surveillance", + "temperature": "Température", + "title": "ANALYTIQUE", + "total_data": "Données totales", + "total_devices_explanation": "Tous les appareils sous ce lieu ({{connectedCount}} connectés, {{disconnectedCount}} non connectés)", + "total_devices_one": "{{count}} Appareil", + "total_devices_other": " {{count}} appareils", + "uptime": "La disponibilité" + }, + "batch": { + "batches": "Des lots", + "cannot_edit_macs": "Étant donné que des tâches ont déjà été exécutées sur ce lot, vous ne pouvez pas modifier ses adresses MAC", + "change_warning": "ATTENTION : vous avez mis à jour soit le modèle soit le fabricant. Nous vous suggérons fortement de mettre à jour vos certificats pour qu'ils restent cohérents avec ce lot en choisissant l'option \"Enregistrer et mettre à jour les certificats\"", + "create": "Créer des certificats", + "create_certificates": "Créer des certificats", + "create_certificates_explanation": "Voulez-vous vraiment créer les certificats {{nbCerts}} de ce lot ?", + "create_certificates_title": "Créer les certificats de {{name}}", + "delete_explanation": "Voulez-vous vraiment supprimer ce lot ? Cela révoquera tous ses certificats {{nbCerts}} et les supprimera. Cette opération n'est pas réversible", + "delete_title": "Supprimer le lot {{name}}", + "duplicate_in_file": "MAC en double trouvé dans la ligne {{firstRow}} et {{secondRow}} : {{mac}}", + "emails_to_notify": "E-mails pour notifier lorsque cette tâche est terminée", + "error_push": "Erreur lors du démarrage de la tâche de modifications push : {{e}}", + "general_error_treating_file": "Erreur générale lors du traitement du fichier : veuillez vous assurer qu'il est au format .CSV, qu'il ne contient qu'une seule colonne sans en-tête.", + "invalid_mac": "MAC invalide sur la ligne {{row}} : {{mac}}", + "mac_count_title": "{{nb}} MAC font actuellement partie de ce lot", + "nb_macs": "{{nb}} MAC", + "need_devices": "Vous devez avoir au moins un certificat pour créer !", + "parsing_error": "Erreur d'analyse sur la ligne {{row}} : {{e}}", + "phones_to_notify": "Numéros de téléphone à notifier lorsque la tâche est terminée", + "push_changes": "Pousser les changements", + "push_changes_explanation": "Voulez-vous vraiment envoyer les informations de lot à tous les certificats de ce lot ?", + "revoke_explanation": "Voulez-vous vraiment révoquer ce lot ? Cela révoquera tous ses {{nbCerts}} certificats. Cette opération n'est pas réversible", + "revoke_title": "Révoquer le lot {{name}}", + "save_and_change": "Enregistrer et mettre à jour les certificats", + "success_push": "Tâche Push Changes démarrée avec succès ! Numéro de tâche : {{job}}", + "title": "Lot" + }, + "certificates": { + "certificate": "Certificat", + "common_names_explanation": "Besoin d'un fichier .CSV d'une seule colonne sans nom contenant des MAC de périphérique à 12 chiffres HEX.", + "device": "Dispositif", + "device_macs": "MAC de l'appareil", + "domain_name": "Nom de domaine", + "error_fetching": "Erreur lors de la récupération des certificats : {{e}}", + "error_revoke": "Erreur lors de la tentative de révocation du certificat : {{e}}", + "expires_on": "Expire le", + "filename": "Nom de fichier", + "invalid_domain": "Les formats acceptés sont : domain.top_level_domain ou sub_domain.domain._top_level_domain", + "invalid_mac": "Doit contenir 12 caractères HEX", + "invalid_redirector": "Les formats acceptés sont : example.com, example.com:16000", + "mac_address": "ADRESSE MAC", + "macs": "MAC", + "manufacturer": "fabricant", + "model": "Modèle", + "redirector": "redirecteur", + "revoke": "Révoquer", + "revoke_count": "Révoquer le compte", + "revoke_warning": "Voulez-vous vraiment révoquer ce certificat ?", + "server": "Serveur", + "successful_revoke": "Certificat révoqué avec succès !", + "title": "Certificats" }, "commands": { - "command_success": "Commande soumise avec succès", - "error": "Erreur lors de la soumission de la commande !", - "error_delete_log": "Erreur lors de la tentative de suppression : {{error}}", - "event_queue": "File d'attente d'événements", - "reboot_start": "Le processus de redémarrage a commencé !", - "success": "Commande soumise avec succès, vous pouvez consulter le journal des commandes pour le résultat", - "title": "Historique des commandes", - "unable_queue": "Impossible de terminer la demande de file d'attente d'événements: {{error}}" + "abort_command_explanation": "Voulez-vous vraiment arrêter d'attendre le résultat de cette commande ?", + "abort_command_title": "Abandonner la commande", + "active_scan": "Analyse active", + "blink": "Cligner", + "blink_error": "Erreur lors de l'envoi de la commande de clignotement : {{e}}", + "blink_success": "La commande Blink a été envoyée avec succès !", + "channel": "Canal", + "confirm_reset": "Démarrer la réinitialisation de l'appareil n° {{serialNumber}}", + "connect": "Relier", + "execution_time": "Temps d'exécution", + "factory_reset": "Dispositif de réinitialisation d'usine", + "factory_reset_error": "Erreur lors de la tentative de réinitialisation d'usine de l'appareil : {{e}}", + "factory_reset_success": "La réinitialisation d'usine de l'appareil a démarré avec succès !", + "factory_reset_warning": "Voulez-vous vraiment rétablir la configuration d'usine de cet appareil ? Cette action n'est pas réversible", + "firmware_upgrade": "Mise à jour du firmware", + "firmware_upgrade_error": "Erreur lors de la tentative de mise à niveau du micrologiciel de l'appareil : {{e}}", + "firmware_upgrade_success": "La mise à niveau de l'appareil a démarré avec succès !", + "image_date": "Date de l'image", + "keep_redirector": "Conserver le redirecteur ?", + "other": "Les commandes", + "override_dfs": "Remplacer DFS", + "reboot": "Redémarrer", + "reboot_error": "Erreur lors de l'envoi de la commande de redémarrage : {{e}}", + "reboot_success": "Commande de redémarrage envoyée avec succès !", + "revision": "Révision", + "scan": "Balayage", + "signal": "Signal", + "upgrade": "Améliorer", + "wifiscan": "Balayage Wi-Fi", + "wifiscan_error": "Erreur lors de la tentative d'analyse de l'appareil : {{e}}", + "wifiscan_error_1": "Votre radio 5G est sur un canal radar, vous devez activer \"Override DFS\" pour permettre le balayage de tous les canaux 5G" }, "common": { - "access_policy": "Politique d'accès", - "add": "Ajouter", - "add_items": "Ajouter des articles", - "add_note": "Ajouter une note", - "add_note_explanation": "Écrivez votre nouvelle note ci-dessous et cliquez sur le bouton '+' où vous avez terminé", - "adding_ellipsis": "Ajouter...", + "actions": "actes", + "address_search_autofill": "Rechercher des emplacements pour remplir automatiquement les champs ci-dessous", + "alert": "Alerte", "all": "Tout", - "are_you_sure": "Êtes-vous sûr?", - "back_to_login": "Retour connexion", - "back_to_start": "Retour au début", - "blacklist": "Liste noire", + "assign": "Attribuer", + "avg": "Moy.", + "back": "Retour", + "base_information": "Informations de base", "by": "Par", "cancel": "annuler", - "certificate": "Certificat", - "certificates": "Certificats", "claim": "Prétendre", - "clear": "Clair", "close": "Fermer", - "code": "Code", + "columns": "Les colonnes", "command": "Commander", - "commands": "Les commandes", - "commands_executed": "commandes exécutées", - "compatible": "Compatible", "completed": "Terminé", - "concurrent_devices": "Périphériques simultanés", - "config_id": "Config. Identifiant", "confirm": "Confirmer", - "confirm_stop_editing": "Voulez-vous vraiment arrêter la modification ? Cela annulera toutes les modifications non enregistrées que vous avez apportées.", "connected": "Connecté", - "copied": "Copié!", - "copied_to_clipboard": "Copié dans le presse-papier!", - "copy_to_clipboard": "Copier dans le presse-papier", + "copied": "copie", + "copy": "copie", "create": "Créer", + "create_new": "Créer un nouveau", "created": "Créé", - "created_by": "Créé par", "creator": "Créateur", - "current": "Actuel", - "custom_date": "Date personnalisée", - "dashboard": "Tableau de bord", + "custom": "Douane", + "daily": "du quotidien", "date": "Rendez-vous amoureux", "day": "journée", - "days": "journées", - "default_map": "Carte par défaut", - "delete": "Effacer", - "delete_device": "Supprimer le périphérique", + "days": "Journées", + "default": "Défaut", + "description": "La description", "details": "Détails", - "device": "N° d'appareil{{serialNumber}}", - "device_dashboard": "Tableau de bord de l'appareil", - "device_delete": "Supprimer #{{serialNumber}}", - "device_deleted": "Appareil supprimé avec succès", - "device_health": "Santé de l'appareil", - "device_list": "Liste des appareils", - "device_page": "Vue", - "device_status": "Statut du périphérique", - "devices": "Dispositifs", - "devices_using_latest": "Appareils utilisant le dernier micrologiciel", - "devices_using_unknown": "Périphériques utilisant un micrologiciel inconnu", - "dismiss": "Rejeter", - "do_now": "Faire maintenant!", + "device_details": "Détails de l'appareil", + "discard_changes": "Annuler les modifications?", + "disconnected": "Débranché", + "display_name": "Afficher un nom", "download": "Télécharger", + "download_instructions": "Téléchargement réussi ! Si vous ne trouvez pas le fichier, veuillez confirmer que vous autorisez les téléchargements à partir de ce site Web", "duplicate": "Dupliquer", - "duration": "Durée", "edit": "modifier", - "edit_user": "Modifier", - "email_address": "Adresse électronique", - "endpoint": "Point final", - "endpoints": "Points de terminaison", - "error": "Erreur", - "error_adding_note": "Erreur lors de l'ajout de la note", - "error_code": "Code d'erreur", + "email": "Email", + "empty_list": "Liste vide", + "end": "Fin", + "entries_one": "Entrée", + "entries_other": "Les entrées", + "error": "erreur", + "error_claiming_obj": "Erreur lors de la revendication de {{obj}}", + "error_download": "Erreur lors de la tentative de téléchargement : {{e}}", "errors": "les erreurs", - "execute_now": "Souhaitez-vous exécuter cette commande maintenant ?", - "executed": "réalisé", - "exit": "Sortie", - "firmware": "Micrologiciel", - "firmware_dashboard": "Tableau de bord du micrologiciel", - "firmware_installed": "Micrologiciel installé", - "forgot_password": "Mot de passe oublié?", - "forgot_password_title": "Mot de passe oublié", - "from": "De", - "general_error": "Erreur API, veuillez consulter votre administrateur", + "exit_fullscreen": "Sortie", + "finished": "fini", + "fullscreen": "Plein écran", + "general_error": "Erreur de connexion au serveur. Veuillez consulter votre administrateur.", + "general_info": "Informations générales", "go_back": "Retourner", + "go_to_map": "Aller à la carte", "hide": "Cacher", - "hour": "heure", - "hours": "heures", - "id": "Id", - "invalid_credentials": "Nom d'utilisateur et / ou mot de passe incorrect", - "invalid_date_explanation": "Date invalide, merci d'utiliser le calendrier accessible avec le bouton à droite", - "invalid_file": "Le fichier choisi n'était pas valide, veuillez lire les instructions et ajuster votre fichier en conséquence", - "invalid_password": "Ce mot de passe ne confirme pas les règles de base des mots de passe. Veuillez visiter notre page Politique de mot de passe pour en savoir plus", - "invalid_pem": "Votre fichier .pem n'est pas valide. Il doit commencer par '-----BEGIN CERTIFICATE-----' OU '-----BEGIN PRIVATE KEY-----' et il doit se terminer par '-----END CERTIFICATE--- --' OU '-----FIN CLÉ PRIVÉE-----'", - "ip_address": "Adresse IP", - "ips": "IPS", - "item": "article", - "items": "Articles", - "items_per_page": "Objets par page:", - "key": "Clé", - "last_dashboard_refresh": "Dernière actualisation du tableau de bord", - "later_tonight": "Plus tard ce soir", - "latest": "Dernier", - "list": "liste", - "loading_ellipsis": "Chargement...", - "loading_more_ellipsis": "Chargement plus ...", + "hourly": "Toutes les heures", + "identification": "Identification", + "inherit": "Hériter", + "language": "La langue", + "lifetime": "durée de vie", + "locale": "lieu", "logout": "Connectez - Out", - "mac": "ADRESSE MAC", "main": "Principale", + "make_higher_priority": "Faire une priorité plus élevée", + "make_lower_priority": "Faire une priorité inférieure", + "manage": "Gérer", + "manual": "manuel", "manufacturer": "fabricant", - "memory_used": "Mémoire utilisée", - "min_max": "Min : {{min}}, Max : {{max}}", - "minute": "minute", - "minutes": "minutes", + "map": "Carte", + "max": "Max", + "min": "Min", + "mode": "Mode", + "model": "Modèle", "modified": "Modifié", - "na": "N / A", - "need_date": "Vous avez besoin d'un rendez-vous...", + "monthly": "Mensuel", + "my_account": "Mon compte", + "name": "Prénom", + "name_error": "Le nom doit comporter moins de 50 caractères", + "next": "Suivant", "no": "Non", "no_addresses_found": "Aucune adresse trouvée", "no_clients_found": "Aucun client trouvé", "no_devices_found": "Aucun périphérique trouvé", - "no_items": "Pas d'objet", + "no_items_yet": "Aucun article pour le moment", + "no_obj_found": "Aucun {{obj}} trouvé", + "no_records_found": "Aucun Enregistrement Trouvé", "none": "Aucun", - "not_connected": "Pas connecté", - "of_connected": "% d'appareils connectés", - "off": "De", - "on": "sur", - "optional": "Optionnel", - "overall_health": "Santé globale", - "password_policy": "Politique de mot de passe", - "preferences": "Préférences", - "preview": "Aperçu", - "program": "Programme", - "reason": "raison", - "recorded": "Enregistré", - "refresh": "Rafraîchir", - "refresh_device": "Actualiser l'appareil", - "remove_claim": "Supprimer la réclamation", - "required": "Champs obligatoires", - "result": "Résultat", - "save": "Sauvegarder", - "saved": "Enregistré!", - "saving": "Économie...", - "schedule": "Programme", - "search": "Rechercher des appareils", - "second": "seconde", - "seconds": "secondes", - "seconds_elapsed": "Secondes écoulées", - "see_details": "Voir les détails", - "select": "sélectionner", - "serial_num": "Numéro de série", - "serial_number": "Numéro de série", - "show_all": "Montre tout", - "socket_connection_closed": "Connexion fermée !", - "start": "Début", - "status": "Statut", - "stop_editing": "Arrêter la modification", - "submit": "Soumettre", - "submitted": "Soumis", - "success": "Succès", - "system": "Système", - "table": "Table", - "time_per_device": "Appareils/Seconde", - "timestamp": "Temps", - "to": "à", - "type": "Type", - "type_for_options": "Tapez la valeur que vous devez créer...", - "type_for_options_format": "Saisissez une valeur au format valide ({{format}})...", - "unable_to_connect": "Impossible de se connecter à l'appareil", - "unable_to_delete": "Impossible de supprimer", - "unknown": "Inconnu", - "up_to_date": "Appareils à jour", - "uptimes": "Disponibilités", - "use_file": "Utiliser le fichier", - "uuid": "UUID", - "vendors": "Vendeurs", - "view_more": "Afficher plus", - "visibility": "Visibilité", - "waiting_for_update": "En attente de mise à jour", - "yes": "Oui" - }, - "configuration": { - "add_configuration": "Ajouter une configuration", - "add_new_block": "Ajouter un nouveau bloc de configuration", - "add_or_link": "Lier ou ajouter", - "add_radio": "Ajouter une radio", - "ca_cert_explanation": "Veuillez utiliser un fichier .pem qui commence par \"-----BEGIN CERTIFICATE-----\" et se termine par \"-----END CERTIFICATE-----\". Le résultat sera affiché dans le champ ci-dessous. Vous pouvez également copier et coller le certificat que vous souhaitez utiliser directement.", - "cannot_delete": "Cette configuration ne peut pas être supprimée car elle est utilisée par au moins une entité, un lieu ou un appareil", - "choose_radio_band": "Quelle bande de radio voudriez-vous créer ?", - "choose_section": "Quelle section souhaitez-vous que ce bloc contienne?", - "configuration_browser": "Navigateur de configuration", - "configurations": "Les configurations", - "create": "Créer une configuration", - "create_config": "Créer une nouvelle configuration", - "create_new_configuration": "Créer un nouvel élément de configuration", - "created": "Créé", - "creation_success": "Configuration créée avec succès !", - "currently_associated": "Configuration associée actuelle : {{config}}", - "currently_selected_config": "Configuration actuellement sélectionnée : {{config}}", - "default_configs": "Configurations par défaut", - "default_configurations": "Configurations par défaut", - "delete_config": "Supprimer la configuration", - "details": "Détails", - "device_password": "Mot de passe", - "device_type": "Type d'appareil", - "device_types": "Types d'appareils", - "devices_affected": "Appareils concernés par cette configuration :", - "edit_configuration": "Modifier la configuration", - "error_delete": "Erreur lors de la tentative de suppression : {{error}}", - "error_delete_blacklist": "Erreur lors de la suppression de la liste noire : {{error}}", - "error_fetching_config": "Erreur lors de la récupération de la configuration", - "error_trying_delete": "Erreur lors de la tentative de suppression : {{error}}", - "error_update": "Erreur: {{error}}", - "explanation": "Explication", - "key_pem_explanation": "Veuillez sélectionner le fichier .pem", - "last_configuration_change": "Changement de configuration", - "last_configuration_download": "Téléchargement de la dernière configuration", - "location": "Emplacement", - "need_device_type": "Chaque configuration doit prendre en charge au moins un type d'appareil", - "no_associated_config": "Aucune configuration associée", - "no_associated_configuration": "Aucune configuration associée", + "not_found": "404 - Introuvable", "note": "Remarque", "notes": "Remarques", - "owner": "Propriétaire", - "select_configuration": "Sélectionnez cette configuration", - "success_block_delete": "Bloc de configuration supprimé avec succès", - "success_update": "Configuration mise à jour avec succès !", - "successful_delete": "Configuration supprimée !", - "support_all": "Soutenir tous", - "supported_device_types": "Types d'appareils pris en charge", - "title": "Configuration", - "type": "Type d'appareil", - "used_by": "Utilisé par", - "used_by_details": "{{entities}} Entités, {{venues}} Lieux et {{devices}} Appareils", - "uuid": "Identifiant de configuration", + "of": "De", + "password": "Mot de passe", + "preview": "Aperçu", + "quarterly": "TRIMESTRIEL", + "redirector": "redirecteur", + "refresh": "Rafraîchir", + "remove": "Retirer", + "remove_claim": "Supprimer la réclamation", + "reset": "Réinitialiser", + "revoked": "Révoqué", + "save": "sauvegarder", + "search": "Chercher", + "seconds": "Secondes", + "select_value": "Sélectionnez une valeur", + "sending": "Envoi", + "sent_code": "Code envoyé !", + "show": "Spectacle", + "size": "Taille", + "start": "Début", + "started": "commencé", + "state": "Etat", + "status": "Statut", + "stop_editing": "Arrêter la modification", + "submitted": "Soumis", + "success": "Succès", + "successfully_claimed_obj": "Réclamé avec succès {{count}} {{obj}}", + "sync": "Sync", + "test": "tester", + "theme": "Thème", + "time": "Temps", + "timestamp": "horodatage", + "type": "Type", + "type_for_options": "Tapez la valeur que vous devez créer...", + "unknown": "Inconnu", + "use_file": "Utiliser le fichier", + "value": "Valeur", + "variable": "Variable", + "view_details": "Voir les détails", + "view_in_gateway": "Afficher dans le contrôleur", + "view_json": "Afficher JSON", + "warning": "Attention", + "warnings": "Avertissements", + "yearly": "Annuel", + "yes": "Oui", + "your_new_note": "Votre nouvelle note" + }, + "configurations": { + "add_interface": "Ajouter une interface", + "add_radio": "Ajouter une radio", + "add_ssid": "Ajouter SSID", + "add_subsection": "Ajouter une sous-section", + "advanced_settings": "Réglages avancés", + "affected_explanation_one": "Il y a {{count}} appareils concernés par cette configuration", + "affected_explanation_other": "Il y a {{count}} appareils concernés par cette configuration", + "applied_configuration": "Configuration appliquée", + "cant_delete_explanation": "Impossible de supprimer cette configuration car elle est utilisée par au moins un appareil, un lieu ou une entité. Vous pouvez voir ce qu'ils sont en cliquant sur le bouton à côté de \"En cours d'utilisation\" sur le formulaire de cette configuration", + "cant_delete_explanation_simple": "Impossible de supprimer cette configuration car elle est utilisée par au moins un appareil, un lieu ou une entité. Vous pouvez voir ce qu'ils sont en allant sur la page de configuration", + "configuration_json": "JSON de configuration", + "configuration_push_result": "Résultat de l'envoi de la configuration", + "configuration_sections": "Rubriques de configuration", + "delete_interface": "Supprimer l'interface", + "delete_radio": "Supprimer la radio", + "delete_ssid": "Supprimer le SSID", + "device_configurations": "Configurations de l'appareil", + "device_types": "Types d'appareils", + "dhcp_snooping": "Espionnage DHCP", + "error_pushes_one": "Erreur (peut être due à une mauvaise configuration) : {{count}}", + "error_pushes_other": "Erreurs (peut-être dues à une mauvaise configuration) : {{count}}", + "expert_name": "Mode expert", + "explanation": "Explication", + "firewall": "Pare-feu", + "firmware_upgrade": "Mise à jour du firmware", + "globals": "Globals", + "health": "santé", + "hostapd_warning": "Paramètre d'URL, ex. : test=valeur", + "import_file": "Importer la configuration à partir d'un fichier", + "import_file_explanation": "Vous pouvez utiliser l'option ci-dessous pour importer un fichier JSON de configuration, avec un contenu de ce format :\n{\n \"interfaces\": [ ... ],\n \"globals\": { ... },\n ...etc\n}", + "import_warning": "AVERTISSEMENT : cette opération écrasera toutes les sections de configuration que vous avez peut-être déjà créées.", + "imported_configuration": "Configuration importée", + "in_use_title": "{{name}} En cours d'utilisation", + "interfaces": "Des interfaces", + "interfaces_instruction": "Veuillez utiliser une chaîne JSON valide sous la forme suivante : { \"interfaces\": [] }.", + "invalid_resource": "Ressource invalide ou supprimée", + "metrics": "métrique", + "no_resource_selected": "Aucune ressource sélectionnée", + "notification_details": "Mis à jour : {{success}}, En attente de connexion : {{warning}}, Erreurs : {{error}}", + "one": "Configuration", + "push_configuration": "Pousser la configuration", + "push_configuration_error": "Erreur lors de la tentative d'envoi de la configuration sur l'appareil : {{e}}", + "push_configuration_explanation": "Configuration non poussée, code d'erreur {{code}}", + "push_success": "Configuration poussée avec succès !", + "radio_limit": "Vous avez atteint le nombre maximum de radios (5). Vous devez supprimer une des bandes activées pour en ajouter une nouvelle", + "radios": "Radios", + "rc_only": "Libérer les candidats uniquement", + "save_warnings": "Voulez-vous vraiment enregistrer votre configuration ?", + "services": "Prestations de service", + "special_configuration": "Configuration spécifique à l'appareil", + "start_special_creation": "Créer une configuration pour cet appareil", + "statistics": "statistiques", + "successful_pushes_one": "Poussée réussie : {{count}}", + "successful_pushes_other": "Transmissions réussies : {{count}}", + "third_party": "Tierce personne", + "third_party_instructions": "Veuillez utiliser une chaîne JSON valide sous la forme suivante : { \"value_name\": \"value\" }.", + "title": "Les configurations", + "unit": "Unité", "view_affected_devices": "Afficher les appareils concernés", - "view_config": "Afficher la configuration", "view_in_use": "Afficher en cours d'utilisation", - "view_json": "Afficher le JSON brut" + "warning_pushes_one": "En attente de connexion des appareils : {{count}}", + "warning_pushes_other": "En attente de connexion des appareils : {{count}}", + "weight": "Poids", + "wifi_frames": "Cadres Wi-Fi" }, - "configure": { - "choose_file": "Vous devez choisir un fichier .json valide :", - "enter_new": "Entrez la nouvelle configuration de l'appareil JSON :", - "placeholder": "Configurer JSON", - "title": "Configurer", - "valid_json": "Vous devez entrer un JSON valide" - }, - "connect": { - "error_trying_to_connect": "Erreur lors de la tentative de connexion à l'appareil : {{error}}" - }, - "contact": { + "contacts": { "access_pin": "NIP d'accès", - "add_contact": "Ajouter le contact", - "contact": "Contact", - "create_contact": "Créer un contact", - "currently_selected_contact": "Contact actuellement sélectionné : {{contact}}", - "delete": "Effacer le contact?", - "error_assign": "Erreur lors de la tentative d'attribution du contact : {{error}}", - "error_creation": "Erreur lors de la tentative de création du contact : {{error}}", - "error_delete": "Erreur lors de la tentative de suppression du contact : {{error}}", - "error_fetching_list": "Erreur lors de la récupération des contacts", - "error_fetching_single": "Erreur lors de la récupération du contact : {{error}}", - "error_unassign": "Erreur lors de la tentative de désattribution du contact : {{error}}", + "claim_explanation": "Pour réclamer des contacts, vous pouvez utiliser le tableau ci-dessous", "first_name": "Prénom", "identifier": "Identifiant", "initials": "Initiales", "last_name": "Nom de famille", - "no_associated_contact": "Aucun contact associé", + "mobiles": "MOBILES", + "one": "Contact", + "other": "Contacts", + "phones": "Téléphones", "primary_email": "Email primaire", "salutation": "salutation", "secondary_email": "Email secondaire", - "successful_assign": "Contact attribué avec succès !", - "successful_creation": "Contact créé!", - "successful_delete": "Contact supprimé avec succès !", - "successful_unassign": "Contact non attribué avec succès", - "successful_update": "Contact mis à jour avec succès", - "title": "Contacts", - "type": "Type", - "update_error": "Erreur lors de la mise à jour du contact : {{error}}", - "user_title": "Titre", - "visual": "Nom de la correspondance" + "title": "Titre", + "to_claim": "Contacts pour réclamer", + "visual": "Visuel" }, - "delete_command": { - "explanation": "Êtes-vous sûr de vouloir supprimer cette commande ? Cette action n'est pas réversible.", - "title": "Supprimer la commande" + "controller": { + "configurations": { + "create_success": "Configuration créée !", + "delete_success": "La configuration est maintenant supprimée !", + "title": "Configurations par défaut", + "update_success": "Configuration mise à jour !" + }, + "configure": { + "invalid": "Votre nouvelle configuration doit être valide JSON", + "success": "La nouvelle configuration est en cours de déploiement sur l'appareil", + "title": "configurer", + "warning": "Soyez averti : il n'y aura que des tests minimaux effectués sur cette configuration." + }, + "crud": { + "choose_time": "Délai personnalisé", + "clear_time": "Effacer le temps", + "delete_success_obj": "Supprimé {{obj}}" + }, + "dashboard": { + "associations": "Les associations", + "associations_explanation": "Toutes les associations (ou UE) actuellement connectées", + "certificates": "Certificats", + "certificates_explanation": "État des certificats des appareils actuellement connectés", + "commands": "Les commandes", + "commands_explanation": "Toutes les commandes exécutées", + "device_dashboard_refresh": "Nouvelles statistiques de connexion", + "device_types": "Types d'appareils", + "device_types_explanation": "Types d'appareils de tous les appareils pointant vers ce contrôleur", + "devices_explanation": "Tous les appareils pointent vers ce point de terminaison du contrôleur", + "error_fetching": "Erreur lors de la récupération du tableau de bord", + "expand": "Développer", + "last_ping_explanation": "Lorsque ces données ont été recueillies", + "memory": "Utilisation de la mémoire", + "memory_explanation": "Appareils actuellement connectés avec la quantité de mémoire utilisée correspondante", + "no_certificate": "Aucun certificat", + "not_connected": "Pas connecté", + "others": "autres", + "overall_health": "Santé globale", + "overall_health_explanation": "Santé moyenne de tous les appareils actuellement connectés à partir desquels nous recevons des données de santé. Le calcul exact est : (Appareils=100 % * 100 + Appareils>90 * 95 + Appareils>60 * 75 + Appareils<60 * 30) / Appareils connectés", + "overall_health_explanation_pie": "Le nombre d'appareils avec un pourcentage de santé dans ces catégories", + "serial_mismatch": "Incompatibilité de série", + "status": "Statut", + "status_explanation": "État de tous les appareils pointant vers ce point de terminaison de contrôleur", + "unknown_status": "Statut non reconnu", + "unrecognized": "Méconnu", + "uptimes": "", + "uptimes_explanation": "Appareils actuellement connectés avec les temps de disponibilité correspondants", + "vendors": "Vendeurs", + "vendors_explanation": "Fournisseurs des appareils pointant vers ce contrôleur", + "verified": "Vérifié" + }, + "devices": { + "add_blacklist": "Ajouter un numéro de série", + "added": "Ajoutée", + "added_blacklist": "Numéro de série ajouté à la liste noire !", + "average_uptime": "Disponibilité moyenne", + "blacklist": "Liste noire", + "blacklist_update": "Mettre à jour {{serialNumber}} enregistrement", + "by": "Par", + "capabilities": "Capacités", + "command_one": "Commander", + "commands": "Les commandes", + "complete_data": "Données complètes", + "config_id": "Identifiant de configuration", + "connecting": "De liaison", + "connection_changes": "États de connexion", + "delete_blacklist": "Numéro de série supprimé de la liste noire !", + "delete_health_explanation": "Cela supprimera définitivement tous les bilans de santé avant la date que vous avez choisie", + "delete_logs_explanation": "Cela supprimera définitivement tous les journaux avant la date que vous choisissez", + "error_code": "Code d'erreur", + "executed": "réalisé", + "finished_reboot": "{{serialNumber}} vient de terminer le redémarrage !", + "finished_upgrade": "{{serialNumber}} a terminé la mise à jour !", + "from_to": "de {{from}} à {{to}}", + "healthchecks": "Bilans de santé", + "last_modified": "Dernière modification:", + "last_upgrade": "Dernière mise à jour", + "localtime": "heure locale", + "logs": "LOGS", + "new_statistics": "Nouvelles statistiques", + "no_more_available": "Tous récupérés", + "reason": "raison", + "results": "Résultats", + "sent_upgrade_to_latest": "Commande \"Mettre à niveau vers la dernière version\" envoyée à l'appareil", + "severity": "Gravité", + "show_more": "Montre plus", + "started_reboot": "{{serialNumber}} s'éteint pour redémarrer !", + "started_upgrade": "{{serialNumber}} vient de s'arrêter pour commencer la mise à jour !", + "trace": "Trace", + "trace_description": "Lancer une trace à distance de cet appareil pour une durée spécifique ou un nombre de paquets", + "update_success": "Appareil mis à jour !", + "updated_blacklist": "Liste noire mise à jour !" + }, + "firmware": { + "devices_explanation": "Périphériques qui ont pointé vers ce serveur de firmware. Cela pourrait expliquer les écarts entre ce nombre et le tableau de bord de l'appareil", + "endpoints": "Points de terminaison", + "endpoints_explanation": "Tous les terminaux pointant vers ce serveur de firmware", + "firmware_age": "Âge du micrologiciel", + "firmware_age_explanation": "Âge moyen du micrologiciel des appareils pour lesquels nous disposons de ces données", + "latest": "Dernier micrologiciel installé", + "ouis_explanation": "OUI des appareils qui se sont connectés à ce serveur de firmware", + "outdated": "Firmware obsolète et plus récent disponible", + "release": "libération", + "show_dev_releases": "Versions de développement", + "status_explanation": "État de connexion des appareils qui se sont connectés à ce serveur de micrologiciel", + "unrecognized": "Micrologiciel non reconnu", + "unrecognized_firmware": "Micrologiciel non reconnu", + "unrecognized_firmware_explanation": "Firmware actuellement utilisé par les appareils et non reconnu par ce serveur de firmware", + "up_to_date": "Appareils à jour", + "up_to_date_explanation": "Appareils utilisant les derniers logiciels disponibles à leur disposition" + }, + "provisioning": { + "title": "Provisioning" + }, + "queue": { + "title": "File d'attente d'événements" + }, + "stats": { + "load": "Charge (1 | 5 | 15 m.)", + "seconds_ago": " Il y a {{s}} secondes", + "used": "Utilisé" + }, + "telemetry": { + "duration": "Durée", + "interval": "Intervalle", + "kafka": "Kafka", + "kafka_success": "La télémétrie Kafka est maintenant lancée !", + "last_update": "Dernière mise à jour", + "minutes": "Minutes", + "need_types": "Vous devez sélectionner au moins un type", + "output": "Mode de sortie", + "seconds_ago": " Il y a{{seconds}} secondes", + "title": "Télémétrie", + "types": "Les types", + "websocket": "Websocket" + }, + "trace": { + "down": "VERS LE BAS", + "download": "Télécharger Trace", + "duration": "Durée", + "network": "Réseau", + "packets": "Paquets", + "success": "Suivi terminé sur l'appareil n° {{serialNumber}}. Vous pouvez maintenant télécharger le résultat", + "up": "UP", + "wait": "Attendre les résultats ?" + }, + "wifi": { + "active_ms": "actif", + "busy_ms": "Occupé", + "channel_width": "Largeur Ch", + "mode": "Mode", + "noise": "Bruit", + "receive_ms": "Recevoir", + "rx_rate": "Taux de réception", + "station": "Station", + "tx_rate": "Taux d'émission", + "vendor": "vendeur", + "wifi_analysis": "Analyse Wi-Fi" + } }, - "delete_logs": { - "date": "Sélectionnez la date du plus ancien journal que vous souhaitez conserver", - "device_logs_title": "Supprimer les journaux de l'appareil", - "explanation": "Cela supprimera tous les {{object}} avant la date que vous choisissez. Attention, cette action n'est pas réversible.", - "healthchecks_title": "Supprimer les vérifications d'état" + "crud": { + "add": "Ajouter", + "confirm_cancel": "Voulez-vous vraiment annuler les modifications que vous avez apportées ?", + "confirm_delete_obj": "Êtes-vous sûr de vouloir supprimer ce {{obj}}?", + "create": "Créer", + "create_object": "Créer {{obj}}", + "delete": "Effacer", + "delete_confirm": "Êtes-vous sûr de vouloir supprimer ce {{obj}}?", + "delete_obj": "Supprimer {{obj}}", + "edit": "modifier", + "edit_obj": "Modifier {{obj}}", + "error_create_obj": "Erreur lors de la création de {{obj}} : {{e}}", + "error_delete_obj": "Erreur lors de la suppression de {{obj}} : {{e}}", + "error_fetching_obj": "Erreur lors de la récupération de {{obj}} : {{e}}", + "error_revoke_obj": "Erreur lors de la révocation de {{obj}} : {{e}}", + "error_update_obj": "Erreur lors de la mise à jour de {{obj}} : {{e}}", + "success_create_obj": "Créé avec succès {{obj}} !", + "success_delete_obj": " {{obj}}a bien été supprimé !", + "success_revoke_obj": "Révocation réussie de {{obj}} !", + "success_update_obj": " {{obj}}mis à jour avec succès !" }, - "device": { - "add_to_blacklist": "Ajouter un appareil à la liste noire", - "all_devices": "Tous les dispositifs", - "already_running_command": "L'appareil exécute déjà une commande, veuillez réessayer plus tard", - "blacklisted_on": "Rendez-vous amoureux", - "capabilities": "Capacités", - "certificate_explanation": "Certificats des appareils connectés", - "count_explanation": "Périphériques pointant vers cette instance de passerelle", - "edit_blacklist": "Modifier l'appareil sur liste noire", - "error_adding_blacklist": "Erreur lors de l'ajout de l'appareil à la liste noire : {{error}}", - "error_edit_blacklist": "Erreur lors de la modification de la liste noire : {{error}}", - "error_fetching_device": "Erreur lors de la récupération des informations sur l'appareil : {{error}}", - "error_fetching_devices": "Erreur lors de la récupération des appareils : {{error}}", - "firmware_count_explanation": "Il s'agit du nombre total d'appareils qui ont été ajoutés à ce serveur de micrologiciel, y compris les appareils qui ne pointent pas actuellement vers le serveur de passerelle associé.", - "health_explanation": "Santé des appareils connectés ((Appareils = 100 % * 100 + Appareils> 90 % * 95 + Appareils> 60 % * 75 + Appareils < 60 % * 35) / Appareils connectés)", - "mac_not_found": "Numéro de série introuvable, vous redirigeant vers la page Appareils", - "memory_explanation": "Nombre d'appareils connectés avec la mémoire correspondante utilisée %", - "remove_from_blacklist": "Supprimer de la liste noire", - "success_added_blacklist": "Appareil ajouté avec succès à la liste noire !", - "success_edit_blacklist": "Liste noire modifiée avec succès !", - "success_removed_blacklist": "Appareil supprimé de la liste noire !", - "uptimes_explanation": "Nombre d'appareils connectés en fonction de leur disponibilité" + "devices": { + "all": "Tout", + "associations": "Les associations", + "connected": "Connecté", + "create_errors": "erreurs lors de la tentative de création d'appareils", + "create_success": " appareils créés avec succès", + "current_firmware": "Firmware actuel", + "device_type_not_found": "Type d'appareil non reconnu", + "duplicate_serial": "Numéro de série en double dans le fichier", + "error_rtty": "Erreur lors de la tentative de connexion à l'appareil : {{e}}", + "file_errors": "appareils problématiques", + "found_assigned": "appareils déjà attribués", + "found_not_assigned": "appareils déjà existants mais maintenant détenus", + "import_batch_tags": "Importer des appareils", + "import_device_warning": "Veuillez vous assurer qu'il n'y a pas d'espaces supplémentaires au début ou à la fin des valeurs, sauf si cela fait partie de la valeur souhaitée", + "import_explanation": "Pour importer en masse des appareils, vous devez utiliser un fichier CSV avec les colonnes suivantes : SerialNumber, DeviceType, Name, Description, Note", + "invalid_serial_number": "Numéro de série non valide (doit être composé de 12 caractères HEX)", + "new_devices": "nouveaux appareils", + "not_connected": "Pas connecté", + "not_found_gateway": "Erreur : l'appareil n'est pas encore connecté à la passerelle", + "one": "Dispositif", + "reassign_already_owned": "Réattribuer des appareils qui existent déjà et qui appartiennent à une autre entité/salle/abonné ?", + "sanity": "Santé mentale", + "start_import": "Démarrer l'importation de l'appareil", + "test_batch": "Tester les données d'importation", + "test_results": "Résultats de test", + "title": "Dispositifs", + "treating": "Essai:", + "unassigned_only": "Non attribué uniquement", + "update_error": "erreurs lors de la tentative de mise à jour des appareils", + "update_success": "appareils mis à jour avec succès" }, - "device_logs": { - "log": "Bûche", - "severity": "Gravité", - "title": "Journaux" - }, - "entity": { - "add_child": "Ajouter une entité enfant à {{entityName}}", - "add_failure": "Erreur, le serveur a renvoyé : {{error}}", - "add_ips": "Gérer les IP", - "add_root": "Ajouter une entité racine", - "add_success": "Entité créée avec succès !", - "assigned_inventory": "Inventaire assigné", - "cannot_delete": "Vous ne pouvez pas supprimer des entités qui ont des enfants. Supprimez les enfants de cette entité pour pouvoir la supprimer.", - "confirm_map_delete": "Êtes-vous sûr de vouloir supprimer la carte {{name}}? Cette action ne peut pas être annulée", - "currently_selected_entity": "Entité actuellement sélectionnée : {{config}}", - "currently_selected_venue": "Lieu actuellement sélectionné : {{config}}", - "delete_success": "Entité supprimée avec succès", - "delete_warning": "Attention : cette opération ne peut pas être annulée", - "duplicate_from_node": "Dupliquer avec un nœud racine spécifique", - "duplicate_map": "Carte en double", - "duplicate_with_node": "Dupliquer {{mapName}} avec {{rootName}} comme nœud racine", - "edit_failure": "Échec de la mise à jour : {{error}}", - "enter_here": "Entrez les IP que vous souhaitez ajouter ici", - "entire_tree": "Carte du réseau", - "entities": "Entités", + "entities": { + "active": "actif", + "add_configurations": "Ajouter des configurations", + "add_ips": "Ajouter des adresses IP", + "add_ips_explanation": "Vous pouvez ajouter des adresses IPv4 ou IPv6 dans les formats suivants", + "api_key": "Clé API", + "cant_delete_explanation": "Impossible de supprimer cette entité car elle a des entités enfants et/ou des lieux. Vous devez supprimer tous les enfants de cette entité avant de la supprimer", + "claim_device_explanation": "Pour réclamer des appareils, vous pouvez utiliser le tableau ci-dessous. Si un appareil a déjà été revendiqué par une autre entité ou un autre lieu, nous les désattribuerons également avant de les attribuer à cette entité", + "client_enrollment_profile": "Profil d'inscription du client", + "create_child_entity": "Créer une entité enfant", + "create_root": "Créer une entité racine", + "create_root_explanation": "Veuillez entrer les informations nécessaires pour créer l'entité racine de votre service d'approvisionnement. Ces informations peuvent être modifiées après la création", + "current_state": "État actuel", + "default_redirector": "Redirecteur par défaut", + "devices_to_claim": "Nouveaux appareils à réclamer", + "devices_under_root": "Les appareils ne peuvent pas être créés directement sous l'entité racine. Veuillez créer de nouvelles entités ou lieux et créer des appareils sous eux.", + "enter_ips": "Entrez les IP que vous souhaitez ajouter ici", "entity": "Entité", - "error_deleting_map": "Erreur lors de la suppression de la carte : {{error}}", - "error_fetch_entity": "Erreur lors de la récupération des informations sur l'entité", - "error_fetching": "Erreur lors de la récupération des entités", - "error_fetching_map": "Erreur lors de la récupération de la carte : {{error}}", - "error_fetching_tree": "Erreur lors de la récupération de l'arborescence : {{error}}", - "error_saving": "Erreur lors de l'enregistrement de l'entité", - "error_saving_map": "Erreur lors de l'enregistrement de la carte : {{error}}", - "higher_priority": "Faire une priorité plus élevée", + "error_sync": "Erreur lors de la tentative de démarrage de la synchronisation de {{name}} : {{e}}", + "failed_test": "Échec des tests avec les informations d'identification DigiCert, veuillez vérifier les informations de votre entité", + "initial_state": "État initial", + "ip_cidr": "IP/numéro (exemple : 10.0.0.0/8)", "ip_detection": "Détection IP", - "ip_formats": "Vous pouvez ajouter des adresses IPv4 ou IPv6 aux formats suivants :", - "lower_priority": "Faire une priorité inférieure", - "map": "Carte", - "map_delete_success": "Carte supprimée avec succès !", - "need_select_entity": "Vous devez sélectionner une entité dans le tableau ci-dessous", - "no_ips": "Aucune adresse IP sélectionnée", - "not_assigned": "Non attribué", - "only_unassigned": "Uniquement non attribué", - "select_entity": "Sélectionnez cette entité", - "selected_entity": "Entité sélectionnée", - "selected_map": "Carte sélectionnée", - "tree_saved": "Carte enregistrée avec succès !", - "update_failure_error": "Erreur lors de la tentative de mise à jour de l'entité : {{error}}", - "valid_serial": "Doit être un numéro de série valide (12 caractères HEX)", - "venues": "Les lieux" - }, - "factory_reset": { - "redirector": "Conserver le redirecteur :", - "reset": "Réinitialiser", - "resetting": "Réinitialisation…", - "title": "Retour aux paramètres d'usine", - "warning": "Avertissement : Une fois que vous avez soumis, cela ne peut pas être annulé" - }, - "firmware": { - "age_explanation": "Nombre moyen de jours pour tous les appareils à partir desquels nous pouvons obtenir cette valeur", - "average_age": "Âge moyen du micrologiciel", - "choose_custom": "Choisir", - "details_title": "Image #{{image}} Détails", - "device_type": "Type d'appareil", - "device_types": "Types d'appareils", - "downloads": "Téléchargements", - "error_fetching_latest": "Erreur lors de la récupération du dernier firmware", - "from_release": "De", - "history_title": "Historique", - "image": "Image", - "image_date": "Date de l'image", - "installed_firmware": "Micrologiciel installé", - "latest_explanation": "Appareils exécutant un firmware reconnu dans sa dernière version", - "latest_version_installed": "Dernière version installée", - "newer_firmware_available": "Révisions plus récentes disponibles", - "reinstall_latest": "Réinstaller", - "release": "libération", - "revision": "Révision", - "show_dev": "Afficher les versions des développeurs", - "size": "Taille", - "status": "État du micrologiciel", - "title": "Micrologiciel", - "to_release": "à", - "unknown_firmware_status": "État du micrologiciel inconnu", - "upgrade": "Améliorer", - "upgrade_command_submitted": "Mise à jour en cours...", - "upgrade_to_latest": "Dernier", - "upgrade_to_version": "Mettre à niveau vers cette révision", - "upgrading": "Mise à niveau..." + "ip_list": "Liste : IP, IP IP", + "ip_range": "Gamme : IP-IP", + "ip_single_address": "Adresse unique : IP", + "one": "Entité", + "organization": "Organisation", + "server_enrollment_profile": "Profil d'inscription du serveur", + "status": "Statut", + "sub_one": "Sous-entité", + "sub_other": "Sous-entités", + "success_sync": "La synchronisation de {{name}}a démarré avec succès !", + "success_test": "Le test des informations d'identification DigiCert de cette entité a réussi !", + "suspended": "Suspendu", + "sync_explanation": "Souhaitez-vous synchroniser cette entité ? Cela peut prendre un certain temps en fonction du nombre de certificats appartenant à cette entité.", + "sync_title": "Synchroniser {{name}}", + "test_digicert_creds": "Tester les informations d'identification", + "title": "Entités", + "tree": "Arborescence des entités", + "venues_under_root": "Les sites ne peuvent pas être créés directement sous l'entité racine. Veuillez créer de nouvelles entités et créer des lieux sous celles-ci." }, "footer": { - "coreui_for_react": "CoreUI pour React", "powered_by": "Alimenté par", "version": "Version" }, - "health": { - "sanity": "Santé mentale", - "title": "Santé" + "form": { + "certificate_file_explanation": "Veuillez utiliser un fichier .pem qui commence par \"-----BEGIN CERTIFICATE-----\" et se termine par \"-----END CERTIFICATE-----\"", + "invalid_cidr": "Adresse IPv4 CIDR non valide. Exemple : 192.168.0.1/12", + "invalid_email": "Email Invalide", + "invalid_file_content": "Contenu de fichier non valide, veuillez confirmer qu'il est au format valide", + "invalid_fqdn_host": "Nom d'hôte FQDN non valide", + "invalid_hostname": "Nom d'hôte non valide : il doit être composé uniquement de caractères alphanumériques et de tirets", + "invalid_icon_lang": "Langue non valide, elle doit être dans un format à 3 lettres (eng, fre, ger, ita, etc.)", + "invalid_ieee": "Pour ce protocole de cryptage, ieee80211w doit être soit 'facultatif' soit 'obligatoire'", + "invalid_interfaces": "Chaîne JSON d'interfaces non valide. Veuillez confirmer que votre valeur est : JSON valide et a des interfaces comme seule clé et que la valeur des interfaces est un tableau. Exemple : {\"interfaces\": []}", + "invalid_ipv4": "Adresse IPv4 invalide (ex. : 192.168.0.1 ou 192.168.0.1/16", + "invalid_ipv6": "Adresse IPv6 invalide (ex. : 2001:db8:3333:4444:5555:6666:7777:8888)", + "invalid_json": "Chaîne JSON non valide", + "invalid_lease_time": "Valeur de durée de bail non valide ! Ils doivent être au format digitUnit. Par exemple : 6d2h5m, ce qui signifie 6 jours, 2 heures et 5 minutes. Voici les unités acceptées : m, h, d. Si vous ne voulez pas utiliser une unité, omettez-la complètement. Donc au lieu de dire 0d2h0m, utilisez 2h", + "invalid_mac_uc": "Valeur UC-MAC non valide, par exemple : 00:00:5e:00:53:af", + "invalid_password": "Mot de passe invalide, veuillez consulter la politique de mot de passe", + "invalid_phone_number": "Numéro de téléphone invalide", + "invalid_phone_numbers": "Un ou plusieurs des numéros de téléphone sont invalides. Veuillez les fournir sans symboles ni espaces, ou dans ce format : +1(123)123-1234", + "invalid_port_range": "Valeur de port non valide. Il doit être supérieur à 0 et inférieur à 65 535. Si vous utilisez une plage de ports, assurez-vous que le deuxième port est un nombre supérieur au premier.", + "invalid_port_ranges": "Combinaison de plages de ports non valide ! Assurez-vous que les deux valeurs de port sont du même type (simple ou plage). S'il s'agit de plages, assurez-vous qu'elles couvrent toutes les deux le même nombre de ports", + "invalid_proto_6g": "Ce protocole de cryptage ne peut pas être utilisé sur un SSID qui utilise la 6G", + "invalid_proto_passpoint": "Ce protocole de cryptage ne peut pas être utilisé avec un SSID de point de passe. Veuillez sélectionner un protocole qui peut utiliser Radius", + "invalid_select_ports": "Valeurs incompatibles entre les interfaces ! Veuillez vous assurer qu'il n'y a pas de combinaison PORT/VLAN ID en double entre vos interfaces", + "invalid_third_party": "Chaîne JSON tierce non valide. Veuillez confirmer que votre valeur est un JSON valide", + "key_file_explanation": "Veuillez utiliser un fichier .pem qui commence par \"-----BEGIN PRIVATE KEY-----\" et se termine par \"-----END PRIVATE KEY-----\"", + "min_max_string": "La valeur doit être d'une longueur comprise entre {{min}} (inclus) et {{max}} (inclus)", + "missing_interface_upstream": "Vous devez avoir au moins une interface en amont. Pour le moment, toutes vos interfaces sont en aval", + "new_email_to_notify": "Nouvel e-mail à notifier", + "new_phone_to_notify": "Nouveau téléphone à notifier", + "not_selected": "Non séléctionné", + "not_uploaded_yet": "pas encore téléchargé", + "pem_file_explanation": "Veuillez utiliser un fichier .pem", + "required": "Champs obligatoires", + "using_file": "(en utilisant le fichier : {{filename}})", + "value_recorded_no_filename": "Valeur enregistrée, pas de nom de fichier" }, "inventory": { - "add_child": "Ajouter un lieu enfant", - "add_child_venue": "Ajouter un lieu enfant à {{entityName}}", - "add_tag": "Créer un tag", - "add_tag_to": "Ajouter un nouvel appareil à {{name}}", - "add_venue": "Ajouter un lieu", - "assign_ent_ven": "Attribuer à une entité ou à un lieu", - "assign_entity_instructions": "Vous pouvez soit trouver l'entité à laquelle vous souhaitez que cette balise soit attribuée en utilisant le menu ci-dessous, soit coller manuellement l'UUID de l'entité dans le champ ci-dessus.", - "assign_error": "Erreur lors de la tentative d'attribution de balise", - "assign_to_entity": "Affecter à l'entité", - "bulk_delete_assigned": "Souhaitez-vous supprimer en bloc les appareils attribués dans votre fichier ?", - "bulk_delete_assigned_warning": "Attention : cette action n'est pas réversible", - "bulk_delete_devices": "Supprimer en bloc des appareils", - "bulk_delete_devices_not_found": "{{number}} appareils introuvables", - "bulk_delete_explanation": "Pour supprimer en bloc des appareils, utilisez un fichier CSV avec une colonne appelée SerialNumber", - "bulk_delete_test": "Valider le fichier", - "close_entity_menu": "Fermer le menu Modifier l'entité", - "delete_devices": "Supprimer des appareils", - "delete_errors": "{{number}} Supprimer les erreurs de périphérique", - "delete_tag": "Supprimer la balise", - "delete_venue": "Supprimer définitivement le lieu", - "deleted_devices": "{{number}} appareils supprimés", - "deleting": "Suppression ...", - "deletion_failure": "Erreur de suppression", - "devices_assigned": "{{number}} appareils existants attribués et mis à jour", - "devices_created": "{{number}} appareils créés", - "devices_deleted": "Appareils supprimés", - "devices_errors_while_creating": "{{number}} créations d'appareils ont échoué", - "devices_errors_while_updating": "{{number}} mises à jour de l'appareil ont échoué", - "devices_found_assigned": "{{number}} appareils trouvés et déjà attribués à une entité ou à un lieu", - "devices_found_unassigned": "{{number}} appareils trouvés, mais non attribués", - "devices_imported": " Périphériques importés", - "devices_not_found": "{{number}} appareils sans conflit", - "devices_tested": "Appareils testés", - "duplicate_serial": "Numéro de série déjà utilisé dans le fichier (duplicata)", - "error_create_venue": "Erreur lors de la création du lieu", - "error_delete_tag": "Erreur lors de la suppression de la balise d'inventaire", - "error_get_venue": "Erreur lors de la récupération des lieux", - "error_pushing_config": "Erreur lors de la tentative d'envoi de la configuration sur l'appareil : {{error}}", - "error_retrieving": "Une erreur s'est produite lors de la récupération des balises d'inventaire", - "error_unassign": "Erreur lors de l'opération de désaffectation", - "error_update_venue": "Erreur lors de la mise à jour du lieu", - "error_venue_delete": "Erreur lors de la suppression du lieu", - "error_within_file": "{{number}} appareils avec des informations erronées dans le fichier (sera ignoré)", - "file_error": "Il semble y avoir une erreur dans votre fichier. Veuillez vous assurer que le fichier est au format CSV et contient les 5 colonnes mentionnées ci-dessus dans la première ligne du fichier", - "final_delete_results": "Résultats de la suppression finale", - "final_import_results": "Résultats d'importation finaux", - "import_assigned_devices": "Voulez-vous les réaffecter avec cette importation ?", - "import_assigned_devices_explanation": "Certains appareils sont en conflit avec des appareils déjà attribués. Vous devez résoudre ces problèmes avant d'importer.", - "import_devices": "Importer des appareils", - "import_devices_explanation": "Pour importer des appareils en bloc, vous devez utiliser un fichier CSV avec les colonnes suivantes : SerialNumber,Name,Description,DeviceType,NoteText", - "import_devices_to": "Importer des appareils dans {{name}}", - "import_existing_devices": "Mettre à jour et les attribuer ?", - "import_existing_devices_explanation": "Certains appareils existent déjà dans l'inventaire et ne sont pas affectés.", - "importing": "Importation ...", - "last_modification": "dernière modification", - "no_devices_to_delete": "Aucun appareil à supprimer", - "no_devices_to_import": "Aucun appareil valide à créer ou à mettre à jour !", - "note_text": "Texte de note", - "passed_tests": "Tous les tests ont été passés, vos appareils sont prêts à être importés !", - "serial_number_required": "Erreur : Numéro de série manquant", - "showing_top_10": "Voici un aperçu des informations que nous avons récupérées dans votre dossier :", - "sub_venues": "Sous-sites", - "subscriber": "Abonné", - "successful_assign": "Tag attribué avec succès", - "successful_tag_delete": "Balise d'inventaire supprimée avec succès", - "successful_tag_update": "Balise mise à jour avec succès", - "successful_unassign": "L'opération de désaffectation a réussi", - "successful_venue_create": "Lieu créé avec succès", - "successful_venue_delete": "Lieu supprimé avec succès", - "successful_venue_update": "Lieu mis à jour avec succès", - "tag_created": "Tag d'inventaire créé avec succès", - "tag_creation_error": "Erreur lors de la tentative de création d'une balise d'inventaire", - "tag_update_error": "Erreur lors de la mise à jour de la balise", - "tags_assigned_to": "Balises d'inventaire attribuées à {{name}}", - "test_import": "Valider les données d'importation", - "test_results": "Résultats de test", + "computed_configuration": "Configuration calculée", + "dev_class": "classe de périphérique", + "device_type": "Type d'appareil", + "error_reboots": "Erreur lors de l'envoi de la commande : {{count}}", + "error_remove_claim": "Erreur lors de la suppression de la revendication : {{e}}", + "error_upgrades": "Erreur lors de l'envoi de la commande de mise à niveau : {{count}}", + "invalid_serial_number": "Numéro de série invalide. Un numéro de série ne doit comporter que 12 caractères HEX (A-F, 0-9)", + "no_computed": "Aucune configuration calculée : vous devrez attribuer une configuration valide pour la voir", + "no_firmware": "Aucun micrologiciel disponible pour le type d'appareil : {{count}}", + "not_connected": "Appareil non connecté : {{count}}", + "parent": "Parent", + "serial_number": "Numéro de série", + "skipped_upgrades": "Mises à niveau ignorées : {{count}}", + "success_remove_claim": "Revendication supprimée avec succès sur : {{serial}}", + "successful_reboots": "Redémarrage commencé : {{count}}", + "successful_upgrades": "Mises à jour réussies : {{count}}", + "tag_one": "Étiquette", + "tags": "Balises d'inventaire", "title": "Inventaire", - "type_invalid": "Erreur : Type de périphérique non valide", - "unassign": "Annuler l'attribution", - "unassign_tag": "Désaffecter la balise de l'entité", - "unassigned_deleted_devices": "{{number}} appareils supprimés et non attribués", - "unassigned_tags": "Balises non attribuées", - "validating_import_file": "Validation du fichier d'importation et des données...", - "venue": "Lieu", - "view_in_gateway": "Afficher dans la passerelle" + "warning_reboots": "Appareils non connectés : {{count}}", + "warning_upgrades": "Appareils non connectés : {{count}}" }, - "location": { - "add": "Ajouter un emplacement", + "jobs": { + "error_macs": "MAC d'erreur", + "job": "Emploi", + "job_details": "Détails du poste", + "notify_emails": "Notifier les e-mails", + "notify_sms": "Notifier SMS", + "successful_macs": "MAC réussis", + "title": "Emplois" + }, + "locations": { + "address_line_one": "Adresse Ligne 1", + "address_line_two": "Adresse ligne deux", "building_name": "Nom du bâtiment", "city": "Ville", + "claim_explanation": "Pour revendiquer des emplacements, vous pouvez utiliser le tableau ci-dessous", "country": "Pays", - "create": "Créer un lieu", - "currently_selected": "Emplacement actuellement sélectionné : {{location}}", - "delete": "Supprimer le lieu?", - "error_assign": "Erreur lors de la tentative d'attribution de l'emplacement : {{error}}", - "error_creation": "Erreur lors de la tentative de création d'établissements : {{error}}", - "error_delete": "Erreur lors de la suppression de l'emplacement : {{error}}", - "error_fetching_single": "Erreur lors de la tentative de récupération de l'emplacement : {{error}}", - "geocode": "Géocode", - "mobiles": "MOBILES", - "no_associated": "Aucun emplacement associé", - "phones": "Téléphones", + "geocode": "Geo code", + "one": "Emplacement", + "other": "Emplacements", "postal": "Zip / code postal", - "search": "Recherchez des emplacements pour remplir automatiquement les champs ci-dessous", - "state": "Etat", - "street_address": "Adresse de rue", - "successful_creation": "Emplacement créé avec succès !", - "successful_delete": "Emplacement supprimé avec succès !", - "successful_update": "Emplacement mis à jour avec succès !", - "successfully_assigned": "Emplacement attribué avec succès !", + "state": "Etat / Province", "title": "Emplacements", - "update_error": "Erreur lors de la mise à jour de l'emplacement : {{error}}" + "to_claim": "Emplacements à réclamer" }, "login": { - "account_verification": "Vérification de compte", - "authentication_expired": "Authentification expirée, veuillez recommencer le processus de connexion", - "change_password": "Changer le mot de passe", - "change_password_error": "Erreur lors du changement de mot de passe. Assurez-vous que le nouveau mot de passe est valide en visitant la page « Politique de mot de passe »", - "change_password_instructions": "Saisissez et confirmez votre nouveau mot de passe", - "changing_password": "Modification du mot de passe...", + "access_policy": "Politique d'accès", + "change_password_error": "Mot de passe rejeté, il s'agit peut-être d'un ancien mot de passe", + "change_password_explanation": "Saisissez et confirmez votre nouveau mot de passe", + "change_your_password": "Changer le mot de passe", "confirm_new_password": "Confirmer le nouveau mot de passe", - "different_passwords": "Vous devez saisir deux fois le même mot de passe", - "email_code_validation": "Veuillez vérifier votre boîte e-mail et entrer le code de vérification que nous venons de vous envoyer dans la case ci-dessous", - "forgot_password_error": "Erreur lors de la tentative d'envoi de l'e-mail Mot de passe oublié. Veuillez vous assurer que cet identifiant est associé à un compte.", - "forgot_password_explanation": "Entrez votre nom d'utilisateur pour recevoir un e-mail contenant les instructions pour réinitialiser votre mot de passe", - "forgot_password_success": "Vous devriez bientôt recevoir un e-mail contenant les instructions pour réinitialiser votre mot de passe. S'il vous plaît assurez-vous de vérifier vos spams si vous ne trouvez pas l'e-mail", - "logging_in": "Se connecter...", - "login": "S'identifier", - "login_error": "Erreur de connexion, assurez-vous que les informations que vous fournissez sont valides", + "email_instructions": "Vous devriez bientôt recevoir un code à 6 chiffres sur votre adresse e-mail. Si vous ne le trouvez pas, veuillez vérifier votre dossier spam.", + "error_sending_code": "Erreur lors de la tentative d'envoi du code : {{e}}", + "forgot_password": "Mot de passe oublié?", + "forgot_password_instructions": "Entrez votre adresse e-mail pour recevoir un e-mail contenant les instructions pour réinitialiser votre mot de passe", + "forgot_password_successful": "Vous devriez bientôt recevoir un e-mail contenant les instructions pour réinitialiser votre mot de passe. S'il vous plaît assurez-vous de vérifier vos spams si vous ne trouvez pas l'e-mail", + "forgot_password_title": "Mot de passe oublié", + "google_instructions": "Veuillez saisir le code à 6 chiffres de votre application Google Authenticator. S'il est sur le point d'expirer, vous pouvez en attendre un nouveau", + "invalid_credentials": "Informations d'identification non valides, veuillez confirmer que vous utilisez le bon e-mail et le bon mot de passe.", + "invalid_mfa": "Code invalide! Veuillez réessayer", + "login_explanation": "Entrez votre email et votre mot de passe pour vous connecter", "new_password": "Nouveau mot de passe", - "password": "Mot de passe", - "phone_validation_explanation": "Veuillez vérifier votre appareil mobile et entrer le code de vérification que nous venons de vous envoyer dans la case ci-dessous", - "please_enter_gateway": "Veuillez saisir une URL uCentralSec", - "please_enter_password": "s'il vous plait entrez votre mot de passe", - "please_enter_username": "s'il vous plaît entrez votre nom d'utilisateur", - "previously_used": "Le mot de passe a déjà été utilisé", - "send_forgot": "Envoyer un email", - "sending_ellipsis": "Envoi...", - "sign_in_to_account": "Connectez-vous à votre compte", - "url": "URL uCentralSec", - "username": "Nom d'utilisateur", - "verification_code": "Entrez votre vérification ici", - "wrong_code": "Le code de vérification saisi n'est pas valide." + "password_policy": "Politique de mot de passe", + "remember_me": "Souviens-toi de moi", + "resend": "Renvoyer", + "resent_code": "Code renvoyé avec succès !", + "reset_password": "Réinitialiser le mot de passe", + "sign_in": "se connecter", + "sms_instructions": "Vous devriez bientôt recevoir un code à 6 chiffres sur votre téléphone. Veuillez le saisir ci-dessous pour vous connecter", + "verification": "Vérifiez votre connexion", + "waiting_for_email_verification": "Compte pas encore e-mail validé. Veuillez consulter votre boîte de réception ou demander à votre administrateur de renvoyer une validation", + "welcome_back": "Nous saluons le retour!", + "your_email": "Votre adresse email", + "your_new_password": "Votre nouveau mot de passe", + "your_password": "Votre mot de passe" }, - "preferences": { - "provisioning": "Provisioning" + "map": { + "auto_align": "Alignement automatique", + "auto_map": "Carte automatique", + "by_others": "Cartes par d'autres", + "cumulative_devices": "Appareils cumulatifs", + "default_map": "Carte par défaut", + "delete_warning": "Voulez-vous vraiment supprimer cette carte ? Cette opération n'est pas réversible", + "duplicating": "Dupliquer la carte", + "my_maps": "mes cartes", + "other": "Plans", + "root": "Racine", + "root_node": "Noeud principal", + "set_as_default": "Définir par défaut", + "title": "Carte", + "visibility": "Visibilité" }, - "reboot": { - "directions": "Quand souhaitez-vous redémarrer cet appareil ?", - "now": "Souhaitez-vous redémarrer cet appareil maintenant ?", - "title": "Redémarrer" + "operator": { + "delete_explanation": "Voulez-vous vraiment supprimer cet opérateur ? Cette opération n'est pas réversible", + "delete_operator": "Supprimer l'opérateur", + "import_location_from_device": "Importer depuis un autre appareil", + "one": "Opérateur", + "operator_one": "Opérateur", + "operator_other": "Les opérateurs", + "other": "Les opérateurs", + "registration_id": "ID d'enregistrement" }, - "scan": { - "active": "Activer l'analyse active", - "channel": "Canal", - "directions": "Lancez une analyse wifi de cet appareil, ce qui devrait prendre environ 25 secondes.", - "re_scan": "Nouvelle analyse", - "result_directions": "Vous pouvez cliquer sur le bouton 'Scan' en haut à droite pour $t(scan.re_scan)", - "results": "Résultats de l'analyse Wi-Fi", - "scan": "Balayage", - "scanning": "Balayage... ", - "waiting_directions": "Veuillez attendre le résultat de l'analyse. Cela peut prendre jusqu'à 25 secondes. Vous pouvez quitter et consulter les résultats du tableau des commandes plus tard." + "organization": { + "my_organization": "Mon organisation", + "title": "Organisation" }, - "settings": { - "title": "Réglages" + "profile": { + "about_me": "À propos de moi", + "activate": "", + "add_new_note": "Ajouter une note", + "deactivate": "Désactiver", + "disabled": "Désactivé", + "enabled": "Activée", + "manage_avatar": "Gérer l'avatar", + "new_password": "Nouveau mot de passe", + "new_password_confirmation": "Confirmer le nouveau mot de passe", + "your_profile": "Votre profil" }, - "simulation": { - "add": "Ajouter une simulation", - "cancel": "annuler", - "cancel_success": "Exécution de la simulation annulée avec succès !", - "check_ongoing_sims": "Suivre le Sim en cours", - "client_interval": "Intervalle client", - "delete_simulation": "Supprimer Sim. {{name}}", - "end": "Terminé", - "error_creating": "Erreur lors de la création de la simulation : {{error}}", - "error_delete": "Erreur lors de la suppression de la simulation : {{error}}", - "error_devices": "Périphériques d'erreur", - "error_edit": "Erreur lors de la tentative d'enregistrement de la simulation : {{error}}", - "error_edit_run": "Erreur lors de la tentative de modification de l'état d'exécution : {{error}}", - "error_fetching_simulations": "Erreur lors de la récupération des simulations : {{error}}", - "error_start_run": "Erreur lors de la tentative de démarrage d'une simulation : {{error}}", - "gateway": "passerelle", - "healtcheck_interval": "Intervalle de vérification de l'état", - "keep_alive": "Rester en vie", - "last_refresh": "Dernier rafraîchissement", - "length": "Longueur", - "live_devices": "Appareils en direct", - "mac_prefix": "Préfixe MAC", - "max_associations": "Max. Les associations", - "max_clients": "Max. Clients", - "messages_transmitted": "Émission de messages", - "min_associations": "Min. Les associations", - "min_clients": "Min. Clients", - "pause": "Pause", - "pause_success": "Exécuter en pause !", - "prefix_length": "Obligatoire, doit être d'une longueur de 6 caractères", - "previous_runs": "Courses précédentes", - "received": "reçu", - "received_messages": "Réception des messages", - "reconnect_interval": "Intervalle de reconnexion", - "resume": "CV", - "resume_success": "Exécution reprise !", - "run": "Exécution de simulation", - "run_simulation": "Exécuter la simulation", - "started": "commencé", - "state_interval": "Intervalle d'état", - "stop": "Arrêtez", - "stop_success": "Exécution arrêtée !", - "success_creating": "Simulation créée avec succès !", - "success_run_start": "Exécution démarrée avec succès !", - "successful_delete": "Simulation supprimée avec succès !", - "successful_edit": "Simulation éditée avec succès !", - "threads": "Fils", - "time_full_devices": "Temps pour les appareils pleins", - "title": "Simulations", - "transmitted": "Transmis", - "valid_cert": "Certificat valide", - "valid_key": "Clé valide" + "resources": { + "configuration_resource": "ressource", + "title": "Ressources", + "variable": "Variable" + }, + "rrm": { + "algorithm": "Algorithme", + "algorithm_other": "Algorithmes", + "cant_save_custom": "Impossible de créer ou de modifier des configurations RRM personnalisées tant que le serveur RRM n'est pas accessible. Veuillez consulter votre administrateur", + "cron_error": "Erreur lors de l'analyse de l'expression CRON : veuillez confirmer qu'elle est valide", + "cron_scheduler": "Planificateur CRON", + "cron_templates": "Modèles", + "no_algos": "Nous ne sommes pas en mesure de récupérer les algorithmes RRM pour le moment", + "no_providers": "Nous ne sommes pas en mesure de récupérer les fournisseurs RRM pour le moment", + "param_error": "Vos paramètres ne respectent pas les règles de cet algorithme. Veuillez regarder les exemples d'algorithmes et les détails", + "parameters": "Paramètres", + "vendor": "vendeur", + "version": "Version" + }, + "service": { + "billing_code": "Code de facturation", + "billing_frequency": "Fréquence de facturation", + "class_one": "Classe de service", + "class_other": "Catégories de services", + "cost": "Coût", + "one": "Classe de service", + "other": "Catégories de services" }, "statistics": { - "data": "Données (Ko)", - "data_mb": "Données (Mo)", - "latest_statistics": "Dernières statistiques", - "lifetime_stats": "Statistiques à vie", - "memory": "mémoire", - "no_interfaces": "Aucune statistique de durée de vie de l'interface disponible", - "show_latest": "Dernières statistiques", - "title": "statistiques", - "used": "Mémoire utilisée %" + "last_stats": "Dernières statistiques", + "memory": "mémoire" }, - "status": { - "connection_status": "Statut", - "error": "Les données d'état ne sont pas disponibles", - "last_contact": "Dernier contact", - "load_averages": "Charge (1/5/15 m.)", - "localtime": "heure locale", - "memory": "Mémoire utilisée", - "percentage_free": "{{percentage}}% de {{total}} gratuit", - "percentage_used": "{{percentage}}% de {{total}} utilisé", - "title": "#{{serialNumber}} état", - "total_memory": "Mémoire totale", - "uptime": "La disponibilité", - "used_total_memory": "{{used}} utilisé / {{total}} total" - }, - "subscriber": { - "add_device_subscriber_explanation": "Pour réclamer d'autres appareils, vous pouvez utiliser notre barre de recherche ou réclamer directement à partir du tableau. Si un appareil a déjà été réclamé par un utilisateur, vous devrez accéder à ses détails et le désaffecter avant de le réclamer.", - "create": "Créer un abonné", - "devices_one": "{{count}} Appareil", - "devices_other": "{{count}} appareils", - "edit": "Modifier l'abonné", - "error_create": "Erreur lors de la création de l'abonné : {{error}}", - "error_delete": "Erreur lors de la suppression de l'abonné : {{error}}", - "error_fetching": "Erreur lors de la récupération des abonnés : {{error}}", - "error_fetching_single": "Erreur lors de la récupération de l'abonné : {{error}}", - "error_update": "Erreur lors de la mise à jour de l'abonné : {{error}}", - "is_already_claimed": "est déjà réclamé par", - "subscribers": "Les abonnés", - "success_create": "Abonné créé avec succès !", - "success_delete": "Abonné supprimé avec succès !", - "success_update": "Abonné mis à jour avec succès !" + "subscribers": { + "billing_contact_info": "Facturation et coordonnées", + "claim_device_explanation": "Pour réclamer des appareils, vous pouvez utiliser le tableau ci-dessous. Si un appareil a déjà été réclamé par un utilisateur, vous devrez accéder à ses détails et le désattribuer avant de le réclamer.", + "devices_claimed_one": "{{count}} Appareil réclamé", + "devices_claimed_other": "{{count}} appareils revendiqués", + "devices_to_claim_one": "{{count}} Appareil à réclamer", + "devices_to_claim_other": "{{count}} appareils à réclamer", + "error_claiming": "Erreur lors de la revendication : {{serials}}", + "error_removing_claim": "Erreur lors de la suppression des revendications sur : {{serials}}", + "no_subscribers_found": "Aucun abonné trouvé", + "one": "Abonné", + "other": "Les abonnés", + "reactivate_explanation": "Voulez-vous vraiment réactiver cet abonné ?", + "reactivate_title": "Réactiver l'abonné", + "title": "Les abonnés" }, "system": { - "error_fetching": "Erreur lors de la récupération des informations système", - "error_reloading": "Erreur lors du rechargement : {{error}}", + "could_not_retrieve": "Erreur : impossible de récupérer les informations système {{name}} ", + "endpoint": "Point final", "hostname": "nom d'hôte", - "os": "le système d'exploitation", + "info": "Information système", + "os": "Système opérateur", "processors": "Processeurs", - "reload": "Recharger", - "reload_subsystems": "Recharger", + "reload_chosen_subsystems": "Recharger les sous-systèmes choisis", + "start": "Début", "subsystems": "Sous-systèmes", - "success_reload": "Recharger la commande soumise avec succès !" + "success_reload": "Commande de rechargement envoyée avec succès !", + "systems_to_reload": "Choisissez les systèmes à recharger", + "title": "Système", + "uptime": "La disponibilité", + "version": "Version" }, - "telemetry": { - "connection_failed": "Échec de la création de la connexion. Erreur : {{error}}", - "interval": "Intervalle", - "last_update": "Dernière mise à jour", - "lifetime": "Durée", - "outputmode": "Mode de sortie", - "types": "Les types" - }, - "trace": { - "choose_network": "Choisir le réseau", - "directions": "Lancer une trace à distance de cet appareil pour une durée spécifique ou un nombre de paquets", - "download_trace": "Télécharger le fichier de trace", - "packets": "Paquets", - "title": "Trace", - "trace": "Trace", - "trace_not_successful": "Trace non réussie : la passerelle a signalé l'erreur suivante : {{error}}", - "wait_for_file": "Attendre que le fichier de trace soit prêt ?", - "waiting_directions": "Veuillez attendre le fichier de données de trace. Cela peut prendre un certain temps. Vous pouvez quitter l'attente et récupérer le fichier de trace de la table des commandes plus tard.", - "waiting_seconds": "Temps écoulé : {{seconds}} secondes" - }, - "upgrade": { - "command_submitted": "Commande soumise", - "device_disconnected": "Appareil déconnecté", - "device_reconnected": "Appareil reconnecté", - "device_upgrading_firmware": "Mise à niveau du micrologiciel de l'appareil", - "directions": "Choisissez une heure et une version de firmware pour cet appareil", - "firmware_uri": "URI du micrologiciel :", - "need_uri": "Vous avez besoin d'un URI...", - "new_version": "La nouvelle version est", - "offline_device": "Cette option est bloquée car cet appareil n'est pas connecté", - "time": "Heure de la mise à niveau :", - "title": "Mise à jour du firmware", - "upgrade": "Améliorer", - "wait_for_upgrade": "Souhaitez-vous attendre la fin de la mise à niveau ?", - "waiting_for_device": "En attente de la reconnexion de l'appareil" + "table": { + "columns_hidden_one": "{{count}} Colonne masquée", + "columns_hidden_other": "{{count}} colonnes masquées", + "first_page": "Première page", + "go_to_page": "Aller à la page", + "last_page": "Dernière page", + "next_page": "Page suivante", + "page": "Page", + "previous_page": "Page précédente" }, "user": { - "add_phone_number": "Ajouter un numéro de téléphone", - "avatar": "Votre avatar", - "avatar_file": "Votre Avatar (max. de 2 Mo)", - "check_phone": "Veuillez vérifier votre téléphone pour votre code de validation", - "confirm_new_password": "Confirmer le nouveau mot de passe", - "create": "Créer un utilisateur", - "create_failure": "Erreur lors de la création de l'utilisateur : {{error}}", - "create_success": "L'utilisateur a été créé avec succès", - "creating": "Création de l'utilisateur...", - "delete_avatar": "Supprimer l'avatar", - "delete_failure": "Erreur lors de la tentative de suppression de l'utilisateur: {{error}}", - "delete_success": "Utilisateur supprimé avec succès !", - "delete_title": "Supprimer l'utilisateur", - "delete_warning": "Avertissement : Une fois que vous avez supprimé un utilisateur, vous ne pouvez plus revenir en arrière", - "deleting": "Suppression ...", - "description": "La description", - "edit": "Modifier l'utilisateur", - "email_address": "Adresse électronique", - "enter_new_phone": "Saisissez votre nouveau numéro de téléphone :", - "error_fetching_users": "Erreur lors de la récupération des utilisateurs : {{error}}", - "error_retrieving": "Erreur lors de la récupération de l'utilisateur", - "error_sending_code": "Erreur lors de la tentative d'envoi du code de validation. Veuillez confirmer que votre numéro de téléphone est valide.", - "force_password_change": "Forcer le changement de mot de passe lors de la connexion", - "id": "Identifiant d'utilisateur.", - "last_login": "Dernière connexion", - "login_id": "Identifiant de connexion.", - "make_sure_same_password": "Assurez-vous que les deux mots de passe sont identiques et valides", - "my_profile": "Mon profil", - "name": "Prénom", - "new_code_sent": "Nouveau code envoyé !", - "nickname": "Surnom", - "nickname_explanation": "Surnom (optionnel)", - "not_validated": "Pas valide", - "note": "Remarque", + "error_fetching": "Erreur lors de la récupération des informations utilisateur : {{e}}", "password": "Mot de passe", - "phone_number": "Numéro de téléphone", - "provide_email": "Veuillez fournir une adresse email valide", - "provide_password": "Veuillez fournir un mot de passe valide", - "save_avatar": "Enregistrer l'avatar", - "send_code": "Envoyer le code", - "send_code_again": "Envoyer code à nouveau", - "show_hide_password": "Afficher/Masquer le mot de passe", - "successful_validation": "Numéro de téléphone validé ! Cliquez sur le bouton Enregistrer pour le lier à votre profil", - "table_title": "Utilisateurs administrateurs", - "update_failure": "Erreur lors de la tentative de mise à jour : {{error}}", - "update_failure_title": "mise à jour a échoué", - "update_success": "L'utilisateur a bien été mis à jour", - "update_success_title": "Succès", - "user_role": "Rôle", - "users": "Utilisateurs", - "validate_phone": "Valider", - "validated": "Validé", - "wrong_validation_code": "Vous n'avez pas entré de code valide. Veuillez réessayer et assurez-vous d'avoir entré le bon numéro de téléphone" + "role": "Rôle", + "title": "Utilisateur" }, - "wifi_analysis": { - "association": "Association", - "associations": "Les associations", - "mode": "Mode", - "network_diagram": "Diagramme de réseau", - "override_dfs": "Remplacer DFS", - "radios": "Radios", - "scan_warning": "Votre radio 5G est sur un canal radar, vous devez activer \"Override DFS\" pour permettre le balayage de tous les canaux 5G", - "title": "Analyse Wi-Fi", - "vendor": "vendeur", - "waiting_for_data": "En attente de réception des données de l'appareil. Veuillez revérifier plus tard" + "users": { + "change_password": "Forcer le changement de mot de passe", + "email_validation": "Validation des e-mails", + "error_fetching": "Erreur lors de la récupération des utilisateurs : {{e}}", + "error_sending_validation": "Erreur lors de l'envoi de l'e-mail de validation : {{e}}", + "last_login": "Dernière connexion", + "login_id": "Identifiant de connexion", + "one": "Utilisateur", + "re_validate_email": "Re-valider l'e-mail", + "reactivate_user": "Réactiver l'utilisateur", + "reset_mfa": "Réinitialiser l'authentification multifacteur", + "reset_mfa_success": "L'utilisateur MFA a bien été réinitialisé !", + "reset_password": "Réinitialiser le mot de passe", + "reset_password_error": "Erreur lors de la tentative de réinitialisation du mot de passe utilisateur : {{e}}", + "reset_password_success": "L'e-mail de réinitialisation du mot de passe a bien été envoyé à l'adresse e-mail de l'utilisateur", + "role": "Rôle", + "send_validation": "Envoyer un e-mail de validation", + "send_validation_explanation": "Voulez-vous renvoyer le lien de vérification par e-mail ?", + "stop_suspension": "Réactiver", + "success_sending_validation": "E-mail de validation envoyé !", + "suspend": "Suspendre", + "suspend_success": "L'utilisateur est maintenant suspendu", + "suspended": "Suspendu", + "title": "utilisateurs", + "waitiing_for_email_verification": "Email non vérifié" + }, + "venues": { + "confirm_remove_contact": "Voulez-vous supprimer ce contact de ce lieu ?", + "create_child": "Créer un lieu enfant", + "error_remove_contact": "Erreur lors de la tentative de suppression du contact : {{e}}", + "error_update_devices": "Erreur lors du démarrage de la mise à jour de l'appareil : {{e}}", + "go_to_page": "Aller à la page", + "one": "lieu", + "reboot_all_devices": "Redémarrez tous les appareils", + "sub_one": "Sous-lieu", + "sub_other": "Sous-lieux", + "subvenues": "Sous-lieux", + "successfully_reboot_devices": "Redémarrage de {{num}} appareils !", + "successfully_removed_contact": "Contact supprimé avec succès !", + "successfully_update_devices": "Mise à jour de {{num}} appareils !", + "title": "Les lieux", + "update_all_devices": "Mettre à jour toutes les configurations de périphérique", + "upgrade_all_devices": "Mettre à niveau tous les appareils vers le dernier micrologiciel", + "upgrade_all_devices_error": "Erreur lors de la mise à jour des appareils : {{e}}", + "upgrade_all_devices_success": "La mise à niveau des appareils a démarré avec succès !", + "use_existing": "Utiliser l'existant", + "use_existing_contacts": "Utiliser les contacts existants", + "use_this_contact": "Utilisez ce contact" } } diff --git a/public/locales/pt/translation.json b/public/locales/pt/translation.json index 6fd25a0..af3d6eb 100644 --- a/public/locales/pt/translation.json +++ b/public/locales/pt/translation.json @@ -1,824 +1,953 @@ { - "actions": { - "actions": "Ações", - "blink": "Piscar", - "configure": "Configurar", - "connect": "Conectar", - "connecting": "A ligar ...", - "factory_reset": "Restauração de fábrica", - "firmware_upgrade": "Atualização de firmware", - "reboot": "Reiniciar", - "request_ie": "Solicitar IEs", - "telemetry": "Telemetria", - "title": "Comandos", - "trace": "Vestígio", - "wifi_scan": "Wi-Fi Scan" + "account": { + "account": "Conta", + "activating_google_authenticator": "Ativando o Google Authenticator", + "activating_sms_mfa": "Validação do número de telefone", + "avatar": "Avatar", + "error_fetching_qr": "Erro ao buscar o código QR: {{e}}", + "error_phone_verif": "Erro com seu código de validação, tente novamente.", + "google_authenticator": "Autenticador do Google", + "google_authenticator_intro": "Para usar o Google Authenticator como método de autenticação dupla da sua conta, primeiro você precisa instalar o aplicativo em seu dispositivo iOS ou Android", + "google_authenticator_ready": "Depois de ter o aplicativo pronto para uso, você pode prosseguir", + "google_authenticator_scan_qr_code_explanation": "Digitalize o seguinte QR Code usando o \"Scan a QR Code\" no aplicativo Google Authenticator", + "google_authenticator_scanned_qr_code": "Depois que o código QR for digitalizado com sucesso em seu telefone, você poderá prosseguir para a próxima etapa", + "google_authenticator_success_explanation": "Agora você configurou com sucesso o Google Authenticator com sua conta. Não se esqueça de salvar suas alterações para confirmar!", + "google_authenticator_type_code": "Insira o código de 6 dígitos do seu aplicativo Google Authenticator abaixo", + "google_authenticator_wait_for_code": "Aguarde o próximo código (não {{old}})", + "google_authenticator_wrong_code": "Código inválido! Tente novamente ou aguarde a geração do próximo código no aplicativo Google Authenticator", + "mfa": "Autenticação multifatorial", + "phone": "telefone", + "phone_number": "Número de telefone", + "phone_number_add_introduction": "Digite o número de telefone que você gostaria de usar para proteger sua conta no login", + "phone_required": "Para ativar a verificação por SMS, você precisa inserir um número de telefone", + "phone_validation_success_explanation": "Número de telefone verificado com sucesso! Clique em 'Salvar' para adicionar este número de telefone à sua conta", + "proceed_to_activation": "Iniciar processo de ativação", + "resend": "REENVIAR", + "sms": "SMS", + "success_phone_verif": "Número de telefone verificado com sucesso! Agora você pode salvar seu perfil", + "title": "Minha conta", + "verify_phone_instructions": "Você deve receber um código no seu número de telefone nos próximos segundos. Insira-o abaixo para verificar seu número de telefone", + "verify_phone_number": "Verifique seu número de telefone" }, - "blink": { - "blink": "Piscar", - "device_leds": "LEDs do dispositivo", - "execute_now": "Você gostaria de definir este padrão agora?", - "explanation": "Que padrão você gostaria de definir neste dispositivo por 30 segundos?", - "pattern": "Escolha o padrão que deseja usar:", - "set_leds": "Definir LEDs", - "when_blink_leds": "Quando você gostaria de fazer os LEDs do dispositivo piscarem?" + "analytics": { + "ack_signal": "Sinal ACK", + "active": "Ativo", + "airtime": "Tempo de antena", + "analyze_sub_venues": "Monitorar Sub-Locais", + "associations": "Associações", + "associations_explanation": "Total de associações", + "average_health": "Saúde geral", + "average_health_explanation": "Sanidade média de todos os dispositivos conectados que fornecem as informações de verificação de integridade", + "average_memory": "Memória Usada", + "average_memory_explanation": "Porcentagem média de memória usada", + "average_uptime": "Tempo de atividade médio", + "average_uptime_explanation": "Tempo médio de atividade do dispositivo (DD:HH:MM:SS)", + "band": "Banda", + "bandwidth": "Largura de banda", + "board": "Coleta de análises", + "busy": "Ocupado", + "channel": "Canal", + "client_lifecycle": "Ciclo de vida do cliente", + "client_lifecycle_one": "{{count}} Ciclo de vida do cliente", + "client_lifecycle_other": "{{count}} Ciclos de vida do cliente", + "connected": "Conectado", + "connection_explanation": "{{connectedCount}} conectado, {{disconnectedCount}} não conectado", + "connection_percentage": "{{count}}% conectado", + "connection_percentage_explanation": "Porcentagem de todos os dispositivos neste local que estão conectados ({{connectedCount}} conectados, {{disconnectedCount}} não conectados)", + "create_board": "Iniciar monitoramento", + "dashboard": "painel de controle", + "delta": "Delta", + "device_types": "Tipos", + "device_types_explanation": "Tipos de dispositivos de todos os dispositivos disponíveis", + "disconnected": "Desconectado", + "firmware": "Firmware", + "health": "Saúde", + "inactive": "Inativo", + "interval": "intervalo", + "last_connection": "última conexão", + "last_contact": "Último contato", + "last_disconnection": "Última desconexão", + "last_firmware_explanation": "Firmware mais comum em execução nos dispositivos analisados", + "last_health": "Última Saúde", + "last_ping": "Último ping", + "live_view": "Visualização ao vivo", + "live_view_explanation_five": "Você também pode clicar em qualquer um dos círculos para aumentar o zoom", + "live_view_explanation_four": "Você pode passar o mouse sobre qualquer um dos objetos com o mouse para ver informações detalhadas", + "live_view_explanation_one": "O gráfico 'Live View' é uma representação visual do seu local.", + "live_view_explanation_three": "Local -> AP -> Rádio -> SSID -> UEs", + "live_view_explanation_two": "De fora para dentro:", + "live_view_help": "Ajuda da visualização ao vivo", + "memory": "Memória", + "memory_used": "Memória Usada", + "mode": "Modo", + "noise": "Barulho", + "packets": "Pacotes", + "radio": "Rádio", + "raw_analytics_data": "Dados brutos de análise", + "raw_data": "Dados não tratados", + "receive": "Receber", + "retention": "Retenção", + "retries": "Novas tentativas", + "search_serials": "Pesquisar séries", + "stop_monitoring": "Parar o monitoramento", + "temperature": "Temperatura", + "title": "Analytics", + "total_data": "Dados totais", + "total_devices_explanation": "Todos os dispositivos neste local ({{connectedCount}} conectado, {{disconnectedCount}} não conectado)", + "total_devices_one": "{{count}} Dispositivo", + "total_devices_other": "{{count}} dispositivos", + "uptime": "Tempo de atividade" + }, + "batch": { + "batches": "Lotes", + "cannot_edit_macs": "Como os trabalhos já foram executados neste lote, você não pode editar seus endereços MAC", + "change_warning": "AVISO: você atualizou o modelo ou o fabricante. É altamente recomendável atualizar seus certificados para que eles permaneçam consistentes com este lote escolhendo a opção \"Salvar e atualizar certificados\"", + "create": "Criar certificados", + "create_certificates": "Criar certificados", + "create_certificates_explanation": "Tem certeza de que deseja criar os {{nbCerts}} certificados deste lote?", + "create_certificates_title": "Criar certificados de {{name}}", + "delete_explanation": "Tem certeza de que deseja excluir este lote? Isso revogará todos os certificados {{nbCerts}} e os excluirá. Esta operação não é reversível", + "delete_title": "Excluir lote {{name}}", + "duplicate_in_file": "MAC duplicado encontrado na linha {{firstRow}} e {{secondRow}}: {{mac}}", + "emails_to_notify": "E-mails para notificar quando esta tarefa for concluída", + "error_push": "Erro ao iniciar o job de alterações push: {{e}}", + "general_error_treating_file": "Erro geral ao tratar o arquivo: verifique se ele está no formato .CSV, contém apenas uma coluna sem cabeçalho.", + "invalid_mac": "MAC inválido na linha {{row}}: {{mac}}", + "mac_count_title": "{{nb}} MACs atualmente fazem parte deste lote", + "nb_macs": "{{nb}} MAC", + "need_devices": "Você precisa ter pelo menos um certificado para criar!", + "parsing_error": "Erro de análise na linha {{row}}: {{e}}", + "phones_to_notify": "Números de telefone para notificar quando a tarefa for concluída", + "push_changes": "Alterações de envio", + "push_changes_explanation": "Tem certeza de que deseja enviar as informações do lote para todos os certificados deste lote?", + "revoke_explanation": "Tem certeza de que deseja revogar este lote? Isso revogará todos os seus {{nbCerts}} certificados. Esta operação não é reversível", + "revoke_title": "Revogar Lote {{name}}", + "save_and_change": "Salvar e atualizar certificados", + "success_push": "Job de alterações push iniciado com sucesso! Número do trabalho: {{job}}", + "title": "Lote" + }, + "certificates": { + "certificate": "Certificado", + "common_names_explanation": "Precisa de um arquivo .CSV de apenas uma coluna sem nome contendo 12 MACs de dispositivo de dígitos HEX.", + "device": "Dispositivo", + "device_macs": "MACs do dispositivo", + "domain_name": "Nome do domínio", + "error_fetching": "Erro ao buscar certificados: {{e}}", + "error_revoke": "Erro ao tentar revogar o certificado: {{e}}", + "expires_on": "Expira em", + "filename": "Nome do arquivo", + "invalid_domain": "Os formatos aceitos são: domain.top_level_domain ou sub_domain.domain._top_level_domain", + "invalid_mac": "Precisa ter 12 caracteres HEX", + "invalid_redirector": "Os formatos aceitos são: example.com, example.com:16000", + "mac_address": "Endereço MAC", + "macs": "Mac", + "manufacturer": "Fabricante", + "model": "Modelo", + "redirector": "Redirecionador", + "revoke": "REVOGAR", + "revoke_count": "Revogar contagem", + "revoke_warning": "Tem certeza de que deseja revogar este certificado?", + "server": "Servidor", + "successful_revoke": "Certificado revogado com sucesso!", + "title": "Certificados" }, "commands": { - "command_success": "Comando enviado com sucesso", - "error": "Erro ao enviar comando!", - "error_delete_log": "Erro ao tentar excluir: {{error}}", - "event_queue": "Fila de Eventos", - "reboot_start": "O processo de reinicialização foi iniciado!", - "success": "Comando enviado com sucesso, você pode consultar o log de Comandos para ver o resultado", - "title": "Histórico de Comandos", - "unable_queue": "Incapaz de completar o pedido de fila de eventos: {{error}}" + "abort_command_explanation": "Tem certeza de que deseja parar de esperar pelo resultado deste comando?", + "abort_command_title": "Comando Abortar", + "active_scan": "Verificação ativa", + "blink": "Piscar", + "blink_error": "Erro ao enviar o comando de piscar: {{e}}", + "blink_success": "Comando Blink enviado com sucesso!", + "channel": "Canal", + "confirm_reset": "Iniciar redefinição do dispositivo #{{serialNumber}}", + "connect": "Conectar", + "execution_time": "tempo de execução", + "factory_reset": "Dispositivo de redefinição de fábrica", + "factory_reset_error": "Erro ao tentar redefinir o dispositivo de fábrica: {{e}}", + "factory_reset_success": "Redefinição de fábrica do dispositivo iniciada com sucesso!", + "factory_reset_warning": "Tem certeza de que deseja redefinir a configuração original deste dispositivo? Esta ação não é reversível", + "firmware_upgrade": "Atualização de firmware", + "firmware_upgrade_error": "Erro ao tentar atualizar o firmware do dispositivo: {{e}}", + "firmware_upgrade_success": "Atualização do dispositivo iniciada com sucesso!", + "image_date": "Data da Imagem", + "keep_redirector": "Manter redirecionador?", + "other": "comandos", + "override_dfs": "Substituir DFS", + "reboot": "Reiniciar", + "reboot_error": "Erro ao enviar o comando de reinicialização: {{e}}", + "reboot_success": "Comando de reinicialização enviado com sucesso!", + "revision": "revisão", + "scan": "Varredura", + "signal": "sinal", + "upgrade": "Melhorar", + "wifiscan": "Wifi Scan", + "wifiscan_error": "Erro ao tentar verificar o dispositivo: {{e}}", + "wifiscan_error_1": "Seu rádio 5G está em um canal de radar, você deve habilitar “Override DFS” para permitir a varredura de todos os canais 5G" }, "common": { - "access_policy": "Política de Acesso", - "add": "Adicionar", - "add_items": "Adicionar itens", - "add_note": "Adicionar nota", - "add_note_explanation": "Escreva sua nova nota abaixo e clique no botão '+' quando terminar", - "adding_ellipsis": "Adicionando ...", + "actions": "Ações", + "address_search_autofill": "Pesquise locais para preencher automaticamente os campos abaixo", + "alert": "Alerta", "all": "Todos", - "are_you_sure": "Você tem certeza?", - "back_to_login": "Volte ao login", - "back_to_start": "Voltar ao Início", - "blacklist": "Lista negra", + "assign": "Atribuir", + "avg": "média", + "back": "de volta", + "base_information": "Informações básicas", "by": "Por", "cancel": "Cancelar", - "certificate": "Certificado", - "certificates": "Certificados", "claim": "Afirmação", - "clear": "Claro", "close": "Perto", - "code": "Código", + "columns": "Colunas", "command": "Comando", - "commands": "comandos", - "commands_executed": "Comandos Executados", - "compatible": "Compatível", "completed": "Concluído", - "concurrent_devices": "Dispositivos Simultâneos", - "config_id": "Config. Identidade", "confirm": "confirme", - "confirm_stop_editing": "Tem certeza que deseja parar de editar? Isso cancelará todas as alterações não salvas que você fez.", "connected": "Conectado", - "copied": "Copiado!", - "copied_to_clipboard": "Copiado para a área de transferência!", - "copy_to_clipboard": "Copiar para área de transferência", + "copied": "copiado", + "copy": "cópia de", "create": "Crio", + "create_new": "Crie um novo", "created": "Criado", - "created_by": "Criado Por", "creator": "O Criador", - "current": "Atual", - "custom_date": "Data personalizada", - "dashboard": "painel de controle", + "custom": "personalizadas", + "daily": "diariamente", "date": "Encontro", - "day": "dia", - "days": "dias", - "default_map": "Mapa Padrão", - "delete": "Excluir", - "delete_device": "Apagar dispositivo", + "day": "Dia", + "days": "Dias", + "default": "Padrão", + "description": "Descrição", "details": "Detalhes", - "device": "Dispositivo nº{{serialNumber}}", - "device_dashboard": "Painel do dispositivo", - "device_delete": "Excluir #{{serialNumber}}", - "device_deleted": "Dispositivo excluído com sucesso", - "device_health": "Saúde do Dispositivo", - "device_list": "Lista de Dispositivos", - "device_page": "Visão", - "device_status": "Status do dispositivo", - "devices": "Devices", - "devices_using_latest": "Dispositivos que usam o firmware mais recente", - "devices_using_unknown": "Dispositivos que usam firmware desconhecido", - "dismiss": "Dispensar", - "do_now": "Faça agora!", + "device_details": "Detalhes do dispositivo", + "discard_changes": "Descartar mudanças?", + "disconnected": "Desconectado", + "display_name": "Mostrar nome", "download": "Baixar", + "download_instructions": "Baixe com sucesso! Se você não conseguir encontrar o arquivo, confirme se está permitindo downloads deste site", "duplicate": "Duplicado", - "duration": "Duração", "edit": "Editar", - "edit_user": "Editar", - "email_address": "Endereço de e-mail", - "endpoint": "Ponto final", - "endpoints": "Pontos finais", + "email": "O email", + "empty_list": "Lista Vazia", + "end": "Fim", + "entries_one": "Entrada", + "entries_other": "Entradas", "error": "Erro", - "error_adding_note": "Erro ao adicionar nota", - "error_code": "Erro de código", + "error_claiming_obj": "Erro ao reivindicar {{obj}}", + "error_download": "Erro ao tentar fazer o download: {{e}}", "errors": "Erros", - "execute_now": "Você gostaria de executar este comando agora?", - "executed": "Executado", - "exit": "Saída", - "firmware": "Firmware", - "firmware_dashboard": "Painel de Firmware", - "firmware_installed": "Firmware Instalado", - "forgot_password": "Esqueceu sua senha?", - "forgot_password_title": "Esqueceu a senha", - "from": "De", - "general_error": "Erro de API, consulte o seu administrador", + "exit_fullscreen": "Saída", + "finished": "acabado", + "fullscreen": "Tela cheia", + "general_error": "Erro ao se conectar ao servidor. Consulte seu administrador.", + "general_info": "Informação geral", "go_back": "Volte", + "go_to_map": "Ir para o mapa", "hide": "Ocultar", - "hour": "hora", - "hours": "horas", - "id": "identidade", - "invalid_credentials": "Nome de usuário e / ou senha inválidos", - "invalid_date_explanation": "Data inválida, use o calendário acessível com o botão à direita", - "invalid_file": "O arquivo escolhido era inválido, por favor, leia as instruções e ajuste seu arquivo de acordo", - "invalid_password": "Esta senha não está de acordo com as regras básicas de senha. Visite nossa página de Política de Senha para saber mais", - "invalid_pem": "Seu arquivo .pem é inválido. Deve começar com '----- BEGIN CERTIFICATE -----' OU '----- BEGIN PRIVATE KEY -----' e deve terminar com '----- END CERTIFICATE --- - 'OU' ----- END PRIVATE KEY ----- '", - "ip_address": "Endereço de IP", - "ips": "IPs", - "item": "Item", - "items": "Unid", - "items_per_page": "Itens por página:", - "key": "Chave", - "last_dashboard_refresh": "Última atualização do painel", - "later_tonight": "Logo à noite", - "latest": "Mais recentes", - "list": "Lista", - "loading_ellipsis": "Carregando...", - "loading_more_ellipsis": "Carregando mais ...", + "hourly": "Por hora", + "identification": "Identificação", + "inherit": "Herdar", + "language": "Língua", + "lifetime": "Tempo de vida", + "locale": "Localidade", "logout": "Sair", - "mac": "Endereço MAC", "main": "a Principal", + "make_higher_priority": "Dê maior prioridade", + "make_lower_priority": "Faça menor prioridade", + "manage": "gerir", + "manual": "Manual", "manufacturer": "Fabricante", - "memory_used": "Memória Usada", - "min_max": "Mín: {{min}}, Máx: {{max}}", - "minute": "minuto", - "minutes": "minutos", + "map": "Mapa", + "max": "máximo", + "min": "minuto", + "mode": "Modo", + "model": "Modelo", "modified": "Modificado", - "na": "N / D", - "need_date": "Você precisa de um encontro ...", + "monthly": "Por mês", + "my_account": "Minha conta", + "name": "Nome", + "name_error": "O nome deve ter menos de 50 caracteres", + "next": "Próximo", "no": "Não", "no_addresses_found": "Nenhum endereço encontrado", "no_clients_found": "Nenhum cliente encontrado", "no_devices_found": "Nenhum dispositivo encontrado", - "no_items": "Nenhum item", + "no_items_yet": "Nenhum item ainda", + "no_obj_found": "Nenhum {{obj}} encontrado", + "no_records_found": "Nenhum registro foi encontrado", "none": "Nenhum", - "not_connected": "Não conectado", - "of_connected": "% de dispositivos conectados", - "off": "Fora", - "on": "em", - "optional": "Opcional", - "overall_health": "Saúde geral", - "password_policy": "Política de Senha", - "preferences": "Preferências", - "preview": "Visualizar", - "program": "Programa", - "reason": "RAZÃO", - "recorded": "Gravado", - "refresh": "REFRESH", - "refresh_device": "Atualizar dispositivo", - "remove_claim": "Remover reivindicação", - "required": "Requeridos", - "result": "Resultado", - "save": "Salve", - "saved": "Salvou!", - "saving": "Salvando ...", - "schedule": "Cronograma", - "search": "Dispositivos de pesquisa", - "second": "segundo", - "seconds": "segundos", - "seconds_elapsed": "Segundos decorridos", - "see_details": "Veja detalhes", - "select": "Selecione", - "serial_num": "Nº de série", - "serial_number": "Número de série", - "show_all": "mostre tudo", - "socket_connection_closed": "Conexão fechada!", - "start": "Começar", - "status": "Status", - "stop_editing": "Pare de editar", - "submit": "Enviar", - "submitted": "Submetido", - "success": "Sucesso", - "system": "Sistema", - "table": "Mesa", - "time_per_device": "Dispositivo / segundo", - "timestamp": "tempo", - "to": "Para", - "type": "Tipo", - "type_for_options": "Digite o valor que você precisa criar ...", - "type_for_options_format": "Digite um valor no formato válido ({{format}}) ...", - "unable_to_connect": "Incapaz de conectar ao dispositivo", - "unable_to_delete": "Incapaz de deletar", - "unknown": "Desconhecido", - "up_to_date": "Dispositivos atualizados", - "uptimes": "Uptimes", - "use_file": "Usar arquivo", - "uuid": "UUID", - "vendors": "Vendedores", - "view_more": "Veja mais", - "visibility": "visibilidade", - "waiting_for_update": "Aguardando atualização", - "yes": "sim" - }, - "configuration": { - "add_configuration": "Adicionar configuração", - "add_new_block": "Adicionar novo bloco de configuração", - "add_or_link": "Link ou adicionar", - "add_radio": "Adicionar rádio", - "ca_cert_explanation": "Use um arquivo .pem que comece com \"----- BEGIN CERTIFICATE -----\" e termine com \"----- END CERTIFICATE -----\". O resultado será mostrado no campo abaixo. Você também pode copiar e colar o certificado que deseja usar diretamente.", - "cannot_delete": "Esta configuração não pode ser excluída porque está sendo usada por pelo menos uma entidade, local ou dispositivo", - "choose_radio_band": "Que banda de rádio você gostaria de criar?", - "choose_section": "Qual seção você gostaria que este bloco contivesse?", - "configuration_browser": "Navegador de configuração", - "configurations": "configurações", - "create": "Criar configuração", - "create_config": "Criar Nova Configuração", - "create_new_configuration": "Criar Novo Elemento de Configuração", - "created": "Criado", - "creation_success": "Configuração criada com sucesso!", - "currently_associated": "Configuração atual associada: {{config}}", - "currently_selected_config": "Configuração atualmente selecionada: {{config}}", - "default_configs": "Configurações padrão", - "default_configurations": "Configurações padrão", - "delete_config": "Excluir configuração", - "details": "Detalhes", - "device_password": "Senha", - "device_type": "Tipo de dispositivo", - "device_types": "Tipos de dispositivos", - "devices_affected": "Dispositivos afetados por esta configuração:", - "edit_configuration": "Editar configuração", - "error_delete": "Erro ao tentar excluir: {{error}}", - "error_delete_blacklist": "Erro ao excluir da lista negra: {{error}}", - "error_fetching_config": "Erro ao buscar configuração", - "error_trying_delete": "Erro ao tentar excluir: {{error}}", - "error_update": "Erro: {{error}}", - "explanation": "Explicação", - "key_pem_explanation": "Selecione o arquivo .pem", - "last_configuration_change": "Mudança de configuração", - "last_configuration_download": "Último download da configuração", - "location": "Localização", - "need_device_type": "Cada configuração deve suportar pelo menos um tipo de dispositivo", - "no_associated_config": "Sem configuração associada", - "no_associated_configuration": "Sem configurações associadas", + "not_found": "404 não encontrado", "note": "Nota", "notes": "notas", - "owner": "Proprietário", - "select_configuration": "Selecione esta configuração", - "success_block_delete": "Bloco de configuração excluído com sucesso", - "success_update": "Configuração atualizada com sucesso!", - "successful_delete": "Configuração excluída!", - "support_all": "Apoie todos", - "supported_device_types": "Tipos de dispositivos suportados", - "title": "Configuração", - "type": "Tipo de dispositivo", - "used_by": "Usado por", - "used_by_details": "{{entities}} Entidades, {{venues}} Locais e {{devices}} Dispositivos", - "uuid": "ID de configuração", + "of": "Do", + "password": "Senha", + "preview": "Visualizar", + "quarterly": "Trimestral", + "redirector": "Redirecionador", + "refresh": "REFRESH", + "remove": "Remover", + "remove_claim": "Remover reivindicação", + "reset": "Restabelecer", + "revoked": "Revogado", + "save": "Salve ", + "search": "Procurar", + "seconds": "Segundos", + "select_value": "Selecione o valor", + "sending": "Enviando", + "sent_code": "Código enviado!", + "show": "exposição", + "size": "Tamanho", + "start": "Começar", + "started": "Começado", + "state": "Estado", + "status": "Status", + "stop_editing": "Pare de editar", + "submitted": "Submetido", + "success": "Sucesso", + "successfully_claimed_obj": "Reivindicado com sucesso {{count}} {{obj}}", + "sync": "Sincronizar", + "test": "Teste", + "theme": "Tema", + "time": "tempo", + "timestamp": "timestamp", + "type": "Tipo", + "type_for_options": "Digite o valor que você precisa criar ...", + "unknown": "Desconhecido", + "use_file": "Usar arquivo", + "value": "Valor", + "variable": "Variável", + "view_details": "VER DETALHES", + "view_in_gateway": "Ver no controlador", + "view_json": "Ver JSON", + "warning": "Aviso", + "warnings": "Advertências", + "yearly": "Anual", + "yes": "sim", + "your_new_note": "Sua nova nota" + }, + "configurations": { + "add_interface": "Adicionar interface", + "add_radio": "Adicionar rádio", + "add_ssid": "Adicionar SSID", + "add_subsection": "Adicionar subseção", + "advanced_settings": "Configurações avançadas", + "affected_explanation_one": "Existem {{count}} dispositivos afetados por esta configuração", + "affected_explanation_other": "Existem {{count}} dispositivos afetados por esta configuração", + "applied_configuration": "Configuração aplicada", + "cant_delete_explanation": "Não é possível excluir esta configuração porque ela está sendo usada por pelo menos um dispositivo, local ou entidade. Você pode ver quais são clicando no botão ao lado de \"Em uso\" no formulário desta configuração", + "cant_delete_explanation_simple": "Não é possível excluir esta configuração porque ela está sendo usada por pelo menos um dispositivo, local ou entidade. Você pode ver quais são indo na página de configuração", + "configuration_json": "Configuração JSON", + "configuration_push_result": "Resultado de envio de configuração", + "configuration_sections": "Seções de configuração", + "delete_interface": "Excluir interface", + "delete_radio": "Excluir rádio", + "delete_ssid": "Excluir SSID", + "device_configurations": "Configurações do dispositivo", + "device_types": "Tipos de dispositivos", + "dhcp_snooping": "Espionagem DHCP", + "error_pushes_one": "Erro (pode ser devido à configuração incorreta): {{count}}", + "error_pushes_other": "Erros (podem ser devido à configuração incorreta): {{count}}", + "expert_name": "MODO EXPERT", + "explanation": "Explicação", + "firewall": "Firewall", + "firmware_upgrade": "Atualização de firmware", + "globals": "Globals", + "health": "Saúde", + "hostapd_warning": "Parâmetro de URL, ex.: teste=valor", + "import_file": "Importar configuração do arquivo", + "import_file_explanation": "Você pode usar a opção abaixo para importar um arquivo JSON de configuração, com conteúdo neste formato:\n{\n \"interfaces\": [ ... ],\n \"globals\": { ... },\n ...etc\n}", + "import_warning": "AVISO: Esta operação substituirá todas as seções de configuração que você já criou.", + "imported_configuration": "Configuração importada", + "in_use_title": "{{name}} Em uso", + "interfaces": "Interfaces", + "interfaces_instruction": "Use uma string JSON válida no seguinte formato: { \"interfaces\": [] }.", + "invalid_resource": "Inválido ou Excluir Recurso", + "metrics": "Métricas", + "no_resource_selected": "Nenhum recurso selecionado", + "notification_details": "Atualizado: {{success}}, Aguardando conexão: {{warning}}, Erros: {{error}}", + "one": "Configuração", + "push_configuration": "Configuração de envio", + "push_configuration_error": "Erro ao tentar enviar a configuração para o dispositivo: {{e}}", + "push_configuration_explanation": "Configuração não enviada, código de erro {{code}}", + "push_success": "Configuração enviada com sucesso!", + "radio_limit": "Você atingiu a quantidade máxima de rádios (5). Você precisa excluir uma das bandas ativadas para adicionar uma nova", + "radios": "Rádios", + "rc_only": "Liberar apenas candidatos", + "save_warnings": "Tem certeza de que deseja salvar sua configuração?", + "services": "Serviços", + "special_configuration": "Configuração específica do dispositivo", + "start_special_creation": "Criar configuração para este dispositivo", + "statistics": "Estatisticas", + "successful_pushes_one": "Empurrão bem-sucedido: {{count}}", + "successful_pushes_other": "Empurrões bem-sucedidos: {{count}}", + "third_party": "Terceiro", + "third_party_instructions": "Use uma string JSON válida no seguinte formato: { \"value_name\": \"value\" }.", + "title": "configurações", + "unit": "Unidade", "view_affected_devices": "Exibir dispositivos afetados", - "view_config": "Ver configuração", "view_in_use": "Visualização em uso", - "view_json": "Exibir JSON bruto" + "warning_pushes_one": "Aguardando a conexão dos dispositivos: {{count}}", + "warning_pushes_other": "Aguardando a conexão dos dispositivos: {{count}}", + "weight": "Peso", + "wifi_frames": "Quadros WiFi" }, - "configure": { - "choose_file": "Você precisa escolher um arquivo .json válido:", - "enter_new": "Insira a nova configuração do dispositivo JSON:", - "placeholder": "Config JSON", - "title": "Configurar", - "valid_json": "Você precisa inserir um JSON válido" - }, - "connect": { - "error_trying_to_connect": "Erro ao tentar conectar ao dispositivo: {{error}}" - }, - "contact": { + "contacts": { "access_pin": "PIN de acesso", - "add_contact": "Adicionar contato", - "contact": "Contato", - "create_contact": "Criar Contato", - "currently_selected_contact": "Contato atualmente selecionado: {{contact}}", - "delete": "Excluir contato?", - "error_assign": "Erro ao tentar atribuir contato: {{error}}", - "error_creation": "Erro ao tentar criar contato: {{error}}", - "error_delete": "Erro ao tentar excluir contato: {{error}}", - "error_fetching_list": "Erro ao buscar contatos", - "error_fetching_single": "Erro ao buscar contato: {{error}}", - "error_unassign": "Erro ao tentar cancelar a atribuição do contato: {{error}}", + "claim_explanation": "Para reivindicar contatos, você pode usar a tabela abaixo", "first_name": "Primeiro nome", "identifier": "Identificador", "initials": "Iniciais", "last_name": "Último nome", - "no_associated_contact": "Nenhum contato associado", + "mobiles": "Móbiles", + "one": "Contato", + "other": "Contatos", + "phones": "Telefones", "primary_email": "e-mail primário", "salutation": "Saudação", "secondary_email": "Email secundário", - "successful_assign": "Contato atribuído com sucesso!", - "successful_creation": "Contato criado!", - "successful_delete": "Contato excluído com sucesso!", - "successful_unassign": "Contato não atribuído com sucesso", - "successful_update": "Contato atualizado com sucesso", - "title": "Contatos", - "type": "Tipo", - "update_error": "Erro ao atualizar contato: {{error}}", - "user_title": "Título", - "visual": "Nome para Correspondência" + "title": "Título", + "to_claim": "Contatos para reivindicar", + "visual": "Visual" }, - "delete_command": { - "explanation": "Tem certeza de que deseja excluir este comando? esta ação não é reversível.", - "title": "Apagar Comando" + "controller": { + "configurations": { + "create_success": "Configuração criada!", + "delete_success": "A configuração agora foi excluída!", + "title": "Configurações padrão", + "update_success": "Configuração atualizada!" + }, + "configure": { + "invalid": "Sua nova configuração precisa ser um JSON válido", + "success": "A nova configuração está sendo implantada no dispositivo", + "title": "configurar", + "warning": "Esteja avisado: haverá apenas testes mínimos feitos nesta configuração" + }, + "crud": { + "choose_time": "Período personalizado", + "clear_time": "Tempo de limpeza", + "delete_success_obj": "Excluído {{obj}}" + }, + "dashboard": { + "associations": "Associações", + "associations_explanation": "Todas as associações conectadas atuais (ou UEs)", + "certificates": "Certificados", + "certificates_explanation": "Status dos certificados dos dispositivos atualmente conectados", + "commands": "comandos", + "commands_explanation": "Todos os comandos executados", + "device_dashboard_refresh": "Novas estatísticas de conexão", + "device_types": "Tipos de dispositivos", + "device_types_explanation": "Tipos de dispositivos de todos os dispositivos que apontam para este controlador", + "devices_explanation": "Todos os dispositivos estão apontando para este endpoint do controlador", + "error_fetching": "Erro ao buscar o painel", + "expand": "Expandir", + "last_ping_explanation": "Quando esses dados foram coletados", + "memory": "Uso de memória", + "memory_explanation": "Dispositivos atualmente conectados com a quantidade correspondente de memória usada", + "no_certificate": "Sem certificado", + "not_connected": "Não conectado", + "others": "outras", + "overall_health": "Saúde geral", + "overall_health_explanation": "Saúde média de todos os dispositivos atualmente conectados dos quais recebemos dados de saúde. O cálculo exato é: (Dispositivos = 100% * 100 + Dispositivos> 90 * 95 + Dispositivos> 60 * 75 + Dispositivos <60 * 30) / Dispositivos conectados", + "overall_health_explanation_pie": "O número de dispositivos com uma porcentagem de integridade nessas categorias", + "serial_mismatch": "Incompatibilidade de série", + "status": "Status", + "status_explanation": "Status de todos os dispositivos que apontam para este endpoint do controlador", + "unknown_status": "Status não reconhecido", + "unrecognized": "Não reconhecido", + "uptimes": "", + "uptimes_explanation": "Dispositivos atualmente conectados com os tempos de atividade correspondentes", + "vendors": "Vendedores", + "vendors_explanation": "Fornecedores dos dispositivos que apontam para este controlador", + "verified": "Verificado" + }, + "devices": { + "add_blacklist": "Adicionar número de série", + "added": "Adicionado", + "added_blacklist": "Número de série adicionado à lista negra!", + "average_uptime": "Tempo de atividade médio", + "blacklist": "Lista negra", + "blacklist_update": "Atualizar registro {{serialNumber}} ", + "by": "Por", + "capabilities": "Recursos", + "command_one": "Comando", + "commands": "comandos", + "complete_data": "Dados completos", + "config_id": "ID de configuração", + "connecting": "Conectando", + "connection_changes": "Status de conexão", + "delete_blacklist": "Removido o número de série da lista negra!", + "delete_health_explanation": "Isso excluirá permanentemente todas as verificações de integridade antes da data escolhida", + "delete_logs_explanation": "Isso excluirá permanentemente todos os logs antes da data que você escolher", + "error_code": "Erro de código", + "executed": "Executado", + "finished_reboot": "{{serialNumber}} acabou de reiniciar!", + "finished_upgrade": "{{serialNumber}} concluiu o upgrade!", + "from_to": "De {{from}} a {{to}}", + "healthchecks": "Verificações de integridade", + "last_modified": "Última modificação:", + "last_upgrade": "Última atualização", + "localtime": "Horário local", + "logs": "toras", + "new_statistics": "Novas estatísticas", + "no_more_available": "Todos recuperados", + "reason": "RAZÃO", + "results": "resultados", + "sent_upgrade_to_latest": "Enviado o comando 'Atualizar para o mais recente' para o dispositivo", + "severity": "Gravidade", + "show_more": "Mostre mais", + "started_reboot": "{{serialNumber}} desligue para reiniciar!", + "started_upgrade": "{{serialNumber}} apenas desligue para iniciar o upgrade!", + "trace": "Vestígio", + "trace_description": "Lançar um rastreamento remoto deste dispositivo para uma duração específica ou um número de pacotes", + "update_success": "Dispositivo atualizado!", + "updated_blacklist": "Lista negra atualizada!" + }, + "firmware": { + "devices_explanation": "Dispositivos que apontaram para este servidor de firmware. Isso pode explicar as discrepâncias entre esse número e o do painel do dispositivo", + "endpoints": "Pontos finais", + "endpoints_explanation": "Todos os endpoints que apontarão para este servidor de firmware", + "firmware_age": "Idade do Firmware", + "firmware_age_explanation": "Idade média do firmware para os dispositivos para os quais temos esses dados", + "latest": "Último firmware instalado", + "ouis_explanation": "OUIs de dispositivos que se conectaram a este servidor de firmware", + "outdated": "Firmware desatualizado e mais recente disponível", + "release": "LANÇAMENTO", + "show_dev_releases": "Lançamentos do desenvolvedor", + "status_explanation": "Status da conexão dos dispositivos que se conectaram a este servidor de firmware", + "unrecognized": "Firmware não reconhecido", + "unrecognized_firmware": "Firmware não reconhecido", + "unrecognized_firmware_explanation": "Firmware que é usado atualmente por dispositivos e não é reconhecido por este servidor de firmware", + "up_to_date": "Dispositivos atualizados", + "up_to_date_explanation": "Dispositivos usando o software mais recente disponível para eles" + }, + "provisioning": { + "title": "Provisioning" + }, + "queue": { + "title": "Fila de Eventos" + }, + "stats": { + "load": "Carga (1 | 5 | 15 m.)", + "seconds_ago": "{{s}} segundos atrás", + "used": "Usava" + }, + "telemetry": { + "duration": "Duração", + "interval": "intervalo", + "kafka": "Kafka", + "kafka_success": "A telemetria Kafka está agora iniciada!", + "last_update": "Última atualização", + "minutes": "Minutos", + "need_types": "Você precisa selecionar pelo menos um tipo", + "output": "Modo de saída", + "seconds_ago": "{{seconds}} segundos atrás", + "title": "Telemetria", + "types": "Tipos", + "websocket": "WebSocket" + }, + "trace": { + "down": "BAIXA", + "download": "Baixar rastreamento", + "duration": "Duração", + "network": "Rede", + "packets": "Pacotes", + "success": "Rastreamento concluído no dispositivo #{{serialNumber}}. Agora você pode baixar o resultado", + "up": "acima", + "wait": "Esperar os resultados?" + }, + "wifi": { + "active_ms": "Ativo", + "busy_ms": "Ocupado", + "channel_width": "Largura do canal", + "mode": "Modo", + "noise": "Barulho", + "receive_ms": "Receber", + "rx_rate": "Taxa Rx", + "station": "estação", + "tx_rate": "Taxa Tx", + "vendor": "fornecedor", + "wifi_analysis": "Análise de Wi-Fi" + } }, - "delete_logs": { - "date": "Selecione a data do registro mais antigo que você gostaria de manter", - "device_logs_title": "Excluir registros do dispositivo", - "explanation": "Isso excluirá todos os {{object}} antes da data que você escolheu. Cuidado, esta ação não é reversível.", - "healthchecks_title": "Excluir verificações de saúde" + "crud": { + "add": "Adicionar", + "confirm_cancel": "Tem certeza de que deseja descartar as alterações feitas?", + "confirm_delete_obj": "Tem certeza de que deseja excluir este {{obj}}?", + "create": "Crio", + "create_object": "Crie {{obj}}", + "delete": "Excluir", + "delete_confirm": "Tem certeza de que deseja excluir este {{obj}}?", + "delete_obj": "Excluir {{obj}}", + "edit": "Editar", + "edit_obj": "Editar {{obj}}", + "error_create_obj": "Erro ao criar {{obj}}: {{e}}", + "error_delete_obj": "Erro ao excluir {{obj}}: {{e}}", + "error_fetching_obj": "Erro ao buscar {{obj}}: {{e}}", + "error_revoke_obj": "Erro ao revogar {{obj}}: {{e}}", + "error_update_obj": "Erro ao atualizar {{obj}}: {{e}}", + "success_create_obj": " {{obj}}criado com sucesso!", + "success_delete_obj": "Excluído com sucesso {{obj}}!", + "success_revoke_obj": " {{obj}}revogado com sucesso!", + "success_update_obj": " {{obj}}atualizado com sucesso!" }, - "device": { - "add_to_blacklist": "Adicionar dispositivo à lista negra", - "all_devices": "Todos os dispositivos", - "already_running_command": "O dispositivo já está executando um comando, tente mais tarde", - "blacklisted_on": "Encontro", - "capabilities": "Recursos", - "certificate_explanation": "Certificados de dispositivos conectados", - "count_explanation": "Dispositivos apontando para esta instância de gateway", - "edit_blacklist": "Editar dispositivo na lista negra", - "error_adding_blacklist": "Erro ao adicionar dispositivo à lista negra: {{error}}", - "error_edit_blacklist": "Erro ao editar a lista negra: {{error}}", - "error_fetching_device": "Erro ao buscar informações do dispositivo: {{error}}", - "error_fetching_devices": "Erro ao buscar dispositivos: {{error}}", - "firmware_count_explanation": "Esta é a quantidade total de dispositivos que foram adicionados a este servidor de firmware, incluindo dispositivos que não estão apontando para o servidor de gateway relacionado.", - "health_explanation": "Integridade dos dispositivos conectados ((Dispositivos = 100% * 100 + Dispositivos> 90% * 95 + Dispositivos> 60% * 75 + Dispositivos <60% * 35) / Dispositivos Conectados)", - "mac_not_found": "Número de série não encontrado, redirecionando você para a página Dispositivos", - "memory_explanation": "Quantidade de dispositivos conectados com a memória correspondente usada%", - "remove_from_blacklist": "Remover da lista negra", - "success_added_blacklist": "Dispositivo adicionado à lista negra com sucesso!", - "success_edit_blacklist": "Lista negra editada com sucesso!", - "success_removed_blacklist": "Dispositivo removido com sucesso da lista negra!", - "uptimes_explanation": "Quantidade de dispositivos conectados com base em seu tempo de atividade" + "devices": { + "all": "Todos", + "associations": "Associações", + "connected": "Conectado", + "create_errors": "erros ao tentar criar dispositivos", + "create_success": " dispositivos criados com sucesso", + "current_firmware": "Firmware atual", + "device_type_not_found": "Tipo de dispositivo não reconhecido", + "duplicate_serial": "Número de série duplicado no arquivo", + "error_rtty": "Erro ao tentar se conectar ao dispositivo: {{e}}", + "file_errors": "dispositivos problemáticos", + "found_assigned": "dispositivos já atribuídos", + "found_not_assigned": "dispositivos já existentes, mas agora pertencentes", + "import_batch_tags": "Dispositivos de importação", + "import_device_warning": "Certifique-se de que não há espaços extras no início ou no final de nenhum valor, a menos que faça parte do valor desejado", + "import_explanation": "Para importar dispositivos em massa, você precisa usar um arquivo CSV com as seguintes colunas: SerialNumber, DeviceType, Name, Description, Note", + "invalid_serial_number": "Número de série inválido (precisa ter 12 caracteres HEX)", + "new_devices": "novos dispositivos", + "not_connected": "Não conectado", + "not_found_gateway": "Erro: o dispositivo ainda não se conectou ao gateway", + "one": "Dispositivo", + "reassign_already_owned": "Reatribuir dispositivos que já existem e são de propriedade de outra entidade/local/assinante?", + "sanity": "Sanidade", + "start_import": "Iniciar importação de dispositivos", + "test_batch": "Dados de importação de teste", + "test_results": "Resultado dos testes", + "title": "Devices", + "treating": "Teste:", + "unassigned_only": "Apenas não atribuído", + "update_error": "erros ao tentar atualizar dispositivos", + "update_success": "dispositivos atualizados com sucesso" }, - "device_logs": { - "log": "Registro", - "severity": "Gravidade", - "title": "Toras" - }, - "entity": { - "add_child": "Adicionar Entidade Filha a {{entityName}}", - "add_failure": "Erro, o servidor retornou: {{error}}", - "add_ips": "Gerenciar IPs", - "add_root": "Adicionar Entidade Raiz", - "add_success": "Entidade criada com sucesso!", - "assigned_inventory": "Estoque Atribuído", - "cannot_delete": "Você não pode excluir entidades que têm filhos. Exclua os filhos desta entidade para poder excluí-la.", - "confirm_map_delete": "Tem certeza que deseja excluir o mapa {{name}}? Esta ação não pode ser revertida", - "currently_selected_entity": "Entidade atualmente selecionada: {{config}}", - "currently_selected_venue": "Local selecionado atualmente: {{config}}", - "delete_success": "Entidade excluída com sucesso", - "delete_warning": "Aviso: esta operação não pode ser revertida", - "duplicate_from_node": "Duplicar com nó raiz específico", - "duplicate_map": "Mapa duplicado", - "duplicate_with_node": "Duplicar {{mapName}} com {{rootName}} como nó raiz", - "edit_failure": "Atualização malsucedida: {{error}}", - "enter_here": "Digite o (s) IP (s) que deseja adicionar aqui", - "entire_tree": "Mapa de Rede", - "entities": "Entidades", + "entities": { + "active": "Ativo", + "add_configurations": "Adicionar configurações", + "add_ips": "Adicionar IPs", + "add_ips_explanation": "Você pode adicionar endereços IPv4 ou IPv6 nos seguintes formatos", + "api_key": "Chave API", + "cant_delete_explanation": "Não é possível excluir esta entidade porque ela possui entidades filhas e/ou locais. Você precisa excluir todos os filhos desta entidade antes de excluí-la", + "claim_device_explanation": "Para reivindicar dispositivos, você pode usar a tabela abaixo. Se um dispositivo já foi reivindicado por outra entidade ou local, também cancelaremos a atribuição antes de atribuí-lo a essa entidade", + "client_enrollment_profile": "Perfil de inscrição do cliente", + "create_child_entity": "Criar entidade filha", + "create_root": "Criar Entidade Raiz", + "create_root_explanation": "Insira as informações necessárias para criar a entidade raiz do seu serviço de provisionamento. Esta informação pode ser modificada após a criação", + "current_state": "Estado atual", + "default_redirector": "Redirecionador padrão", + "devices_to_claim": "Novos dispositivos para reivindicar", + "devices_under_root": "Os dispositivos não podem ser criados diretamente na entidade raiz. Crie novas entidades ou locais e crie dispositivos sob eles.", + "enter_ips": "Digite o (s) IP (s) que deseja adicionar aqui", "entity": "Entidade", - "error_deleting_map": "Erro ao excluir mapa: {{error}}", - "error_fetch_entity": "Erro ao buscar informações da entidade", - "error_fetching": "Erro ao buscar entidades", - "error_fetching_map": "Erro ao buscar mapa: {{error}}", - "error_fetching_tree": "Erro ao buscar árvore: {{error}}", - "error_saving": "Erro ao salvar entidade", - "error_saving_map": "Erro ao salvar o mapa: {{error}}", - "higher_priority": "Dê maior prioridade", + "error_sync": "Erro ao tentar iniciar a sincronização de {{name}}: {{e}}", + "failed_test": "Falha nos testes com credenciais DigiCert, verifique as informações da sua entidade", + "initial_state": "Estado inicial", + "ip_cidr": "IP/número (exemplo: 10.0.0.0/8)", "ip_detection": "Detecção de IP", - "ip_formats": "Você pode adicionar endereços IPv4 ou IPv6 nos seguintes formatos:", - "lower_priority": "Faça menor prioridade", - "map": "Mapa", - "map_delete_success": "Mapa excluído com sucesso!", - "need_select_entity": "Você precisa selecionar uma entidade da tabela abaixo", - "no_ips": "Nenhum IP selecionado", - "not_assigned": "Não atribuído", - "only_unassigned": "Apenas não atribuídos", - "select_entity": "Selecione esta Entidade", - "selected_entity": "Entidade Selecionada", - "selected_map": "Mapa Selecionado", - "tree_saved": "Mapa salvo com sucesso!", - "update_failure_error": "Erro ao tentar atualizar a entidade: {{error}}", - "valid_serial": "Precisa ser um número de série válido (12 caracteres HEX)", - "venues": "Locais" - }, - "factory_reset": { - "redirector": "Manter redirecionador:", - "reset": "Restabelecer", - "resetting": "Reiniciando ...", - "title": "Restauração de fábrica", - "warning": "Aviso: depois de enviar, isso não pode ser revertido" - }, - "firmware": { - "age_explanation": "Número médio de dias para todos os dispositivos dos quais podemos obter esse valor", - "average_age": "Idade Média do Firmware", - "choose_custom": "Escolher", - "details_title": "Detalhes da imagem #{{image}} ", - "device_type": "Tipo de dispositivo", - "device_types": "Tipos de dispositivos", - "downloads": "Transferências", - "error_fetching_latest": "Erro ao buscar o firmware mais recente", - "from_release": "De", - "history_title": "História", - "image": "Imagem", - "image_date": "Data da Imagem", - "installed_firmware": "Firmware Instalado", - "latest_explanation": "Dispositivos executando firmware reconhecido em sua versão mais recente", - "latest_version_installed": "Última versão instalada", - "newer_firmware_available": "Novas revisões disponíveis", - "reinstall_latest": "Reinstalar", - "release": "LANÇAMENTO", - "revision": "Revisão", - "show_dev": "Mostrar lançamentos de desenvolvimento", - "size": "Tamanho", - "status": "Status do firmware", - "title": "Firmware", - "to_release": "Para", - "unknown_firmware_status": "Status de firmware desconhecido", - "upgrade": "Melhorar", - "upgrade_command_submitted": "Atualização em andamento...", - "upgrade_to_latest": "Mais recentes", - "upgrade_to_version": "Atualize para esta revisão", - "upgrading": "Atualizando ..." + "ip_list": "Lista: IP, IP IP", + "ip_range": "Faixa: IP-IP", + "ip_single_address": "Endereço único: IP", + "one": "Entidade", + "organization": "Organização", + "server_enrollment_profile": "Perfil de inscrição do servidor", + "status": "Status", + "sub_one": "Subentidade", + "sub_other": "Subentidades", + "success_sync": "Sincronização de {{name}}iniciada com sucesso!", + "success_test": "O teste das credenciais DigiCert desta entidade foi bem-sucedido!", + "suspended": "Suspenso", + "sync_explanation": "Deseja sincronizar esta entidade? Isso pode demorar um pouco dependendo da quantidade de certificados pertencentes a esta entidade.", + "sync_title": "Sincronizar {{name}}", + "test_digicert_creds": "Credenciais de teste", + "title": "Entidades", + "tree": "Árvore de entidades", + "venues_under_root": "Os locais não podem ser criados diretamente na entidade raiz. Por favor, crie novas entidades e crie locais sob elas." }, "footer": { - "coreui_for_react": "CoreUI para React", "powered_by": "Distribuído por", "version": "Versão" }, - "health": { - "sanity": "Sanidade", - "title": "Saúde" + "form": { + "certificate_file_explanation": "Use um arquivo .pem que comece com \"-----BEGIN CERTIFICATE-----\" e termine com \"-----END CERTIFICATE-----\"", + "invalid_cidr": "Endereço CIDR IPv4 inválido. Exemplo: 192.168.0.1/12", + "invalid_email": "E-mail inválido", + "invalid_file_content": "Conteúdo de arquivo inválido. Confirme se está no formato válido", + "invalid_fqdn_host": "Nome de host FQDN inválido", + "invalid_hostname": "Nome de host inválido: precisa ser composto apenas de caracteres alfanuméricos e traços", + "invalid_icon_lang": "Idioma inválido, deve estar em formato de 3 letras (eng, fre, ger, ita, etc.)", + "invalid_ieee": "Para este protocolo de criptografia, ieee80211w precisa ser 'opcional' ou 'obrigatório'", + "invalid_interfaces": "Sequência JSON de interfaces inválida. Confirme se seu valor é: JSON válido e tem interfaces como sua única chave e que o valor de interfaces é uma matriz. Exemplo: {\"interfaces\": []}", + "invalid_ipv4": "Endereço IPv4 inválido (ex.: 192.168.0.1 ou 192.168.0.1/16", + "invalid_ipv6": "Endereço IPv6 inválido (ex.: 2001:db8:3333:4444:5555:6666:7777:8888)", + "invalid_json": "Sequência JSON inválida", + "invalid_lease_time": "Valor de tempo de locação inválido! Eles precisam estar no formato digitUnit. Por exemplo: 6d2h5m, que significa 6 dias, 2 horas e 5 minutos. Aqui estão as unidades aceitas: m, h, d. Se você não quiser usar uma unidade, omita-a completamente. Então, em vez de dizer 0d2h0m, use 2h", + "invalid_mac_uc": "Valor UC-MAC inválido, por exemplo: 00:00:5e:00:53:af", + "invalid_password": "Senha inválida, consulte a política de senha", + "invalid_phone_number": "Número de telefone inválido", + "invalid_phone_numbers": "Um ou mais números de telefone são inválidos. Forneça-os sem símbolos e espaços ou neste formato: +1(123)123-1234", + "invalid_port_range": "Valor de porta inválido. Ele precisa ser maior que 0 e menor que 65.535. Se estiver usando um intervalo de portas, certifique-se de que a segunda porta seja um número maior que o primeiro.", + "invalid_port_ranges": "Combinação de intervalo de portas inválida! Certifique-se de que ambos os valores de porta sejam do mesmo tipo (único ou intervalo). Se forem intervalos, certifique-se de que ambos estejam cobrindo a mesma quantidade de portas", + "invalid_proto_6g": "Este protocolo de criptografia não pode ser usado em um SSID que usa 6G", + "invalid_proto_passpoint": "Este protocolo de criptografia não pode ser usado com um SSID de ponto de acesso. Por favor, selecione um protocolo que pode usar Radius", + "invalid_select_ports": "Valores incompatíveis entre interfaces! Certifique-se de que não há combinação duplicada de PORT/VLAN ID entre suas interfaces", + "invalid_third_party": "String JSON de terceiros inválida. Confirme se seu valor é um JSON válido", + "key_file_explanation": "Use um arquivo .pem que comece com \"-----BEGIN PRIVATE KEY-----\" e termine com \"-----END PRIVATE KEY-----\"", + "min_max_string": "O valor precisa ter um comprimento entre {{min}} (inclusive) e {{max}} (inclusive)", + "missing_interface_upstream": "Você precisa ter pelo menos uma interface upstream. No momento, todas as suas interfaces estão downstream", + "new_email_to_notify": "Novo e-mail para notificar", + "new_phone_to_notify": "Novo telefone para notificar", + "not_selected": "não selecionado", + "not_uploaded_yet": "ainda não carregado", + "pem_file_explanation": "Por favor, use um arquivo .pem", + "required": "Requeridos", + "using_file": "(usando o arquivo: {{filename}})", + "value_recorded_no_filename": "Valor registrado, sem nome de arquivo" }, "inventory": { - "add_child": "Adicionar local infantil", - "add_child_venue": "Adicionar Local Infantil a {{entityName}}", - "add_tag": "Criar tag", - "add_tag_to": "Adicionar novo dispositivo a {{name}}", - "add_venue": "Adicionar Local", - "assign_ent_ven": "Atribuir à Entidade ou Local", - "assign_entity_instructions": "Você pode encontrar a entidade à qual deseja que esta tag seja atribuída usando o menu abaixo ou pode colar manualmente o UUID da entidade no campo acima.", - "assign_error": "Erro ao tentar atribuir tag", - "assign_to_entity": "Atribuir à Entidade", - "bulk_delete_assigned": "Gostaria de excluir em massa os dispositivos atribuídos em seu arquivo?", - "bulk_delete_assigned_warning": "Aviso: esta ação não é reversível", - "bulk_delete_devices": "Dispositivos de exclusão em massa", - "bulk_delete_devices_not_found": "{{number}} dispositivos não encontrados", - "bulk_delete_explanation": "Para excluir dispositivos em massa, use um arquivo CSV com uma coluna chamada SerialNumber", - "bulk_delete_test": "Validar Arquivo", - "close_entity_menu": "Fechar Menu Editar Entidade", - "delete_devices": "Apagar dispositivos", - "delete_errors": "{{number}} Excluir erros do dispositivo", - "delete_tag": "Excluir tag", - "delete_venue": "Excluir local permanentemente", - "deleted_devices": "{{number}} Dispositivos Excluídos", - "deleting": "Excluindo ...", - "deletion_failure": "Erro de exclusão", - "devices_assigned": "{{number}} dispositivos existentes atribuídos e atualizados", - "devices_created": "{{number}} dispositivos criados", - "devices_deleted": "Dispositivos Excluídos", - "devices_errors_while_creating": "{{number}} criações de dispositivos falharam", - "devices_errors_while_updating": "{{number}} atualizações do dispositivo falharam", - "devices_found_assigned": "{{number}} dispositivos encontrados e já atribuídos a uma entidade ou local", - "devices_found_unassigned": "{{number}} dispositivos encontrados, mas não atribuídos", - "devices_imported": " Dispositivos importados", - "devices_not_found": "{{number}} dispositivos sem conflito", - "devices_tested": "Dispositivos Testados", - "duplicate_serial": "Número de série já usado no arquivo (duplicado)", - "error_create_venue": "Erro ao criar local", - "error_delete_tag": "Erro ao excluir tag de inventário", - "error_get_venue": "Erro ao recuperar locais", - "error_pushing_config": "Erro ao tentar enviar a configuração para o dispositivo: {{error}}", - "error_retrieving": "Ocorreu um erro ao recuperar as tags de inventário", - "error_unassign": "Erro durante operação de cancelamento de atribuição", - "error_update_venue": "Erro ao atualizar o local", - "error_venue_delete": "Erro ao excluir local", - "error_within_file": "{{number}} dispositivos com informações erradas no arquivo (serão ignorados)", - "file_error": "Parece haver um erro em seu arquivo. Certifique-se de que o arquivo esteja no formato CSV e contenha as 5 colunas mencionadas acima na primeira linha do arquivo", - "final_delete_results": "Resultados de exclusão final", - "final_import_results": "Resultados finais de importação", - "import_assigned_devices": "Quer reatribuí-los com esta importação?", - "import_assigned_devices_explanation": "Alguns dispositivos entram em conflito com dispositivos já atribuídos. Você deve resolver esses problemas antes de importar.", - "import_devices": "Dispositivos de importação", - "import_devices_explanation": "Para importar dispositivos em massa, você precisa usar um arquivo CSV com as seguintes colunas: SerialNumber, Name, Description, DeviceType, NoteText", - "import_devices_to": "Importar dispositivos para {{name}}", - "import_existing_devices": "Atualizar e atribuí-los?", - "import_existing_devices_explanation": "Alguns dispositivos já existem no inventário e não foram atribuídos.", - "importing": "A importar ...", - "last_modification": "Última modificação", - "no_devices_to_delete": "Nenhum dispositivo para excluir", - "no_devices_to_import": "Nenhum dispositivo válido para criar ou atualizar!", - "note_text": "Texto da Nota", - "passed_tests": "Todos os testes foram aprovados, seus dispositivos estão prontos para importar!", - "serial_number_required": "Erro: Número de série ausente", - "showing_top_10": "Aqui está uma prévia das informações que recuperamos de seu arquivo:", - "sub_venues": "Subvenues", - "subscriber": "Assinante", - "successful_assign": "Tag atribuída com sucesso", - "successful_tag_delete": "Tag de inventário excluída com sucesso", - "successful_tag_update": "Tag atualizada com sucesso", - "successful_unassign": "A operação de cancelamento da atribuição foi bem-sucedida", - "successful_venue_create": "Local criado com sucesso", - "successful_venue_delete": "Local excluído com sucesso", - "successful_venue_update": "Local atualizado com sucesso", - "tag_created": "Tag de inventário criada com sucesso", - "tag_creation_error": "Erro ao tentar criar etiqueta de inventário", - "tag_update_error": "Erro ao atualizar tag", - "tags_assigned_to": "Tags de inventário atribuídas a {{name}}", - "test_import": "Validar dados de importação", - "test_results": "Resultado dos testes", + "computed_configuration": "Configuração computada", + "dev_class": "Classe do dispositivo", + "device_type": "Tipo de dispositivo", + "error_reboots": "Erro ao enviar comando: {{count}}", + "error_remove_claim": "Erro ao remover a reivindicação: {{e}}", + "error_upgrades": "Erro ao enviar comando de atualização: {{count}}", + "invalid_serial_number": "Número de série inválido. Um número de série deve ter apenas 12 caracteres HEX (A-F, 0-9)", + "no_computed": "Nenhuma configuração computada: você precisará atribuir uma configuração válida para vê-la", + "no_firmware": "Nenhum firmware disponível para o tipo de dispositivo: {{count}}", + "not_connected": "Dispositivo não conectado: {{count}}", + "parent": "Pai", + "serial_number": "Número de série", + "skipped_upgrades": "Atualizações ignoradas: {{count}}", + "success_remove_claim": "Reivindicação removida com sucesso em: {{serial}}", + "successful_reboots": "Reinicialização iniciada: {{count}}", + "successful_upgrades": "Atualizações bem-sucedidas: {{count}}", + "tag_one": "Tag", + "tags": "Tags de inventário", "title": "Inventário", - "type_invalid": "Erro: Tipo de dispositivo inválido", - "unassign": "Cancelar atribuição", - "unassign_tag": "Cancelar a atribuição de tag da entidade", - "unassigned_deleted_devices": "{{number}} Dispositivos excluídos e não atribuídos", - "unassigned_tags": "Tags não atribuídas", - "validating_import_file": "Validando arquivo de importação e dados ...", - "venue": "Local", - "view_in_gateway": "Ver no Gateway" + "warning_reboots": "Não conectado: {{count}}", + "warning_upgrades": "Dispositivos não conectados: {{count}}" }, - "location": { - "add": "Adicionar Local", + "jobs": { + "error_macs": "Erro de MAC", + "job": "Trabalho", + "job_details": "Detalhes do trabalho", + "notify_emails": "Notificar e-mails", + "notify_sms": "Notificar SMS", + "successful_macs": "MACs de sucesso", + "title": "Empregos" + }, + "locations": { + "address_line_one": "Linha de endereço um", + "address_line_two": "Linha de endereço dois", "building_name": "nome do edifício", "city": "Cidade", + "claim_explanation": "Para reivindicar locais, você pode usar a tabela abaixo", "country": "País", - "create": "Criar local", - "currently_selected": "Local selecionado atualmente: {{location}}", - "delete": "Excluir localização?", - "error_assign": "Erro ao tentar atribuir local: {{error}}", - "error_creation": "Erro ao tentar criar locais: {{error}}", - "error_delete": "Erro ao excluir localização: {{error}}", - "error_fetching_single": "Erro ao tentar buscar localização: {{error}}", - "geocode": "GeoCode", - "mobiles": "Móbiles", - "no_associated": "Sem localização associada", - "phones": "Telefones", + "geocode": "Código geográfico", + "one": "Localização", + "other": "Localizações", "postal": "CEP / Código Postal", - "search": "Pesquise locais para preencher automaticamente os campos abaixo", - "state": "Estado", - "street_address": "Endereço", - "successful_creation": "Local criado com sucesso!", - "successful_delete": "Local excluído com sucesso!", - "successful_update": "Local atualizado com sucesso!", - "successfully_assigned": "Local atribuído com sucesso!", + "state": "Estado / Província", "title": "Localizações", - "update_error": "Erro ao atualizar local: {{error}}" + "to_claim": "Locais para reivindicar" }, "login": { - "account_verification": "Verificação de conta", - "authentication_expired": "Autenticação expirada, reinicie o processo de login", - "change_password": "Mudar senha", - "change_password_error": "Erro ao alterar a senha. Certifique-se de que a nova senha é válida visitando a página 'Política de senha'", - "change_password_instructions": "Digite e confirme sua nova senha", - "changing_password": "Alterando senha ...", + "access_policy": "Política de Acesso", + "change_password_error": "Senha rejeitada, talvez seja uma senha antiga", + "change_password_explanation": "Digite e confirme sua nova senha", + "change_your_password": "Mudar senha", "confirm_new_password": "confirme a nova senha", - "different_passwords": "Você precisa inserir a mesma senha duas vezes", - "email_code_validation": "Verifique sua caixa de e-mail e insira o código de verificação que acabamos de enviar na caixa abaixo", - "forgot_password_error": "Erro ao tentar enviar e-mail Esqueci a senha. Certifique-se de que este userId esteja associado a uma conta.", - "forgot_password_explanation": "Digite seu nome de usuário para receber um e-mail contendo as instruções para redefinir sua senha", - "forgot_password_success": "Em breve, você receberá um e-mail com as instruções para redefinir sua senha. Certifique-se de verificar o seu spam se você não conseguir encontrar o e-mail", - "logging_in": "Fazendo login ...", - "login": "Entrar", - "login_error": "Erro de login, certifique-se de que as informações que você está fornecendo são válidas", + "email_instructions": "Você deve receber em breve um código de 6 dígitos em seu endereço de e-mail. Se você não conseguir encontrá-lo, verifique sua pasta de spam.", + "error_sending_code": "Erro ao tentar enviar código: {{e}}", + "forgot_password": "Esqueceu a senha?", + "forgot_password_instructions": "Digite seu endereço de e-mail para receber um e-mail contendo as instruções para redefinir sua senha", + "forgot_password_successful": "Em breve, você receberá um e-mail com as instruções para redefinir sua senha. Certifique-se de verificar o seu spam se você não conseguir encontrar o e-mail", + "forgot_password_title": "Esqueceu a senha", + "google_instructions": "Insira o código de 6 dígitos do seu aplicativo Google Authenticator. Se estiver perto de expirar, você pode esperar por um novo", + "invalid_credentials": "Credenciais inválidas, confirme se você está usando o e-mail e a senha corretos.", + "invalid_mfa": "Código inválido! Por favor, tente novamente", + "login_explanation": "Digite seu e-mail e senha para entrar", "new_password": "Nova senha", - "password": "Senha", - "phone_validation_explanation": "Verifique seu dispositivo móvel e insira o código de verificação que acabamos de enviar na caixa abaixo", - "please_enter_gateway": "Insira um URL uCentralSec", - "please_enter_password": "Por favor, insira sua senha", - "please_enter_username": "Por favor insira seu nome de usuário", - "previously_used": "A senha foi usada anteriormente", - "send_forgot": "ENVIAR EMAIL", - "sending_ellipsis": "Enviando ...", - "sign_in_to_account": "Faça login em sua conta", - "url": "URL uCentralSec", - "username": "Nome de usuário", - "verification_code": "Insira sua verificação aqui", - "wrong_code": "O código de verificação inserido não é válido." + "password_policy": "Política de Senha", + "remember_me": "Lembre de mim", + "resend": "REENVIAR", + "resent_code": "Código reenviado com sucesso!", + "reset_password": "Redefinir senha", + "sign_in": "assinar em", + "sms_instructions": "Você deve receber um código de 6 dígitos em seu telefone em breve. Por favor, insira-o abaixo para fazer login", + "verification": "Verifique seu login", + "waiting_for_email_verification": "Conta ainda não validada por e-mail. Verifique sua caixa de entrada ou peça ao administrador para reenviar uma validação", + "welcome_back": "Bem vindo de volta!", + "your_email": "Seu endereço de email", + "your_new_password": "Sua nova senha", + "your_password": "Sua senha" }, - "preferences": { - "provisioning": "Provisioning" + "map": { + "auto_align": "Alinhamento Automático", + "auto_map": "Mapa automático", + "by_others": "Mapas de outros", + "cumulative_devices": "Dispositivos cumulativos", + "default_map": "Mapa Padrão", + "delete_warning": "Tem certeza de que deseja excluir este mapa? Esta operação não é reversível", + "duplicating": "Mapa duplicado", + "my_maps": "Meus mapas", + "other": "Mapas", + "root": "Raiz", + "root_node": "Nó Raiz", + "set_as_default": "Definir como padrão", + "title": "Mapa", + "visibility": "visibilidade" }, - "reboot": { - "directions": "Quando você gostaria de reinicializar este dispositivo?", - "now": "Você gostaria de reiniciar este dispositivo agora?", - "title": "Reiniciar" + "operator": { + "delete_explanation": "Tem certeza de que deseja excluir este operador? Esta operação não é reversível", + "delete_operator": "Excluir operador", + "import_location_from_device": "Importar de outro dispositivo", + "one": "OPERADOR", + "operator_one": "OPERADOR", + "operator_other": "Operadores", + "other": "Operadores", + "registration_id": "ID do registro" }, - "scan": { - "active": "Habilitar varredura ativa", - "channel": "Canal", - "directions": "Inicie uma verificação de wi-fi deste dispositivo, o que deve levar aproximadamente 25 segundos.", - "re_scan": "Verificar novamente", - "result_directions": "Você pode clicar no botão 'Scan' no canto superior direito para $t(scan.re_scan)", - "results": "Resultados da verificação de Wi-Fi", - "scan": "Varredura", - "scanning": "Scanning... ", - "waiting_directions": "Por favor, aguarde o resultado da verificação. Isso pode levar até 25 segundos. Você pode sair e ver os resultados da tabela de comandos mais tarde." + "organization": { + "my_organization": "Minha organização", + "title": "Organização" }, - "settings": { - "title": "Definições" + "profile": { + "about_me": "Sobre mim", + "activate": "", + "add_new_note": "Adicionar nota", + "deactivate": "Desativar", + "disabled": "Desativado", + "enabled": "ativado", + "manage_avatar": "Gerenciar Avatar", + "new_password": "Nova senha", + "new_password_confirmation": "confirme a nova senha", + "your_profile": "Seu perfil" }, - "simulation": { - "add": "Adicionar Simulação", - "cancel": "Cancelar", - "cancel_success": "Simulação cancelada com sucesso!", - "check_ongoing_sims": "Seguir Sim em Curso", - "client_interval": "Intervalo do Cliente", - "delete_simulation": "Excluir Sim. {{name}}", - "end": "Terminado", - "error_creating": "Erro ao criar simulação: {{error}}", - "error_delete": "Erro ao excluir simulação: {{error}}", - "error_devices": "Dispositivos de Erro", - "error_edit": "Erro ao tentar salvar a simulação: {{error}}", - "error_edit_run": "Erro ao tentar alterar o estado de execução: {{error}}", - "error_fetching_simulations": "Erro ao buscar simulações: {{error}}", - "error_start_run": "Erro ao tentar iniciar uma simulação: {{error}}", - "gateway": "Gateway", - "healtcheck_interval": "Intervalo de verificação de saúde", - "keep_alive": "Mantenha vivo", - "last_refresh": "Última atualização", - "length": "Comprimento", - "live_devices": "Dispositivos Live", - "mac_prefix": "Prefixo MAC", - "max_associations": "Máx. Associações", - "max_clients": "Máx. Clientes", - "messages_transmitted": "Msgs TX", - "min_associations": "Min. Associações", - "min_clients": "Min. Clientes", - "pause": "pausa", - "pause_success": "Executar em pausa!", - "prefix_length": "Obrigatório, deve ter 6 caracteres", - "previous_runs": "Execuções anteriores", - "received": "recebido", - "received_messages": "Msgs RX", - "reconnect_interval": "Intervalo de reconexão", - "resume": "Currículo", - "resume_success": "Executar retomado!", - "run": "Simulação Rodada", - "run_simulation": "Executar Simulação", - "started": "Começado", - "state_interval": "Intervalo de estado", - "stop": "Pare", - "stop_success": "Run Stopped!", - "success_creating": "Simulação criada com sucesso!", - "success_run_start": "Execução iniciada com sucesso!", - "successful_delete": "Simulação excluída com sucesso!", - "successful_edit": "Simulação editada com sucesso!", - "threads": "Tópicos", - "time_full_devices": "Tempo para dispositivos completos", - "title": "Simulações", - "transmitted": "Transmitido", - "valid_cert": "Certificado Válido", - "valid_key": "Chave Válida" + "resources": { + "configuration_resource": "recurso", + "title": "Recursos", + "variable": "Variável" + }, + "rrm": { + "algorithm": "Algoritmo", + "algorithm_other": "Algoritmos", + "cant_save_custom": "Não é possível criar ou editar configurações personalizadas de RRM até que o servidor RRM esteja acessível. Consulte seu administrador", + "cron_error": "Erro ao analisar a expressão CRON: confirme se é válida", + "cron_scheduler": "Agendador CRON", + "cron_templates": "modelos", + "no_algos": "Não é possível buscar algoritmos RRM no momento", + "no_providers": "Não podemos buscar provedores de RRM no momento", + "param_error": "Seus parâmetros não respeitam as regras deste algoritmo. Por favor, veja os exemplos e detalhes do algoritmo", + "parameters": "Parâmetros", + "vendor": "fornecedor", + "version": "Versão" + }, + "service": { + "billing_code": "código de cobrança", + "billing_frequency": "Freqüência de cobrança", + "class_one": "Classe de serviço", + "class_other": "Classes de serviço", + "cost": "Custo", + "one": "Classe de serviço", + "other": "Classes de serviço" }, "statistics": { - "data": "Dados (KB)", - "data_mb": "Dados (MB)", - "latest_statistics": "Estatísticas mais recentes", - "lifetime_stats": "Estatísticas de vida", - "memory": "Memória", - "no_interfaces": "Nenhuma estatística de tempo de vida da interface disponível", - "show_latest": "Últimas estatísticas", - "title": "Estatisticas", - "used": "Memoria usada %" + "last_stats": "Últimas estatísticas", + "memory": "Memória" }, - "status": { - "connection_status": "Status", - "error": "Dados de status indisponíveis", - "last_contact": "Último contato", - "load_averages": "Carga (1/5/15 m.)", - "localtime": "Horário local", - "memory": "Memória Usada", - "percentage_free": "{{percentage}}% de {{total}} grátis", - "percentage_used": "{{percentage}}% de {{total}} usado", - "title": "#{{serialNumber}} status", - "total_memory": "Memória total", - "uptime": "Tempo de atividade", - "used_total_memory": "{{used}} usado / {{total}} total" - }, - "subscriber": { - "add_device_subscriber_explanation": "Para reivindicar outros dispositivos, você pode usar nossa barra de pesquisa ou reivindicar diretamente na tabela. Se um dispositivo já foi reivindicado por um usuário, você precisará acessar os detalhes dele e cancelar a atribuição antes de reivindicá-lo.", - "create": "Criar assinante", - "devices_one": "{{count}} Dispositivo", - "devices_other": "{{count}} dispositivos", - "edit": "Editar Assinante", - "error_create": "Erro ao criar assinante: {{error}}", - "error_delete": "Erro ao excluir assinante: {{error}}", - "error_fetching": "Erro ao buscar assinantes: {{error}}", - "error_fetching_single": "Erro ao buscar assinante: {{error}}", - "error_update": "Erro ao atualizar assinante: {{error}}", - "is_already_claimed": "já é reivindicado por", - "subscribers": "Inscritos", - "success_create": "Assinante criado com sucesso!", - "success_delete": "Assinante excluído com sucesso!", - "success_update": "Assinante atualizado com sucesso!" + "subscribers": { + "billing_contact_info": "Detalhes de cobrança e contato", + "claim_device_explanation": "Para reivindicar dispositivos, você pode usar a tabela abaixo. Se um dispositivo já foi reivindicado por um usuário, você precisará acessar os detalhes dele e cancelar a atribuição antes de reivindicá-lo.", + "devices_claimed_one": "{{count}} Dispositivo reivindicado", + "devices_claimed_other": "{{count}} Dispositivos reivindicados", + "devices_to_claim_one": "{{count}} Dispositivo para reivindicar", + "devices_to_claim_other": "{{count}} Dispositivos para reivindicar", + "error_claiming": "Erro ao reivindicar: {{serials}}", + "error_removing_claim": "Erro ao remover reivindicações em: {{serials}}", + "no_subscribers_found": "Nenhum assinante encontrado", + "one": "Assinante", + "other": "Inscritos", + "reactivate_explanation": "Tem certeza de que deseja reativar este assinante?", + "reactivate_title": "Reativar assinante", + "title": "Inscritos" }, "system": { - "error_fetching": "Erro ao buscar informações do sistema", - "error_reloading": "Erro ao recarregar: {{error}}", + "could_not_retrieve": "Erro: não foi possível recuperar {{name}} informações do sistema", + "endpoint": "Ponto final", "hostname": "Nome de anfitrião", + "info": "Informação do sistema", "os": "Sistema Operacional", "processors": "Processadores", - "reload": "Recarregar", - "reload_subsystems": "Recarregar", + "reload_chosen_subsystems": "Recarregar Subsistemas Escolhidos", + "start": "Começar", "subsystems": "Subsistemas", - "success_reload": "Comando de recarregamento enviado com sucesso!" + "success_reload": "Comando de recarga enviado com sucesso!", + "systems_to_reload": "Escolha sistemas para recarregar", + "title": "Sistema", + "uptime": "Tempo de atividade", + "version": "Versão" }, - "telemetry": { - "connection_failed": "Falha ao criar conexão. Erro: {{error}}", - "interval": "intervalo", - "last_update": "Última atualização", - "lifetime": "Duração", - "outputmode": "Modo saída", - "types": "Tipos" - }, - "trace": { - "choose_network": "Escolha a rede", - "directions": "Lançar um rastreamento remoto deste dispositivo para uma duração específica ou um número de pacotes", - "download_trace": "Baixar arquivo de rastreamento", - "packets": "Pacotes", - "title": "Vestígio", - "trace": "Vestígio", - "trace_not_successful": "O rastreamento não foi bem-sucedido: o gateway relatou o seguinte erro: {{error}}", - "wait_for_file": "Esperar até que o arquivo de rastreamento esteja pronto?", - "waiting_directions": "Aguarde o arquivo de dados de rastreamento. Isto pode tomar algum tempo. Você pode sair da espera e recuperar o arquivo de rastreamento da tabela de comandos mais tarde.", - "waiting_seconds": "Tempo decorrido: {{seconds}} segundos" - }, - "upgrade": { - "command_submitted": "Comando enviado", - "device_disconnected": "Dispositivo desconectado", - "device_reconnected": "Dispositivo reconectado", - "device_upgrading_firmware": "Firmware de atualização de dispositivo", - "directions": "Escolha um horário e uma versão de firmware para este dispositivo", - "firmware_uri": "URI de firmware:", - "need_uri": "Você precisa de um URI ...", - "new_version": "Nova versão é", - "offline_device": "Esta opção está bloqueada porque este dispositivo não está conectado", - "time": "Tempo de atualização:", - "title": "Atualização de firmware", - "upgrade": "Melhorar", - "wait_for_upgrade": "Você gostaria de esperar a conclusão da atualização?", - "waiting_for_device": "Esperando que o dispositivo se reconecte" + "table": { + "columns_hidden_one": "{{count}} Coluna oculta", + "columns_hidden_other": "{{count}} Colunas ocultas", + "first_page": "Primeira Página", + "go_to_page": "Vá para página", + "last_page": "Última Página", + "next_page": "Próxima página", + "page": "Página", + "previous_page": "Página anterior" }, "user": { - "add_phone_number": "ADICIONAR NÚMERO DE TELEFONE", - "avatar": "Seu avatar", - "avatar_file": "Seu avatar (máx. De 2 MB)", - "check_phone": "Por favor, verifique o seu telefone para o seu código de validação", - "confirm_new_password": "confirme a nova senha", - "create": "Criar usuário", - "create_failure": "Erro ao criar usuário: {{error}}", - "create_success": "Usuário criado com sucesso", - "creating": "Criando usuário ...", - "delete_avatar": "Apagar Avatar", - "delete_failure": "Erro ao tentar excluir usuário: {{error}}", - "delete_success": "Usuário excluído com sucesso!", - "delete_title": "Deletar usuário", - "delete_warning": "Aviso: depois de excluir um usuário, você não pode reverter", - "deleting": "Excluindo ...", - "description": "Descrição", - "edit": "Editar usuário", - "email_address": "Endereço de e-mail", - "enter_new_phone": "Insira seu novo número de telefone:", - "error_fetching_users": "Erro ao buscar usuários: {{error}}", - "error_retrieving": "Erro ao recuperar usuário", - "error_sending_code": "Erro ao tentar enviar o código de validação. Por favor, confirme se o seu número de telefone é válido.", - "force_password_change": "Forçar mudança de senha no login", - "id": "ID do usuário.", - "last_login": "Último login", - "login_id": "Identificação de usuário.", - "make_sure_same_password": "Certifique-se de que ambas as senhas são iguais e válidas", - "my_profile": "Meu perfil", - "name": "Nome", - "new_code_sent": "Novo código enviado!", - "nickname": "Apelido", - "nickname_explanation": "Apelido (opcional)", - "not_validated": "Não validado", - "note": "Nota", + "error_fetching": "Erro ao buscar informações do usuário: {{e}}", "password": "Senha", - "phone_number": "Número de telefone", - "provide_email": "Por favor, forneça um endereço de e-mail válido", - "provide_password": "Forneça uma senha válida", - "save_avatar": "Salvar Avatar", - "send_code": "Enviar código", - "send_code_again": "Envie o Código Novamente", - "show_hide_password": "Mostrar / ocultar senha", - "successful_validation": "Número de telefone validado! Clique no botão Salvar para vinculá-lo ao seu perfil", - "table_title": "Usuários administrativos", - "update_failure": "Erro ao tentar atualizar: {{error}}", - "update_failure_title": "Atualização falhou", - "update_success": "Usuário atualizado com sucesso", - "update_success_title": "Sucesso", - "user_role": "Função", - "users": "Comercial", - "validate_phone": "validar", - "validated": "Validado", - "wrong_validation_code": "Você não digitou um código válido. Por favor, tente novamente e certifique-se de ter inserido o número de telefone correto" + "role": "Função", + "title": "Do utilizador" }, - "wifi_analysis": { - "association": "Associação", - "associations": "Associações", - "mode": "Modo", - "network_diagram": "Diagrama de rede", - "override_dfs": "Substituir DFS", - "radios": "Rádios", - "scan_warning": "Seu rádio 5G está em um canal de radar, você deve habilitar “Override DFS” para permitir a varredura de todos os canais 5G", - "title": "Análise de Wi-Fi", - "vendor": "fornecedor", - "waiting_for_data": "Aguardando para receber dados do dispositivo. Verifique novamente mais tarde" + "users": { + "change_password": "Forçar mudança de senha", + "email_validation": "Validação de E-mail", + "error_fetching": "Erro ao buscar usuários: {{e}}", + "error_sending_validation": "Erro ao enviar validação de e-mail: {{e}}", + "last_login": "Último login", + "login_id": "Identificação de usuário", + "one": "Do utilizador", + "re_validate_email": "Revalidar e-mail", + "reactivate_user": "Reativar usuário", + "reset_mfa": "Redefinir MFA", + "reset_mfa_success": "Redefinir o MFA do usuário com sucesso!", + "reset_password": "Redefinir senha", + "reset_password_error": "Erro ao tentar redefinir a senha do usuário: {{e}}", + "reset_password_success": "E-mail de redefinição de senha enviado com sucesso para o endereço de e-mail do usuário", + "role": "Função", + "send_validation": "Enviar validação de e-mail", + "send_validation_explanation": "Deseja reenviar o link de verificação de e-mail?", + "stop_suspension": "Reativar", + "success_sending_validation": "Email de validação enviado!", + "suspend": "Suspender", + "suspend_success": "O usuário agora está suspenso", + "suspended": "Suspenso", + "title": "Comercial", + "waitiing_for_email_verification": "Email não verificado" + }, + "venues": { + "confirm_remove_contact": "Deseja remover este contato deste local?", + "create_child": "Criar local filho", + "error_remove_contact": "Erro ao tentar remover o contato: {{e}}", + "error_update_devices": "Erro ao iniciar a atualização do dispositivo: {{e}}", + "go_to_page": "Vá para página", + "one": "Local", + "reboot_all_devices": "Reiniciar todos os dispositivos", + "sub_one": "Sublocal", + "sub_other": "Sub-locais", + "subvenues": "Sub-locais", + "successfully_reboot_devices": "Reiniciando {{num}} dispositivos!", + "successfully_removed_contact": "Contato removido com sucesso!", + "successfully_update_devices": "Atualizando {{num}} dispositivos!", + "title": "Locais", + "update_all_devices": "Atualizar todas as configurações do dispositivo", + "upgrade_all_devices": "Atualize todos os dispositivos para o firmware mais recente", + "upgrade_all_devices_error": "Erro ao atualizar dispositivos: {{e}}", + "upgrade_all_devices_success": "Atualização de dispositivos iniciada com sucesso!", + "use_existing": "Usar existente", + "use_existing_contacts": "Usar contatos existentes", + "use_this_contact": "Use este contato" } } diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b879283fedc3109d6a8a5c482bc80b01ce897b GIT binary patch literal 10173 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 S1wMgKKosTFWXq(@L;eq!wN&Z= literal 0 HcmV?d00001 diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg new file mode 100644 index 0000000..b9b58ed --- /dev/null +++ b/public/safari-pinned-tab.svg @@ -0,0 +1,38 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + diff --git a/src/App.js b/src/App.js deleted file mode 100644 index bafaa71..0000000 --- a/src/App.js +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import { HashRouter, Switch } from 'react-router-dom'; -import 'scss/style.scss'; -import Router from 'router'; -import { AuthProvider } from 'ucentral-libs'; -import { checkIfJson } from 'utils/helper'; -import axiosInstance from 'utils/axiosInstance'; -import { getItem } from 'utils/localStorageHelper'; - -const loading = ( -
-
-
-); - -const App = () => { - const storageToken = getItem('access_token'); - const apiEndpoints = checkIfJson(getItem('gateway_endpoints')) - ? JSON.parse(getItem('gateway_endpoints')) - : {}; - - return ( - - - - - - - - - - ); -}; - -export default App; diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..b29a5d1 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,39 @@ +import React, { Suspense } from 'react'; +import { Spinner } from '@chakra-ui/react'; +import { QueryClientProvider, QueryClient } from 'react-query'; +import { HashRouter } from 'react-router-dom'; +import Router from 'router'; +import { AuthProvider } from 'contexts/AuthProvider'; +import { ProvisioningSocketProvider } from 'contexts/ProvisioningSocketProvider'; +import { ControllerSocketProvider } from 'contexts/ControllerSocketProvider'; + +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + retry: 0, + refetchOnWindowFocus: false, + }, + }, +}); + +const App = () => { + const storageToken = localStorage.getItem('access_token') ?? sessionStorage.getItem('access_token'); + + return ( + + + }> + + + + + + + + + + + ); +}; + +export default App; diff --git a/src/assets/OpenWiFi_LogoLockup_WhiteColour.svg b/src/assets/Logo_Dark_Mode.svg similarity index 100% rename from src/assets/OpenWiFi_LogoLockup_WhiteColour.svg rename to src/assets/Logo_Dark_Mode.svg diff --git a/src/assets/OpenWiFi_LogoLockup_DarkGreyColour.svg b/src/assets/Logo_Light_Mode.svg similarity index 100% rename from src/assets/OpenWiFi_LogoLockup_DarkGreyColour.svg rename to src/assets/Logo_Light_Mode.svg diff --git a/src/assets/NotFound.png b/src/assets/NotFound.png deleted file mode 100644 index e70f7082e3002757aa44e66c7cdde2bc9dbea404..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24702 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 diff --git a/src/assets/OpenWiFi_BadgeLogo_DarkGrey.svg b/src/assets/OpenWiFi_BadgeLogo_DarkGrey.svg deleted file mode 100644 index 89e527c..0000000 --- a/src/assets/OpenWiFi_BadgeLogo_DarkGrey.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js deleted file mode 100644 index 0cd1d57..0000000 --- a/src/assets/icons/index.js +++ /dev/null @@ -1,203 +0,0 @@ -import { - cifUs, - cifBr, - cifIn, - cifFr, - cifEs, - cifPl, - cilAlignCenter, - cilAlignLeft, - cilAlignRight, - cilApplicationsSettings, - cilArrowRight, - cilArrowTop, - cilAsterisk, - cilBan, - cilBarcode, - cilBasket, - cilBell, - cilBold, - cilBookmark, - cilCalculator, - cilCalendar, - cilCloudDownload, - cilChartPie, - cilCheck, - cilChevronBottom, - cilChevronLeft, - cilChevronRight, - cilChevronTop, - cilCircle, - cilCheckCircle, - cilCode, - cilCommentSquare, - cilCreditCard, - cilCursor, - cilCursorMove, - cilDrop, - cilDollar, - cilEnvelopeClosed, - cilEnvelopeLetter, - cilEnvelopeOpen, - cilEuro, - cilGlobeAlt, - cilGrid, - cilFile, - cilFullscreen, - cilFullscreenExit, - cilGraph, - cilHome, - cilInbox, - cilIndentDecrease, - cilIndentIncrease, - cilInputPower, - cilItalic, - cilJustifyCenter, - cilJustifyLeft, - cilLaptop, - cilLayers, - cilLightbulb, - cilList, - cilListNumbered, - cilListRich, - cilLocationPin, - cilLockLocked, - cilMagnifyingGlass, - cilMap, - cilMoon, - cilNotes, - cilOptions, - cilPaperclip, - cilPaperPlane, - cilPencil, - cilPeople, - cilPhone, - cilPrint, - cilPuzzle, - cilRouter, - cilSave, - cilScrubber, - cilSettings, - cilShare, - cilShareAll, - cilShareBoxed, - cilShieldAlt, - cilSpeech, - cilSpeedometer, - cilSpreadsheet, - cilStar, - cilSun, - cilTags, - cilTask, - cilTrash, - cilUnderline, - cilUser, - cilUserFemale, - cilUserFollow, - cilUserUnfollow, - cilX, - cilXCircle, - cilWarning, -} from '@coreui/icons'; - -export const icons = { - cilAlignCenter, - cilAlignLeft, - cilAlignRight, - cilApplicationsSettings, - cilArrowRight, - cilArrowTop, - cilAsterisk, - cilBan, - cilBarcode, - cilBasket, - cilBell, - cilBold, - cilBookmark, - cilCalculator, - cilCalendar, - cilCloudDownload, - cilChartPie, - cilCheck, - cilChevronBottom, - cilChevronLeft, - cilChevronRight, - cilChevronTop, - cilCircle, - cilCheckCircle, - cilCode, - cilCommentSquare, - cilCreditCard, - cilCursor, - cilCursorMove, - cilDrop, - cilDollar, - cilEnvelopeClosed, - cilEnvelopeLetter, - cilEnvelopeOpen, - cilEuro, - cilGlobeAlt, - cilGrid, - cilFile, - cilFullscreen, - cilFullscreenExit, - cilGraph, - cilHome, - cilInbox, - cilIndentDecrease, - cilIndentIncrease, - cilInputPower, - cilItalic, - cilJustifyCenter, - cilJustifyLeft, - cilLaptop, - cilLayers, - cilLightbulb, - cilList, - cilListNumbered, - cilListRich, - cilLocationPin, - cilLockLocked, - cilMagnifyingGlass, - cilMap, - cilMoon, - cilNotes, - cilOptions, - cilPaperclip, - cilPaperPlane, - cilPencil, - cilPeople, - cilPhone, - cilPrint, - cilPuzzle, - cilRouter, - cilSave, - cilScrubber, - cilSettings, - cilShare, - cilShareAll, - cilShareBoxed, - cilShieldAlt, - cilSpeech, - cilSpeedometer, - cilSpreadsheet, - cilStar, - cilSun, - cilTags, - cilTask, - cilTrash, - cilUnderline, - cilUser, - cilUserFemale, - cilUserFollow, - cilUserUnfollow, - cilX, - cilXCircle, - cilWarning, - cifUs, - cifBr, - cifIn, - cifFr, - cifEs, - cifPl, -}; diff --git a/src/components/AddConfigurationModal/Form.js b/src/components/AddConfigurationModal/Form.js deleted file mode 100644 index 18a45b9..0000000 --- a/src/components/AddConfigurationModal/Form.js +++ /dev/null @@ -1,163 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import PropTypes from 'prop-types'; -import Select from 'react-select'; -import { - CForm, - CInput, - CLabel, - CCol, - CFormGroup, - CInvalidFeedback, - CFormText, - CRow, - CTextarea, -} from '@coreui/react'; -import { CopyToClipboardButton } from 'ucentral-libs'; - -const AddDefaultConfigurationForm = ({ - t, - disable, - fields, - updateField, - updateFieldWithKey, - deviceTypes, -}) => { - const [typeOptions, setTypeOptions] = useState([]); - const [chosenTypes, setChosenTypes] = useState([]); - - const parseOptions = () => { - const options = [{ value: '*', label: 'All' }]; - const newOptions = deviceTypes.map((option) => ({ - value: option, - label: option, - })); - options.push(...newOptions); - setTypeOptions(options); - setChosenTypes([]); - }; - - const typeOnChange = (chosenArray) => { - const allIndex = chosenArray.findIndex((el) => el.value === '*'); - - // If the All option was chosen before, we take it out of the array - if (allIndex === 0 && chosenTypes.length > 0) { - const newResults = chosenArray.slice(1); - setChosenTypes(newResults); - updateFieldWithKey('deviceTypes', { - value: newResults.map((el) => el.value), - error: false, - notEmpty: true, - }); - } else if (allIndex > 0) { - setChosenTypes([{ value: '*', label: 'All' }]); - updateFieldWithKey('deviceTypes', { value: ['*'], error: false, notEmpty: true }); - } else if (chosenArray.length > 0) { - setChosenTypes(chosenArray); - updateFieldWithKey('deviceTypes', { - value: chosenArray.map((el) => el.value), - error: false, - notEmpty: true, - }); - } else { - setChosenTypes([]); - updateFieldWithKey('deviceTypes', { value: [], error: false, notEmpty: true }); - } - }; - - useEffect(() => { - parseOptions(); - }, [deviceTypes]); - - return ( - - - - {t('user.name')} - - - - {t('common.required')} - - - - - {t('user.description')} - - - - {t('common.required')} - - - - -
{t('configuration.supported_device_types')}:
-
- - + + + ); +}; + +export const FileInputButton = React.memo(_FileInputButton); diff --git a/src/components/Buttons/RefreshButton/index.tsx b/src/components/Buttons/RefreshButton/index.tsx new file mode 100644 index 0000000..1f2bf3e --- /dev/null +++ b/src/components/Buttons/RefreshButton/index.tsx @@ -0,0 +1,61 @@ +import React from 'react'; +import { Button, IconButton, Tooltip, useBreakpoint } from '@chakra-ui/react'; +import { ArrowsClockwise } from 'phosphor-react'; +import { useTranslation } from 'react-i18next'; + +export interface RefreshButtonProps { + onClick: () => void; + isDisabled?: boolean; + isFetching?: boolean; + isCompact?: boolean; + ml?: string | number; + size?: 'sm' | 'md' | 'lg'; +} + +const _RefreshButton: React.FC = ({ + onClick, + isDisabled, + isFetching, + isCompact, + ml, + size, + ...props +}) => { + const { t } = useTranslation(); + const breakpoint = useBreakpoint(); + + if (!isCompact && breakpoint !== 'base' && breakpoint !== 'sm') { + return ( + + ); + } + + return ( + + } + isDisabled={isDisabled} + isLoading={isFetching} + ml={ml} + {...props} + /> + + ); +}; + +export const RefreshButton = React.memo(_RefreshButton); diff --git a/src/components/Buttons/ResponsiveButton/index.tsx b/src/components/Buttons/ResponsiveButton/index.tsx new file mode 100644 index 0000000..d1fc7ce --- /dev/null +++ b/src/components/Buttons/ResponsiveButton/index.tsx @@ -0,0 +1,59 @@ +import React from 'react'; +import { Button, IconButton, SpaceProps, Tooltip, useBreakpoint } from '@chakra-ui/react'; + +export interface ResponsiveButtonProps extends SpaceProps { + onClick: () => void; + isDisabled?: boolean; + isLoading?: boolean; + isCompact?: boolean; + color: string; + label: string; + icon?: React.ReactElement; +} + +const _ResponsiveButton: React.FC = ({ + onClick, + isDisabled, + isLoading, + isCompact, + color, + label, + icon, + ...props +}) => { + const breakpoint = useBreakpoint(); + + if (!isCompact && breakpoint !== 'base' && breakpoint !== 'sm') { + return ( + + ); + } + return ( + + + + ); +}; + +export const ResponsiveButton = React.memo(_ResponsiveButton); diff --git a/src/components/Buttons/SaveButton/index.tsx b/src/components/Buttons/SaveButton/index.tsx new file mode 100644 index 0000000..85eda6e --- /dev/null +++ b/src/components/Buttons/SaveButton/index.tsx @@ -0,0 +1,60 @@ +import React from 'react'; +import { Button, IconButton, Tooltip, useBreakpoint } from '@chakra-ui/react'; +import { FloppyDisk } from 'phosphor-react'; +import { useTranslation } from 'react-i18next'; + +export interface SaveButtonProps + extends React.DetailedHTMLProps, HTMLButtonElement> { + onClick: () => void; + isDisabled?: boolean; + isLoading?: boolean; + isCompact?: boolean; + isDirty?: boolean; + dirtyCheck?: boolean; + ml?: string | number; +} + +const _SaveButton: React.FC = ({ + onClick, + isDisabled, + isLoading, + isCompact, + isDirty, + dirtyCheck, + ...props +}) => { + const { t } = useTranslation(); + const breakpoint = useBreakpoint(); + + if (!isCompact && breakpoint !== 'base' && breakpoint !== 'sm') { + return ( + + ); + } + return ( + + } + isLoading={isLoading} + isDisabled={isDisabled || (dirtyCheck && !isDirty)} + {...props} + /> + + ); +}; + +export const SaveButton = React.memo(_SaveButton); diff --git a/src/components/Buttons/StepButton/index.tsx b/src/components/Buttons/StepButton/index.tsx new file mode 100644 index 0000000..67190b5 --- /dev/null +++ b/src/components/Buttons/StepButton/index.tsx @@ -0,0 +1,78 @@ +import React, { useCallback, useMemo } from 'react'; +import { Button, IconButton, Tooltip, useBreakpoint } from '@chakra-ui/react'; +import { ArrowRight, FloppyDisk } from 'phosphor-react'; +import { useTranslation } from 'react-i18next'; + +export interface StepButtonProps { + onNext: () => void; + onSave?: () => void; + currentStep: number; + lastStep: number; + isDisabled?: boolean; + isLoading?: boolean; + isCompact?: boolean; + ml?: string | number; +} + +const _StepButton: React.FC = ({ + onNext, + onSave, + isDisabled, + isLoading, + isCompact, + currentStep, + lastStep, + ml, + ...props +}) => { + const { t } = useTranslation(); + const breakpoint = useBreakpoint(); + + const onClick = useCallback( + () => (currentStep === lastStep && onSave ? onSave() : onNext()), + [currentStep, lastStep, onNext, onSave], + ); + const icon = useMemo( + () => (currentStep === lastStep ? : ), + [currentStep, lastStep], + ); + const label = useMemo( + () => (currentStep === lastStep ? t('common.save') : t('common.next')), + [currentStep, lastStep], + ); + + if (!isCompact && breakpoint !== 'base' && breakpoint !== 'sm') { + return ( + + ); + } + + return ( + + + + ); +}; + +export const StepButton = React.memo(_StepButton); diff --git a/src/components/Buttons/ToggleEditButton/index.tsx b/src/components/Buttons/ToggleEditButton/index.tsx new file mode 100644 index 0000000..b6e1667 --- /dev/null +++ b/src/components/Buttons/ToggleEditButton/index.tsx @@ -0,0 +1,83 @@ +import React from 'react'; +import { Button, IconButton, Tooltip, useBreakpoint, useDisclosure } from '@chakra-ui/react'; +import { Pencil, X } from 'phosphor-react'; +import { useTranslation } from 'react-i18next'; +import { ConfirmCloseAlertModal } from '../../Modals/ConfirmCloseAlert'; + +export interface ToggleEditButtonProps { + toggleEdit: () => void; + isDisabled?: boolean; + isLoading?: boolean; + isCompact?: boolean; + isEditing: boolean; + isDirty?: boolean; + ml?: string | number; +} + +const _ToggleEditButton: React.FC = ({ + toggleEdit, + isEditing, + isDirty, + isDisabled, + isLoading, + isCompact, + ml, + ...props +}) => { + const { t } = useTranslation(); + const breakpoint = useBreakpoint(); + const { isOpen: showConfirm, onOpen: openConfirm, onClose: closeConfirm } = useDisclosure(); + + const toggle = () => { + if (isEditing && isDirty) { + openConfirm(); + } else { + toggleEdit(); + } + }; + + const closeCancelAndForm = () => { + closeConfirm(); + toggleEdit(); + }; + + if (!isCompact && breakpoint !== 'base' && breakpoint !== 'sm') { + return ( + <> + + + + ); + } + return ( + <> + + : } + isLoading={isLoading} + isDisabled={isDisabled} + ml={ml} + {...props} + /> + + + + ); +}; + +export const ToggleEditButton = React.memo(_ToggleEditButton); diff --git a/src/components/Buttons/WarningButton/index.tsx b/src/components/Buttons/WarningButton/index.tsx new file mode 100644 index 0000000..23d4fb8 --- /dev/null +++ b/src/components/Buttons/WarningButton/index.tsx @@ -0,0 +1,57 @@ +import React from 'react'; +import { ThemeProps } from 'models/Theme'; +import { Button, IconButton, Tooltip, useBreakpoint } from '@chakra-ui/react'; +import { Warning } from 'phosphor-react'; +import { useTranslation } from 'react-i18next'; + +export interface WarningButtonProps extends ThemeProps { + onClick: () => void; + isDisabled?: boolean; + isLoading?: boolean; + isCompact?: boolean; + label?: string; +} + +const _WarningButton: React.FC = ({ + onClick, + isDisabled, + isLoading, + isCompact, + label, + ...props +}) => { + const { t } = useTranslation(); + const breakpoint = useBreakpoint(); + + if (!isCompact && breakpoint !== 'base' && breakpoint !== 'sm') { + return ( + + ); + } + return ( + + } + isLoading={isLoading} + isDisabled={isDisabled} + {...props} + /> + + ); +}; + +export const WarningButton = React.memo(_WarningButton); diff --git a/src/components/CapabilitiesDisplay/index.js b/src/components/CapabilitiesDisplay/index.js deleted file mode 100644 index e10f641..0000000 --- a/src/components/CapabilitiesDisplay/index.js +++ /dev/null @@ -1,100 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import PropTypes from 'prop-types'; -import { - CRow, - CCol, - CCard, - CCardBody, - CCardHeader, - CLabel, - CPopover, - CSpinner, - CButton, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilSync } from '@coreui/icons'; -import { useTranslation } from 'react-i18next'; -import { CopyToClipboardButton, useAuth, useToast, FormattedDate } from 'ucentral-libs'; -import axiosInstance from 'utils/axiosInstance'; - -const CapabilitiesDisplay = ({ serialNumber }) => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const [capabilities, setCapabilities] = useState({}); - const { addToast } = useToast(); - const [loading, setLoading] = useState(false); - - const getCapabilities = () => { - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .get( - `${endpoints.owgw}/api/v1/device/${encodeURIComponent(serialNumber)}/capabilities`, - options, - ) - .then((response) => { - setCapabilities(response.data); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('device.error_fetching_device', { error: e.response?.data?.ErrorDescription }), - color: 'danger', - autohide: true, - }); - }) - .finally(() => { - setLoading(false); - }); - }; - - useEffect(() => { - getCapabilities(); - }, []); - - return ( - - -
-
- - - - - -
-
-
- -
- {t('device.capabilities')} - -
- - - - {t('inventory.last_modification')}: - - - - {loading ? : null} -
{JSON.stringify(capabilities?.capabilities ?? {}, null, 4)}
-
-
- ); -}; - -CapabilitiesDisplay.propTypes = { - serialNumber: PropTypes.string.isRequired, -}; - -export default CapabilitiesDisplay; diff --git a/src/components/CommandHistory/DetailsModal.js b/src/components/CommandHistory/DetailsModal.js deleted file mode 100644 index 258a5ea..0000000 --- a/src/components/CommandHistory/DetailsModal.js +++ /dev/null @@ -1,33 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { CButton, CModal, CModalHeader, CModalBody, CModalTitle, CPopover } from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilX } from '@coreui/icons'; - -const DetailsModal = ({ t, show, toggle, details, commandUuid }) => ( - - - {commandUuid} -
- - - - - -
-
- -
{JSON.stringify(details, null, 2)}
-
-
-); - -DetailsModal.propTypes = { - t: PropTypes.func.isRequired, - show: PropTypes.bool.isRequired, - toggle: PropTypes.func.isRequired, - details: PropTypes.instanceOf(Object).isRequired, - commandUuid: PropTypes.string.isRequired, -}; - -export default DetailsModal; diff --git a/src/components/CommandHistory/index.js b/src/components/CommandHistory/index.js deleted file mode 100644 index 272d682..0000000 --- a/src/components/CommandHistory/index.js +++ /dev/null @@ -1,441 +0,0 @@ -/* eslint-disable-rule prefer-destructuring */ -import React, { useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { - CCardHeader, - CCardBody, - CButton, - CDataTable, - CCard, - CPopover, - CButtonToolbar, - CFormText, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import DatePicker from 'react-widgets/DatePicker'; -import { cilCloudDownload, cilSync, cilCalendarCheck } from '@coreui/icons'; -import { dateToUnix } from 'utils/helper'; -import axiosInstance from 'utils/axiosInstance'; -import eventBus from 'utils/eventBus'; -import ConfirmModal from 'components/ConfirmModal'; -import { LoadingButton, useAuth, useDevice, FormattedDate } from 'ucentral-libs'; -import WifiScanResultModalWidget from 'components/WifiScanResultModal'; -import DetailsModal from './DetailsModal'; - -const DeviceCommands = () => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { deviceSerialNumber } = useDevice(); - // Wifiscan result related - const [chosenWifiScan, setChosenWifiScan] = useState(null); - const [showScanModal, setShowScanModal] = useState(false); - const [chosenWifiScanDate, setChosenWifiScanDate] = useState(''); - // Delete modal related - const [showConfirmModal, setShowConfirmModal] = useState(false); - const [uuidDelete, setUuidDelete] = useState(''); - // Details modal related - const [showDetailsModal, setShowDetailsModal] = useState(false); - const [detailsUuid, setDetailsUuid] = useState(''); - const [modalDetails, setModalDetails] = useState({}); - // General states - const [commands, setCommands] = useState([]); - const [loading, setLoading] = useState(false); - const [start, setStart] = useState(''); - const [startError, setStartError] = useState(false); - const [end, setEnd] = useState(''); - const [endError, setEndError] = useState(false); - const [commandLimit, setCommandLimit] = useState(25); - // Load more button related - const [loadingMore, setLoadingMore] = useState(false); - const [showLoadingMore, setShowLoadingMore] = useState(true); - - const toggleScanModal = () => { - setShowScanModal(!showScanModal); - }; - - const toggleConfirmModal = (uuid) => { - setUuidDelete(uuid); - setShowConfirmModal(!showConfirmModal); - }; - - const toggleDetailsModal = () => { - setShowDetailsModal(!showDetailsModal); - }; - - const showMoreCommands = () => { - setCommandLimit(commandLimit + 50); - }; - - const modifyStart = (value) => { - try { - new Date(value).toISOString(); - setStartError(false); - setStart(value); - } catch (e) { - setStart(''); - setStartError(true); - } - }; - - const modifyEnd = (value) => { - try { - new Date(value).toISOString(); - setEndError(false); - setEnd(value); - } catch (e) { - setEnd(''); - setEndError(true); - } - }; - - const deleteCommandFromList = (commandUuid) => { - const indexToDelete = commands.map((e) => e.UUID).indexOf(commandUuid); - const newCommands = commands; - newCommands.splice(indexToDelete, 1); - setCommands(newCommands); - }; - - const getCommands = () => { - if (loading) return; - setLoadingMore(true); - setLoading(true); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - params: { - limit: commandLimit, - }, - }; - - let extraParams = '&newest=true'; - if (start !== '' && end !== '') { - const utcStart = new Date(start).toISOString(); - const utcEnd = new Date(end).toISOString(); - options.params.startDate = dateToUnix(utcStart); - options.params.endDate = dateToUnix(utcEnd); - extraParams = ''; - } - - axiosInstance - .get( - `${endpoints.owgw}/api/v1/commands?serialNumber=${encodeURIComponent( - deviceSerialNumber, - )}${extraParams}`, - options, - ) - .then((response) => { - setCommands(response.data.commands); - }) - .catch(() => {}) - .finally(() => { - setLoading(false); - setLoadingMore(false); - }); - }; - - const downloadTrace = (uuid) => { - const options = { - headers: { - Accept: 'application/octet-stream', - Authorization: `Bearer ${currentToken}`, - }, - responseType: 'arraybuffer', - }; - - axiosInstance - .get(`${endpoints.owgw}/api/v1/file/${uuid}?serialNumber=${deviceSerialNumber}`, options) - .then((response) => { - const blob = new Blob([response.data], { type: 'application/octet-stream' }); - const link = document.createElement('a'); - link.href = window.URL.createObjectURL(blob); - link.download = `Trace_${uuid}.pcap`; - link.click(); - }); - }; - - const deleteCommand = async () => { - if (uuidDelete === '') { - return false; - } - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - return axiosInstance - .delete(`${endpoints.owgw}/api/v1/command/${uuidDelete}`, options) - .then(() => { - deleteCommandFromList(uuidDelete); - setUuidDelete(''); - return true; - }) - .catch(() => { - setUuidDelete(''); - return false; - }); - }; - - const toggleDetails = (item) => { - if (item.command === 'wifiscan') { - setChosenWifiScan(item.results.status.scan); - setChosenWifiScanDate(item.completed); - setShowScanModal(true); - } else if (item.command === 'trace' && item.waitingForFile === 0) { - downloadTrace(item.UUID); - } else { - setModalDetails(item.results ?? item); - setDetailsUuid(item.UUID); - toggleDetailsModal(); - } - }; - - const toggleResponse = (item) => { - setModalDetails(item); - setDetailsUuid(item.UUID); - toggleDetailsModal(); - }; - - const refreshCommands = () => { - getCommands(); - }; - - const columns = [ - { key: 'submitted', label: t('common.submitted'), filter: false, _style: { width: '20%' } }, - { key: 'command', label: t('common.command'), _style: { width: '0%' } }, - { key: 'status', label: t('common.status'), _style: { width: '0%' } }, - { key: 'executed', label: t('common.executed'), filter: false, _style: { width: '16%' } }, - { key: 'completed', label: t('common.completed'), filter: false, _style: { width: '16%' } }, - { key: 'errorCode', label: t('common.error_code'), filter: false }, - { - key: 'show_buttons', - label: '', - sorter: false, - filter: false, - _style: { width: '1%' }, - }, - ]; - - useEffect(() => { - if (deviceSerialNumber && start !== '' && end !== '') { - getCommands(); - } else if (deviceSerialNumber && start === '' && end === '') { - getCommands(); - } - }, [deviceSerialNumber, start, end]); - - useEffect(() => { - eventBus.on('actionCompleted', () => refreshCommands()); - - return () => { - eventBus.remove('actionCompleted'); - }; - }, []); - - useEffect(() => { - if (deviceSerialNumber) { - setCommandLimit(25); - setLoadingMore(false); - setShowLoadingMore(true); - setStart(''); - setEnd(''); - getCommands(); - } - }, [deviceSerialNumber]); - - useEffect(() => { - if (commandLimit !== 25) { - getCommands(); - } - }, [commandLimit]); - - useEffect(() => { - if (commands.length === 0 || (commands.length > 0 && commands.length < commandLimit)) { - setShowLoadingMore(false); - } else { - setShowLoadingMore(true); - } - }, [commands]); - - return ( -
- - -
-
- - - - - -
-
- modifyEnd(date)} - value={end ? new Date(end) : undefined} - /> - -
- To: -
- modifyStart(date)} - value={start ? new Date(start) : undefined} - /> - -
- From: -
-
- -
- {item.command}, - completed: (item) => ( - - {item.completed && item.completed !== 0 ? ( - - ) : ( - '-' - )} - - ), - status: (item) => {item.status}, - executed: (item) => ( - - {item.executed && item.executed !== 0 ? ( - - ) : ( - '-' - )} - - ), - submitted: (item) => ( - - {item.submitted && item.submitted !== '' ? ( - - ) : ( - '-' - )} - - ), - errorCode: (item) => {item.errorCode}, - show_buttons: (item, index) => ( - - - - { - toggleDetails(item); - }} - > - {item.command === 'trace' ? ( - - ) : ( - - )} - - - - { - toggleResponse(item); - }} - > - - - - - { - toggleConfirmModal(item.UUID, index); - }} - > - - - - - - ), - }} - /> - - {showLoadingMore && ( -
- -
- )} -
-
-
- - - -
- ); -}; - -export default DeviceCommands; diff --git a/src/components/CompactTaskDisplay/index.tsx b/src/components/CompactTaskDisplay/index.tsx new file mode 100644 index 0000000..6e41137 --- /dev/null +++ b/src/components/CompactTaskDisplay/index.tsx @@ -0,0 +1,31 @@ +import * as React from 'react'; +import { Badge, HStack, Stat, StatHelpText, StatLabel, StatNumber } from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import FormattedDate from 'components/InformationDisplays/FormattedDate'; + +const test = new Date().getTime() / 1000; + +type Props = { + date?: number; + venue?: string; + type?: string; + hideStatus?: boolean; +}; +const CompactTaskDisplay = ({ date, venue, type, hideStatus }: Props) => { + const { t } = useTranslation(); + + return ( + + {!hideStatus && {t('common.success')}} + + + + + {type ?? 'Installation'} + {venue ?? 'Ally Detroit Center'} + + + ); +}; + +export default CompactTaskDisplay; diff --git a/src/components/ConfigurationDisplay/index.js b/src/components/ConfigurationDisplay/index.js deleted file mode 100644 index 106a647..0000000 --- a/src/components/ConfigurationDisplay/index.js +++ /dev/null @@ -1,66 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { - CRow, - CCol, - CCard, - CCardBody, - CCardHeader, - CLabel, - CPopover, - CButton, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilSync } from '@coreui/icons'; -import { prettyDate } from 'utils/helper'; -import { useTranslation } from 'react-i18next'; -import { CopyToClipboardButton } from 'ucentral-libs'; - -const ConfigurationDisplay = ({ getData, deviceConfig }) => { - const { t } = useTranslation(); - return ( - - -
-
- - - - - -
-
-
- -
- {t('configuration.title')} - -
- - - - {t('configuration.last_configuration_change')}:{' '} - {prettyDate(deviceConfig?.lastConfigurationChange)} - - - -
{JSON.stringify(deviceConfig?.configuration ?? {}, null, 4)}
-
-
- ); -}; - -ConfigurationDisplay.propTypes = { - getData: PropTypes.func.isRequired, - deviceConfig: PropTypes.instanceOf(Object), -}; - -ConfigurationDisplay.defaultProps = { - deviceConfig: null, -}; - -export default ConfigurationDisplay; diff --git a/src/components/ConfigureModal/index.js b/src/components/ConfigureModal/index.js deleted file mode 100644 index 373b2bc..0000000 --- a/src/components/ConfigureModal/index.js +++ /dev/null @@ -1,249 +0,0 @@ -import { - CAlert, - CButton, - CModal, - CModalHeader, - CModalTitle, - CModalBody, - CModalFooter, - CSpinner, - CCol, - CRow, - CForm, - CTextarea, - CInvalidFeedback, - CInputFile, - CPopover, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilX } from '@coreui/icons'; -import React, { useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import PropTypes from 'prop-types'; -import 'react-widgets/styles.css'; -import { useAuth, useDevice, useToast } from 'ucentral-libs'; -import { checkIfJson } from 'utils/helper'; -import axiosInstance from 'utils/axiosInstance'; -import eventBus from 'utils/eventBus'; -import SuccessfulActionModalBody from 'components/SuccessfulActionModalBody'; - -const ConfigureModal = ({ show, toggleModal }) => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { addToast } = useToast(); - const { deviceSerialNumber } = useDevice(); - const [hadSuccess, setHadSuccess] = useState(false); - const [hadFailure, setHadFailure] = useState(false); - const [doingNow, setDoingNow] = useState(false); - const [waiting, setWaiting] = useState(false); - const [newConfig, setNewConfig] = useState(''); - const [responseBody, setResponseBody] = useState(''); - const [checkingIfSure, setCheckingIfSure] = useState(false); - const [errorJson, setErrorJson] = useState(false); - const [inputKey, setInputKey] = useState(0); - - let fileReader; - - const confirmingIfSure = () => { - if (checkIfJson(newConfig)) { - setCheckingIfSure(true); - } else { - setErrorJson(true); - } - }; - - useEffect(() => { - setHadSuccess(false); - setHadFailure(false); - setWaiting(false); - setResponseBody(''); - setCheckingIfSure(false); - setDoingNow(false); - setNewConfig(''); - setErrorJson(false); - setInputKey(0); - }, [show]); - - useEffect(() => { - setErrorJson(false); - }, [newConfig]); - - const doAction = (isNow) => { - setDoingNow(isNow); - setHadFailure(false); - setHadSuccess(false); - setWaiting(true); - - const parameters = { - serialNumber: deviceSerialNumber, - when: 0, - UUID: 1, - configuration: JSON.parse(newConfig), - }; - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - axiosInstance - .post( - `${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/configure`, - parameters, - { headers }, - ) - .then(() => { - addToast({ - title: t('common.success'), - body: t('commands.command_success'), - color: 'success', - autohide: true, - }); - toggleModal(); - }) - .catch((e) => { - setResponseBody('Error while submitting command!'); - if (e.response?.data?.ErrorDescription !== undefined) { - const split = e.response?.data?.ErrorDescription.split(':'); - if (split !== undefined && split.length >= 2) { - addToast({ - title: t('common.error'), - body: split[1], - color: 'danger', - autohide: true, - }); - } - } - setHadFailure(true); - }) - .finally(() => { - setDoingNow(false); - setCheckingIfSure(false); - setWaiting(false); - eventBus.dispatch('actionCompleted', { message: 'An action has been completed' }); - }); - }; - - const handleJsonRead = () => { - setErrorJson(false); - const content = fileReader.result; - if (checkIfJson(content)) { - setNewConfig(content); - } else { - setErrorJson(true); - } - }; - - const handleJsonFile = (file) => { - fileReader = new FileReader(); - fileReader.onloadend = handleJsonRead; - fileReader.readAsText(file); - }; - - const resetText = () => { - setInputKey(inputKey + 1); - setNewConfig(''); - }; - - return ( - - - {t('configure.title')} -
- - - - - -
-
- {hadSuccess ? ( - - ) : ( -
- - - -
{t('configure.enter_new')}
-
- - - {t('common.clear')} - - -
- - - - setNewConfig(event.target.value)} - invalid={errorJson} - /> - - {t('configure.valid_json')} - - - - - - {t('configure.choose_file')} - - handleJsonFile(e.target.files[0])} - key={inputKey} - /> - - - -
- - - - - - {t('common.cancel')} - - -
- )} -
- ); -}; - -ConfigureModal.propTypes = { - show: PropTypes.bool.isRequired, - toggleModal: PropTypes.func.isRequired, -}; - -export default ConfigureModal; diff --git a/src/components/ConfirmFooter/index.js b/src/components/ConfirmFooter/index.js deleted file mode 100644 index 922f1b2..0000000 --- a/src/components/ConfirmFooter/index.js +++ /dev/null @@ -1,64 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import PropTypes from 'prop-types'; -import { CButton, CSpinner, CModalFooter } from '@coreui/react'; - -const ConfirmFooter = ({ isShown, isLoading, action, color, variant, block, toggleParent }) => { - const { t } = useTranslation(); - const [askingIfSure, setAskingIfSure] = useState(false); - - const confirmingIfSure = () => { - setAskingIfSure(true); - }; - - useEffect(() => { - setAskingIfSure(false); - }, [isShown]); - - return ( - - - - - - {t('common.cancel')} - - - ); -}; - -ConfirmFooter.propTypes = { - isLoading: PropTypes.bool.isRequired, - block: PropTypes.bool, - action: PropTypes.func.isRequired, - color: PropTypes.string, - variant: PropTypes.string, - toggleParent: PropTypes.func.isRequired, - isShown: PropTypes.bool.isRequired, -}; - -ConfirmFooter.defaultProps = { - color: 'primary', - variant: '', - block: false, -}; - -export default ConfirmFooter; diff --git a/src/components/ConfirmModal/index.js b/src/components/ConfirmModal/index.js deleted file mode 100644 index 10c1725..0000000 --- a/src/components/ConfirmModal/index.js +++ /dev/null @@ -1,97 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { - CButton, - CModal, - CModalHeader, - CModalTitle, - CModalBody, - CModalFooter, - CSpinner, - CBadge, - CPopover, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilX } from '@coreui/icons'; -import PropTypes from 'prop-types'; - -const ConfirmModal = ({ show, toggle, action }) => { - const { t } = useTranslation(); - const [loading, setLoading] = useState(false); - const [haveResult, setHaveResult] = useState(false); - const [success, setSuccess] = useState(false); - - const getButtonContent = () => { - if (haveResult) { - if (success) { - return ( - - {t('common.success')} - - ); - } - return ( - - {t('common.failure')} - - ); - } - if (loading) { - return ( -
- {t('common.loading_ellipsis')} - -
- ); - } - return t('common.yes'); - }; - - const doAction = async () => { - setLoading(true); - const result = await action(); - setSuccess(result); - setHaveResult(true); - setLoading(false); - if (result) { - toggle(); - } - }; - - useEffect(() => { - setLoading(false); - setHaveResult(false); - setSuccess(false); - }, [show]); - - return ( - - - {t('delete_command.title')} -
- - - - - -
-
- -
{t('delete_command.explanation')}
-
- - doAction()}> - {getButtonContent()} - - -
- ); -}; - -ConfirmModal.propTypes = { - show: PropTypes.bool.isRequired, - toggle: PropTypes.func.isRequired, - action: PropTypes.func.isRequired, -}; - -export default ConfirmModal; diff --git a/src/components/Containers/Card/CardBody.tsx b/src/components/Containers/Card/CardBody.tsx new file mode 100644 index 0000000..36183ef --- /dev/null +++ b/src/components/Containers/Card/CardBody.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { Box, LayoutProps, SpaceProps, useStyleConfig } from '@chakra-ui/react'; + +export interface CardBodyProps extends LayoutProps, SpaceProps { + variant?: string; + children: React.ReactNode; +} + +const _CardBody: React.FC = ({ variant, children, ...props }) => { + // @ts-ignore + const styles = useStyleConfig('CardBody', { variant }); + // Pass the computed styles into the `__css` prop + return ( + + {children} + + ); +}; + +export const CardBody = React.memo(_CardBody); diff --git a/src/components/Containers/Card/CardHeader.tsx b/src/components/Containers/Card/CardHeader.tsx new file mode 100644 index 0000000..1d28e2b --- /dev/null +++ b/src/components/Containers/Card/CardHeader.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { Box, LayoutProps, SpaceProps, useStyleConfig } from '@chakra-ui/react'; + +export interface CardHeaderProps extends LayoutProps, SpaceProps { + variant?: string; + children: React.ReactNode; +} + +const _CardHeader: React.FC = ({ variant, children, ...rest }) => { + // @ts-ignore + const styles = useStyleConfig('CardHeader', { variant }); + // Pass the computed styles into the `__css` prop + return ( + + {children} + + ); +}; + +export const CardHeader = React.memo(_CardHeader); diff --git a/src/components/Containers/Card/index.tsx b/src/components/Containers/Card/index.tsx new file mode 100644 index 0000000..45dfdb1 --- /dev/null +++ b/src/components/Containers/Card/index.tsx @@ -0,0 +1,22 @@ +import React from 'react'; +import { BackgroundProps, Box, InteractivityProps, LayoutProps, SpaceProps, useStyleConfig } from '@chakra-ui/react'; + +export interface CardProps extends LayoutProps, SpaceProps, BackgroundProps, InteractivityProps { + variant?: string; + onClick?: () => void; + className?: string; + children: React.ReactNode; +} + +const _Card: React.FC = ({ variant, children, ...props }) => { + // @ts-ignore + const styles = useStyleConfig('Card', { variant }); + // Pass the computed styles into the `__css` prop + return ( + + {children} + + ); +}; + +export const Card = React.memo(_Card); diff --git a/src/components/Containers/GraphStatDisplay/index.tsx b/src/components/Containers/GraphStatDisplay/index.tsx new file mode 100644 index 0000000..87c608f --- /dev/null +++ b/src/components/Containers/GraphStatDisplay/index.tsx @@ -0,0 +1,56 @@ +import * as React from 'react'; +import { Box, Heading, IconButton, Spacer, Tooltip, useDisclosure } from '@chakra-ui/react'; +import { ArrowsOut, Info } from 'phosphor-react'; +import { useTranslation } from 'react-i18next'; +import { Card } from '../Card'; +import { CardHeader } from '../Card/CardHeader'; +import { CardBody } from '../Card/CardBody'; +import { Modal } from 'components/Modals/Modal'; + +type Props = { + chart: React.ReactNode; + explanation: string; + title: string; +}; +const GraphStatDisplay = ({ chart, title, explanation }: Props) => { + const { t } = useTranslation(); + const modalProps = useDisclosure(); + + return ( + <> + + + + {title} + + + + + + + } + /> + + + {chart} + + + + + {explanation} + + {chart} + + + + ); +}; + +export default GraphStatDisplay; diff --git a/src/components/Containers/IconBox/index.tsx b/src/components/Containers/IconBox/index.tsx new file mode 100644 index 0000000..1d4c2b7 --- /dev/null +++ b/src/components/Containers/IconBox/index.tsx @@ -0,0 +1,14 @@ +import React from 'react'; +import { Flex } from '@chakra-ui/react'; + +type Props = { + children: React.ReactNode; +}; + +const IconBox = ({ children, ...rest }: Props) => ( + + {children} + +); + +export default IconBox; diff --git a/src/components/Containers/Modal/ModalHeader/index.tsx b/src/components/Containers/Modal/ModalHeader/index.tsx new file mode 100644 index 0000000..0eb54c4 --- /dev/null +++ b/src/components/Containers/Modal/ModalHeader/index.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { Flex, LayoutProps, ModalHeader as Header, SpaceProps, Spacer } from '@chakra-ui/react'; + +export interface ModalHeaderProps extends LayoutProps, SpaceProps { + title: string; + right?: React.ReactNode; +} + +export const ModalHeader = ({ title, right }: ModalHeaderProps) => ( +
+ + {title} + + {right} + +
+); diff --git a/src/components/Containers/SimpleIconStatDisplay/index.tsx b/src/components/Containers/SimpleIconStatDisplay/index.tsx new file mode 100644 index 0000000..d491c96 --- /dev/null +++ b/src/components/Containers/SimpleIconStatDisplay/index.tsx @@ -0,0 +1,36 @@ +import * as React from 'react'; +import { As, Flex, Heading, Icon, Spacer, Text, Tooltip, useColorModeValue } from '@chakra-ui/react'; +import { Info } from 'phosphor-react'; +import { Card } from '../Card'; + +type Props = { + title: string; + description: string; + icon: As; + value: string | number | React.ReactNode; + color: [string, string]; +}; + +const SimpleIconStatDisplay = ({ title, description, icon, value, color }: Props) => { + const bgColor = useColorModeValue(color[0], color[1]); + + return ( + + + + {value} + + {title} + + + + + + + + + + ); +}; + +export default SimpleIconStatDisplay; diff --git a/src/components/DataTables/ColumnPicker/index.tsx b/src/components/DataTables/ColumnPicker/index.tsx new file mode 100644 index 0000000..a9797ed --- /dev/null +++ b/src/components/DataTables/ColumnPicker/index.tsx @@ -0,0 +1,74 @@ +import React, { useEffect } from 'react'; +import { Button, Checkbox, IconButton, Menu, MenuButton, MenuItem, MenuList, useBreakpoint } from '@chakra-ui/react'; +import { FunnelSimple } from 'phosphor-react'; +import { useTranslation } from 'react-i18next'; +import { v4 as uuid } from 'uuid'; +import { useAuth } from 'contexts/AuthProvider'; +import { Column } from 'models/Table'; + +export type ColumnPickerProps = { + preference: string; + columns: Column[]; + hiddenColumns: string[]; + setHiddenColumns: (str: string[]) => void; + size?: 'sm' | 'md' | 'lg' | 'xl' | '2xl'; +}; + +export const ColumnPicker = ({ preference, columns, hiddenColumns, setHiddenColumns, size }: ColumnPickerProps) => { + const { t } = useTranslation(); + const { getPref, setPref } = useAuth(); + const breakpoint = useBreakpoint(); + + const handleColumnClick = (id: string) => { + let newHidden = []; + if (hiddenColumns.find((hidden) => hidden === id)) newHidden = [...hiddenColumns.filter((hidden) => hidden !== id)]; + else newHidden = [...hiddenColumns, id]; + setPref({ preference, value: newHidden.join(',') }); + setHiddenColumns(newHidden); + }; + + useEffect(() => { + const savedPrefs = getPref(preference); + setHiddenColumns(savedPrefs ? savedPrefs.split(',') : []); + }, []); + + if (breakpoint === 'base' || breakpoint === 'sm') { + return ( + + } /> + + {columns.map((column) => ( + handleColumnClick(column.id)}> + hidden === column.id)} + isDisabled={column.alwaysShow} + > + {column.Header} + + + ))} + + + ); + } + + return ( + + } minWidth="120px"> + {t('common.columns')} + + + {columns.map((column) => ( + handleColumnClick(column.id)}> + hidden === column.id)} + isDisabled={column.alwaysShow} + > + {column.Header} + + + ))} + + + ); +}; diff --git a/src/components/DataTables/DataTable/SortIcon.tsx b/src/components/DataTables/DataTable/SortIcon.tsx new file mode 100644 index 0000000..54107d7 --- /dev/null +++ b/src/components/DataTables/DataTable/SortIcon.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import { Icon } from '@chakra-ui/react'; +import { ArrowDown, ArrowUp, Circle } from 'phosphor-react'; + +interface Props { + isSorted: boolean; + isSortedDesc?: boolean; + canSort: boolean; +} + +const defaultProps = { + isSortedDesc: false, +}; + +const SortIcon: React.FC = ({ isSorted, isSortedDesc, canSort }) => { + if (canSort) { + if (isSorted) { + return isSortedDesc ? : ; + } + return ; + } + return null; +}; + +SortIcon.defaultProps = defaultProps; +export default React.memo(SortIcon); diff --git a/src/components/DataTables/DataTable/index.tsx b/src/components/DataTables/DataTable/index.tsx new file mode 100644 index 0000000..2352253 --- /dev/null +++ b/src/components/DataTables/DataTable/index.tsx @@ -0,0 +1,404 @@ +import React, { useEffect, useState } from 'react'; +import { ArrowRightIcon, ArrowLeftIcon, ChevronRightIcon, ChevronLeftIcon } from '@chakra-ui/icons'; +import { + Table, + Tbody, + Td, + Th, + Thead, + Tooltip, + Tr, + Flex, + IconButton, + Text, + Select, + NumberInput, + NumberInputField, + NumberInputStepper, + NumberIncrementStepper, + NumberDecrementStepper, + useColorModeValue, + Box, + Center, + Spinner, + Heading, + useBreakpoint, +} from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { + useTable, + usePagination, + useSortBy, + Row, + UsePaginationInstanceProps, + UseSortByInstanceProps, + UsePaginationState, + TableInstance, +} from 'react-table'; +import { v4 as uuid } from 'uuid'; +import { LoadingOverlay } from 'components/LoadingOverlay'; +import SortIcon from './SortIcon'; +import { Column, PageInfo } from 'models/Table'; + +const defaultProps = { + sortBy: [], +}; + +export type DataTableProps = { + columns: readonly Column[]; + data: object[]; + count?: number; + setPageInfo?: React.Dispatch>; + isLoading?: boolean; + obj?: string; + sortBy?: { id: string; desc: boolean }[]; + hiddenColumns?: string[]; + hideControls?: boolean; + minHeight?: string | number; + fullScreen?: boolean; + isManual?: boolean; + saveSettingsId?: string; + showAllRows?: boolean; +}; + +type TableInstanceWithHooks = TableInstance & + UsePaginationInstanceProps & + UseSortByInstanceProps & { + state: UsePaginationState; + }; + +const _DataTable = ({ + columns, + data, + isLoading, + obj, + minHeight, + fullScreen, + sortBy, + hiddenColumns, + hideControls, + count, + setPageInfo, + isManual, + saveSettingsId, + showAllRows, +}: DataTableProps) => { + const { t } = useTranslation(); + const breakpoint = useBreakpoint(); + const textColor = useColorModeValue('gray.700', 'white'); + const getPageSize = () => { + try { + if (showAllRows) return 1000000; + const saved = saveSettingsId ? localStorage.getItem(saveSettingsId) : undefined; + if (saved) return Number.parseInt(saved, 10); + return 10; + } catch { + return 10; + } + }; + const getPageIndex = () => { + try { + if (saveSettingsId) { + const saved = localStorage.getItem(`${saveSettingsId}.page`); + if (saved) return Number.parseInt(saved, 10); + } + return 0; + } catch { + return 0; + } + }; + const [queryPageSize, setQueryPageSize] = useState(getPageSize()); + + const { + getTableProps, + getTableBodyProps, + headerGroups, + prepareRow, + page, + canPreviousPage, + canNextPage, + pageOptions, + pageCount, + gotoPage, + nextPage, + previousPage, + setPageSize, + setHiddenColumns, + state: { pageIndex, pageSize }, + } = useTable( + { + // @ts-ignore + columns, + data, + // @ts-ignore + initialState: { sortBy, pagination: !hideControls, pageSize: queryPageSize }, + manualPagination: isManual, + pageCount: + isManual && count !== undefined + ? Math.ceil(count / queryPageSize) + : Math.ceil(data?.length ?? 0 / queryPageSize), + }, + useSortBy, + usePagination, + ) as TableInstanceWithHooks; + + const handleNextPage = () => { + nextPage(); + if (saveSettingsId) localStorage.setItem(`${saveSettingsId}.page`, String(pageIndex + 1)); + }; + const handlePreviousPage = () => { + previousPage(); + if (saveSettingsId) localStorage.setItem(`${saveSettingsId}.page`, String(pageIndex - 1)); + }; + + useEffect(() => { + if (setPageInfo && pageIndex !== undefined) setPageInfo({ index: pageIndex, limit: queryPageSize }); + }, [queryPageSize, pageIndex]); + + useEffect(() => { + // @ts-ignore + if (saveSettingsId) localStorage.setItem(saveSettingsId, pageSize); + setQueryPageSize(pageSize); + }, [pageSize]); + + useEffect(() => { + if (isManual && count !== undefined) { + gotoPage(getPageIndex()); + } + }, [count]); + useEffect(() => { + if (hiddenColumns) setHiddenColumns(hiddenColumns); + }, [hiddenColumns]); + + // If this is a manual DataTable, with a page index that is higher than 0 and higher than the max possible page, we send to index 0 + useEffect(() => { + if ( + isManual && + setPageInfo && + data && + isManual && + pageIndex > 0 && + count !== undefined && + Math.ceil(count / queryPageSize) - 1 < pageIndex + ) { + gotoPage(0); + setPageInfo({ index: 0, limit: queryPageSize }); + } + }, [count, queryPageSize, page, data]); + + const computedMinHeight = () => { + if (fullScreen) return { base: 'calc(100vh - 360px)', md: 'calc(100vh - 288px)' }; + return minHeight; + }; + + if (isLoading && data.length === 0) { + return ( +
+ +
+ ); + } + + // Render the UI for your table + return ( + <> + + + + + { + // @ts-ignore + headerGroups.map((group) => ( + + { + // @ts-ignore + group.headers.map((column) => ( + + )) + } + + )) + } + + {data.length > 0 && ( + + {page.map((row: Row) => { + prepareRow(row); + return ( + + { + // @ts-ignore + row.cells.map((cell) => ( + + )) + } + + ); + })} + + )} +
+
+ {column.render('Header')} + +
+
+ {cell.render('Cell')} +
+ {!isLoading && data.length === 0 && ( +
+ {obj ? ( + + {t('common.no_obj_found', { obj })} + + ) : ( + + {t('common.empty_list')} + + )} +
+ )} +
+
+ {!hideControls && ( + + + + gotoPage(0)} + isDisabled={!canPreviousPage} + icon={} + mr={4} + /> + + + } + /> + + + + + {breakpoint !== 'base' && ( + <> + + {t('table.page')}{' '} + + {pageIndex + 1} + {' '} + {t('common.of')}{' '} + + {pageOptions.length} + + + {t('table.go_to_page')}{' '} + { + const newPage = numberValue ? numberValue - 1 : 0; + gotoPage(newPage); + }} + defaultValue={pageIndex + 1} + > + + + + + + + + )} + + + + + + } + /> + + + gotoPage(pageCount - 1)} + isDisabled={!canNextPage} + icon={} + ml={4} + /> + + + + )} + + ); +}; + +_DataTable.defaultProps = defaultProps; + +export const DataTable = React.memo(_DataTable); diff --git a/src/components/DataTables/SortableDataTable/SortIcon.tsx b/src/components/DataTables/SortableDataTable/SortIcon.tsx new file mode 100644 index 0000000..54107d7 --- /dev/null +++ b/src/components/DataTables/SortableDataTable/SortIcon.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import { Icon } from '@chakra-ui/react'; +import { ArrowDown, ArrowUp, Circle } from 'phosphor-react'; + +interface Props { + isSorted: boolean; + isSortedDesc?: boolean; + canSort: boolean; +} + +const defaultProps = { + isSortedDesc: false, +}; + +const SortIcon: React.FC = ({ isSorted, isSortedDesc, canSort }) => { + if (canSort) { + if (isSorted) { + return isSortedDesc ? : ; + } + return ; + } + return null; +}; + +SortIcon.defaultProps = defaultProps; +export default React.memo(SortIcon); diff --git a/src/components/DataTables/SortableDataTable/index.tsx b/src/components/DataTables/SortableDataTable/index.tsx new file mode 100644 index 0000000..f412e15 --- /dev/null +++ b/src/components/DataTables/SortableDataTable/index.tsx @@ -0,0 +1,363 @@ +/* eslint-disable jsx-a11y/no-static-element-interactions */ +/* eslint-disable jsx-a11y/click-events-have-key-events */ +import React, { useEffect, useState } from 'react'; +import { ArrowRightIcon, ArrowLeftIcon, ChevronRightIcon, ChevronLeftIcon } from '@chakra-ui/icons'; +import { + Table, + Tbody, + Td, + Th, + Thead, + Tooltip, + Tr, + Flex, + IconButton, + Text, + Select, + NumberInput, + NumberInputField, + NumberInputStepper, + NumberIncrementStepper, + NumberDecrementStepper, + useColorModeValue, + Box, + Center, + Spinner, + Heading, + useBreakpoint, +} from '@chakra-ui/react'; +// @ts-ignore +import { useTranslation } from 'react-i18next'; +import { + useTable, + usePagination, + useSortBy, + Row, + UsePaginationInstanceProps, + UseSortByInstanceProps, + UsePaginationState, + TableInstance, +} from 'react-table'; +import { v4 as uuid } from 'uuid'; +import { LoadingOverlay } from 'components/LoadingOverlay'; +import SortIcon from './SortIcon'; +import { isColumnSorted, isSortedDesc, onSortClick } from './utils'; +import { Column, PageInfo, SortInfo } from 'models/Table'; + +interface Props { + columns: Column[]; + data: object[]; + count?: number; + setPageInfo?: React.Dispatch>; + sortInfo: SortInfo; + setSortInfo: React.Dispatch>; + isLoading?: boolean; + obj: string; + sortBy?: { id: string; desc: boolean }[]; + hiddenColumns?: string[]; + hideControls?: boolean; + minHeight?: string; + fullScreen?: boolean; + isManual?: boolean; + saveSettingsId?: string; +} + +type TableInstanceWithHooks = TableInstance & + UsePaginationInstanceProps & + UseSortByInstanceProps & { + state: UsePaginationState; + }; + +const defaultProps = { + count: undefined, + setPageInfo: undefined, + isLoading: false, + minHeight: undefined, + fullScreen: false, + sortBy: [], + hiddenColumns: [], + hideControls: false, + isManual: false, + saveSettingsId: undefined, +}; + +const SortableDataTable: React.FC = ({ + columns, + data, + isLoading, + obj, + minHeight, + fullScreen, + sortBy, + hiddenColumns, + hideControls, + count, + sortInfo, + setSortInfo, + setPageInfo, + isManual, + saveSettingsId, +}) => { + const { t } = useTranslation(); + const breakpoint = useBreakpoint(); + const textColor = useColorModeValue('gray.700', 'white'); + const getPageSize = () => { + const saved = saveSettingsId ? localStorage.getItem(saveSettingsId) : undefined; + if (saved) return Number.parseInt(saved, 10); + return 10; + }; + const [queryPageSize, setQueryPageSize] = useState(getPageSize()); + + const { + getTableProps, + getTableBodyProps, + headerGroups, + prepareRow, + page, + canPreviousPage, + canNextPage, + pageOptions, + pageCount, + gotoPage, + nextPage, + previousPage, + setPageSize, + setHiddenColumns, + state: { pageIndex, pageSize }, + } = useTable( + { + // @ts-ignore + columns, + data, // @ts-ignore + initialState: { sortBy, pagination: !hideControls, pageSize: queryPageSize }, + manualPagination: isManual, + pageCount: isManual && count !== undefined ? Math.ceil(count / queryPageSize) : undefined, + }, + useSortBy, + usePagination, + ) as TableInstanceWithHooks; + + useEffect(() => { + if (setPageInfo && pageIndex !== undefined) setPageInfo({ index: pageIndex, limit: queryPageSize }); + }, [queryPageSize, pageIndex]); + + useEffect(() => { + // @ts-ignore + if (saveSettingsId) localStorage.setItem(saveSettingsId, pageSize); + setQueryPageSize(pageSize); + }, [pageSize]); + + useEffect(() => { + if (hiddenColumns) setHiddenColumns(hiddenColumns); + }, [hiddenColumns]); + + // If this is a manual DataTable, with a page index that is higher than 0 and higher than the max possible page, we send to index 0 + useEffect(() => { + if ( + isManual && + setPageInfo && + data && + isManual && + pageIndex > 0 && + count !== undefined && + Math.ceil(count / queryPageSize) - 1 < pageIndex + ) { + gotoPage(0); + setPageInfo({ index: 0, limit: queryPageSize }); + } + }, [count, queryPageSize, page, data]); + + const computedMinHeight = () => { + if (fullScreen) return { base: 'calc(100vh - 360px)', md: 'calc(100vh - 288px)' }; + return minHeight; + }; + + if (isLoading && data.length === 0) { + return ( +
+ +
+ ); + } + // Render the UI for your table + return ( + <> + + + + + {headerGroups.map((group) => ( + + {group.headers.map((column) => ( + + ))} + + ))} + + {data.length > 0 && ( + + {page.map((row: Row) => { + prepareRow(row); + return ( + + { + // @ts-ignore + row.cells.map((cell) => ( + + )) + } + + ); + })} + + )} +
+
onSortClick(column.id, sortInfo, setSortInfo)} + style={{ alignContent: 'center', overflow: 'hidden', whiteSpace: 'nowrap' }} + > + {column.render('Header')} + +
+
+ {cell.render('Cell')} +
+ {!isLoading && data.length === 0 && ( +
+ {t('common.no_obj_found', { obj })} +
+ )} +
+
+ {!hideControls && ( + + + + gotoPage(0)} + isDisabled={!canPreviousPage} + icon={} + mr={4} + /> + + + } + /> + + + + + {breakpoint !== 'base' && ( + <> + + {t('table.page')}{' '} + + {pageIndex + 1} + {' '} + {t('common.of')}{' '} + + {pageOptions.length} + + + {t('table.go_to_page')}{' '} + { + const newPage = numberValue ? numberValue - 1 : 0; + gotoPage(newPage); + }} + defaultValue={pageIndex + 1} + > + + + + + + + + )} + + + + + + } + /> + + + gotoPage(pageCount - 1)} + isDisabled={!canNextPage} + icon={} + ml={4} + /> + + + + )} + + ); +}; + +SortableDataTable.defaultProps = defaultProps; + +export default SortableDataTable; diff --git a/src/components/DataTables/SortableDataTable/utils.ts b/src/components/DataTables/SortableDataTable/utils.ts new file mode 100644 index 0000000..d09a7a3 --- /dev/null +++ b/src/components/DataTables/SortableDataTable/utils.ts @@ -0,0 +1,27 @@ +import { SortInfo } from 'models/Table'; + +export const isColumnSorted = (colId: string, sortInfo: SortInfo) => + sortInfo.findIndex((info) => info.id === colId) >= 0; +export const isSortedDesc = (colId: string, sortInfo: SortInfo) => { + const found = sortInfo.find((info) => info.id === colId); + if (found) return found.sort === 'dsc'; + return false; +}; +export const onSortClick = ( + colId: string, + sortInfo: SortInfo, + setSortInfo: React.Dispatch>, +) => { + const found = sortInfo.find((info) => info.id === colId); + + if (found && found.sort === 'asc') { + const newSortInfo: SortInfo = sortInfo.map((info) => (info.id === colId ? { id: colId, sort: 'dsc' } : info)); + setSortInfo(newSortInfo); + } else if (found && found.sort === 'dsc') { + const newSortInfo = sortInfo.filter((info) => info.id !== colId); + setSortInfo(newSortInfo); + } else { + const newSortInfo: SortInfo = [...sortInfo, { id: colId, sort: 'asc' }]; + setSortInfo(newSortInfo); + } +}; diff --git a/src/components/DefaultConfigurationTable/Table/DeleteButton.js b/src/components/DefaultConfigurationTable/Table/DeleteButton.js deleted file mode 100644 index e8ee953..0000000 --- a/src/components/DefaultConfigurationTable/Table/DeleteButton.js +++ /dev/null @@ -1,88 +0,0 @@ -import React, { useState } from 'react'; -import ReactTooltip from 'react-tooltip'; -import { v4 as createUuid } from 'uuid'; -import { CButton, CCardBody, CCardHeader, CRow, CCol, CPopover, CButtonClose } from '@coreui/react'; -import { cilTrash } from '@coreui/icons'; -import CIcon from '@coreui/icons-react'; -import { LoadingButton } from 'ucentral-libs'; -import PropTypes from 'prop-types'; - -import styles from './index.module.scss'; - -const DeleteButton = ({ t, config, deleteConfig, hideTooltips }) => { - const [tooltipId] = useState(createUuid()); - - return ( - -
- - - - { - const element = document.getElementById(tooltipId); - const tooltipWidth = element ? element.offsetWidth : 0; - const newLeft = left - tooltipWidth * 0.25; - return { top, left: newLeft }; - }} - > - - {t('configuration.delete_config')} - { - e.target.parentNode.parentNode.classList.remove('show'); - hideTooltips(); - }} - /> - - - - - deleteConfig(config.name)} - block - disabled={false} - /> - - - - -
-
- ); -}; - -DeleteButton.propTypes = { - t: PropTypes.func.isRequired, - config: PropTypes.instanceOf(Object).isRequired, - deleteConfig: PropTypes.func.isRequired, - hideTooltips: PropTypes.func.isRequired, -}; - -export default DeleteButton; diff --git a/src/components/DefaultConfigurationTable/Table/index.js b/src/components/DefaultConfigurationTable/Table/index.js deleted file mode 100644 index 20c294d..0000000 --- a/src/components/DefaultConfigurationTable/Table/index.js +++ /dev/null @@ -1,184 +0,0 @@ -import React, { useEffect } from 'react'; -import PropTypes from 'prop-types'; -import ReactPaginate from 'react-paginate'; -import { - CCardBody, - CDataTable, - CButton, - CCard, - CCardHeader, - CPopover, - CSelect, - CButtonToolbar, -} from '@coreui/react'; -import { cilPencil, cilPlus } from '@coreui/icons'; -import ReactTooltip from 'react-tooltip'; -import CIcon from '@coreui/icons-react'; -import { FormattedDate } from 'ucentral-libs'; -import DeleteButton from './DeleteButton'; - -const DefaultConfigurationTable = ({ - currentPage, - configurations, - toggleAddBlacklist, - toggleEditModal, - configurationsPerPage, - loading, - deleteConfig, - updateDevicesPerPage, - pageCount, - updatePage, - t, -}) => { - const columns = [ - { key: 'name', label: t('user.name'), _style: { width: '20%' } }, - { key: 'description', label: t('user.description'), _style: { width: '20%' } }, - { key: 'created', label: t('common.created'), _style: { width: '10%' } }, - { key: 'modified', label: t('common.modified'), _style: { width: '10%' } }, - { key: 'deviceTypes', label: t('firmware.device_types'), _style: { width: '20%' } }, - { key: 'actions', label: t('actions.actions'), _style: { width: '1%' } }, - ]; - - const hideTooltips = () => ReactTooltip.hide(); - - const escFunction = (event) => { - if (event.keyCode === 27) { - hideTooltips(); - } - }; - - useEffect(() => { - document.addEventListener('keydown', escFunction, false); - - return () => { - document.removeEventListener('keydown', escFunction, false); - }; - }, []); - - return ( - <> - - -
- {t('configuration.default_configurations')} -
-
- - - - - -
-
- - {item.name}, - description: (item) => {item.description}, - deviceTypes: (item) => {item.modelIds.join(', ')}, - created: (item) => ( - - - - ), - modified: (item) => ( - - - - ), - actions: (item) => ( - - - - - toggleEditModal(item.name)} - color="primary" - variant="outline" - shape="square" - size="sm" - className="mx-1" - style={{ width: '33px', height: '30px' }} - > - - - - - - ), - }} - /> -
-
- -
-

{t('common.items_per_page')}

-
- updateDevicesPerPage(e.target.value)} - disabled={loading} - > - - - - -
-
-
-
- - ); -}; - -DefaultConfigurationTable.propTypes = { - currentPage: PropTypes.string, - configurations: PropTypes.instanceOf(Array).isRequired, - toggleAddBlacklist: PropTypes.func.isRequired, - toggleEditModal: PropTypes.func.isRequired, - updateDevicesPerPage: PropTypes.func.isRequired, - pageCount: PropTypes.number.isRequired, - updatePage: PropTypes.func.isRequired, - configurationsPerPage: PropTypes.string.isRequired, - deleteConfig: PropTypes.func.isRequired, - t: PropTypes.func.isRequired, - loading: PropTypes.bool.isRequired, -}; - -DefaultConfigurationTable.defaultProps = { - currentPage: '0', -}; - -export default React.memo(DefaultConfigurationTable); diff --git a/src/components/DefaultConfigurationTable/Table/index.module.scss b/src/components/DefaultConfigurationTable/Table/index.module.scss deleted file mode 100644 index d4bf32f..0000000 --- a/src/components/DefaultConfigurationTable/Table/index.module.scss +++ /dev/null @@ -1,32 +0,0 @@ -.firmwareTooltip { - opacity: 1 !important; - padding: 0px 0px 0px 0px !important; - border-radius: 1rem !important; - background-color: #fff !important; - border-color: #321fdb !important; - font-size: 0.875rem !important; - font-weight: 400 !important; - box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2) !important; - width: 400px; -} - -.deleteTooltip { - opacity: 1 !important; - padding: 0px 0px 0px 0px !important; - border-radius: 1rem !important; - background-color: #fff !important; - border-color: #321fdb !important; - font-size: 0.875rem !important; - font-weight: 400 !important; - box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2) !important; - width: 150px; -} - -.tooltipHeader { - padding-left: 5px; - padding-right: 10px; - padding-top: 5px; - padding-bottom: 5px; - border-top-left-radius: 1rem !important; - border-top-right-radius: 1rem !important; -} diff --git a/src/components/DefaultConfigurationTable/index.js b/src/components/DefaultConfigurationTable/index.js deleted file mode 100644 index 46f7c30..0000000 --- a/src/components/DefaultConfigurationTable/index.js +++ /dev/null @@ -1,199 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useHistory } from 'react-router-dom'; -import axiosInstance from 'utils/axiosInstance'; -import { getItem, setItem } from 'utils/localStorageHelper'; -import { useAuth, useToast, useToggle } from 'ucentral-libs'; -import AddConfigurationModal from 'components/AddConfigurationModal'; -import EditConfigurationModal from 'components/EditConfigurationModal'; -import Table from './Table'; - -const DefaultConfigurationTable = () => { - const { t } = useTranslation(); - const { addToast } = useToast(); - const history = useHistory(); - const [page, setPage] = useState(parseInt(sessionStorage.getItem('configurationTable') ?? 0, 10)); - const { currentToken, endpoints } = useAuth(); - const [configurationCount, setConfigurationCount] = useState(0); - const [pageCount, setPageCount] = useState(0); - const [configurationsPerPage, setConfigurationsPerPage] = useState( - getItem('configurationsPerPage') || '10', - ); - const [configurations, setConfigurations] = useState([]); - const [loading, setLoading] = useState(true); - const [editId, setEditId] = useState(''); - const [showEditModal, setShowEditModal] = useState(false); - const [showAddModal, toggleAddModal] = useToggle(false); - - const toggleEditModal = (serialNumber) => { - if (serialNumber) setEditId(serialNumber); - setShowEditModal(!showEditModal); - }; - - const getConfigurationInformation = ( - selectedPage = page, - configurationPerPage = configurationsPerPage, - ) => { - setLoading(true); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .get( - `${endpoints.owgw}/api/v1/default_configurations?limit=${configurationPerPage}&offset=${ - configurationPerPage * selectedPage - }`, - options, - ) - .then((response) => { - setConfigurations(response.data.configurations); - setLoading(false); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('configuration.error_fetching_configurations', { - error: e.response?.data?.ErrorDescription, - }), - color: 'danger', - autohide: true, - }); - setLoading(false); - }); - }; - - const getCount = () => { - setLoading(true); - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - axiosInstance - .get(`${endpoints.owgw}/api/v1/default_configurations?countOnly=true`, { - headers, - }) - .then((response) => { - const configurationsCount = response.data.count; - const pagesCount = Math.ceil(configurationsCount / configurationsPerPage); - setPageCount(pagesCount); - setConfigurationCount(configurationsCount); - - let selectedPage = page; - - if (page >= pagesCount) { - history.push(`/defaultconfigurations?page=${pagesCount - 1}`); - selectedPage = pagesCount - 1; - } - getConfigurationInformation(selectedPage); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('configuration.error_fetching_configurations', { - error: e.response?.data?.ErrorDescription, - }), - color: 'danger', - autohide: true, - }); - setLoading(false); - }); - }; - - const updateConfigurationsPerPage = (value) => { - setItem('configurationsPerPage', value); - setConfigurationsPerPage(value); - - const newPageCount = Math.ceil(configurationCount / value); - setPageCount(newPageCount); - - let selectedPage = page; - - if (page >= newPageCount) { - history.push(`/default_configurations?page=${newPageCount - 1}`); - selectedPage = newPageCount - 1; - } - - getConfigurationInformation(selectedPage, value); - }; - - const updatePageCount = ({ selected: selectedPage }) => { - sessionStorage.setItem('configurationTable', selectedPage); - setPage(selectedPage); - getConfigurationInformation(selectedPage); - }; - - const deleteConfig = (name) => { - setLoading(true); - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - axiosInstance - .delete(`${endpoints.owgw}/api/v1/default_configuration/${name}`, { headers }) - .then(() => { - addToast({ - title: t('common.success'), - body: t('configuration.successful_delete'), - color: 'success', - autohide: true, - }); - getCount(); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('configuration.error_adding_blacklist', { - error: e.response?.data?.ErrorDescription, - }), - color: 'danger', - autohide: true, - }); - }) - .finally(() => { - setLoading(false); - }); - }; - - useEffect(() => { - getCount(); - }, []); - - return ( -
- - {showAddModal ? ( - - ) : null} - - - ); -}; - -export default DefaultConfigurationTable; diff --git a/src/components/DeleteLogModal/index.js b/src/components/DeleteLogModal/index.js deleted file mode 100644 index 2026707..0000000 --- a/src/components/DeleteLogModal/index.js +++ /dev/null @@ -1,126 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { - CModal, - CModalHeader, - CModalTitle, - CModalBody, - CCol, - CRow, - CPopover, - CButton, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilX } from '@coreui/icons'; -import DatePicker from 'react-widgets/DatePicker'; -import PropTypes from 'prop-types'; -import { ConfirmFooter, useAuth, useDevice, useToast } from 'ucentral-libs'; -import { dateToUnix } from 'utils/helper'; -import axiosInstance from 'utils/axiosInstance'; -import eventBus from 'utils/eventBus'; - -const DeleteLogModal = ({ show, toggle, object }) => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { addToast } = useToast(); - const { deviceSerialNumber } = useDevice(); - const [loading, setLoading] = useState(false); - const [maxDate, setMaxDate] = useState(new Date().toString()); - - const setDate = (date) => { - if (date) { - setMaxDate(date.toString()); - } - }; - - const deleteLog = async () => { - setLoading(true); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - params: { - endDate: dateToUnix(maxDate), - }, - }; - return axiosInstance - .delete(`${endpoints.owgw}/api/v1/device/${deviceSerialNumber}/${object}`, options) - .then(() => {}) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('commands.error_delete_log', { error: e.response?.data?.ErrorDescription }), - color: 'danger', - autohide: true, - }); - }) - .finally(() => { - if (object === 'healthchecks') - eventBus.dispatch('deletedHealth', { message: 'Healthcheck was deleted' }); - else if (object === 'logs') - eventBus.dispatch('deletedLogs', { message: 'Deleted device logs' }); - setLoading(false); - toggle(); - }); - }; - - useEffect(() => { - setLoading(false); - setMaxDate(new Date().toString()); - }, [show]); - - return ( - - - - {object === 'healthchecks' - ? t('delete_logs.healthchecks_title') - : t('delete_logs.device_logs_title')} - -
- - - - - -
-
- -
{t('delete_logs.explanation', { object })}
- - -

{t('common.date')}:

-
- - setDate(date)} - /> - -
-
- -
- ); -}; - -DeleteLogModal.propTypes = { - show: PropTypes.bool.isRequired, - toggle: PropTypes.func.isRequired, - object: PropTypes.string.isRequired, -}; - -export default DeleteLogModal; diff --git a/src/components/DeviceActionCard/index.js b/src/components/DeviceActionCard/index.js deleted file mode 100644 index b1c1943..0000000 --- a/src/components/DeviceActionCard/index.js +++ /dev/null @@ -1,204 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import PropTypes from 'prop-types'; -import { useTranslation } from 'react-i18next'; -import { CButton, CCard, CCardHeader, CCardBody, CRow, CCol } from '@coreui/react'; -import axiosInstance from 'utils/axiosInstance'; -import { LoadingButton, useAuth, useDevice, useToast, useToggle } from 'ucentral-libs'; -import RebootModal from 'components/RebootModal'; -import DeviceFirmwareModal from 'components/DeviceFirmwareModal'; -import ConfigureModal from 'components/ConfigureModal'; -import TraceModal from 'components/TraceModal'; -import WifiScanModal from 'components/WifiScanModal'; -import BlinkModal from 'components/BlinkModal'; -import FactoryResetModal from 'components/FactoryResetModal'; -import EventQueueModal from 'components/EventQueueModal'; -import TelemetryModal from 'components/TelemetryModal'; - -const DeviceActions = ({ device }) => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { addToast } = useToast(); - const { deviceSerialNumber } = useDevice(); - const [upgradeStatus, setUpgradeStatus] = useState({ - loading: false, - }); - const [connectLoading, setConnectLoading] = useState(false); - const [showRebootModal, toggleRebootModal] = useToggle(false); - const [showBlinkModal, toggleBlinkModal] = useToggle(false); - const [showUpgradeModal, toggleUpgradeModal, setShowUpgradeModal] = useToggle(false); - const [showTraceModal, toggleTraceModal] = useToggle(false); - const [showScanModal, toggleScanModal] = useToggle(false); - const [showConfigModal, toggleConfigModal] = useToggle(false); - const [showFactoryModal, toggleFactoryResetModal] = useToggle(false); - const [showQueueModal, toggleQueueModal] = useToggle(false); - const [showTelemetryModal, toggleTelemetryModal] = useToggle(false); - - const getRttysInfo = () => { - setConnectLoading(true); - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .get( - `${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/rtty`, - options, - ) - .then((response) => { - const url = `https://${response.data.server}:${response.data.viewport}/connect/${response.data.connectionId}`; - - const newWindow = window.open(url, '_blank', 'noopener,noreferrer'); - if (newWindow) newWindow.opener = null; - }) - .catch((e) => { - if (e.response?.data?.ErrorDescription !== undefined) { - const split = e.response?.data?.ErrorDescription.split(':'); - if (split !== undefined && split.length >= 2) { - addToast({ - title: t('common.error'), - body: split[1], - color: 'danger', - autohide: true, - }); - } - } - }) - .finally(() => { - setConnectLoading(false); - }); - }; - - useEffect(() => { - if (upgradeStatus.result !== undefined) { - if (upgradeStatus.result.success) { - addToast({ - title: upgradeStatus.result.success ? t('common.success') : t('common.error'), - body: upgradeStatus.result.success - ? t('firmware.upgrade_command_submitted') - : upgradeStatus.result.error, - color: upgradeStatus.result.success ? 'success' : 'danger', - autohide: true, - }); - setShowUpgradeModal(false); - } - setUpgradeStatus({ - loading: false, - }); - } - }, [upgradeStatus]); - - return ( - - -
{t('actions.title')}
-
- - - - - {t('actions.reboot')} - - - - - {t('actions.blink')} - - - - - - - {t('actions.firmware_upgrade')} - - - - - {t('actions.trace')} - - - - - - - {t('actions.wifi_scan')} - - - - - {t('actions.factory_reset')} - - - - - - - - - - {t('actions.configure')} - - - - - - - {t('commands.event_queue')} - - - - - {t('actions.telemetry')} - - - - - - - - - - - - - -
- ); -}; - -DeviceActions.propTypes = { - device: PropTypes.instanceOf(Object), -}; - -DeviceActions.defaultProps = { - device: null, -}; - -export default DeviceActions; diff --git a/src/components/DeviceConfiguration/DeviceConfigurationModal.js b/src/components/DeviceConfiguration/DeviceConfigurationModal.js deleted file mode 100644 index 07b759a..0000000 --- a/src/components/DeviceConfiguration/DeviceConfigurationModal.js +++ /dev/null @@ -1,40 +0,0 @@ -/* eslint-disable-rule prefer-destructuring */ -import React from 'react'; -import { - CButton, - CModal, - CModalHeader, - CModalBody, - CModalTitle, - CModalFooter, -} from '@coreui/react'; -import PropTypes from 'prop-types'; -import { Translation } from 'react-i18next'; - -const DeviceConfigurationModal = ({ show, toggle, configuration }) => ( - - {(t) => ( - - - {t('configuration.title')} - - -
{JSON.stringify(configuration, null, 2)}
-
- - - {t('common.close')} - - -
- )} -
-); - -DeviceConfigurationModal.propTypes = { - configuration: PropTypes.instanceOf(Object).isRequired, - toggle: PropTypes.func.isRequired, - show: PropTypes.bool.isRequired, -}; - -export default DeviceConfigurationModal; diff --git a/src/components/DeviceConfiguration/index.js b/src/components/DeviceConfiguration/index.js deleted file mode 100644 index 0427def..0000000 --- a/src/components/DeviceConfiguration/index.js +++ /dev/null @@ -1,270 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { - CCard, - CCardHeader, - CCardBody, - CCol, - CLabel, - CCollapse, - CCardFooter, - CButton, - CRow, - CPopover, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilWindowMaximize } from '@coreui/icons'; -import { prettyDate } from 'utils/helper'; -import axiosInstance from 'utils/axiosInstance'; -import { - CopyToClipboardButton, - HideTextButton, - NotesTable, - useAuth, - useDevice, - useToast, -} from 'ucentral-libs'; -import DeviceConfigurationModal from './DeviceConfigurationModal'; - -const DeviceConfiguration = () => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { deviceSerialNumber } = useDevice(); - const { addToast } = useToast(); - const [loading, setLoading] = useState(false); - const [showPassword, setShowPassword] = useState(false); - const [collapse, setCollapse] = useState(false); - const [showModal, setShowModal] = useState(false); - const [device, setDevice] = useState(null); - - const toggleShowPassword = () => { - setShowPassword(!showPassword); - }; - - const toggle = (e) => { - setCollapse(!collapse); - e.preventDefault(); - }; - - const toggleModal = () => { - setShowModal(!showModal); - }; - - const getDevice = () => { - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .get(`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}`, options) - .then((response) => { - setDevice(response.data); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('device.error_fetching_device', { error: e.response?.data?.ErrorDescription }), - color: 'danger', - autohide: true, - }); - }); - }; - - const saveNote = (currentNote) => { - setLoading(true); - - const parameters = { - serialNumber: deviceSerialNumber, - notes: [{ note: currentNote }], - }; - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - axiosInstance - .put( - `${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}`, - parameters, - { headers }, - ) - .then(() => { - getDevice(); - }) - .catch(() => {}) - .finally(() => { - setLoading(false); - }); - }; - - const getPassword = () => { - const password = device.devicePassword === '' ? 'openwifi' : device.devicePassword; - return showPassword ? password : '******'; - }; - - useEffect(() => { - if (deviceSerialNumber) getDevice(); - }, [deviceSerialNumber]); - - if (device) { - return ( -
- - - - -
{t('configuration.title')}
-
- - - - - - - -
-
- - - - {t('configuration.uuid')} : - - - {device.UUID} - - - - - {t('common.serial_number')} : - - - {device.serialNumber} - - - - - - {t('configuration.type')} : - - - {device.deviceType} - - - - - {t('firmware.revision')} : - - - {device.firmware} - - - - - - {t('configuration.last_configuration_change')} : - - - {prettyDate(device.lastConfigurationChange)} - - - - - {t('common.mac')} : - - - {device.macAddress} - - - - - {t('configuration.device_password')} : - - - {getPassword()} - - - - - - - - - - {t('configuration.last_configuration_download')} : - - - {prettyDate(device.lastConfigurationDownload)} - - - - - {t('common.manufacturer')} : - - - {device.manufacturer} - - - - - {t('configuration.created')} : - - - {prettyDate(device.createdTimestamp)} - - - - - {t('configuration.owner')} : - - - {device.owner} - - - - - {t('configuration.location')} : - - - {device.location} - - - - - - - - - -
- -
- ); - } - - return ( - - {t('configuration.details')} - - - ); -}; - -export default DeviceConfiguration; diff --git a/src/components/DeviceDashboard/Dashboard/index.js b/src/components/DeviceDashboard/Dashboard/index.js deleted file mode 100644 index c314aff..0000000 --- a/src/components/DeviceDashboard/Dashboard/index.js +++ /dev/null @@ -1,434 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { - CCard, - CCardBody, - CCardHeader, - CCol, - CPopover, - CRow, - CSpinner, - CWidgetIcon, -} from '@coreui/react'; -import { CChartBar, CChartHorizontalBar, CChartPie } from '@coreui/react-chartjs'; -import { cilClock, cilInfo, cilMedicalCross, cilThumbUp, cilWarning } from '@coreui/icons'; -import CIcon from '@coreui/icons-react'; -import { FormattedDate } from 'ucentral-libs'; - -import styles from './index.module.scss'; - -const getColor = (health) => { - const numberHealth = health ? Number(health.replace('%', '')) : 0; - if (numberHealth >= 90) return 'success'; - if (numberHealth >= 60) return 'warning'; - return 'danger'; -}; - -const getIcon = (health) => { - const numberHealth = health ? Number(health.replace('%', '')) : 0; - if (numberHealth >= 90) return ; - if (numberHealth >= 60) return ; - return ; -}; - -const DeviceDashboard = ({ t, data, loading }) => ( -
-
- - - :

-

} - color="info" - iconPadding={false} - > - -
-
- - -
{t('common.overall_health')}
-
- - - -
-
- } - header={

{data.overallHealth}

} - color={getColor(data.overallHealth)} - iconPadding={false} - > - {getIcon(data.overallHealth)} - - - - -
{t('common.devices')}
-
- - - -
-
- } - header={

{data.numberOfDevices}

} - color="primary" - iconPadding={false} - > - - - - - - - - {t('common.device_status')} - - ds.labels[item[0].index], - label: (item, ds) => - `${ds.datasets[0].data[item.index]} devices, (${ - data.statusDevices[ds.datasets[0].data[item.index]] - }%)`, - }, - }, - legend: { - display: true, - position: 'right', - }, - }} - /> - - - - - - -
-
{t('common.device_health')}
-
- - - -
-
-
- - ds.labels[item[0].index], - label: (item, ds) => - `${ds.datasets[0].data[item.index]} connected devices (${ - data.healthDevices[ds.datasets[0].data[item.index]] - }%)`, - }, - }, - legend: { - display: true, - position: 'right', - }, - }} - /> - -
-
- - - - {data.totalAssociations}{' '} - {data.totalAssociations === 1 - ? t('wifi_analysis.association') - : t('wifi_analysis.associations')} - - - ds.labels[item[0].index], - label: (item, ds) => - `${ds.datasets[0].data[item.index]} associations (${ - data.associationData[ds.datasets[0].data[item.index]] - }%)`, - }, - }, - legend: { - display: true, - position: 'right', - }, - }} - /> - - - - - - {t('common.vendors')} - - ds.labels[item[0].index], - label: (item, ds) => - `${ds.datasets[0].data[item.index]} ${t('common.devices')}`, - }, - }, - hover: { - mode: 'index', - intersect: false, - }, - legend: { - display: false, - position: 'right', - }, - scales: { - xAxes: [ - { - ticks: { - maxTicksLimit: 5, - beginAtZero: true, - stepSize: 1, - }, - }, - ], - yAxes: [ - { - ticks: { - callback: (value) => value.split(' ')[0], - }, - }, - ], - }, - }} - /> - - - - - - {t('firmware.device_types')} - - ds.labels[item[0].index], - label: (item, ds) => - `${ds.datasets[0].data[item.index]} ${t('common.devices')}`, - }, - }, - legend: { - display: true, - position: 'right', - }, - }} - /> - - - - - - -
-
{t('common.uptimes')}
-
- - - -
-
-
- - ds.labels[item[0].index], - label: (item, ds) => - `${ds.datasets[0].data[item.index]} ${t('common.devices')}`, - }, - }, - hover: { - mode: 'index', - intersect: false, - }, - legend: { - display: false, - position: 'right', - }, - scales: { - yAxes: [ - { - ticks: { - maxTicksLimit: 5, - beginAtZero: true, - stepSize: 1, - }, - }, - ], - }, - }} - /> - -
-
- - - -
-
{t('common.certificates')}
-
- - - -
-
-
- - ds.labels[item[0].index], - label: (item, ds) => - `${ds.datasets[0].data[item.index]} connected devices (${ - data.certificateData[ds.datasets[0].data[item.index]] - }%)`, - }, - }, - legend: { - display: true, - position: 'right', - }, - }} - /> - -
-
- - - {t('common.commands')} - - - - - - - - -
-
{t('common.memory_used')}
-
- - - -
-
-
- - - -
-
-
- - {loading ? ( -
- -
- ) : null} - -); - -DeviceDashboard.propTypes = { - t: PropTypes.func.isRequired, - data: PropTypes.instanceOf(Object).isRequired, - loading: PropTypes.bool.isRequired, -}; - -export default React.memo(DeviceDashboard); diff --git a/src/components/DeviceDashboard/Dashboard/index.module.scss b/src/components/DeviceDashboard/Dashboard/index.module.scss deleted file mode 100644 index dfb60eb..0000000 --- a/src/components/DeviceDashboard/Dashboard/index.module.scss +++ /dev/null @@ -1,10 +0,0 @@ -.centerContainer { - position: absolute; - top: 5%; - right: 50%; -} - -.spinner { - height: 50px; - width: 50px; -} diff --git a/src/components/DeviceDashboard/index.js b/src/components/DeviceDashboard/index.js deleted file mode 100644 index b6c52ce..0000000 --- a/src/components/DeviceDashboard/index.js +++ /dev/null @@ -1,374 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useAuth, COLOR_LIST } from 'ucentral-libs'; -import axiosInstance from 'utils/axiosInstance'; -import Dashboard from './Dashboard'; - -const DeviceDashboard = () => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const [loading, setLoading] = useState(false); - const [data, setData] = useState({ - status: { - datasets: [], - labels: [], - }, - healths: { - datasets: [], - labels: [], - }, - associations: { - datasets: [], - labels: [], - }, - upTimes: { - datasets: [], - labels: [], - }, - deviceType: { - datasets: [], - labels: [], - }, - vendors: { - datasets: [], - labels: [], - }, - certificates: { - datasets: [], - labels: [], - }, - commands: { - datasets: [], - labels: [], - }, - memoryUsed: { - datasets: [], - labels: [], - }, - }); - - const parseData = (newData) => { - const parsedData = newData; - - // Status pie chart - const statusDs = []; - const statusColors = []; - const statusLabels = []; - let totalDevices = parsedData.status.reduce((acc, point) => acc + point.value, 0); - parsedData.numberOfDevices = totalDevices; - parsedData.statusDevices = {}; - for (const point of parsedData.status) { - statusDs.push(point.value); - statusLabels.push(point.tag); - parsedData.statusDevices[point.value] = Math.round((point.value / totalDevices) * 100); - let color = ''; - switch (point.tag) { - case 'connected': - color = '#41B883'; - break; - case 'not connected': - color = '#39f'; - break; - case 'disconnected': - color = '#e55353'; - break; - default: - break; - } - statusColors.push(color); - } - parsedData.status = { - datasets: [ - { - data: statusDs, - backgroundColor: statusColors, - }, - ], - labels: statusLabels, - }; - - // General Health - let devicesAt100 = 0; - let devicesUp90 = 0; - let devicesUp60 = 0; - let devicesDown60 = 0; - - // Health pie chart - const healthDs = []; - const healthColors = []; - const healthLabels = []; - totalDevices = parsedData.healths.reduce((acc, point) => acc + point.value, 0); - for (const point of parsedData.healths) { - healthDs.push(point.value); - healthLabels.push(point.tag); - let color = ''; - switch (point.tag) { - case '100%': - color = '#41B883'; - devicesAt100 += point.value; - break; - case '>90%': - color = '#ffff5c'; - devicesUp90 += point.value; - break; - case '>60%': - color = '#f9b115'; - devicesUp60 += point.value; - break; - case '<60%': - color = '#e55353'; - devicesDown60 += point.value; - break; - default: - color = '#39f'; - break; - } - healthColors.push(color); - } - parsedData.healthDevices = { - [devicesAt100]: Math.round((devicesAt100 / totalDevices) * 100), - [devicesUp90]: Math.round((devicesUp90 / totalDevices) * 100), - [devicesUp60]: Math.round((devicesUp60 / totalDevices) * 100), - [devicesDown60]: Math.round((devicesDown60 / totalDevices) * 100), - }; - parsedData.healths = { - datasets: [ - { - data: healthDs, - backgroundColor: healthColors, - }, - ], - labels: healthLabels, - }; - parsedData.overallHealth = - totalDevices === 0 - ? '-' - : `${Math.round( - (devicesAt100 * 100 + devicesUp90 * 95 + devicesUp60 * 75 + devicesDown60 * 35) / - totalDevices, - )}%`; - - // Associations pie chart - const associationsDs = []; - const associationsColors = []; - const associationsLabels = []; - const totalAssociations = parsedData.associations.reduce((acc, point) => acc + point.value, 0); - parsedData.associationData = {}; - for (let i = 0; i < parsedData.associations.length; i += 1) { - const point = parsedData.associations[i]; - associationsDs.push(point.value); - associationsLabels.push(point.tag); - parsedData.associationData[point.value] = Math.round((point.value / totalAssociations) * 100); - - switch (parsedData.associations[i].tag) { - case '2G': - associationsColors.push('#41B883'); - break; - case '5G': - associationsColors.push('#3399ff'); - break; - default: - associationsColors.push('#636f83'); - break; - } - } - parsedData.totalAssociations = totalAssociations; - parsedData.associations = { - datasets: [ - { - data: associationsDs, - backgroundColor: associationsColors, - }, - ], - labels: associationsLabels, - }; - - // Uptime bar chart - const uptimeDs = [0, 0, 0, 0]; - const uptimeLabels = ['now', '>day', '>week', '>month']; - const uptimeColors = ['#321fdb', '#321fdb', '#321fdb', '#321fdb']; - - for (const point of parsedData.upTimes) { - switch (point.tag) { - case 'now': - uptimeDs[0] = point.value; - break; - case '>day': - uptimeDs[1] = point.value; - break; - case '>week': - uptimeDs[2] = point.value; - break; - case '>month': - uptimeDs[3] = point.value; - break; - default: - uptimeDs.push(point.value); - uptimeLabels.push(point.tag); - uptimeColors.push('#321fdb'); - } - } - parsedData.upTimes = { - datasets: [ - { - label: 'Devices', - data: uptimeDs, - backgroundColor: uptimeColors, - }, - ], - labels: uptimeLabels, - }; - - // Vendors bar chart - const vendorsTypeDs = []; - const vendorsColors = []; - const vendorsLabels = []; - const sortedVendors = parsedData.vendors.sort((a, b) => (a.value < b.value ? 1 : -1)); - for (const point of sortedVendors) { - vendorsTypeDs.push(point.value); - vendorsLabels.push(point.tag === '' ? 'Unknown' : point.tag); - vendorsColors.push('#eb7474'); - } - const otherVendors = vendorsTypeDs.slice(5).reduce((acc, vendor) => acc + vendor, 0); - parsedData.vendors = { - datasets: [ - { - label: 'Devices', - data: vendorsTypeDs.slice(0, 5).concat([otherVendors]), - backgroundColor: vendorsColors, - }, - ], - labels: vendorsLabels.slice(0, 5).concat(['Others']), - }; - - // Device Type pie chart - const deviceTypeDs = []; - const deviceTypeColors = []; - const deviceTypeLabels = []; - const sortedTypes = parsedData.deviceType.sort((a, b) => (a.value < b.value ? 1 : -1)); - for (let i = 0; i < sortedTypes.length; i += 1) { - const point = sortedTypes[i]; - - deviceTypeDs.push(point.value); - deviceTypeLabels.push(point.tag); - deviceTypeColors.push(COLOR_LIST[i]); - } - const otherTypes = deviceTypeDs.slice(5).reduce((acc, type) => acc + type, 0); - parsedData.deviceType = { - datasets: [ - { - data: deviceTypeDs.slice(0, 5).concat([otherTypes]), - backgroundColor: deviceTypeColors, - }, - ], - labels: deviceTypeLabels.slice(0, 5).concat(['Others']), - }; - - // Certificates pie chart - const certificatesDs = []; - const certificatesColors = []; - const certificatesLabels = []; - const totalCerts = parsedData.certificates.reduce((acc, point) => acc + point.value, 0); - parsedData.certificateData = {}; - for (const point of parsedData.certificates) { - certificatesDs.push(point.value); - parsedData.certificateData[point.value] = Math.round((point.value / totalCerts) * 100); - certificatesLabels.push(point.tag); - let color = ''; - switch (point.tag) { - case 'verified': - color = '#41B883'; - break; - case 'serial mismatch': - color = '#f9b115'; - break; - case 'no certificate': - color = '#e55353'; - break; - default: - color = '#39f'; - break; - } - certificatesColors.push(color); - } - parsedData.certificates = { - datasets: [ - { - data: certificatesDs, - backgroundColor: certificatesColors, - }, - ], - labels: certificatesLabels, - }; - - // Commands bar chart - const commandsDs = []; - const commandsColors = []; - const commandsLabels = []; - for (const point of parsedData.commands) { - commandsDs.push(point.value); - commandsLabels.push(point.tag); - commandsColors.push('#39f'); - } - parsedData.commands = { - datasets: [ - { - label: t('common.commands_executed'), - data: commandsDs, - backgroundColor: commandsColors, - }, - ], - labels: commandsLabels, - }; - - // Memory Used bar chart - const memoryDs = []; - const memoryColors = []; - const memoryLabels = []; - for (const point of parsedData.memoryUsed) { - memoryDs.push(point.value); - memoryLabels.push(point.tag); - memoryColors.push('#636f83'); - } - parsedData.memoryUsed = { - datasets: [ - { - label: 'Devices', - data: memoryDs, - backgroundColor: memoryColors, - }, - ], - labels: memoryLabels, - }; - - setData(parsedData); - }; - - const getDashboard = () => { - setLoading(true); - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - axiosInstance - .get(`${endpoints.owgw}/api/v1/deviceDashboard`, { - headers, - }) - .then((response) => { - parseData(response.data); - setLoading(false); - }) - .catch(() => { - setLoading(false); - }); - }; - - useEffect(() => { - getDashboard(); - }, []); - - return ; -}; - -export default DeviceDashboard; diff --git a/src/components/DeviceFirmwareModal/Modal/index.js b/src/components/DeviceFirmwareModal/Modal/index.js deleted file mode 100644 index f11f46d..0000000 --- a/src/components/DeviceFirmwareModal/Modal/index.js +++ /dev/null @@ -1,145 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import PropTypes from 'prop-types'; -import { - CButton, - CDataTable, - CModal, - CModalHeader, - CModalTitle, - CModalBody, - CRow, - CCol, - CInput, - CPopover, - CSwitch, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilX } from '@coreui/icons'; -import { LoadingButton } from 'ucentral-libs'; -import { cleanBytesString, prettyDate } from 'utils/helper'; - -const DeviceFirmwareModal = ({ - t, - device, - show, - toggle, - firmwareVersions, - upgradeToVersion, - loading, - upgradeStatus, - keepRedirector, - toggleRedirector, -}) => { - const [filter, setFilter] = useState(''); - - const fields = [ - { key: 'imageDate', label: t('firmware.image_date'), _style: { width: '17%' }, filter: false }, - { key: 'size', label: t('firmware.size'), _style: { width: '8%' }, filter: false }, - { key: 'revision', label: t('firmware.revision'), _style: { width: '60%' } }, - { key: 'show_details', label: '', _style: { width: '15%' }, filter: false }, - ]; - - useEffect(() => { - setFilter(''); - }, [show]); - - return ( - - - #{device?.serialNumber} -
- - - - - -
-
- - {show ? ( -
- - - {t('firmware.installed_firmware')} - - {device.firmware} - - - - {t('factory_reset.redirector')} - - - - - - - - setFilter(e.target.value)} - /> - - - - - -
-
, - size: (item) => , - show_details: (item) => ( - - ), - }} - /> - - - - - ) : ( -
- )} - - - ); -}; - -DeviceFirmwareModal.propTypes = { - t: PropTypes.func.isRequired, - device: PropTypes.instanceOf(Object).isRequired, - show: PropTypes.bool.isRequired, - toggle: PropTypes.func.isRequired, - firmwareVersions: PropTypes.instanceOf(Array).isRequired, - upgradeToVersion: PropTypes.func.isRequired, - loading: PropTypes.bool.isRequired, - upgradeStatus: PropTypes.instanceOf(Object).isRequired, - keepRedirector: PropTypes.bool.isRequired, - toggleRedirector: PropTypes.func.isRequired, -}; - -export default React.memo(DeviceFirmwareModal); diff --git a/src/components/DeviceFirmwareModal/index.js b/src/components/DeviceFirmwareModal/index.js deleted file mode 100644 index 6fe4caf..0000000 --- a/src/components/DeviceFirmwareModal/index.js +++ /dev/null @@ -1,165 +0,0 @@ -/* eslint-disable no-await-in-loop */ -import React, { useState, useEffect } from 'react'; -import PropTypes from 'prop-types'; -import { useAuth, useToast, useToggle } from 'ucentral-libs'; -import axiosInstance from 'utils/axiosInstance'; -import { useTranslation } from 'react-i18next'; -import { useGlobalWebSocket } from 'contexts/WebSocketProvider'; -import Modal from './Modal'; - -const DeviceFirmwareModal = ({ - device, - show, - toggleFirmwareModal, - setUpgradeStatus, - upgradeStatus, -}) => { - const { t } = useTranslation(); - const { addToast } = useToast(); - const { currentToken, endpoints } = useAuth(); - const [loading, setLoading] = useState(false); - const [firmwareVersions, setFirmwareVersions] = useState([]); - const [keepRedirector, toggleKeepRedirector, setKeepRedirector] = useToggle(true); - const { addDeviceListener } = useGlobalWebSocket(); - - const getPartialFirmware = async (offset) => { - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - return axiosInstance - .get( - `${endpoints.owfms}/api/v1/firmwares?deviceType=${device.compatible}&limit=500&offset=${offset}`, - { - headers, - }, - ) - .then((response) => response.data.firmwares) - .catch(() => { - addToast({ - title: t('common.error'), - body: t('common.general_error'), - color: 'danger', - autohide: true, - }); - return []; - }); - }; - - const getFirmwareList = async () => { - setLoading(true); - - const allFirmwares = []; - let continueFirmware = true; - let i = 0; - while (continueFirmware) { - const newFirmwares = await getPartialFirmware(i); - if (newFirmwares === null || newFirmwares.length === 0) continueFirmware = false; - allFirmwares.push(...newFirmwares); - i += 500; - } - const sortedFirmware = allFirmwares.sort((a, b) => { - const firstDate = a.imageDate; - const secondDate = b.imageDate; - if (firstDate < secondDate) return 1; - return firstDate > secondDate ? -1 : 0; - }); - setFirmwareVersions(sortedFirmware); - - setLoading(false); - }; - - const upgradeToVersion = (uri) => { - setUpgradeStatus({ - loading: true, - }); - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - const parameters = { - serialNumber: device.serialNumber, - keepRedirector, - when: 0, - uri, - }; - - axiosInstance - .post(`${endpoints.owgw}/api/v1/device/${device.serialNumber}/upgrade`, parameters, { - headers, - }) - .then((response) => { - addDeviceListener({ - serialNumber: device.serialNumber, - types: ['device_firmware_upgrade'], - addToast: (title, body) => - addToast({ - title, - body, - color: 'info', - autohide: true, - }), - }); - setUpgradeStatus({ - loading: false, - result: { - success: response.data.errorCode === 0, - error: response.data.errorCode === 0 ? '' : t('firmware.error_fetching_latest'), - }, - }); - }) - .catch((e) => { - if (e.response?.data?.ErrorDescription !== undefined) { - const split = e.response?.data?.ErrorDescription.split(':'); - if (split !== undefined && split.length >= 2) { - addToast({ - title: t('common.error'), - body: split[1], - color: 'danger', - autohide: true, - }); - } - } - setUpgradeStatus({ - loading: false, - result: { - success: false, - error: t('common.general_error'), - }, - }); - }); - }; - - useEffect(() => { - if (show && device.compatible) getFirmwareList(); - if (show) setKeepRedirector(true); - }, [device, show]); - - return ( - - ); -}; - -DeviceFirmwareModal.propTypes = { - device: PropTypes.instanceOf(Object).isRequired, - show: PropTypes.bool.isRequired, - toggleFirmwareModal: PropTypes.func.isRequired, - setUpgradeStatus: PropTypes.func.isRequired, - upgradeStatus: PropTypes.instanceOf(Object).isRequired, -}; - -export default React.memo(DeviceFirmwareModal); diff --git a/src/components/DeviceHealth/index.js b/src/components/DeviceHealth/index.js deleted file mode 100644 index a3b6c68..0000000 --- a/src/components/DeviceHealth/index.js +++ /dev/null @@ -1,275 +0,0 @@ -/* eslint-disable-rule prefer-destructuring */ -import React, { useState, useEffect } from 'react'; -import { - CCardBody, - CButton, - CDataTable, - CCardHeader, - CPopover, - CCard, - CFormText, - CBadge, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilSync, cilTrash } from '@coreui/icons'; -import { useTranslation } from 'react-i18next'; -import DatePicker from 'react-widgets/DatePicker'; -import { dateToUnix } from 'utils/helper'; -import axiosInstance from 'utils/axiosInstance'; -import eventBus from 'utils/eventBus'; -import { LoadingButton, useAuth, useDevice, FormattedDate } from 'ucentral-libs'; -import DeleteLogModal from 'components/DeleteLogModal'; - -const DeviceHealth = () => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { deviceSerialNumber } = useDevice(); - const [loading, setLoading] = useState(false); - const [healthChecks, setHealthChecks] = useState([]); - const [start, setStart] = useState(''); - const [startError, setStartError] = useState(false); - const [end, setEnd] = useState(''); - const [endError, setEndError] = useState(false); - const [logLimit, setLogLimit] = useState(25); - const [loadingMore, setLoadingMore] = useState(false); - const [showLoadingMore, setShowLoadingMore] = useState(true); - const [sanityLevel, setSanityLevel] = useState(null); - const [barColor, setBarColor] = useState('gradient-dark'); - const [showDeleteModal, setShowDeleteModal] = useState(false); - - const toggleDeleteModal = () => { - setShowDeleteModal(!showDeleteModal); - }; - - const modifyStart = (value) => { - try { - new Date(value).toISOString(); - setStartError(false); - setStart(value); - } catch (e) { - setStart(''); - setStartError(true); - } - }; - - const modifyEnd = (value) => { - try { - new Date(value).toISOString(); - setEndError(false); - setEnd(value); - } catch (e) { - setEnd(''); - setEndError(true); - } - }; - const showMoreLogs = () => { - setLogLimit(logLimit + 50); - }; - - const getDeviceHealth = () => { - if (loading) return; - setLoadingMore(true); - setLoading(true); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - params: { - limit: logLimit, - }, - }; - - let extraParams = '?newest=true'; - if (start !== '' && end !== '') { - const utcStart = new Date(start).toISOString(); - const utcEnd = new Date(end).toISOString(); - options.params.startDate = dateToUnix(utcStart); - options.params.endDate = dateToUnix(utcEnd); - extraParams = ''; - } - - axiosInstance - .get( - `${endpoints.owgw}/api/v1/device/${encodeURIComponent( - deviceSerialNumber, - )}/healthchecks${extraParams}`, - options, - ) - .then((response) => { - setHealthChecks(response.data.values); - }) - .catch(() => {}) - .finally(() => { - setLoading(false); - setLoadingMore(false); - }); - }; - - const columns = [ - { key: 'recorded', label: t('common.recorded'), _style: { width: '15%' } }, - { key: 'UUID', label: t('common.config_id'), _style: { width: '10%' } }, - { key: 'sanity', label: t('health.sanity'), _style: { width: '5%' } }, - { key: 'checkDetails', label: t('common.details'), _style: { width: '65%' } }, - ]; - - useEffect(() => { - if (deviceSerialNumber) { - setLogLimit(25); - setLoadingMore(false); - setShowLoadingMore(true); - setStart(''); - setEnd(''); - getDeviceHealth(); - } - }, [deviceSerialNumber]); - - useEffect(() => { - if (logLimit !== 25) { - getDeviceHealth(); - } - }, [logLimit]); - - useEffect(() => { - if (healthChecks.length === 0 || (healthChecks.length > 0 && healthChecks.length < logLimit)) { - setShowLoadingMore(false); - } else { - setShowLoadingMore(true); - } - - if (healthChecks && healthChecks.length > 0) { - const sortedHealthchecks = healthChecks.sort((a, b) => (a.recorded > b.recorded ? 1 : -1)); - const tempSanityLevel = sortedHealthchecks[healthChecks.length - 1].sanity; - setSanityLevel(tempSanityLevel); - if (tempSanityLevel === 100) { - setBarColor('success'); - } else if (tempSanityLevel >= 90) { - setBarColor('warning'); - } else { - setBarColor('danger'); - } - } else { - setBarColor('dark'); - } - }, [healthChecks]); - - useEffect(() => { - if (deviceSerialNumber && start !== '' && end !== '') { - getDeviceHealth(); - } else if (deviceSerialNumber && start === '' && end === '') { - getDeviceHealth(); - } - }, [start, end, deviceSerialNumber]); - - useEffect(() => { - eventBus.on('deletedHealth', () => getDeviceHealth()); - - return () => { - eventBus.remove('deletedHealth'); - }; - }, []); - - return ( - - -
-

- - {sanityLevel ? `${sanityLevel}%` : `${t('common.unknown')} Sanity Level`} - -

-
-
-
- - - - - -
-
- modifyEnd(date)} - value={end ? new Date(end) : undefined} - /> - -
- To: -
- modifyStart(date)} - value={start ? new Date(start) : undefined} - /> - -
- From: -
- - - - - -
-
-
- -
-
, - recorded: (item) => ( - - ), - sanity: (item) => , - checkDetails: (item) => ( - - ), - }} - /> - {showLoadingMore && ( -
- -
- )} - - - - - ); -}; - -export default DeviceHealth; diff --git a/src/components/DeviceListTable/Table/index.js b/src/components/DeviceListTable/Table/index.js deleted file mode 100644 index 421dad7..0000000 --- a/src/components/DeviceListTable/Table/index.js +++ /dev/null @@ -1,466 +0,0 @@ -import React, { useEffect } from 'react'; -import PropTypes from 'prop-types'; -import ReactPaginate from 'react-paginate'; -import { - CCardBody, - CDataTable, - CButton, - CLink, - CCard, - CCardHeader, - CRow, - CCol, - CPopover, - CSelect, - CButtonClose, -} from '@coreui/react'; -import { - cilSync, - cilArrowCircleTop, - cilCheckCircle, - cilTerminal, - cilTrash, - cilSearch, -} from '@coreui/icons'; -import CIcon from '@coreui/icons-react'; -import ReactTooltip from 'react-tooltip'; -import { v4 as createUuid } from 'uuid'; -import { cleanBytesString } from 'utils/helper'; -import { DeviceBadge, LoadingButton } from 'ucentral-libs'; -import ReactCountryFlag from 'react-country-flag'; -import styles from './index.module.scss'; - -const DeviceListTable = ({ - currentPage, - devices, - searchBar, - devicesPerPage, - loading, - updateDevicesPerPage, - pageCount, - updatePage, - refreshDevice, - t, - toggleFirmwareModal, - toggleHistoryModal, - upgradeToLatest, - upgradeStatus, - deviceIcons, - connectRtty, - deleteDevice, - deleteStatus, -}) => { - const columns = [ - { key: 'deviceType', label: '', filter: false, sorter: false, _style: { width: '1%' } }, - { key: 'serialNumber', label: t('common.serial_number'), _style: { width: '6%' } }, - { key: 'firmware', label: t('firmware.revision') }, - { key: 'firmware_button', label: '', filter: false, _style: { width: '1%' } }, - { key: 'compatible', label: t('common.type'), filter: false, _style: { width: '13%' } }, - { key: 'txBytes', label: 'Tx', filter: false, _style: { width: '14%' } }, - { key: 'rxBytes', label: 'Rx', filter: false, _style: { width: '14%' } }, - { key: 'ipAddress', label: t('IP'), _style: { width: '10%' } }, - { key: 'twoG', label: t('2G'), _style: { width: '10%' } }, - { key: 'fiveG', label: t('5G'), _style: { width: '10%' } }, - { key: 'actions', label: t('actions.actions'), _style: { width: '10%' } }, - ]; - - const hideTooltips = () => ReactTooltip.hide(); - - const escFunction = (event) => { - if (event.keyCode === 27) { - hideTooltips(); - } - }; - - const getShortRevision = (revision) => { - if (revision.includes(' / ')) { - return revision.split(' / ')[1]; - } - return revision; - }; - - useEffect(() => { - document.addEventListener('keydown', escFunction, false); - - return () => { - document.removeEventListener('keydown', escFunction, false); - }; - }, []); - - const getFirmwareButton = (latest, device) => { - const tooltipId = createUuid(); - let text = t('firmware.unknown_firmware_status'); - let upgradeText = t('firmware.upgrade_to_latest'); - let icon = ; - let color = 'secondary'; - if (latest !== undefined) { - text = t('firmware.newer_firmware_available'); - color = 'warning'; - - if (latest) { - icon = ; - text = t('firmware.latest_version_installed'); - upgradeText = t('firmware.reinstall_latest'); - color = 'success'; - } - } - return ( -
- - {icon} - - { - const element = document.getElementById(tooltipId); - const tooltipWidth = element ? element.offsetWidth : 0; - const newLeft = left + tooltipWidth * 0.25; - return { top, left: newLeft }; - }} - > - - {text} - { - e.target.parentNode.parentNode.classList.remove('show'); - hideTooltips(); - }} - /> - - - - - upgradeToLatest(device)} - block - disabled={ - upgradeStatus.loading && upgradeStatus.serialNumber === device.serialNumber - } - /> - - - { - toggleFirmwareModal(device); - }} - > - {t('firmware.choose_custom')} - - - - { - toggleHistoryModal(device); - }} - > - {t('firmware.history_title')} - - - - - -
- ); - }; - - const deleteButton = (serialNumber) => { - const tooltipId = createUuid(); - - return ( - <> - - - - - - { - const element = document.getElementById(tooltipId); - const tooltipWidth = element ? element.offsetWidth : 0; - const newLeft = left - tooltipWidth * 0.25; - return { top, left: newLeft }; - }} - > - - {t('common.device_delete', { serialNumber })} - { - e.target.parentNode.parentNode.classList.remove('show'); - hideTooltips(); - }} - /> - - - - - { - e.target.parentNode.parentNode.parentNode.parentNode.classList.remove('show'); - hideTooltips(); - deleteDevice(serialNumber); - }} - block - disabled={deleteStatus.loading} - /> - - - - - - ); - }; - - return ( - <> - - -
- {searchBar} -
-
- - ( -
- ), - serialNumber: (item) => ( - - ), - firmware: (item) => ( - - ), - firmware_button: (item) => ( - - ), - compatible: (item) => ( - - ), - txBytes: (item) => , - rxBytes: (item) => , - ipAddress: (item) => ( - - ), - twoG: (item) => , - fiveG: (item) => , - actions: (item) => ( - - ), - }} - /> -
-
- -
-

{t('common.items_per_page')}

-
- updateDevicesPerPage(e.target.value)} - disabled={loading} - > - - - - -
-
- - - - ); -}; - -DeviceListTable.propTypes = { - currentPage: PropTypes.oneOf(['string', 'number']), - devices: PropTypes.instanceOf(Array).isRequired, - searchBar: PropTypes.node.isRequired, - updateDevicesPerPage: PropTypes.func.isRequired, - pageCount: PropTypes.number.isRequired, - updatePage: PropTypes.func.isRequired, - devicesPerPage: PropTypes.string.isRequired, - refreshDevice: PropTypes.func.isRequired, - t: PropTypes.func.isRequired, - loading: PropTypes.bool.isRequired, - toggleFirmwareModal: PropTypes.func.isRequired, - toggleHistoryModal: PropTypes.func.isRequired, - upgradeToLatest: PropTypes.func.isRequired, - upgradeStatus: PropTypes.instanceOf(Object).isRequired, - deviceIcons: PropTypes.instanceOf(Object).isRequired, - connectRtty: PropTypes.func.isRequired, - deleteDevice: PropTypes.func.isRequired, - deleteStatus: PropTypes.instanceOf(Object).isRequired, -}; - -DeviceListTable.defaultProps = { - currentPage: '0', -}; - -export default React.memo(DeviceListTable); diff --git a/src/components/DeviceListTable/Table/index.module.scss b/src/components/DeviceListTable/Table/index.module.scss deleted file mode 100644 index 2a80786..0000000 --- a/src/components/DeviceListTable/Table/index.module.scss +++ /dev/null @@ -1,30 +0,0 @@ -.firmwareTooltip { - opacity: 1 !important; - padding: 0px 0px 0px 0px !important; - border-radius: 1rem !important; - background-color: #fff !important; - border-color: #321fdb !important; - font-size: 0.875rem !important; - font-weight: 400 !important; - box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2) !important; - width: 400px; -} - -.deleteTooltip { - opacity: 1 !important; - padding: 0px 0px 0px 0px !important; - border-radius: 1rem !important; - background-color: #fff !important; - border-color: #321fdb !important; - font-size: 0.875rem !important; - font-weight: 400 !important; - box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2) !important; - width: 200px; -} - -.tooltipHeader { - padding-left: 5px; - padding-right: 10px; - border-top-left-radius: 1rem !important; - border-top-right-radius: 1rem !important; -} diff --git a/src/components/DeviceListTable/index.js b/src/components/DeviceListTable/index.js deleted file mode 100644 index c0e26d3..0000000 --- a/src/components/DeviceListTable/index.js +++ /dev/null @@ -1,446 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useHistory } from 'react-router-dom'; -import axiosInstance from 'utils/axiosInstance'; -import { getItem, setItem } from 'utils/localStorageHelper'; -import DeviceSearchBar from 'components/DeviceSearchBar'; -import DeviceFirmwareModal from 'components/DeviceFirmwareModal'; -import FirmwareHistoryModal from 'components/FirmwareHistoryModal'; -import { useGlobalWebSocket } from 'contexts/WebSocketProvider'; -import { useAuth, useToast } from 'ucentral-libs'; -import Table from './Table'; -import meshIcon from '../../assets/icons/Mesh.png'; -import apIcon from '../../assets/icons/AP.png'; -import internetSwitch from '../../assets/icons/Switch.png'; -import iotIcon from '../../assets/icons/IotIcon.png'; - -const DeviceList = () => { - const { t } = useTranslation(); - const { addToast } = useToast(); - const history = useHistory(); - const [overrides, setOverrides] = useState({}); - const [page, setPage] = useState(parseInt(sessionStorage.getItem('deviceTable') ?? 0, 10)); - const { currentToken, endpoints } = useAuth(); - const [deviceToRefresh, setDeviceToRefresh] = useState(undefined); - const [upgradeStatus, setUpgradeStatus] = useState({ - loading: false, - }); - const [deleteStatus, setDeleteStatus] = useState({ - loading: false, - }); - const [deviceCount, setDeviceCount] = useState(0); - const [pageCount, setPageCount] = useState(0); - const [devicesPerPage, setDevicesPerPage] = useState(getItem('devicesPerPage') || '10'); - const [devices, setDevices] = useState([]); - const [loading, setLoading] = useState(true); - const [showHistoryModal, setHistoryModal] = useState(false); - const [showFirmwareModal, setShowFirmwareModal] = useState(false); - const [firmwareDevice, setFirmwareDevice] = useState({ - deviceType: '', - serialNumber: '', - }); - const { lastMessage } = useGlobalWebSocket(); - - const deviceIcons = { - meshIcon, - apIcon, - internetSwitch, - iotIcon, - }; - - const toggleFirmwareModal = (device) => { - setShowFirmwareModal(!showFirmwareModal); - if (device !== undefined) setFirmwareDevice(device); - }; - - const toggleHistoryModal = (device) => { - setHistoryModal(!showHistoryModal); - if (device !== undefined) setFirmwareDevice(device); - }; - - const getDeviceInformation = (selectedPage = page, devicePerPage = devicesPerPage) => { - setLoading(true); - setOverrides({}); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - let fullDevices; - - axiosInstance - .get( - `${endpoints.owgw}/api/v1/devices?deviceWithStatus=true&limit=${devicePerPage}&offset=${ - devicePerPage * selectedPage - }`, - options, - ) - .then((response) => { - fullDevices = response.data.devicesWithStatus; - const serialsToGet = fullDevices.map((device) => device.serialNumber); - - if (serialsToGet.length === 0) { - return null; - } - return axiosInstance.get( - `${endpoints.owfms}/api/v1/firmwareAge?select=${serialsToGet}`, - options, - ); - }) - .then((response) => { - if (response !== null) { - fullDevices = fullDevices.map((device, index) => { - const foundAgeDate = response.data.ages[index].age !== undefined; - if (foundAgeDate) { - return { - ...device, - firmwareInfo: { - age: response.data.ages[index].age, - latest: response.data.ages[index].latest, - }, - }; - } - return device; - }); - } - setDevices(fullDevices); - setLoading(false); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('device.error_fetching_devices', { error: e.response?.data?.ErrorDescription }), - color: 'danger', - autohide: true, - }); - setLoading(false); - }); - }; - - const getCount = () => { - setLoading(true); - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - axiosInstance - .get(`${endpoints.owgw}/api/v1/devices?countOnly=true`, { - headers, - }) - .then((response) => { - const devicesCount = response.data.count; - const pagesCount = Math.ceil(devicesCount / devicesPerPage); - setPageCount(pagesCount); - setDeviceCount(devicesCount); - - let selectedPage = page; - - if (page >= pagesCount) { - history.push(`/devices?page=${pagesCount - 1}`); - selectedPage = pagesCount - 1; - } - getDeviceInformation(selectedPage); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('device.error_fetching_devices', { error: e.response?.data?.ErrorDescription }), - color: 'danger', - autohide: true, - }); - setLoading(false); - }); - }; - - const refreshDevice = (serialNumber) => { - setLoading(true); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - let newDevice; - - axiosInstance - .get( - `${endpoints.owgw}/api/v1/devices?deviceWithStatus=true&select=${encodeURIComponent( - serialNumber, - )}`, - options, - ) - .then( - ({ - data: { - devicesWithStatus: [device], - }, - }) => { - newDevice = device; - - return axiosInstance.get( - `${endpoints.owfms}/api/v1/firmwareAge?select=${serialNumber}`, - options, - ); - }, - ) - .then((response) => { - newDevice.firmwareInfo = { - age: response.data.ages[0].age, - latest: response.data.ages[0].latest, - }; - const foundIndex = devices.findIndex((obj) => obj.serialNumber === serialNumber); - const newList = devices; - newList[foundIndex] = newDevice; - setDevices(newList); - setLoading(false); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('device.error_fetching_devices', { error: e.response?.data?.ErrorDescription }), - color: 'danger', - autohide: true, - }); - setLoading(false); - }); - }; - - const updateDevicesPerPage = (value) => { - setItem('devicesPerPage', value); - setDevicesPerPage(value); - - const newPageCount = Math.ceil(deviceCount / value); - setPageCount(newPageCount); - - let selectedPage = page; - - if (page >= newPageCount) { - history.push(`/devices?page=${newPageCount - 1}`); - selectedPage = newPageCount - 1; - } - - getDeviceInformation(selectedPage, value); - }; - - const updatePageCount = ({ selected: selectedPage }) => { - sessionStorage.setItem('deviceTable', selectedPage); - setPage(selectedPage); - getDeviceInformation(selectedPage); - }; - - const upgradeToLatest = (device) => { - setUpgradeStatus({ - loading: true, - serialNumber: device.serialNumber, - }); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .get( - `${endpoints.owfms}/api/v1/firmwares?deviceType=${device.compatible}&latestOnly=true`, - options, - ) - .then((response) => { - if (response.data.uri) { - const parameters = { - serialNumber: device.serialNumber, - when: 0, - uri: response.data.uri, - }; - return axiosInstance.post( - `${endpoints.owgw}/api/v1/device/${device.serialNumber}/upgrade`, - parameters, - options, - ); - } - setUpgradeStatus({ - loading: false, - result: { - success: false, - error: t('firmware.error_fetching_latest'), - }, - }); - return null; - }) - .then((response) => { - if (response) { - setUpgradeStatus({ - loading: false, - result: { - success: response.data.errorCode === 0, - error: response.data.errorCode === 0 ? '' : t('firmware.error_fetching_latest'), - }, - }); - } - }) - .catch(() => { - setUpgradeStatus({ - loading: false, - result: { - success: false, - error: t('common.general_error'), - }, - }); - }); - }; - - const connectRtty = (serialNumber) => { - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .get(`${endpoints.owgw}/api/v1/device/${encodeURIComponent(serialNumber)}/rtty`, options) - .then((response) => { - const url = `https://${response.data.server}:${response.data.viewport}/connect/${response.data.connectionId}`; - const newWindow = window.open(url, '_blank', 'noopener,noreferrer'); - if (newWindow) newWindow.opener = null; - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('connect.error_trying_to_connect', { error: e.response?.data?.ErrorDescription }), - color: 'danger', - autohide: true, - }); - }); - }; - - const deleteDevice = (serialNumber) => { - setDeleteStatus({ - loading: true, - }); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .delete(`${endpoints.owgw}/api/v1/device/${encodeURIComponent(serialNumber)}`, options) - .then(() => { - addToast({ - title: t('common.success'), - body: t('common.device_deleted'), - color: 'success', - autohide: true, - }); - getCount(); - }) - .catch(() => { - addToast({ - title: t('common.error'), - body: t('common.unable_to_delete'), - color: 'danger', - autohide: true, - }); - }) - .finally(() => { - setDeleteStatus({ - loading: false, - }); - }); - }; - - const displayDevices = () => - devices.map((device) => ({ - ...device, - connected: - overrides[device.serialNumber] !== undefined - ? overrides[device.serialNumber] - : device.connected, - })); - - useEffect(() => { - getCount(); - }, []); - - useEffect(() => { - if (deviceToRefresh) refreshDevice(deviceToRefresh.serial); - }, [deviceToRefresh?.timestamp]); - - useEffect(() => { - if (lastMessage && lastMessage.type === 'DEVICE') { - const { serialNumber: msgSerial, timestamp } = lastMessage; - if (timestamp !== deviceToRefresh?.timestamp) - setDeviceToRefresh({ serial: msgSerial, timestamp }); - } - }, [lastMessage, deviceToRefresh]); - - useEffect(() => { - if (upgradeStatus.result !== undefined) { - addToast({ - title: upgradeStatus.result.success ? t('common.success') : t('common.error'), - body: upgradeStatus.result.success - ? t('firmware.upgrade_command_submitted') - : upgradeStatus.result.error, - color: upgradeStatus.result.success ? 'success' : 'danger', - autohide: true, - }); - setUpgradeStatus({ - loading: false, - }); - setShowFirmwareModal(false); - } - }, [upgradeStatus]); - - return ( -
-
{prettyDate(item.imageDate)}{cleanBytesString(item.size)} - upgradeToVersion(item.uri)} - block={false} - disabled={upgradeStatus.loading} - /> - {item.UUID} - - {`${item.sanity}%`} -
{JSON.stringify(item.values)}
-
- - - `/devices/${item.serialNumber}`} - > - {item.serialNumber} - - - -
- {getShortRevision(item.firmware)} -
-
-
- {item.firmwareInfo - ? getFirmwareButton(item.firmwareInfo.latest, item) - : getFirmwareButton(undefined, item)} - - -
- {item.compatible} -
-
-
{cleanBytesString(item.txBytes)}{cleanBytesString(item.rxBytes)} - -
- {item.locale !== '' && item.ipAddress !== '' && ( - - )} - {` ${item.ipAddress}`} -
-
-
{item.associations_2G ?? 0}{item.associations_5G ?? 0} -
- - connectRtty(item.serialNumber)} - style={{ width: '33px', height: '30px' }} - > - - - - {deleteButton(item.serialNumber)} - - `/devices/${item.serialNumber}`} - > - - - - - - - refreshDevice(item.serialNumber)} - color="primary" - variant="outline" - shape="square" - size="sm" - className="mx-1 d-inline" - style={{ width: '33px', height: '30px' }} - > - - - -
-
} - devices={displayDevices()} - loading={loading} - updateDevicesPerPage={updateDevicesPerPage} - devicesPerPage={devicesPerPage} - pageCount={pageCount} - updatePage={updatePageCount} - pageRangeDisplayed={5} - refreshDevice={refreshDevice} - toggleFirmwareModal={toggleFirmwareModal} - toggleHistoryModal={toggleHistoryModal} - upgradeToLatest={upgradeToLatest} - upgradeStatus={upgradeStatus} - deviceIcons={deviceIcons} - connectRtty={connectRtty} - deleteDevice={deleteDevice} - deleteStatus={deleteStatus} - /> - - - - ); -}; - -export default DeviceList; diff --git a/src/components/DeviceLogs/index.js b/src/components/DeviceLogs/index.js deleted file mode 100644 index 180b510..0000000 --- a/src/components/DeviceLogs/index.js +++ /dev/null @@ -1,294 +0,0 @@ -/* eslint-disable-rule prefer-destructuring */ -import React, { useState, useEffect } from 'react'; -import { - CCardHeader, - CCardBody, - CCollapse, - CButton, - CDataTable, - CCard, - CPopover, - CFormText, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilSync, cilTrash } from '@coreui/icons'; -import { useTranslation } from 'react-i18next'; -import DatePicker from 'react-widgets/DatePicker'; -import { dateToUnix } from 'utils/helper'; -import axiosInstance from 'utils/axiosInstance'; -import eventBus from 'utils/eventBus'; -import { LoadingButton, useAuth, useDevice, FormattedDate } from 'ucentral-libs'; -import DeleteLogModal from 'components/DeleteLogModal'; - -const DeviceLogs = () => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { deviceSerialNumber } = useDevice(); - const [details, setDetails] = useState([]); - const [loading, setLoading] = useState(false); - const [logs, setLogs] = useState([]); - const [start, setStart] = useState(''); - const [startError, setStartError] = useState(false); - const [end, setEnd] = useState(''); - const [endError, setEndError] = useState(false); - const [logLimit, setLogLimit] = useState(25); - const [loadingMore, setLoadingMore] = useState(false); - const [showLoadingMore, setShowLoadingMore] = useState(true); - const [showDeleteModal, setShowDeleteModal] = useState(false); - - const toggleDeleteModal = () => { - setShowDeleteModal(!showDeleteModal); - }; - - const modifyStart = (value) => { - try { - new Date(value).toISOString(); - setStartError(false); - setStart(value); - } catch (e) { - setStart(''); - setStartError(true); - } - }; - - const modifyEnd = (value) => { - try { - new Date(value).toISOString(); - setEndError(false); - setEnd(value); - } catch (e) { - setEnd(''); - setEndError(true); - } - }; - - const showMoreLogs = () => { - setLogLimit(logLimit + 50); - }; - - const getLogs = () => { - if (loading) return; - setLoadingMore(true); - setLoading(true); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - params: { - limit: logLimit, - }, - }; - - let extraParams = '?newest=true'; - if (start !== '' && end !== '') { - const utcStart = new Date(start).toISOString(); - const utcEnd = new Date(end).toISOString(); - options.params.startDate = dateToUnix(utcStart); - options.params.endDate = dateToUnix(utcEnd); - extraParams = ''; - } - - axiosInstance - .get( - `${endpoints.owgw}/api/v1/device/${encodeURIComponent( - deviceSerialNumber, - )}/logs${extraParams}`, - options, - ) - .then((response) => { - setLogs(response.data.values); - }) - .catch(() => {}) - .finally(() => { - setLoading(false); - setLoadingMore(false); - }); - }; - - const toggleDetails = (index) => { - const position = details.indexOf(index); - let newDetails = details.slice(); - - if (position !== -1) { - newDetails.splice(position, 1); - } else { - newDetails = [...details, index]; - } - setDetails(newDetails); - }; - - const getDetails = (index, logDetails) => { - if (details.includes(index)) - return
{JSON.stringify(logDetails, null, 2)}
; - return
;
-  };
-
-  const columns = [
-    { key: 'recorded', label: t('common.recorded'), _style: { width: '15%' } },
-    { key: 'UUID', label: t('common.config_id'), _style: { width: '10%' } },
-    { key: 'severity', label: t('device_logs.severity'), _style: { width: '5%' } },
-    { key: 'log', label: t('device_logs.log') },
-    {
-      key: 'show_details',
-      label: '',
-      _style: { width: '1%' },
-      sorter: false,
-      filter: false,
-    },
-  ];
-
-  useEffect(() => {
-    if (deviceSerialNumber) {
-      setLogLimit(25);
-      setLoadingMore(false);
-      setShowLoadingMore(true);
-      setStart('');
-      setEnd('');
-      getLogs();
-    }
-  }, [deviceSerialNumber]);
-
-  useEffect(() => {
-    if (logLimit !== 25) {
-      getLogs();
-    }
-  }, [logLimit]);
-
-  useEffect(() => {
-    if (logs.length === 0 || (logs.length > 0 && logs.length < logLimit)) {
-      setShowLoadingMore(false);
-    } else {
-      setShowLoadingMore(true);
-    }
-  }, [logs]);
-
-  useEffect(() => {
-    if (deviceSerialNumber && start !== '' && end !== '') {
-      getLogs();
-    } else if (deviceSerialNumber && start === '' && end === '') {
-      getLogs();
-    }
-  }, [start, end, deviceSerialNumber]);
-
-  useEffect(() => {
-    eventBus.on('deletedLogs', () => getLogs());
-
-    return () => {
-      eventBus.remove('deletedLogs');
-    };
-  }, []);
-
-  return (
-    
- - -
-
- - - - - -
-
- modifyEnd(date)} - value={end ? new Date(end) : undefined} - /> - -
- To: -
- modifyStart(date)} - value={start ? new Date(start) : undefined} - /> - -
- From: -
- - - - - -
-
-
- -
- ( -
- ), - UUID: (item) => , - severity: (item) => , - log: (item) => , - show_details: (item, index) => ( - - ), - details: (item, index) => ( - - -
{t('common.details')}
-
{getDetails(index, item)}
-
-
- ), - }} - /> - {showLoadingMore && ( -
- -
- )} - - - - - - ); -}; - -export default DeviceLogs; diff --git a/src/components/DeviceSearchBar/Input.js b/src/components/DeviceSearchBar/Input.js deleted file mode 100644 index 1f5652e..0000000 --- a/src/components/DeviceSearchBar/Input.js +++ /dev/null @@ -1,75 +0,0 @@ -import React, { useState } from 'react'; -import PropTypes from 'prop-types'; -import Select, { components } from 'react-select'; -import { useTranslation } from 'react-i18next'; - -const DeviceSearchBarInput = ({ search, results, history, action, isDisabled }) => { - const { t } = useTranslation(); - const [selected, setSelected] = useState(''); - const NoOptionsMessage = (props) => ( - - {t('common.no_devices_found')} - - ); - - const onInputChange = (value) => { - if (value === '' || value.match('^[a-fA-F0-9-*]+$')) { - setSelected(value); - search(value); - } - }; - - return ( - - - - -
- {t('configuration.title')} - -
- - - - - - - - ); -}; - -EditDefaultConfigurationForm.propTypes = { - t: PropTypes.func.isRequired, - disable: PropTypes.bool.isRequired, - fields: PropTypes.instanceOf(Object).isRequired, - updateField: PropTypes.func.isRequired, - updateFieldWithKey: PropTypes.func.isRequired, - deviceTypes: PropTypes.instanceOf(Array).isRequired, - editing: PropTypes.bool.isRequired, -}; - -export default EditDefaultConfigurationForm; diff --git a/src/components/EditConfigurationModal/index.js b/src/components/EditConfigurationModal/index.js deleted file mode 100644 index d1fa243..0000000 --- a/src/components/EditConfigurationModal/index.js +++ /dev/null @@ -1,243 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import PropTypes from 'prop-types'; -import { CModal, CModalHeader, CModalTitle, CModalBody, CButton, CPopover } from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilX, cilSave, cilPencil } from '@coreui/icons'; -import { useToast, useFormFields, useAuth } from 'ucentral-libs'; -import axiosInstance from 'utils/axiosInstance'; -import { useTranslation } from 'react-i18next'; -import { checkIfJson } from 'utils/helper'; -import Form from './Form'; - -const initialForm = { - name: { - value: '', - error: false, - required: true, - }, - description: { - value: '', - error: false, - }, - modelIds: { - value: [], - error: false, - notEmpty: true, - }, - configuration: { - value: '', - error: false, - required: true, - }, -}; - -const EditConfigurationModal = ({ show, toggle, refresh, configId }) => { - const { t } = useTranslation(); - const { addToast } = useToast(); - const { currentToken, endpoints } = useAuth(); - const [fields, updateFieldWithId, updateField, setFormFields] = useFormFields(initialForm); - const [loading, setLoading] = useState(false); - const [deviceTypes, setDeviceTypes] = useState([]); - const [editing, setEditing] = useState(false); - - const getConfig = () => { - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .get(`${endpoints.owgw}/api/v1/default_configuration/${configId}`, options) - .then((response) => { - const newConfig = {}; - - for (const key of Object.keys(response.data)) { - if (key in initialForm) { - newConfig[key] = { - ...initialForm[key], - value: response.data[key], - }; - } - } - newConfig.configuration.value = JSON.stringify(response.data.configuration, null, 2); - setFormFields(newConfig); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('configuration.error_fetching_config', { - error: e.response?.data?.ErrorDescription, - }), - color: 'danger', - autohide: true, - }); - toggle(); - }); - }; - - const getDeviceTypes = () => { - setLoading(true); - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - axiosInstance - .get(`${endpoints.owfms}/api/v1/firmwares?deviceSet=true`, { - headers, - }) - .then((response) => { - setDeviceTypes([...response.data.deviceTypes]); - }) - .catch(() => {}) - .finally(() => { - setLoading(false); - }); - }; - - const validation = () => { - let success = true; - - for (const [key, field] of Object.entries(fields)) { - if (field.required && field.value === '') { - updateField(key, { error: true }); - success = false; - break; - } - if (field.notEmpty && field.value.length === 0) { - updateField(key, { error: true, notEmpty: true }); - success = false; - break; - } - } - - if (!checkIfJson(fields.configuration.value)) { - updateField('configuration', { error: true }); - success = false; - } - - return success; - }; - - const save = () => { - if (validation()) { - setLoading(true); - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - const parameters = { - name: fields.name.value, - description: fields.description.value, - modelIds: fields.modelIds.value, - configuration: fields.configuration.value, - }; - - axiosInstance - .put(`${endpoints.owgw}/api/v1/default_configuration/${configId}`, parameters, options) - .then(() => { - if (refresh !== null) refresh(); - toggle(); - addToast({ - title: t('common.success'), - body: t('configuration.success_update'), - color: 'success', - autohide: true, - }); - }) - .catch((e) => { - addToast({ - title: t('common.error'), - body: t('configuration.error_update', { error: e.response?.data?.ErrorDescription }), - color: 'danger', - autohide: true, - }); - }) - .finally(() => { - setLoading(false); - }); - } - }; - - const toggleEditing = () => { - if (editing) getConfig(); - setEditing(!editing); - }; - - useEffect(() => { - if (show) { - setEditing(false); - getConfig(); - getDeviceTypes(); - } - }, [show]); - - return ( - - - {t('configuration.edit_configuration')} -
- - - - - - - - - - - - - - - -
-
- -
-
-
- ); -}; - -EditConfigurationModal.propTypes = { - show: PropTypes.bool.isRequired, - toggle: PropTypes.func.isRequired, - refresh: PropTypes.func, - configId: PropTypes.string, -}; - -EditConfigurationModal.defaultProps = { - refresh: null, - configId: '', -}; - -export default EditConfigurationModal; diff --git a/src/components/EditFirmwareModal/Form.js b/src/components/EditFirmwareModal/Form.js deleted file mode 100644 index a863307..0000000 --- a/src/components/EditFirmwareModal/Form.js +++ /dev/null @@ -1,54 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { CCardBody, CCol, CInput, CRow } from '@coreui/react'; -import { prettyDate, cleanBytesString } from 'utils/helper'; - -const FirmwareDetailsForm = ({ t, fields, updateFieldsWithId, editing }) => ( - - - {t('firmware.release')} - {fields.release.value} - {t('common.created')} - {prettyDate(fields.created.value)} - - - {t('firmware.image_date')} - {prettyDate(fields.imageDate.value)} - {t('firmware.size')} - {cleanBytesString(fields.size.value)} - - - {t('firmware.image')} - {fields.image.value} - {t('firmware.revision')} - {fields.revision.value} - - - URI - {fields.uri.value} - - {t('user.description')} - - - {editing ? ( - - ) : ( -

{fields.description.value}

- )} -
-
-
-); - -FirmwareDetailsForm.propTypes = { - t: PropTypes.func.isRequired, - fields: PropTypes.instanceOf(Object).isRequired, - updateFieldsWithId: PropTypes.func.isRequired, - editing: PropTypes.bool.isRequired, -}; -export default FirmwareDetailsForm; diff --git a/src/components/EditFirmwareModal/index.js b/src/components/EditFirmwareModal/index.js deleted file mode 100644 index 27fc8ff..0000000 --- a/src/components/EditFirmwareModal/index.js +++ /dev/null @@ -1,262 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import PropTypes from 'prop-types'; -import { useTranslation } from 'react-i18next'; -import { - CButton, - CModal, - CModalBody, - CModalHeader, - CModalTitle, - CPopover, - CNav, - CNavLink, - CTabPane, - CTabContent, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilPencil, cilSave, cilX } from '@coreui/icons'; -import axiosInstance from 'utils/axiosInstance'; -import { useFormFields, useAuth, useToast, DetailedNotesTable } from 'ucentral-libs'; -import Form from './Form'; - -const initialState = { - created: { - value: '', - error: false, - editable: false, - }, - release: { - value: false, - error: false, - editable: false, - }, - image: { - value: '', - error: false, - editable: true, - }, - imageDate: { - value: '', - error: false, - editable: true, - }, - size: { - value: '', - error: false, - editable: true, - }, - revision: { - value: '', - error: false, - editable: false, - }, - uri: { - value: '', - error: false, - editable: true, - }, - description: { - value: '', - error: false, - editable: true, - }, - notes: { - value: [], - editable: false, - }, -}; - -const EditFirmwareModal = ({ show, toggle, firmwareId, refreshTable }) => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { addToast } = useToast(); - const [loading, setLoading] = useState(false); - const [editing, setEditing] = useState(false); - const [index, setIndex] = useState(0); - const [firmware, updateWithId, updateWithKey, setFirmware] = useFormFields(initialState); - - const getFirmware = () => { - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .get(`${endpoints.owfms}/api/v1/firmware/${firmwareId}`, options) - .then((response) => { - const newFirmware = {}; - - for (const key of Object.keys(response.data)) { - if (key in initialState && key !== 'currentPassword') { - newFirmware[key] = { - ...initialState[key], - value: response.data[key], - }; - } - } - setFirmware({ ...initialState, ...newFirmware }); - }) - .catch(() => {}); - }; - - const toggleEditing = () => { - if (editing) { - getFirmware(); - } - setEditing(!editing); - }; - - const toggleModal = () => { - toggleEditing(); - toggle(); - }; - - const updateFirmware = () => { - setLoading(true); - - const parameters = { - id: firmwareId, - description: firmware.description.value, - }; - - const newNotes = []; - for (let i = 0; i < firmware.notes.value.length; i += 1) { - if (firmware.notes.value[i].new) newNotes.push({ note: firmware.notes.value[i].note }); - } - - parameters.notes = newNotes; - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .put(`${endpoints.owfms}/api/v1/firmware/${firmwareId}`, parameters, options) - .then(() => { - addToast({ - title: t('firmware.update_success_title'), - body: t('firmware.update_success'), - color: 'success', - autohide: true, - }); - refreshTable(); - toggle(); - }) - .catch((e) => { - addToast({ - title: t('firmware.update_failure_title'), - body: t('firmware.update_failure', { error: e.response?.data?.ErrorDescription }), - color: 'danger', - autohide: true, - }); - getFirmware(); - }) - .finally(() => { - setLoading(false); - }); - }; - - const addNote = (currentNote) => { - const newNotes = [...firmware.notes.value]; - newNotes.unshift({ - note: currentNote, - new: true, - created: new Date().getTime() / 1000, - createdBy: '', - }); - updateWithKey('notes', { value: newNotes }); - }; - - useEffect(() => { - if (show) { - getFirmware(); - setEditing(false); - setIndex(0); - } - }, [show]); - - return ( - - - - {t('firmware.details_title', { image: firmware.image.value })} - -
- - - - - - - - - - - - - - - -
-
- - - setIndex(0)} - > - {t('common.main')} - - setIndex(1)} - > - {t('configuration.notes')} - - - - - {index === 0 ? ( - - ) : null} - - - {index === 1 ? ( - - ) : null} - - - -
- ); -}; - -EditFirmwareModal.propTypes = { - firmwareId: PropTypes.string.isRequired, - show: PropTypes.bool.isRequired, - toggle: PropTypes.func.isRequired, - refreshTable: PropTypes.func.isRequired, -}; - -export default React.memo(EditFirmwareModal); diff --git a/src/components/EventQueueModal/Modal.js b/src/components/EventQueueModal/Modal.js deleted file mode 100644 index f2773e2..0000000 --- a/src/components/EventQueueModal/Modal.js +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { - CModal, - CModalBody, - CModalHeader, - CModalTitle, - CSpinner, - CPopover, - CButton, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilX } from '@coreui/icons'; - -const EventQueueModal = ({ t, show, toggle, loading, result }) => ( - - - {t('commands.event_queue')} -
- - - - - -
-
- - {loading ? ( - - ) : ( -
{JSON.stringify(result, null, 4)}
- )} -
-
-); - -EventQueueModal.propTypes = { - t: PropTypes.func.isRequired, - show: PropTypes.bool.isRequired, - toggle: PropTypes.func.isRequired, - loading: PropTypes.bool.isRequired, - result: PropTypes.instanceOf(Object).isRequired, -}; - -export default EventQueueModal; diff --git a/src/components/EventQueueModal/index.js b/src/components/EventQueueModal/index.js deleted file mode 100644 index a8fe4a8..0000000 --- a/src/components/EventQueueModal/index.js +++ /dev/null @@ -1,66 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import PropTypes from 'prop-types'; -import { useAuth, useDevice, useToast } from 'ucentral-libs'; -import { useTranslation } from 'react-i18next'; -import axiosInstance from 'utils/axiosInstance'; -import Modal from './Modal'; - -const EventQueueModal = ({ show, toggle }) => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { deviceSerialNumber } = useDevice(); - const { addToast } = useToast(); - const [loading, setLoading] = useState(false); - const [result, setResult] = useState({}); - - const getQueue = () => { - setLoading(true); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - const parameters = { - serialNumber: deviceSerialNumber, - types: ['dhcp', 'wifi'], - }; - - axiosInstance - .post(`${endpoints.owgw}/api/v1/device/${deviceSerialNumber}/eventqueue`, parameters, options) - .then((response) => { - setResult(response.data); - }) - .catch((e) => { - if (e.response?.data?.ErrorDescription !== undefined) { - const split = e.response?.data?.ErrorDescription.split(':'); - if (split !== undefined && split.length >= 2) { - addToast({ - title: t('common.error'), - body: split[1], - color: 'danger', - autohide: true, - }); - } - } - }) - .finally(() => { - setLoading(false); - }); - }; - - useEffect(() => { - if (show) getQueue(); - }, [show]); - - return ; -}; - -EventQueueModal.propTypes = { - show: PropTypes.bool.isRequired, - toggle: PropTypes.func.isRequired, -}; - -export default EventQueueModal; diff --git a/src/components/FactoryResetModal/index.js b/src/components/FactoryResetModal/index.js deleted file mode 100644 index 25eb498..0000000 --- a/src/components/FactoryResetModal/index.js +++ /dev/null @@ -1,170 +0,0 @@ -import { - CButton, - CModal, - CModalHeader, - CModalTitle, - CModalBody, - CModalFooter, - CSpinner, - CRow, - CForm, - CSwitch, - CAlert, - CPopover, -} from '@coreui/react'; -import CIcon from '@coreui/icons-react'; -import { cilX } from '@coreui/icons'; -import React, { useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import PropTypes from 'prop-types'; -import 'react-widgets/styles.css'; -import { useAuth, useDevice, useToast } from 'ucentral-libs'; -import axiosInstance from 'utils/axiosInstance'; -import SuccessfulActionModalBody from 'components/SuccessfulActionModalBody'; - -const ConfigureModal = ({ show, toggleModal }) => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const { deviceSerialNumber } = useDevice(); - const { addToast } = useToast(); - const [hadSuccess, setHadSuccess] = useState(false); - const [hadFailure, setHadFailure] = useState(false); - const [doingNow, setDoingNow] = useState(false); - const [waiting, setWaiting] = useState(false); - const [keepRedirector, setKeepRedirector] = useState(true); - const [responseBody, setResponseBody] = useState(''); - const [checkingIfSure, setCheckingIfSure] = useState(false); - - const toggleRedirector = () => { - setKeepRedirector(!keepRedirector); - }; - - const confirmingIfSure = () => { - setCheckingIfSure(true); - }; - - useEffect(() => { - setHadSuccess(false); - setHadFailure(false); - setWaiting(false); - setResponseBody(''); - setCheckingIfSure(false); - }, [show]); - - const doAction = () => { - setHadFailure(false); - setHadSuccess(false); - setWaiting(true); - - const parameters = { - serialNumber: deviceSerialNumber, - keepRedirector, - }; - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - axiosInstance - .post( - `${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/factory`, - parameters, - { headers }, - ) - .then(() => { - setHadSuccess(true); - }) - .catch((e) => { - if (e.response?.data?.ErrorDescription !== undefined) { - const split = e.response?.data?.ErrorDescription.split(':'); - if (split !== undefined && split.length >= 2) { - addToast({ - title: t('common.error'), - body: split[1], - color: 'danger', - autohide: true, - }); - } - } - setResponseBody(t('commands.error')); - setHadFailure(true); - }) - .finally(() => { - setDoingNow(false); - setCheckingIfSure(false); - setWaiting(false); - }); - }; - - return ( - - - {t('factory_reset.title')} -
- - - - - -
-
- {hadSuccess ? ( - - ) : ( -
- - {t('factory_reset.warning')} - -

{t('factory_reset.redirector')}

- - - -
- -
- - - - - - {t('common.cancel')} - - -
- )} -
- ); -}; - -ConfigureModal.propTypes = { - show: PropTypes.bool.isRequired, - toggleModal: PropTypes.func.isRequired, -}; - -export default ConfigureModal; diff --git a/src/components/FirmwareDashboard/Dashboard/index.js b/src/components/FirmwareDashboard/Dashboard/index.js deleted file mode 100644 index 45359fd..0000000 --- a/src/components/FirmwareDashboard/Dashboard/index.js +++ /dev/null @@ -1,338 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { - CCard, - CCardBody, - CCardHeader, - CCol, - CDataTable, - CPopover, - CRow, - CSpinner, - CWidgetIcon, -} from '@coreui/react'; -import { CChartBar, CChartHorizontalBar, CChartPie } from '@coreui/react-chartjs'; -import { cilClock, cilHappy, cilMeh, cilFrown, cilBirthdayCake, cilInfo } from '@coreui/icons'; -import CIcon from '@coreui/icons-react'; -import { FormattedDate } from 'ucentral-libs'; - -import styles from './index.module.scss'; - -const getLatestColor = (percent = 0) => { - const numberPercent = percent ? Number(percent.replace('%', '')) : 0; - if (numberPercent >= 90) return 'success'; - if (numberPercent > 60) return 'warning'; - return 'danger'; -}; - -const getLatestIcon = (percent = 0) => { - const numberPercent = percent ? Number(percent.replace('%', '')) : 0; - if (numberPercent >= 90) return ; - if (numberPercent > 60) return ; - return ; -}; - -const FirmwareDashboard = ({ t, data, loading }) => { - const columns = [ - { key: 'endpoint', label: t('common.endpoint'), filter: false, sorter: false }, - { key: 'devices', label: t('common.devices') }, - { key: 'percent', label: '' }, - ]; - - return ( -
-
- - - :

-

} - color="info" - iconPadding={false} - > - -
-
- - {data.latestSoftwareRate}} - color={getLatestColor(data.latestSoftwareRate)} - iconPadding={false} - > - {getLatestIcon(data.latestSoftwareRate)} - - - - -
{t('common.devices')}
-
- - - -
-
- } - header={

{data.numberOfDevices}

} - color="primary" - iconPadding={false} - > - - - - - -
{t('firmware.average_age')}
-
- - - -
-
- } - header={

{data.averageFirmwareAge}

} - color="dark" - iconPadding={false} - > - - - - - - - - {t('common.firmware_installed')} - - - - - - - - -
-
{t('common.devices_using_latest')}
-
- - - -
-
-
- - - -
-
- - - Unknown Firmware - - value.split(' ')[0], - }, - }, - ], - }, - }} - /> - - - -
- - - - {t('common.device_status')} - - ds.labels[item[0].index], - label: (item, ds) => `${ds.datasets[0].data[item.index]} devices`, - }, - }, - legend: { - display: true, - position: 'right', - }, - }} - /> - - - - - - {t('firmware.device_types')} - - ds.labels[item[0].index], - label: (item, ds) => - `${ds.datasets[0].data[item.index]} ${t('common.devices')}`, - }, - }, - legend: { - display: true, - position: 'right', - }, - }} - /> - - - - - - OUIs - - value.split(' ')[0], - }, - }, - ], - }, - }} - /> - - - - - - - - {t('common.endpoints')} - - - - - - - - - - {loading ? ( -
- -
- ) : null} - - ); -}; - -FirmwareDashboard.propTypes = { - t: PropTypes.func.isRequired, - data: PropTypes.instanceOf(Object).isRequired, - loading: PropTypes.bool.isRequired, -}; - -export default React.memo(FirmwareDashboard); diff --git a/src/components/FirmwareDashboard/Dashboard/index.module.scss b/src/components/FirmwareDashboard/Dashboard/index.module.scss deleted file mode 100644 index dfb60eb..0000000 --- a/src/components/FirmwareDashboard/Dashboard/index.module.scss +++ /dev/null @@ -1,10 +0,0 @@ -.centerContainer { - position: absolute; - top: 5%; - right: 50%; -} - -.spinner { - height: 50px; - width: 50px; -} diff --git a/src/components/FirmwareDashboard/index.js b/src/components/FirmwareDashboard/index.js deleted file mode 100644 index 8382702..0000000 --- a/src/components/FirmwareDashboard/index.js +++ /dev/null @@ -1,333 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useAuth, COLOR_LIST } from 'ucentral-libs'; -import axiosInstance from 'utils/axiosInstance'; -import Dashboard from './Dashboard'; - -const FirmwareDashboard = () => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const [loading, setLoading] = useState(false); - const [data, setData] = useState({ - status: { - datasets: [], - labels: [], - }, - deviceType: { - datasets: [], - labels: [], - }, - firmwareDistribution: { - datasets: [], - labels: [], - }, - latest: { - datasets: [], - labels: [], - }, - unknownFirmwares: { - datasets: [], - labels: [], - }, - ouis: { - datasets: [], - labels: [], - }, - endpoints: [], - latestSoftwareRate: '-', - }); - - const getOuiInfo = async (oui) => { - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - - return axiosInstance - .get(`${endpoints.owgw}/api/v1/ouis?macList=${oui.join(',')}`, { - headers, - }) - .then((response) => { - const matchedObject = {}; - for (let i = 0; i < response.data.tagList.length; i += 1) { - matchedObject[oui[i]] = response.data.tagList[i]; - } - return matchedObject; - }) - .catch(() => {}); - }; - - const parseData = async (newData) => { - const parsedData = newData; - - // Status pie chart - const statusDs = []; - const statusColors = []; - const statusLabels = []; - const totalDevices = parsedData.status.reduce((acc, point) => acc + point.value, 0); - parsedData.statusDevices = {}; - parsedData.numberOfDevices = totalDevices; - for (const point of parsedData.status) { - statusDs.push(point.value); - statusLabels.push(point.tag); - parsedData[point.value] = point.value; - let color = ''; - switch (point.tag) { - case 'connected': - color = '#41B883'; - break; - case 'not connected': - color = '#e55353'; - break; - default: - break; - } - statusColors.push(color); - } - parsedData.status = { - datasets: [ - { - data: statusDs, - backgroundColor: statusColors, - }, - ], - labels: statusLabels, - }; - - // Device Type pie chart - const deviceTypeDs = []; - const deviceTypeColors = []; - const deviceTypeLabels = []; - const sortedTypes = parsedData.deviceTypes.sort((a, b) => (a.value < b.value ? 1 : -1)); - for (let i = 0; i < sortedTypes.length; i += 1) { - const point = sortedTypes[i]; - - deviceTypeDs.push(point.value); - deviceTypeLabels.push(point.tag); - deviceTypeColors.push(COLOR_LIST[i]); - } - const otherTypes = deviceTypeDs.slice(5).reduce((acc, type) => acc + type, 0); - parsedData.deviceType = { - datasets: [ - { - data: deviceTypeDs.slice(0, 5).concat([otherTypes]), - backgroundColor: deviceTypeColors, - }, - ], - labels: deviceTypeLabels.slice(0, 5).concat(['Others']), - }; - - // Latest/unknown distribution - const usingLatestFirmware = - parsedData.usingLatest.length > 0 - ? parsedData.usingLatest.reduce((acc, firmware) => acc + firmware.value, 0) - : 0; - const unknownFirmware = parsedData.numberOfDevices - usingLatestFirmware; - parsedData.usingLatestFirmware = usingLatestFirmware; - parsedData.firmwareDistribution = { - datasets: [ - { - label: t('common.devices'), - data: [unknownFirmware, usingLatestFirmware], - backgroundColor: ['#e55353', '#41B883'], - }, - ], - labels: [t('common.unknown'), t('common.latest')], - }; - - if ( - parsedData.numberOfDevices === undefined || - Number.isNaN(parsedData.numberOfDevices) || - parsedData.numberOfDevices === 0 - ) { - parsedData.latestSoftwareRate = '-'; - } else { - parsedData.latestSoftwareRate = `${( - (parsedData.usingLatestFirmware / parsedData.numberOfDevices) * - 100 - ).toFixed(1)}%`; - } - - // Average firmware age calculation - const usingUnknownFirmwareFromArray = - parsedData.unknownFirmwares.length > 0 - ? parsedData.unknownFirmwares.reduce((acc, firmware) => acc + firmware.value, 0) - : 0; - const devicesForAverage = parsedData.numberOfDevices - usingUnknownFirmwareFromArray; - - if (devicesForAverage !== 0 && parsedData.totalSecondsOld.length > 0) { - parsedData.averageFirmwareAge = Math.round( - parsedData.totalSecondsOld[0].value / - (devicesForAverage > 0 ? devicesForAverage : 1) / - (24 * 60 * 60), - ); - parsedData.averageFirmwareAge = `${parsedData.averageFirmwareAge} ${ - Math.round(parsedData.averageFirmwareAge) > 0 ? t('common.days') : t('common.day') - }`; - } else { - parsedData.averageFirmwareAge = '-'; - } - - // Latest firmware distribution - const latestDs = []; - const latestColors = []; - const latestLabels = []; - const usingLatest = parsedData.usingLatest.sort((a, b) => (a.value < b.value ? 1 : -1)); - for (const point of usingLatest) { - latestDs.push(point.value); - if (point.tag === '') { - latestLabels.push('Unknown'); - } else if (point.tag.split(' / ').length > 1) { - latestLabels.push(point.tag.split(' / ')[1]); - } else { - latestLabels.push(point.tag); - } - latestColors.push('#39f'); - } - parsedData.latest = { - datasets: [ - { - label: t('common.firmware'), - data: latestDs.slice(0, 5), - backgroundColor: latestColors, - }, - ], - labels: latestLabels.slice(0, 5), - }; - - // Unknown firmware distribution - const unknownDs = []; - const unknownColors = []; - const unknownLabels = []; - const unknownFirmwares = parsedData.unknownFirmwares.sort((a, b) => - a.value < b.value ? 1 : -1, - ); - for (const point of unknownFirmwares) { - unknownDs.push(point.value); - if (point.tag === '') { - unknownLabels.push('Unknown'); - } else if (point.tag.split(' / ').length > 1) { - unknownLabels.push(point.tag.split(' / ')[1]); - } else { - unknownLabels.push(point.tag); - } - - unknownColors.push('#39f'); - } - parsedData.unknownFirmwares = { - datasets: [ - { - label: t('common.firmware'), - data: unknownDs.slice(0, 5), - backgroundColor: unknownColors, - }, - ], - labels: unknownLabels.slice(0, 5), - }; - - // OUIs bar graph - const ouiCompleteInfo = []; - const ouisLabels = []; - const sortedOuis = parsedData.ouis.sort((a, b) => (a.value < b.value ? 1 : -1)); - for (const point of sortedOuis) { - ouiCompleteInfo.push({ - value: point.value, - tag: point.tag, - }); - ouisLabels.push(point.tag === '' ? 'Unknown' : point.tag); - } - const ouiDetails = await getOuiInfo(ouisLabels); - - // Merging 'Good' labels with ouiCompleteInfo - if (ouiDetails !== null) { - for (let i = 0; i < ouiCompleteInfo.length; i += 1) { - ouiCompleteInfo[i].label = - ouiDetails[ouiCompleteInfo[i].tag].value !== undefined && - ouiDetails[ouiCompleteInfo[i].tag].value !== '' - ? ouiDetails[ouiCompleteInfo[i].tag].value - : 'Unknown'; - } - } - - // Merging OUIs that have the same label that we got from getOuiInfo - const finalOuis = {}; - for (const oui of ouiCompleteInfo) { - if (finalOuis[oui.label] === undefined) { - finalOuis[oui.label] = { - label: oui.label, - value: oui.value, - }; - } else { - finalOuis[oui.label] = { - label: oui.label, - value: finalOuis[oui.label].value + oui.value, - }; - } - } - - // Flattening finalOuis into an array so we can create the arrays necessary for the chart - const finalOuisArr = Object.entries(finalOuis); - const finalOuiDs = []; - const finalOuiLabels = []; - const finalOuiColors = []; - for (const oui of finalOuisArr) { - finalOuiDs.push(oui[1].value); - finalOuiLabels.push(oui[1].label); - finalOuiColors.push('#39f'); - } - const totalOthers = finalOuiDs.slice(5).reduce((acc, oui) => acc + oui, 0); - - parsedData.ouis = { - datasets: [ - { - label: 'OUIs', - data: finalOuiDs.slice(0, 5).concat(totalOthers), - backgroundColor: finalOuiColors.concat('#39f'), - }, - ], - labels: finalOuiLabels.slice(0, 5).concat('Others'), - }; - - // Endpoints table - const endpointsDs = []; - const endpointsTotal = parsedData.endPoints.reduce((acc, point) => acc + point.value, 0); - for (const point of parsedData.endPoints) { - endpointsDs.push({ - endpoint: point.tag, - devices: point.value, - percent: `${Math.round((point.value / endpointsTotal) * 100)}%`, - }); - } - parsedData.endpoints = endpointsDs; - - setData(parsedData); - }; - - const getDashboard = () => { - setLoading(true); - - const headers = { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }; - axiosInstance - .get(`${endpoints.owfms}/api/v1/deviceReport`, { - headers, - }) - .then((response) => { - parseData(response.data); - setLoading(false); - }) - .catch(() => { - setLoading(false); - }); - }; - - useEffect(() => { - getDashboard(); - }, []); - - return ; -}; - -export default FirmwareDashboard; diff --git a/src/components/FirmwareHistoryModal/Modal.js b/src/components/FirmwareHistoryModal/Modal.js deleted file mode 100644 index 69786c8..0000000 --- a/src/components/FirmwareHistoryModal/Modal.js +++ /dev/null @@ -1,36 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { CDataTable } from '@coreui/react'; -import { prettyDate } from 'utils/helper'; - -const FirmwareHistoryModal = ({ t, loading, data }) => { - const columns = [ - { key: 'date', label: '#', _style: { width: '20%' } }, - { key: 'fromRelease', label: t('firmware.from_release'), sorter: false }, - { key: 'toRelease', label: t('firmware.to_release'), sorter: false }, - ]; - - return ( -
, - }} - /> - ); -}; - -FirmwareHistoryModal.propTypes = { - t: PropTypes.func.isRequired, - loading: PropTypes.bool.isRequired, - data: PropTypes.instanceOf(Array).isRequired, -}; - -export default React.memo(FirmwareHistoryModal); diff --git a/src/components/FirmwareHistoryModal/index.js b/src/components/FirmwareHistoryModal/index.js deleted file mode 100644 index 92c20ac..0000000 --- a/src/components/FirmwareHistoryModal/index.js +++ /dev/null @@ -1,72 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import PropTypes from 'prop-types'; -import { useTranslation } from 'react-i18next'; -import axiosInstance from 'utils/axiosInstance'; -import { - CButton, - CModal, - CModalBody, - CModalHeader, - CModalFooter, - CModalTitle, -} from '@coreui/react'; -import { useAuth } from 'ucentral-libs'; -import Modal from './Modal'; - -const FirmwareHistoryModal = ({ serialNumber, show, toggle }) => { - const { t } = useTranslation(); - const { currentToken, endpoints } = useAuth(); - const [loading, setLoading] = useState(false); - const [data, setData] = useState([]); - - const getHistory = () => { - setLoading(true); - - const options = { - headers: { - Accept: 'application/json', - Authorization: `Bearer ${currentToken}`, - }, - }; - - axiosInstance - .get(`${endpoints.owfms}/api/v1/revisionHistory/${serialNumber}`, options) - .then((response) => setData(response.data.history ?? [])) - .catch(() => {}) - .finally(() => setLoading(false)); - }; - - useEffect(() => { - if (show) { - getHistory(); - } else { - setData([]); - } - }, [show]); - - return ( - - - - #{serialNumber} {t('firmware.history_title')} - - - - - - - - {t('common.close')} - - - - ); -}; - -FirmwareHistoryModal.propTypes = { - serialNumber: PropTypes.string.isRequired, - show: PropTypes.bool.isRequired, - toggle: PropTypes.func.isRequired, -}; - -export default FirmwareHistoryModal; diff --git a/src/components/Form/ConfigurationFieldExplanation/index.tsx b/src/components/Form/ConfigurationFieldExplanation/index.tsx new file mode 100644 index 0000000..a9d7187 --- /dev/null +++ b/src/components/Form/ConfigurationFieldExplanation/index.tsx @@ -0,0 +1,45 @@ +import React, { useMemo } from 'react'; +import { InfoIcon } from '@chakra-ui/icons'; +import { Tooltip } from '@chakra-ui/react'; +import { useAuth } from 'contexts/AuthProvider'; + +const findDefinition = ( + definitionKey?: string, + CONFIGURATION_DESCRIPTIONS?: { + [key: string]: { properties: { [key: string]: { description: string } } }; + }, +) => { + if (!definitionKey || !CONFIGURATION_DESCRIPTIONS) return null; + const split = definitionKey.split('.'); + const { length } = split; + if (length < 2) return null; + const start = split.slice(0, length - 1); + const end = split[length - 1]; + return CONFIGURATION_DESCRIPTIONS[start.slice(0, length - 1).join('.')]?.properties[end ?? '']?.description ?? null; +}; + +export interface ConfigurationFieldExplanationProps { + definitionKey?: string; +} +const _ConfigurationFieldExplanation: React.FC = ({ definitionKey }) => { + const { configurationDescriptions } = useAuth(); + const definition = useMemo( + () => + findDefinition( + definitionKey, + configurationDescriptions as { + [key: string]: { properties: { [key: string]: { description: string } } }; + }, + ), + [configurationDescriptions], + ); + if (!definition) return null; + + return ( + + + + ); +}; + +export const ConfigurationFieldExplanation = React.memo(_ConfigurationFieldExplanation); diff --git a/src/components/Form/Fields/CreatableSelectField/Input.tsx b/src/components/Form/Fields/CreatableSelectField/Input.tsx new file mode 100644 index 0000000..bbfdc44 --- /dev/null +++ b/src/components/Form/Fields/CreatableSelectField/Input.tsx @@ -0,0 +1,80 @@ +import React, { useCallback } from 'react'; +import { FormControl, FormErrorMessage, FormLabel } from '@chakra-ui/react'; +import { CreatableSelect, MultiValue } from 'chakra-react-select'; +import { useTranslation } from 'react-i18next'; +import { ConfigurationFieldExplanation } from '../../ConfigurationFieldExplanation'; + +export interface CreatableSelectInputProps { + value?: string[]; + placeholder: string; + onChange: ( + newValue: MultiValue<{ + value: string; + label: string; + }>, + ) => void; + onBlur: () => void; + label: string; + error: string | undefined; + touched: boolean; + isRequired?: boolean; + isDisabled?: boolean; + isHidden?: boolean; + definitionKey?: string; +} + +const _CreatableSelectInput = ({ + label, + value = [], + onChange, + onBlur, + error, + touched, + isRequired, + isDisabled, + isHidden, + definitionKey, + placeholder, +}: CreatableSelectInputProps) => { + const { t } = useTranslation(); + const NoOptionsMessage = useCallback(() =>
{t('common.type_for_options')}
, []); + + return ( + + ); +}; + +export const CreatableSelectInput = React.memo(_CreatableSelectInput); diff --git a/src/components/Form/Fields/CreatableSelectField/index.tsx b/src/components/Form/Fields/CreatableSelectField/index.tsx new file mode 100644 index 0000000..924a586 --- /dev/null +++ b/src/components/Form/Fields/CreatableSelectField/index.tsx @@ -0,0 +1,50 @@ +import React, { useCallback } from 'react'; +import { MultiValue } from 'chakra-react-select'; +import { useField } from 'formik'; +import { CreatableSelectInput } from './Input'; +import { FormFieldProps } from 'models/FormField'; + +export interface CreatableSelectFieldProps extends FormFieldProps { + placeholder: string; +} + +const _CreatableSelectField = ({ + name, + isDisabled, + label, + isRequired, + isHidden, + emptyIsUndefined, + placeholder, + definitionKey, +}: CreatableSelectFieldProps) => { + const [{ value }, { touched, error }, { setValue, setTouched }] = useField(name); + + const onChange = useCallback((opts: MultiValue<{ value: string; label: string }>) => { + if (emptyIsUndefined && opts.length === 0) setValue(undefined); + else setValue(opts.map((opt) => opt.value)); + setTouched(true); + }, []); + + const onFieldBlur = useCallback(() => { + setTouched(true); + }, []); + + return ( + + ); +}; + +export const CreatableSelectField = React.memo(_CreatableSelectField); diff --git a/src/components/Form/Fields/NotesField/index.tsx b/src/components/Form/Fields/NotesField/index.tsx new file mode 100644 index 0000000..068e838 --- /dev/null +++ b/src/components/Form/Fields/NotesField/index.tsx @@ -0,0 +1,134 @@ +import React, { useCallback, useMemo, useState } from 'react'; +import { AddIcon } from '@chakra-ui/icons'; +import { IconButton, Input, InputGroup, InputRightElement, Tooltip } from '@chakra-ui/react'; +import { Trash } from 'phosphor-react'; +import { useTranslation } from 'react-i18next'; +import { v4 as uuid } from 'uuid'; +import { DataTable } from '../../../DataTables/DataTable'; +import FormattedDate from '../../../InformationDisplays/FormattedDate'; +import { useAuth } from 'contexts/AuthProvider'; +import { useFastField } from 'hooks/useFastField'; +import { Note } from 'models/Note'; + +export interface NotesFieldProps { + name?: string; + isDisabled?: boolean; + hasDeleteButton?: boolean; +} + +const _NotesField: React.FC = ({ name, isDisabled, hasDeleteButton }) => { + const { t } = useTranslation(); + const { user } = useAuth(); + const { value: notes, onChange: setNotes } = useFastField({ name: name ?? 'notes' }); + const [newNote, setNewNote] = useState(''); + + const addNoteToForm = () => { + const newNotes = [ + ...notes, + { + note: newNote, + isNew: true, + createdBy: user?.email, + created: Math.floor(new Date().getTime() / 1000), + }, + ]; + setNotes(newNotes); + setNewNote(''); + }; + + const removeNote = (index: number) => { + const newArr = [...notes]; + newArr.splice(index, 1); + setNotes(newArr); + }; + + // @ts-ignore + const memoizedDate = useCallback((cell) => , []); + + const removeAction = useCallback( + // @ts-ignore + (cell) => ( + + } + size="sm" + onClick={() => removeNote(cell.row.index)} + /> + + ), + [notes], + ); + + const columns = useMemo(() => { + const cols = [ + { + id: 'created', + Header: t('common.date'), + Footer: '', + accessor: 'created', + Cell: ({ cell }: { cell: unknown }) => memoizedDate(cell), + customWidth: '150px', + }, + { + id: 'note', + Header: t('common.note'), + Footer: '', + accessor: 'note', + }, + { + id: 'by', + Header: t('common.by'), + Footer: '', + accessor: 'createdBy', + customWidth: '200px', + }, + ]; + if (hasDeleteButton) + cols.push({ + id: 'actions', + Header: t('common.actions'), + Footer: '', + accessor: 'Id', + customWidth: '80px', + Cell: ({ cell }) => removeAction(cell), + }); + return cols; + }, [memoizedDate, removeAction]); + + return ( + <> + + b.created - a.created)} + obj={hasDeleteButton ? undefined : t('common.notes')} + minHeight="200px" + /> + + ); +}; + +export const NotesField = React.memo(_NotesField); diff --git a/src/components/Form/Fields/NumberField/NumberInput.tsx b/src/components/Form/Fields/NumberField/NumberInput.tsx new file mode 100644 index 0000000..8f77d2f --- /dev/null +++ b/src/components/Form/Fields/NumberField/NumberInput.tsx @@ -0,0 +1,99 @@ +import React from 'react'; +import { + FormControl, + FormErrorMessage, + FormLabel, + NumberInput as Input, + NumberDecrementStepper, + NumberIncrementStepper, + NumberInputField, + NumberInputStepper, + InputGroup, + InputRightAddon, +} from '@chakra-ui/react'; +import { ConfigurationFieldExplanation } from '../../ConfigurationFieldExplanation'; +import { FieldInputProps } from 'models/Form'; + +interface Props extends FieldInputProps { + onChange: (v: string) => void; + isError: boolean; + hideArrows: boolean; + unit?: string; + w?: string | number; +} + +const NumberInput: React.FC = ({ + label, + value, + unit, + onChange, + onBlur, + error, + isError, + isRequired, + hideArrows, + element, + isDisabled, + w, + definitionKey, +}) => { + if (element) + return ( + + + {label} + + {element} + {error} + + ); + + return ( + + + {label} + + + {unit ? ( + + + + + + {unit} + + ) : ( + + + + + )} + {error} + + ); +}; + +export default React.memo(NumberInput); diff --git a/src/components/Form/Fields/NumberField/index.tsx b/src/components/Form/Fields/NumberField/index.tsx new file mode 100644 index 0000000..ef81b8f --- /dev/null +++ b/src/components/Form/Fields/NumberField/index.tsx @@ -0,0 +1,69 @@ +import { useFastField } from 'hooks/useFastField'; +import { FieldProps } from 'models/Form'; +import React, { useCallback } from 'react'; +import Field from './NumberInput'; + +const parseToInt = (val: string, acceptEmptyValue: boolean) => { + if (acceptEmptyValue && val === '') return undefined; + + const parsed = parseInt(val, 10); + if (Number.isNaN(parsed)) return 0; + return parsed; +}; + +export interface NumberFieldProps extends FieldProps { + unit?: string; + hideArrows?: boolean; + acceptEmptyValue?: boolean; + w?: string | number; + conversionFactor?: number; +} + +const _NumberField: React.FC = ({ + name, + unit, + isDisabled = false, + label, + isRequired = false, + hideArrows = false, + w, + acceptEmptyValue = false, + definitionKey, + conversionFactor, +}) => { + const { value, error, isError, onChange, onBlur } = useFastField({ + name, + }); + + const onFieldChange = useCallback( + (v: string) => { + if (conversionFactor) { + const parsed = parseToInt(v, acceptEmptyValue); + const num = parsed !== undefined ? parsed * conversionFactor : undefined; + onChange(num); + } else { + onChange(parseToInt(v, acceptEmptyValue)); + } + }, + [onChange], + ); + + return ( + + ); +}; + +export const NumberField = React.memo(_NumberField); diff --git a/src/components/Form/Fields/PortRangeField/Input.tsx b/src/components/Form/Fields/PortRangeField/Input.tsx new file mode 100644 index 0000000..09a59c2 --- /dev/null +++ b/src/components/Form/Fields/PortRangeField/Input.tsx @@ -0,0 +1,128 @@ +import React from 'react'; +import { + FormControl, + FormErrorMessage, + FormLabel, + NumberInput as Input, + NumberDecrementStepper, + NumberIncrementStepper, + NumberInputField, + NumberInputStepper, + Select, + Flex, +} from '@chakra-ui/react'; + +interface Props { + label: string; + value: { mode: 'single'; inputValue?: number } | { mode: 'range'; inputValue: [number, number] }; + onModeChange: (v: React.ChangeEvent) => void; + onChange: (v: number | [number, number]) => void; + isError: boolean; + error?: string | boolean; + isDisabled: boolean; + isRequired: boolean; +} + +const PortRangeInput: React.FC = ({ + label, + value: { mode, inputValue: value }, + onChange, + onModeChange, + isError, + error, + isRequired, + isDisabled, + ...props +}) => { + const onNumberChange = (_: string, numb: number) => { + if (numb !== undefined) { + onChange(Number.isNaN(numb) ? 0 : numb); + } + }; + const onFirstNumberChange = (_: string, numb: number) => { + if (Array.isArray(value)) { + onChange([Number.isNaN(numb) ? 0 : numb, value[1]]); + } + }; + const onSecondNumberChange = (_: string, numb: number) => { + if (Array.isArray(value)) { + onChange([value[0], Number.isNaN(numb) ? 0 : numb]); + } + }; + + return ( + + + {label} + + + + {mode === 'single' && ( + + + + + + + + )} + {mode === 'range' && ( + <> + + + + + + + + + + + + + + + + )} + + {error} + + ); +}; + +export default React.memo(PortRangeInput); diff --git a/src/components/Form/Fields/PortRangeField/index.tsx b/src/components/Form/Fields/PortRangeField/index.tsx new file mode 100644 index 0000000..5ab715b --- /dev/null +++ b/src/components/Form/Fields/PortRangeField/index.tsx @@ -0,0 +1,71 @@ +import React, { useCallback, useMemo } from 'react'; +import { LayoutProps } from '@chakra-ui/react'; +import Input from './Input'; +import { FieldProps } from 'models/Form'; +import { useFastField } from 'hooks/useFastField'; + +const parseToInt = (val: string, acceptEmptyValue: boolean) => { + if (acceptEmptyValue && val === '') return undefined; + + const parsed = parseInt(val, 10); + if (Number.isNaN(parsed)) return 0; + return parsed; +}; + +export interface PortRangeFieldProps extends FieldProps, LayoutProps { + hideButton?: boolean; +} + +type Values = { mode: 'single'; inputValue?: number } | { mode: 'range'; inputValue: [number, number] }; + +const _PortRangeField: React.FC = ({ + name, + isDisabled = false, + label, + isRequired = false, + definitionKey, + ...props +}) => { + const { value, error, isError, onChange } = useFastField({ name }); + + const values = useMemo((): Values => { + if (!value) return { mode: 'single', inputValue: undefined }; + if (typeof value === 'number') return { mode: 'single', inputValue: value }; + + const split = value.split('-'); + if (split.length === 2) { + const one = parseToInt(split[0], false); + const two = parseToInt(split[1], false); + return { mode: 'range', inputValue: [one ?? 0, two ?? 0] }; + } + + return { mode: 'single', inputValue: undefined }; + }, [value]); + + const onModeChange = useCallback((e: React.ChangeEvent) => { + if (e.target.value === 'single') onChange(8080); + else onChange('0-10'); + }, []); + + const onValueChange = useCallback((v: number | [number, number]) => { + if (Array.isArray(v) && v.length === 2) { + onChange(`${v[0]}-${v[1]}`); + } else if (typeof v === 'number') onChange(v); + }, []); + + return ( + + ); +}; + +export const PortRangeField = React.memo(_PortRangeField); diff --git a/src/components/Form/Fields/SelectField/FastSelectInput.tsx b/src/components/Form/Fields/SelectField/FastSelectInput.tsx new file mode 100644 index 0000000..1a27344 --- /dev/null +++ b/src/components/Form/Fields/SelectField/FastSelectInput.tsx @@ -0,0 +1,56 @@ +import React from 'react'; +import { FormControl, FormErrorMessage, FormLabel, Select } from '@chakra-ui/react'; +import { v4 as uuid } from 'uuid'; +import { ConfigurationFieldExplanation } from '../../ConfigurationFieldExplanation'; +import { FormInputProps } from 'models/FormField'; + +export interface SelectInputProps extends FormInputProps { + value?: string; + options: { label: string; value: string | number }[]; +} + +const _SelectInput: React.FC = ({ + options, + label, + value, + onChange, + onBlur, + error, + touched, + isRequired, + isDisabled, + isHidden, + isLabelHidden, + w, + definitionKey, +}) => ( + +); + +export const SelectInput = React.memo(_SelectInput); diff --git a/src/components/Form/Fields/SelectField/index.tsx b/src/components/Form/Fields/SelectField/index.tsx new file mode 100644 index 0000000..b704dba --- /dev/null +++ b/src/components/Form/Fields/SelectField/index.tsx @@ -0,0 +1,70 @@ +import React, { useCallback } from 'react'; +import { useField } from 'formik'; +import { SelectInput } from './FastSelectInput'; +import { FormFieldProps } from 'models/FormField'; +import { useFastField } from 'hooks/useFastField'; + +export interface SelectFieldProps extends FormFieldProps { + options: { label: string; value: string | number }[]; +} + +const _SelectField: React.FC = ({ + options, + name, + isDisabled, + label, + isRequired, + onChange: onCustomChange, + onChangeEffect, + isHidden, + isLabelHidden, + emptyIsUndefined, + isInt, + w, + definitionKey, +}) => { + const { value, error, onChange: setValue, onBlur, touched } = useFastField({ name }); + + const onChange = useCallback( + (e: React.ChangeEvent) => { + if (onCustomChange) { + onCustomChange(e); + } else { + if (emptyIsUndefined && e.target.value === '') { + setValue(undefined); + } else { + setValue(isInt ? parseInt(e.target.value, 10) : e.target.value); + } + if (onChangeEffect !== undefined) onChangeEffect(e); + setTimeout(() => { + onBlur(); + }, 200); + } + }, + [onCustomChange], + ); + + const onFieldBlur = useCallback(() => { + onBlur(); + }, []); + + return ( + + ); +}; + +export const SelectField = React.memo(_SelectField); diff --git a/src/components/Form/Fields/StringField/StringInput.tsx b/src/components/Form/Fields/StringField/StringInput.tsx new file mode 100644 index 0000000..4e60b83 --- /dev/null +++ b/src/components/Form/Fields/StringField/StringInput.tsx @@ -0,0 +1,106 @@ +import React from 'react'; +import { + Button, + FormControl, + FormErrorMessage, + FormLabel, + Input, + InputGroup, + InputRightElement, + LayoutProps, + Textarea, + useBoolean, +} from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { ConfigurationFieldExplanation } from '../../ConfigurationFieldExplanation'; +import { FieldInputProps } from 'models/Form'; + +export interface StringInputProps extends FieldInputProps, LayoutProps { + isError: boolean; + hideButton: boolean; + isArea: boolean; + onChange: (e: React.ChangeEvent) => void; +} + +const _StringInput: React.FC = ({ + label, + value, + onChange, + onBlur, + isError, + error, + hideButton, + isRequired, + element, + isArea, + isDisabled, + definitionKey, + h, + ...props +}) => { + const { t } = useTranslation(); + const [show, setShow] = useBoolean(); + + if (isArea) { + return ( + + + {label} + + {element ?? ( + +
- - {item.UUID}{item.severity}{item.log} - { - toggleDetails(index); - }} - > - - - {prettyDate(item.upgraded)}