From 6de02721ab2c9ca4ca5ac4a9901399e828c689fa Mon Sep 17 00:00:00 2001 From: Matt LaPaglia Date: Mon, 29 Jan 2024 15:06:16 -0500 Subject: [PATCH] Use new angular project format in visual studio (#115) * move angular project * more reorg * dockerfile fixup * workflow fixes * get back end test results * try a different folder * now report it * keep 2 comments * different wildcard * path fixes * these also * send the auth also * more --- .dockerignore | 8 +- .github/workflows/docker-publish.yml | 59 +- .gitignore | 2 +- .../.editorconfig | 0 .../Alerts/Alert.cs | 0 .../Alerts/AlertService.cs | 0 .../Alerts/AlertUpdateRequest.cs | 0 .../Alerts/AlertsController.cs | 2 +- .../GetAlerts/GetAlertsRequestHandler.cs | 0 .../Alerts/IAlertClient.cs | 0 .../GetPushoverClientRequestHandler.cs | 0 .../Alerts/Pushover/PushoverClient.cs | 0 .../Alerts/Pushover/PushoverConfiguration.cs | 0 .../Alerts/Pushover/PushoverRequest.cs | 0 .../TestPushoverClientRequestHandler.cs | 2 +- .../UpsertPushoverClientRequestHandler.cs | 0 .../UpsertAlert/UpsertAlertsRequestHandler.cs | 0 .../WebPush/GetWebPushClientRequestHandler.cs | 0 .../TestWebPushClientRequestHandler.cs | 2 +- .../UpsertWebPushClientRequestHandler.cs | 0 .../Alerts/WebPush/WebPushRequest.cs | 0 .../CameraUpdateService/CameraScheduling.cs | 0 .../CameraUpdateRequest.cs | 0 .../CameraUpdateService.cs | 0 .../CameraUpdateService/SunriseSunset.cs | 0 .../Cameras/Camera.cs | 0 .../Cameras/CameraController.cs | 2 +- .../Cameras/CameraFactory.cs | 0 .../Configuration/CameraConfiguration.cs | 0 .../Configuration/CameraManufacturer.cs | 0 .../Cameras/Dahua/DahuaCamera.cs | 0 .../DeleteCamera/DeleteCameraHandler.cs | 0 .../GetCameras/GetCameraRequestHandler.cs | 6 +- .../Cameras/GetMask/GetCameraMaskHandler.cs | 0 .../GetPlateCapturesRequestHandler.cs | 2 +- .../Cameras/Hikvision/HikvisionCamera.cs | 0 .../Cameras/Hikvision/TextOverlay.cs | 0 .../Cameras/Hikvision/TextOverlayList.cs | 0 .../Cameras/Hikvision/VideoOverlay.cs | 0 .../Cameras/ICamera.cs | 0 .../Cameras/TestCamera/TestCameraHandler.cs | 0 .../UpsertCamera/UpsertCameraHandler.cs | 0 .../Cameras/UpsertMask/CameraMask.cs | 0 .../Cameras/UpsertMask/MaskCoordinate.cs | 0 .../UpsertMask/UpsertCameraMaskHandler.cs | 0 .../ZoomAndFocus/GetZoomAndFocusHandler.cs | 0 .../ZoomAndFocus/SetZoomAndFocusHandler.cs | 0 .../ZoomAndFocus/TriggerAutofocusHandler.cs | 0 .../Cameras/ZoomAndFocus/ZoomAndFocus.cs | 0 .../Data/Agent.cs | 0 .../Data/Alert.cs | 0 .../Data/Camera.cs | 0 .../Data/CameraMask.cs | 0 .../Data/Enricher.cs | 0 .../Data/Ignore.cs | 0 .../20210104162820_initial.Designer.cs | 0 .../Data/Migrations/20210104162820_initial.cs | 0 .../20210106180035_company.Designer.cs | 0 .../Data/Migrations/20210106180035_company.cs | 0 .../20210109164132_refactor.Designer.cs | 0 .../Migrations/20210109164132_refactor.cs | 0 .../20210112021933_coordinates.Designer.cs | 0 .../Migrations/20210112021933_coordinates.cs | 0 .../20210116022033_camera.Designer.cs | 0 .../Data/Migrations/20210116022033_camera.cs | 0 .../20210117002238_ipaddress.Designer.cs | 0 .../Migrations/20210117002238_ipaddress.cs | 0 .../20210117042246_platesseen.Designer.cs | 0 .../Migrations/20210117042246_platesseen.cs | 0 .../20210117144041_imageuuid.Designer.cs | 0 .../Migrations/20210117144041_imageuuid.cs | 0 .../20210117150417_undo.Designer.cs | 0 .../Data/Migrations/20210117150417_undo.cs | 0 .../20210117171740_agent.Designer.cs | 0 .../Data/Migrations/20210117171740_agent.cs | 0 .../20210120003119_alerts.Designer.cs | 0 .../Data/Migrations/20210120003119_alerts.cs | 0 .../20210131155232_daynighturl.Designer.cs | 0 .../Migrations/20210131155232_daynighturl.cs | 0 ...20210131170119_daynightenabled.Designer.cs | 0 .../20210131170119_daynightenabled.cs | 0 .../20210131171039_overlayenabled.Designer.cs | 0 .../20210131171039_overlayenabled.cs | 0 ...0210131210307_agentcoordinates.Designer.cs | 0 .../20210131210307_agentcoordinates.cs | 0 .../20210202185642_agentlongitude.Designer.cs | 0 .../20210202185642_agentlongitude.cs | 0 .../20210204044124_timezone.Designer.cs | 0 .../Migrations/20210204044124_timezone.cs | 0 .../20210206142616_lenientplates.Designer.cs | 0 .../20210206142616_lenientplates.cs | 0 .../20210207135441_overlayjobid.Designer.cs | 0 .../Migrations/20210207135441_overlayjobid.cs | 0 .../20210209011503_ipaddress2.Designer.cs | 0 .../Migrations/20210209011503_ipaddress2.cs | 0 ...20210211031223_openalprenabled.Designer.cs | 0 .../20210211031223_openalprenabled.cs | 0 ...20210605141255_webhookforwards.Designer.cs | 0 .../20210605141255_webhookforwards.cs | 0 ...10606180853_moreforwardoptions.Designer.cs | 0 .../20210606180853_moreforwardoptions.cs | 0 .../20210609034639_zoomfocus.Designer.cs | 0 .../Migrations/20210609034639_zoomfocus.cs | 0 ...20210615041625_lastScrapeEpoch.Designer.cs | 0 .../20210615041625_lastScrapeEpoch.cs | 0 .../20210616121328_region.Designer.cs | 0 .../Data/Migrations/20210616121328_region.cs | 0 ...10617142110_vehicleDescription.Designer.cs | 0 .../20210617142110_vehicleDescription.cs | 0 .../20210621141700_vehicleregion.Designer.cs | 0 .../20210621141700_vehicleregion.cs | 0 .../20210630203639_pushover.Designer.cs | 0 .../Migrations/20210630203639_pushover.cs | 0 .../20210705123821_notes.Designer.cs | 0 .../Data/Migrations/20210705123821_notes.cs | 0 .../20210721000827_enricher.Designer.cs | 0 .../Migrations/20210721000827_enricher.cs | 0 ...20210721014327_enricherenabled.Designer.cs | 0 .../20210721014327_enricherenabled.cs | 0 .../20210721024525_enricherEnum.Designer.cs | 0 .../Migrations/20210721024525_enricherEnum.cs | 0 .../20210722135647_enriched.Designer.cs | 0 .../Migrations/20210722135647_enriched.cs | 0 .../20210729025110_vehiclepreview.Designer.cs | 0 .../20210729025110_vehiclepreview.cs | 0 .../20211014201523_rawplates.Designer.cs | 0 .../Migrations/20211014201523_rawplates.cs | 0 .../20211030135644_foreignkey.Designer.cs | 0 .../Migrations/20211030135644_foreignkey.cs | 0 .../20211102182616_storeImages.Designer.cs | 0 .../Migrations/20211102182616_storeImages.cs | 0 .../20211102203109_uuidindex.Designer.cs | 0 .../Migrations/20211102203109_uuidindex.cs | 0 .../20211103170831_nullable.Designer.cs | 0 .../Migrations/20211103170831_nullable.cs | 0 ...23003843_possibleNumbersToList.Designer.cs | 0 .../20220223003843_possibleNumbersToList.cs | 0 .../20220308151115_nullablelatlon.Designer.cs | 0 .../20220308151115_nullablelatlon.cs | 0 ...1030144402_possiblenumberindex.Designer.cs | 0 .../20231030144402_possiblenumberindex.cs | 0 ...31101133429_removePreviewJpegs.Designer.cs | 0 .../20231101133429_removePreviewJpegs.cs | 0 ...0231101210623_imagecompression.Designer.cs | 0 .../20231101210623_imagecompression.cs | 0 .../20231102123548_filterindexes.Designer.cs | 0 .../20231102123548_filterindexes.cs | 0 ...20231103154356_possibleplatefk.Designer.cs | 0 .../20231103154356_possibleplatefk.cs | 0 .../20231104132311_splitImages.Designer.cs | 0 .../Migrations/20231104132311_splitImages.cs | 0 ...0231105153059_pushnotification.Designer.cs | 0 .../20231105153059_pushnotification.cs | 0 .../20231105221859_webpush.Designer.cs | 0 .../Data/Migrations/20231105221859_webpush.cs | 0 .../20231106012346_isenabled.Designer.cs | 0 .../Migrations/20231106012346_isenabled.cs | 0 .../20231108155619_heartbeatms.Designer.cs | 0 .../Migrations/20231108155619_heartbeatms.cs | 0 .../20231110134546_cameramask.Designer.cs | 0 .../Migrations/20231110134546_cameramask.cs | 0 .../20231120142953_allenabled.Designer.cs | 0 .../Migrations/20231120142953_allenabled.cs | 0 ...20231121130949_scheduledscrape.Designer.cs | 0 .../20231121130949_scheduledscrape.cs | 0 .../ProcessorContextModelSnapshot.cs | 0 .../Data/PlateGroup.cs | 0 .../Data/PlateGroupPossibleNumbers.cs | 0 .../Data/PlateImage.cs | 0 .../Data/ProcessorContext.cs | 0 .../Data/Pushover.cs | 0 .../Data/VehicleImage.cs | 0 .../Data/WebPushSettings.cs | 0 .../Data/WebPushSubscription.cs | 0 .../Data/WebPushSubscriptionKey.cs | 0 .../Data/WebhookForward.cs | 0 .../Data/WebhookRaw.cs | 0 OpenAlprWebhookProcessor.Server/Dockerfile | 34 + .../Hydration/HydrationService.cs | 0 .../ImageRelay/GetImage/GetImageHandler.cs | 0 .../ImageRelay/GetImage/IGetImageHandler.cs | 0 .../ImageRelay/ImageRelayController.cs | 2 +- .../SnapshotRelay/GetSnapshotHandler.cs | 0 .../GetSnapshotHandler.cs | 0 .../LICENSE | 0 .../DeleteLicensePlateGroupRequestHandler.cs | 0 .../EnrichLicensePlateRequestHandler.cs | 0 .../Enricher/EnrichedLicensePlate.cs | 0 .../LicensePlates/Enricher/EnricherType.cs | 0 .../Enricher/ILicensePlateEnricherClient.cs | 0 .../LicensePlateDataClient.cs | 0 .../LicensePlateData/LicensePlateDataRoot.cs | 0 .../LicensePlateData/LicensePlateLookup.cs | 0 .../GetLicensePlateCounts/DayCount.cs | 0 .../GetLicensePlateCountsHandler.cs | 0 .../GetLicensePlateCountsRequest.cs | 0 .../GetLicensePlateCountsResponse.cs | 0 .../LicensePlates/GetPlate/GetPlateHandler.cs | 0 .../GetPlate/SearchLicensePlateResponse.cs | 0 .../GetLicensePlateFiltersHandler.cs | 0 .../GetLicensePlateFiltersResponse.cs | 0 .../GetStatistics/GetStatisticsHandler.cs | 0 .../GetStatistics/PlateStatistics.cs | 0 .../LicensePlates/LicensePlate.cs | 0 .../LicensePlates/LicensePlatesController.cs | 2 +- .../LicensePlates/PlateMapper.cs | 4 +- .../SearchLicensePlateHandler.cs | 0 .../SearchLicensePlateRequest.cs | 0 .../SearchLicensePlateResponse.cs | 0 .../UpsertPlate/UpsertPlateRequestHandler.cs | 0 .../OpenAlprWebhookProcessor.Server.csproj | 54 + .../OpenAlprWebhookProcessor.Server.http | 6 + .../ProcessorHub/IProcessorHub.cs | 0 .../ProcessorHub/ProcessorHub.cs | 0 .../Program.cs | 0 .../Properties/launchSettings.json | 42 + .../Settings/Agent.cs | 0 .../AgentScrapeRequestHandler.cs | 0 .../Settings/AgentStatus.cs | 0 .../DeleteDebugPlateGroupRequestHandler.cs | 0 .../DisableAgentRequestHandler.cs | 0 .../EnableAgent/EnableAgentRequestHandler.cs | 0 .../Settings/Enrichers/Enricher.cs | 0 .../Settings/Enrichers/EnrichmentType.cs | 0 .../Enrichers/GetEnrichersRequestHandler.cs | 0 .../Enrichers/TestEnricherRequestHandler.cs | 0 .../Enrichers/UpsertEnricherRequestHandler.cs | 0 .../GetAgent/GetAgentRequestHandler.cs | 0 .../GetAgentStatusRequestHandler.cs | 0 .../GetDebugPlateGroupRequestHandler.cs | 0 .../GetIgnores/GetIgnoresRequestHandler.cs | 0 .../GetWebhookForwardsRequestHandler.cs | 0 .../Settings/Ignore.cs | 0 .../Settings/SettingsController.cs | 2 +- .../UpsertAgent/UpsertAgentRequestHandler.cs | 0 .../UpsertIgnoresRequestHandler.cs | 0 .../UpsertWebhookForwardsRequestHandler.cs | 0 .../Settings/WebhookForward.cs | 0 .../Startup.cs | 50 +- .../SystemLogs/LogsController.cs | 2 +- .../SystemLogs/SignalrSink.cs | 0 .../SystemLogs/SignalrSinkExtension.cs | 0 .../Users/AppException.cs | 0 .../Users/AuthenticateRequest.cs | 0 .../Users/AuthenticateResponse.cs | 0 .../Users/Data/JwtKey.cs | 0 .../20210109222644_initial.Designer.cs | 0 .../Data/Migrations/20210109222644_initial.cs | 0 .../20210110015325_registration.Designer.cs | 0 .../Migrations/20210110015325_registration.cs | 0 .../20210121171455_jwtKey.Designer.cs | 0 .../Data/Migrations/20210121171455_jwtKey.cs | 0 .../Migrations/UsersContextModelSnapshot.cs | 0 .../Users/Data/User.cs | 0 .../Users/Data/UsersContext.cs | 0 .../Users/JwtMiddleware.cs | 0 .../Users/RefreshToken.cs | 0 .../Users/Register/RegisterModel.cs | 0 .../Users/RevokeTokenRequest.cs | 0 .../Users/UpdateModel.cs | 0 .../Users/UserModel.cs | 0 .../Users/UserService.cs | 0 .../Users/UsersController.cs | 2 +- .../Utilities/VehicleUtilities.cs | 0 .../AngularWebPushNotification.cs | 0 .../IWebPushSubscriptionsService.cs | 0 .../VapidKeys/VapidDetails.cs | 0 .../VapidKeys/VapidKeyGenerator.cs | 0 .../VapidKeys/VapidKeyHelper.cs | 0 .../WebPushNotificationProducer.cs | 0 .../WebPushPublicKeyController.cs | 0 .../WebPushSubscriptionsController.cs | 0 .../WebPushSubscriptionsService.cs | 0 .../WebhookProcessor/AddAgentResult.cs | 0 .../WebhookProcessor/GroupWebhookHandler.cs | 4 +- .../WebhookProcessor/ImageRetrieverService.cs | 0 .../OpenAlprAgentScraper.cs | 0 .../OpenAlprAgentScraper/ScrapeMetadata.cs | 0 .../OpenAlprWebhook/Candidate.cs | 0 .../OpenAlprWebhook/Coordinate.cs | 0 .../WebhookProcessor/OpenAlprWebhook/Group.cs | 0 .../WebhookProcessor/OpenAlprWebhook/Path.cs | 0 .../WebhookProcessor/OpenAlprWebhook/Plate.cs | 0 .../OpenAlprWebhook/RegionsOfInterest.cs | 0 .../OpenAlprWebhook/Result.cs | 0 .../OpenAlprWebhook/SinglePlate.cs | 0 .../OpenAlprWebhook/Vehicle.cs | 0 .../OpenAlprWebhook/VehicleDetail.cs | 0 .../OpenAlprWebhook/VehicleRegion.cs | 0 .../OpenAlprWebhook/WebServerConfig.cs | 0 .../OpenAlprWebhook/Webhook.cs | 0 .../OpenAlprWebsocket/AccountInfoResponse.cs | 0 .../AgentStartStopRequest.cs | 0 .../AgentStartStopResponse.cs | 0 .../OpenAlprWebsocket/AgentStartStopType.cs | 0 .../OpenAlprWebsocket/AgentStatusResponse.cs | 0 .../OpenAlprWebsocket/ConfigInfoRequest.cs | 0 .../ConfigSaveMaskRequest.cs | 0 .../OpenAlprWebsocket/ImageDownloadRequest.cs | 0 .../ImageDownloadResponse.cs | 0 .../OpenAlprWebsocketClient.cs | 0 .../OpenAlprWebsocket/RequestType.cs | 0 .../WebsocketClientOrganizer.cs | 0 .../OpenAlprWebsocket/WebsocketController.cs | 0 .../SinglePlateWebhookHandler.cs | 0 .../WebhookProcessor/WebhookController.cs | 2 +- .../WebhookProcessor/WebhookForwarder.cs | 0 .../appsettings.development.json | 8 + .../appsettings.json | 9 + .../wwwroot/favicon.ico | Bin OpenAlprWebhookProcessor.sln | 40 +- OpenAlprWebhookProcessor/Dockerfile | 32 - .../OpenAlprWebhookProcessor.csproj | 102 - .../Properties/launchSettings.json | 19 - Tests/AgentTests.cs | 3 - Tests/Tests.csproj | 4 +- .../.browserslistrc | 0 .../.editorconfig | 0 .../.eslintrc.json | 48 +- .../.gitignore | 0 .../angular.json | 15 +- .../aspnetcore-https.js | 33 + .../e2e/protractor.conf.js | 0 .../e2e/src/app.e2e-spec.ts | 8 +- .../e2e/src/app.po.ts | 0 .../e2e/tsconfig.json | 0 .../karma.conf.js | 11 +- .../ngsw-config.json | 0 openalprwebhookprocessor.client/nuget.config | 10 + .../openalprwebhookprocessor.client.esproj | 10 + .../package-lock.json | 6451 +++++++++-------- .../package.json | 14 +- .../src/app/_components/alert.component.html | 0 .../src/app/_components/alert.component.ts | 0 .../src/app/_components/index.ts | 0 .../src/app/_helpers/app.initializer.ts | 0 .../src/app/_helpers/auth.guard.ts | 0 .../src/app/_helpers/error.interceptor.ts | 0 .../src/app/_helpers/index.ts | 0 .../src/app/_helpers/jwt.interceptor.ts | 0 .../src/app/_models/alert.ts | 0 .../src/app/_models/index.ts | 0 .../src/app/_models/user.ts | 0 .../src/app/_services/alert.service.ts | 0 .../src/app/_services/index.ts | 0 .../_services/local-storage.service.spec.ts | 0 .../app/_services/local-storage.service.ts | 0 .../app/_services/push-subscriber.service.ts | 0 .../src/app/account/account.service.ts | 18 +- .../src/app/account/login.component.html | 0 .../src/app/account/login.component.ts | 0 .../src/app/account/register.component.html | 0 .../src/app/account/register.component.ts | 0 .../src/app/app-routing.module.ts | 0 .../src/app/app.component.css | 0 .../src/app/app.component.html | 0 .../src/app/app.component.ts | 4 +- .../src/app/home/home.component.html | 0 .../src/app/home/home.component.ts | 0 .../src/app/home/home.service.ts | 2 +- .../src/app/home/index.ts | 0 .../src/app/home/plateCountResponse.ts | 0 .../edit-plate/edit-plate.component.html | 0 .../edit-plate/edit-plate.component.less | 0 .../edit-plate/edit-plate.component.spec.ts | 0 .../plates/edit-plate/edit-plate.component.ts | 0 .../src/app/plates/plate.service.ts | 18 +- .../src/app/plates/plate/getPlateResponse.ts | 0 .../src/app/plates/plate/plate.component.html | 0 .../src/app/plates/plate/plate.component.less | 0 .../app/plates/plate/plate.component.spec.ts | 0 .../src/app/plates/plate/plate.component.ts | 0 .../src/app/plates/plate/plate.ts | 0 .../src/app/plates/plate/plateResponse.ts | 0 .../src/app/plates/plate/plateStatistics.ts | 0 .../src/app/plates/plates.component.html | 0 .../src/app/plates/plates.component.less | 0 .../src/app/plates/plates.component.spec.ts | 0 .../src/app/plates/plates.component.ts | 0 .../src/app/plates/vehicleFilters.ts | 0 .../src/app/settings/alerts/alert.ts | 0 .../app/settings/alerts/alerts.component.html | 0 .../app/settings/alerts/alerts.component.less | 0 .../settings/alerts/alerts.component.spec.ts | 0 .../app/settings/alerts/alerts.component.ts | 0 .../settings/alerts/alerts.service.spec.ts | 0 .../src/app/settings/alerts/alerts.service.ts | 8 +- .../alerts/pushover/pushover.component.html | 0 .../alerts/pushover/pushover.component.less | 0 .../pushover/pushover.component.spec.ts | 0 .../alerts/pushover/pushover.component.ts | 0 .../alerts/pushover/pushover.service.spec.ts | 0 .../alerts/pushover/pushover.service.ts | 6 +- .../app/settings/alerts/pushover/pushover.ts | 0 .../alerts/webpush/webpush.component.css | 0 .../alerts/webpush/webpush.component.html | 0 .../alerts/webpush/webpush.component.spec.ts | 0 .../alerts/webpush/webpush.component.ts | 0 .../alerts/webpush/webpush.service.spec.ts | 0 .../alerts/webpush/webpush.service.ts | 6 +- .../app/settings/alerts/webpush/webpush.ts | 0 .../src/app/settings/cameras/camera.ts | 0 .../cameras/camera/camera.component.html | 0 .../cameras/camera/camera.component.less | 0 .../cameras/camera/camera.component.spec.ts | 0 .../cameras/camera/camera.component.ts | 0 .../settings/cameras/cameras.component.html | 0 .../settings/cameras/cameras.component.less | 0 .../cameras/cameras.component.spec.ts | 0 .../app/settings/cameras/cameras.component.ts | 0 .../camera-mask/camera-mask.component.css | 0 .../camera-mask/camera-mask.component.html | 0 .../camera-mask/camera-mask.component.spec.ts | 0 .../camera-mask/camera-mask.component.ts | 4 +- .../camera-mask/camera-mask.service.ts | 10 +- .../edit-camera/camera-mask/camera-mask.ts | 0 .../edit-camera/camera-mask/coordinate.ts | 0 .../edit-camera/edit-camera.component.html | 0 .../edit-camera/edit-camera.component.less | 0 .../edit-camera/edit-camera.component.spec.ts | 0 .../edit-camera/edit-camera.component.ts | 0 .../edit-camera/edit-camera.service.ts | 14 +- .../settings/cameras/edit-camera/zoomfocus.ts | 0 .../src/app/settings/enrichers/enricher.ts | 0 .../enrichers/enrichers.component.html | 0 .../enrichers/enrichers.component.less | 0 .../enrichers/enrichers.component.spec.ts | 0 .../settings/enrichers/enrichers.component.ts | 0 .../enrichers/enrichers.service.spec.ts | 0 .../settings/enrichers/enrichers.service.ts | 6 +- .../app/settings/enrichers/enrichmentType.ts | 0 .../src/app/settings/forwards/forward.ts | 0 .../settings/forwards/forwards.component.html | 0 .../settings/forwards/forwards.component.less | 0 .../forwards/forwards.component.spec.ts | 0 .../settings/forwards/forwards.component.ts | 0 .../forwards/forwards.service.spec.ts | 0 .../app/settings/forwards/forwards.service.ts | 6 +- .../src/app/settings/ignores/ignore.ts | 0 .../settings/ignores/ignores.component.html | 0 .../settings/ignores/ignores.component.less | 0 .../ignores/ignores.component.spec.ts | 0 .../app/settings/ignores/ignores.component.ts | 0 .../src/app/settings/openalpr-agent/agent.ts | 0 .../settings/openalpr-agent/agentStatus.ts | 0 .../openalpr-agent.component.html | 0 .../openalpr-agent.component.less | 0 .../openalpr-agent.component.spec.ts | 0 .../openalpr-agent.component.ts | 0 .../src/app/settings/settings.service.ts | 28 +- .../system-logs/system-logs.component.html | 0 .../system-logs/system-logs.component.less | 0 .../system-logs/system-logs.component.ts | 0 .../system-logs/system-logs.service.spec.ts | 0 .../system-logs/system-logs.service.ts | 4 +- .../system-logs/systemLogs.component.spec.ts | 0 .../settings/users/add-edit.component.html | 0 .../app/settings/users/add-edit.component.ts | 0 .../app/settings/users/users.component.html | 0 .../src/app/settings/users/users.component.ts | 0 .../src/app/signalr/signalr.service.spec.ts | 0 .../src/app/signalr/signalr.service.ts | 2 +- .../src/app/snackbar/snackbar.component.html | 0 .../src/app/snackbar/snackbar.component.less | 0 .../app/snackbar/snackbar.component.spec.ts | 0 .../src/app/snackbar/snackbar.component.ts | 0 .../src/app/snackbar/snackbar.service.spec.ts | 0 .../src/app/snackbar/snackbar.service.ts | 0 .../src/app/snackbar/snackbar.ts | 0 .../src/app/snackbar/snackbartype.ts | 0 .../style-manager/style-manager.component.ts | 0 .../theme-picker/theme-picker.component.html | 0 .../theme-picker/theme-picker.component.scss | 0 .../theme-picker/theme-picker.component.ts | 0 .../theme-storage/theme-storage.ts | 0 .../src/assets/.gitkeep | 0 .../src/assets/favicon.ico | Bin .../src/assets/icons/icon-128x128.png | Bin .../src/assets/icons/icon-144x144.png | Bin .../src/assets/icons/icon-152x152.png | Bin .../src/assets/icons/icon-192x192.png | Bin .../src/assets/icons/icon-384x384.png | Bin .../src/assets/icons/icon-512x512.png | Bin .../src/assets/icons/icon-72x72.png | Bin .../src/assets/icons/icon-96x96.png | Bin .../src/environments/environment.prod.ts | 0 .../src/environments/environment.ts | 0 .../src/index.html | 0 .../src/main.ts | 0 .../src/manifest.webmanifest | 0 .../src/proxy.conf.js | 11 + .../src/styles.less | 0 .../src/test.ts | 0 .../tsconfig.app.json | 0 .../tsconfig.json | 1 - .../tsconfig.spec.json | 0 496 files changed, 3831 insertions(+), 3425 deletions(-) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/.editorconfig (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/Alert.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/AlertService.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/AlertUpdateRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/AlertsController.cs (99%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/GetAlerts/GetAlertsRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/IAlertClient.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/Pushover/GetPushoverClientRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/Pushover/PushoverClient.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/Pushover/PushoverConfiguration.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/Pushover/PushoverRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/Pushover/TestPushoverClientRequestHandler.cs (94%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/Pushover/UpsertPushoverClientRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/UpsertAlert/UpsertAlertsRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/WebPush/GetWebPushClientRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/WebPush/TestWebPushClientRequestHandler.cs (95%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/WebPush/UpsertWebPushClientRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Alerts/WebPush/WebPushRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/CameraUpdateService/CameraScheduling.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/CameraUpdateService/CameraUpdateRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/CameraUpdateService/CameraUpdateService.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/CameraUpdateService/SunriseSunset.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/Camera.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/CameraController.cs (99%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/CameraFactory.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/Configuration/CameraConfiguration.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/Configuration/CameraManufacturer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/Dahua/DahuaCamera.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/DeleteCamera/DeleteCameraHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/GetCameras/GetCameraRequestHandler.cs (94%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/GetMask/GetCameraMaskHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/GetPlateCaptures/GetPlateCapturesRequestHandler.cs (97%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/Hikvision/HikvisionCamera.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/Hikvision/TextOverlay.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/Hikvision/TextOverlayList.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/Hikvision/VideoOverlay.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/ICamera.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/TestCamera/TestCameraHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/UpsertCamera/UpsertCameraHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/UpsertMask/CameraMask.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/UpsertMask/MaskCoordinate.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/UpsertMask/UpsertCameraMaskHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/ZoomAndFocus/GetZoomAndFocusHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/ZoomAndFocus/SetZoomAndFocusHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/ZoomAndFocus/TriggerAutofocusHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Cameras/ZoomAndFocus/ZoomAndFocus.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Agent.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Alert.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Camera.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/CameraMask.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Enricher.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Ignore.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210104162820_initial.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210104162820_initial.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210106180035_company.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210106180035_company.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210109164132_refactor.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210109164132_refactor.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210112021933_coordinates.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210112021933_coordinates.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210116022033_camera.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210116022033_camera.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117002238_ipaddress.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117002238_ipaddress.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117042246_platesseen.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117042246_platesseen.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117144041_imageuuid.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117144041_imageuuid.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117150417_undo.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117150417_undo.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117171740_agent.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210117171740_agent.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210120003119_alerts.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210120003119_alerts.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210131155232_daynighturl.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210131155232_daynighturl.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210131170119_daynightenabled.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210131170119_daynightenabled.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210131171039_overlayenabled.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210131171039_overlayenabled.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210131210307_agentcoordinates.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210131210307_agentcoordinates.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210202185642_agentlongitude.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210202185642_agentlongitude.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210204044124_timezone.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210204044124_timezone.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210206142616_lenientplates.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210206142616_lenientplates.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210207135441_overlayjobid.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210207135441_overlayjobid.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210209011503_ipaddress2.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210209011503_ipaddress2.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210211031223_openalprenabled.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210211031223_openalprenabled.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210605141255_webhookforwards.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210605141255_webhookforwards.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210606180853_moreforwardoptions.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210606180853_moreforwardoptions.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210609034639_zoomfocus.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210609034639_zoomfocus.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210615041625_lastScrapeEpoch.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210615041625_lastScrapeEpoch.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210616121328_region.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210616121328_region.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210617142110_vehicleDescription.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210617142110_vehicleDescription.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210621141700_vehicleregion.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210621141700_vehicleregion.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210630203639_pushover.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210630203639_pushover.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210705123821_notes.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210705123821_notes.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210721000827_enricher.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210721000827_enricher.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210721014327_enricherenabled.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210721014327_enricherenabled.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210721024525_enricherEnum.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210721024525_enricherEnum.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210722135647_enriched.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210722135647_enriched.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210729025110_vehiclepreview.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20210729025110_vehiclepreview.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211014201523_rawplates.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211014201523_rawplates.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211030135644_foreignkey.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211030135644_foreignkey.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211102182616_storeImages.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211102182616_storeImages.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211102203109_uuidindex.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211102203109_uuidindex.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211103170831_nullable.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20211103170831_nullable.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20220223003843_possibleNumbersToList.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20220223003843_possibleNumbersToList.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20220308151115_nullablelatlon.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20220308151115_nullablelatlon.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231030144402_possiblenumberindex.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231030144402_possiblenumberindex.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231101133429_removePreviewJpegs.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231101133429_removePreviewJpegs.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231101210623_imagecompression.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231101210623_imagecompression.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231102123548_filterindexes.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231102123548_filterindexes.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231103154356_possibleplatefk.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231103154356_possibleplatefk.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231104132311_splitImages.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231104132311_splitImages.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231105153059_pushnotification.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231105153059_pushnotification.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231105221859_webpush.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231105221859_webpush.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231106012346_isenabled.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231106012346_isenabled.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231108155619_heartbeatms.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231108155619_heartbeatms.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231110134546_cameramask.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231110134546_cameramask.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231120142953_allenabled.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231120142953_allenabled.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231121130949_scheduledscrape.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/20231121130949_scheduledscrape.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Migrations/ProcessorContextModelSnapshot.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/PlateGroup.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/PlateGroupPossibleNumbers.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/PlateImage.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/ProcessorContext.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/Pushover.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/VehicleImage.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/WebPushSettings.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/WebPushSubscription.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/WebPushSubscriptionKey.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/WebhookForward.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Data/WebhookRaw.cs (100%) create mode 100644 OpenAlprWebhookProcessor.Server/Dockerfile rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Hydration/HydrationService.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/ImageRelay/GetImage/GetImageHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/ImageRelay/GetImage/IGetImageHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/ImageRelay/ImageRelayController.cs (98%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/ImageRelay/SnapshotRelay/GetSnapshotHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/ImageRelay/SnapshotWebSocketRelay/GetSnapshotHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LICENSE (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/DeletePlate/DeleteLicensePlateGroupRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/Enricher/EnrichLicensePlateRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/Enricher/EnrichedLicensePlate.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/Enricher/EnricherType.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/Enricher/ILicensePlateEnricherClient.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/Enricher/LicensePlateData/LicensePlateDataClient.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/Enricher/LicensePlateData/LicensePlateDataRoot.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/Enricher/LicensePlateData/LicensePlateLookup.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetLicensePlateCounts/DayCount.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsResponse.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetPlate/GetPlateHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetPlate/SearchLicensePlateResponse.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetPlateFilters/GetLicensePlateFiltersHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetPlateFilters/GetLicensePlateFiltersResponse.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetStatistics/GetStatisticsHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/GetStatistics/PlateStatistics.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/LicensePlate.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/LicensePlatesController.cs (99%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/PlateMapper.cs (91%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/SearchLicensePlates/SearchLicensePlateHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/SearchLicensePlates/SearchLicensePlateRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/SearchLicensePlates/SearchLicensePlateResponse.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/LicensePlates/UpsertPlate/UpsertPlateRequestHandler.cs (100%) create mode 100644 OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.csproj create mode 100644 OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.http rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/ProcessorHub/IProcessorHub.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/ProcessorHub/ProcessorHub.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Program.cs (100%) create mode 100644 OpenAlprWebhookProcessor.Server/Properties/launchSettings.json rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/Agent.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/AgentHydration/AgentScrapeRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/AgentStatus.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/DeleteDebugPlateGroups/DeleteDebugPlateGroupRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/DisableAgent/DisableAgentRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/EnableAgent/EnableAgentRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/Enrichers/Enricher.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/Enrichers/EnrichmentType.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/Enrichers/GetEnrichersRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/Enrichers/TestEnricherRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/Enrichers/UpsertEnricherRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/GetAgent/GetAgentRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/GetAgentStatus/GetAgentStatusRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/GetDebugPlateGroups/GetDebugPlateGroupRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/GetIgnores/GetIgnoresRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/GetWebhookForwards/GetWebhookForwardsRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/Ignore.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/SettingsController.cs (99%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/UpsertAgent/UpsertAgentRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/UpsertIgnore/UpsertIgnoresRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/UpsertWebhookForwards/UpsertWebhookForwardsRequestHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Settings/WebhookForward.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Startup.cs (91%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/SystemLogs/LogsController.cs (98%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/SystemLogs/SignalrSink.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/SystemLogs/SignalrSinkExtension.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/AppException.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/AuthenticateRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/AuthenticateResponse.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/JwtKey.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/Migrations/20210109222644_initial.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/Migrations/20210109222644_initial.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/Migrations/20210110015325_registration.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/Migrations/20210110015325_registration.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/Migrations/20210121171455_jwtKey.Designer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/Migrations/20210121171455_jwtKey.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/Migrations/UsersContextModelSnapshot.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/User.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Data/UsersContext.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/JwtMiddleware.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/RefreshToken.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/Register/RegisterModel.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/RevokeTokenRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/UpdateModel.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/UserModel.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/UserService.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Users/UsersController.cs (99%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/Utilities/VehicleUtilities.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebPushSubscriptions/AngularWebPushNotification.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebPushSubscriptions/IWebPushSubscriptionsService.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebPushSubscriptions/VapidKeys/VapidDetails.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebPushSubscriptions/VapidKeys/VapidKeyGenerator.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebPushSubscriptions/VapidKeys/VapidKeyHelper.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebPushSubscriptions/WebPushNotificationProducer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebPushSubscriptions/WebPushPublicKeyController.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebPushSubscriptions/WebPushSubscriptionsController.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebPushSubscriptions/WebPushSubscriptionsService.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/AddAgentResult.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/GroupWebhookHandler.cs (98%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/ImageRetrieverService.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprAgentScraper/OpenAlprAgentScraper.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprAgentScraper/ScrapeMetadata.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/Candidate.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/Coordinate.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/Group.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/Path.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/Plate.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/RegionsOfInterest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/Result.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/SinglePlate.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/Vehicle.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/VehicleDetail.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/VehicleRegion.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/WebServerConfig.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebhook/Webhook.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/AccountInfoResponse.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/AgentStartStopRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/AgentStartStopResponse.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/AgentStartStopType.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/AgentStatusResponse.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/ConfigInfoRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/ConfigSaveMaskRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/ImageDownloadRequest.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/ImageDownloadResponse.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/OpenAlprWebsocketClient.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/RequestType.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/WebsocketClientOrganizer.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/OpenAlprWebsocket/WebsocketController.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/SinglePlateWebhookHandler.cs (100%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/WebhookController.cs (99%) rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/WebhookProcessor/WebhookForwarder.cs (100%) create mode 100644 OpenAlprWebhookProcessor.Server/appsettings.development.json create mode 100644 OpenAlprWebhookProcessor.Server/appsettings.json rename {OpenAlprWebhookProcessor => OpenAlprWebhookProcessor.Server}/wwwroot/favicon.ico (100%) delete mode 100644 OpenAlprWebhookProcessor/Dockerfile delete mode 100644 OpenAlprWebhookProcessor/OpenAlprWebhookProcessor.csproj delete mode 100644 OpenAlprWebhookProcessor/Properties/launchSettings.json rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/.browserslistrc (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/.editorconfig (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/.eslintrc.json (61%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/.gitignore (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/angular.json (90%) create mode 100644 openalprwebhookprocessor.client/aspnetcore-https.js rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/e2e/protractor.conf.js (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/e2e/src/app.e2e-spec.ts (74%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/e2e/src/app.po.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/e2e/tsconfig.json (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/karma.conf.js (81%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/ngsw-config.json (100%) create mode 100644 openalprwebhookprocessor.client/nuget.config create mode 100644 openalprwebhookprocessor.client/openalprwebhookprocessor.client.esproj rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/package-lock.json (82%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/package.json (73%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_components/alert.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_components/alert.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_components/index.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_helpers/app.initializer.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_helpers/auth.guard.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_helpers/error.interceptor.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_helpers/index.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_helpers/jwt.interceptor.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_models/alert.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_models/index.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_models/user.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_services/alert.service.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_services/index.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_services/local-storage.service.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_services/local-storage.service.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/_services/push-subscriber.service.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/account/account.service.ts (84%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/account/login.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/account/login.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/account/register.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/account/register.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/app-routing.module.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/app.component.css (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/app.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/app.component.ts (98%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/home/home.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/home/home.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/home/home.service.ts (84%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/home/index.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/home/plateCountResponse.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/edit-plate/edit-plate.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/edit-plate/edit-plate.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/edit-plate/edit-plate.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/edit-plate/edit-plate.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plate.service.ts (71%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plate/getPlateResponse.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plate/plate.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plate/plate.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plate/plate.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plate/plate.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plate/plate.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plate/plateResponse.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plate/plateStatistics.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plates.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plates.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plates.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/plates.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/plates/vehicleFilters.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/alert.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/alerts.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/alerts.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/alerts.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/alerts.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/alerts.service.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/alerts.service.ts (70%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/pushover/pushover.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/pushover/pushover.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/pushover/pushover.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/pushover/pushover.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/pushover/pushover.service.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/pushover/pushover.service.ts (69%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/pushover/pushover.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/webpush/webpush.component.css (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/webpush/webpush.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/webpush/webpush.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/webpush/webpush.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/webpush/webpush.service.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/webpush/webpush.service.ts (69%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/alerts/webpush/webpush.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/camera.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/camera/camera.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/camera/camera.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/camera/camera.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/camera/camera.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/cameras.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/cameras.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/cameras.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/cameras.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.css (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.ts (99%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.service.ts (69%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/camera-mask/coordinate.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/edit-camera.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/edit-camera.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/edit-camera.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/edit-camera.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/edit-camera.service.ts (57%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/cameras/edit-camera/zoomfocus.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/enrichers/enricher.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/enrichers/enrichers.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/enrichers/enrichers.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/enrichers/enrichers.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/enrichers/enrichers.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/enrichers/enrichers.service.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/enrichers/enrichers.service.ts (67%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/enrichers/enrichmentType.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/forwards/forward.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/forwards/forwards.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/forwards/forwards.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/forwards/forwards.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/forwards/forwards.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/forwards/forwards.service.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/forwards/forwards.service.ts (67%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/ignores/ignore.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/ignores/ignores.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/ignores/ignores.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/ignores/ignores.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/ignores/ignores.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/openalpr-agent/agent.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/openalpr-agent/agentStatus.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/openalpr-agent/openalpr-agent.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/openalpr-agent/openalpr-agent.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/openalpr-agent/openalpr-agent.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/openalpr-agent/openalpr-agent.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/settings.service.ts (58%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/system-logs/system-logs.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/system-logs/system-logs.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/system-logs/system-logs.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/system-logs/system-logs.service.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/system-logs/system-logs.service.ts (69%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/system-logs/systemLogs.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/users/add-edit.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/users/add-edit.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/users/users.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/settings/users/users.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/signalr/signalr.service.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/signalr/signalr.service.ts (98%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/snackbar/snackbar.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/snackbar/snackbar.component.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/snackbar/snackbar.component.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/snackbar/snackbar.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/snackbar/snackbar.service.spec.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/snackbar/snackbar.service.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/snackbar/snackbar.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/snackbar/snackbartype.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/theme-picker/style-manager/style-manager.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/theme-picker/theme-picker.component.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/theme-picker/theme-picker.component.scss (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/theme-picker/theme-picker.component.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/app/theme-picker/theme-storage/theme-storage.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/.gitkeep (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/favicon.ico (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/icons/icon-128x128.png (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/icons/icon-144x144.png (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/icons/icon-152x152.png (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/icons/icon-192x192.png (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/icons/icon-384x384.png (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/icons/icon-512x512.png (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/icons/icon-72x72.png (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/assets/icons/icon-96x96.png (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/environments/environment.prod.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/environments/environment.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/index.html (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/main.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/manifest.webmanifest (100%) create mode 100644 openalprwebhookprocessor.client/src/proxy.conf.js rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/styles.less (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/src/test.ts (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/tsconfig.app.json (100%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/tsconfig.json (99%) rename {OpenAlprWebhookProcessor/angularapp => openalprwebhookprocessor.client}/tsconfig.spec.json (100%) diff --git a/.dockerignore b/.dockerignore index 2588c273..e92a24d7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -21,7 +21,11 @@ **/obj **/secrets.dev.yaml **/values.dev.yaml -**/.angular **/config LICENSE -README.md \ No newline at end of file +README.md +!**/.gitignore +!.git/HEAD +!.git/config +!.git/packed-refs +!.git/refs/heads/** \ No newline at end of file diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index bd1ea44c..a7549766 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Run build - run: docker build . --file ./OpenAlprWebhookProcessor/Dockerfile + run: docker build . --file ./OpenAlprWebhookProcessor.Server/Dockerfile back-end-tests: runs-on: ubuntu-latest @@ -37,7 +37,7 @@ jobs: - name: Test run: dotnet test --configuration Release --no-build --collect:"XPlat Code Coverage" --results-directory ./coverage - - name: Code Coverage Report + - name: Back End Code Coverage Report uses: irongut/CodeCoverageSummary@v1.3.0 with: filename: coverage/**/coverage.cobertura.xml @@ -54,6 +54,7 @@ jobs: uses: marocchino/sticky-pull-request-comment@v2 if: github.event_name == 'pull_request' with: + header: Back End Coverage recreate: true path: code-coverage-results.md @@ -62,12 +63,33 @@ jobs: steps: - uses: actions/checkout@v2 - name: Run frontend tests - working-directory: ./OpenAlprWebhookProcessor/angularapp + working-directory: ./openalprwebhookprocessor.client run: | npm ci npm run test:prod npm run lint + - name: Front End Code Coverage Report + uses: irongut/CodeCoverageSummary@v1.3.0 + with: + filename: ./openalprwebhookprocessor.client/coverage/cobertura-coverage.xml + badge: true + fail_below_min: true + format: markdown + hide_branch_rate: false + hide_complexity: true + indicators: true + output: both + thresholds: '0 80' + + - name: Add Coverage PR Comment + uses: marocchino/sticky-pull-request-comment@v2 + if: github.event_name == 'pull_request' + with: + header: Front End Coverage + recreate: true + path: code-coverage-results.md + windows-build-push: needs: build runs-on: ubuntu-latest @@ -86,25 +108,16 @@ jobs: run: | tag=$(git describe --tags --abbrev=0) release_name="OpenAlprWebHookProcessor-${tag}-windows64" - dotnet restore "OpenAlprWebhookProcessor/OpenAlprWebhookProcessor.csproj" - dotnet build "OpenAlprWebhookProcessor/OpenAlprWebhookProcessor.csproj" -c Release - dotnet publish "OpenAlprWebhookProcessor/OpenAlprWebhookProcessor.csproj" -c Release -o "$release_name" + dotnet restore "OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.csproj" + dotnet build "OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.csproj" -c Release + dotnet publish "OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.csproj" -c Release -o "$release_name" tar czvf "${release_name}.tar.gz" "$release_name" - name: Publish uses: softprops/action-gh-release@v1 - if: contains(github.ref, 'alpha') != true with: files: "OpenAlprWebHookProcessor*" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Publish - uses: softprops/action-gh-release@v1 - if: contains(github.ref, 'alpha') - with: - files: "OpenAlprWebHookProcessor*" - prerelease: true + prerelease: ${{ contains(github.ref, 'alpha') }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -130,20 +143,10 @@ jobs: run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} - name: Push to Docker Hub - if: contains(github.ref, 'alpha') != true uses: docker/build-push-action@v2 with: - file: ./OpenAlprWebhookProcessor/Dockerfile + file: ./OpenAlprWebhookProcessor.Server/Dockerfile push: true tags: | mlapaglia/openalprwebhookprocessor:${{ steps.get_version.outputs.VERSION }} - mlapaglia/openalprwebhookprocessor:latest - - - name: Push alpha build to Docker Hub - if: contains(github.ref, 'alpha') - uses: docker/build-push-action@v2 - with: - file: ./OpenAlprWebhookProcessor/Dockerfile - push: true - tags: | - mlapaglia/openalprwebhookprocessor:${{ steps.get_version.outputs.VERSION }} \ No newline at end of file + ${{ contains(github.ref, 'alpha') && 'mlapaglia/openalprwebhookprocessor:alpha' || 'mlapaglia/openalprwebhookprocessor:latest' }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7713f570..c82ce5b9 100644 --- a/.gitignore +++ b/.gitignore @@ -356,4 +356,4 @@ dist/ **/log*.txt *db-shm *db-wal -OpenAlprWebhookProcessor/angularapp/.angular/* \ No newline at end of file +openalprwebhookprocessor.client/.angular/* \ No newline at end of file diff --git a/OpenAlprWebhookProcessor/.editorconfig b/OpenAlprWebhookProcessor.Server/.editorconfig similarity index 100% rename from OpenAlprWebhookProcessor/.editorconfig rename to OpenAlprWebhookProcessor.Server/.editorconfig diff --git a/OpenAlprWebhookProcessor/Alerts/Alert.cs b/OpenAlprWebhookProcessor.Server/Alerts/Alert.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/Alert.cs rename to OpenAlprWebhookProcessor.Server/Alerts/Alert.cs diff --git a/OpenAlprWebhookProcessor/Alerts/AlertService.cs b/OpenAlprWebhookProcessor.Server/Alerts/AlertService.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/AlertService.cs rename to OpenAlprWebhookProcessor.Server/Alerts/AlertService.cs diff --git a/OpenAlprWebhookProcessor/Alerts/AlertUpdateRequest.cs b/OpenAlprWebhookProcessor.Server/Alerts/AlertUpdateRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/AlertUpdateRequest.cs rename to OpenAlprWebhookProcessor.Server/Alerts/AlertUpdateRequest.cs diff --git a/OpenAlprWebhookProcessor/Alerts/AlertsController.cs b/OpenAlprWebhookProcessor.Server/Alerts/AlertsController.cs similarity index 99% rename from OpenAlprWebhookProcessor/Alerts/AlertsController.cs rename to OpenAlprWebhookProcessor.Server/Alerts/AlertsController.cs index fecce19b..16086f08 100644 --- a/OpenAlprWebhookProcessor/Alerts/AlertsController.cs +++ b/OpenAlprWebhookProcessor.Server/Alerts/AlertsController.cs @@ -10,7 +10,7 @@ namespace OpenAlprWebhookProcessor.Alerts { [Authorize] [ApiController] - [Route("alerts")] + [Route("api/alerts")] public class AlertsController : Controller { private readonly GetAlertsRequestHandler _getAlertsRequestHandler; diff --git a/OpenAlprWebhookProcessor/Alerts/GetAlerts/GetAlertsRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Alerts/GetAlerts/GetAlertsRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/GetAlerts/GetAlertsRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Alerts/GetAlerts/GetAlertsRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Alerts/IAlertClient.cs b/OpenAlprWebhookProcessor.Server/Alerts/IAlertClient.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/IAlertClient.cs rename to OpenAlprWebhookProcessor.Server/Alerts/IAlertClient.cs diff --git a/OpenAlprWebhookProcessor/Alerts/Pushover/GetPushoverClientRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Alerts/Pushover/GetPushoverClientRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/Pushover/GetPushoverClientRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Alerts/Pushover/GetPushoverClientRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Alerts/Pushover/PushoverClient.cs b/OpenAlprWebhookProcessor.Server/Alerts/Pushover/PushoverClient.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/Pushover/PushoverClient.cs rename to OpenAlprWebhookProcessor.Server/Alerts/Pushover/PushoverClient.cs diff --git a/OpenAlprWebhookProcessor/Alerts/Pushover/PushoverConfiguration.cs b/OpenAlprWebhookProcessor.Server/Alerts/Pushover/PushoverConfiguration.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/Pushover/PushoverConfiguration.cs rename to OpenAlprWebhookProcessor.Server/Alerts/Pushover/PushoverConfiguration.cs diff --git a/OpenAlprWebhookProcessor/Alerts/Pushover/PushoverRequest.cs b/OpenAlprWebhookProcessor.Server/Alerts/Pushover/PushoverRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/Pushover/PushoverRequest.cs rename to OpenAlprWebhookProcessor.Server/Alerts/Pushover/PushoverRequest.cs diff --git a/OpenAlprWebhookProcessor/Alerts/Pushover/TestPushoverClientRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Alerts/Pushover/TestPushoverClientRequestHandler.cs similarity index 94% rename from OpenAlprWebhookProcessor/Alerts/Pushover/TestPushoverClientRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Alerts/Pushover/TestPushoverClientRequestHandler.cs index 37a59d3d..21e51404 100644 --- a/OpenAlprWebhookProcessor/Alerts/Pushover/TestPushoverClientRequestHandler.cs +++ b/OpenAlprWebhookProcessor.Server/Alerts/Pushover/TestPushoverClientRequestHandler.cs @@ -36,7 +36,7 @@ await _alertClient.SendAlertAsync(new AlertUpdateRequest() IsUrgent = true, PlateId = testPlateGroup.Id, PlateJpeg = testPlateGroup.PlateImage.Jpeg, - PlateJpegUrl = $"/images/crop/{testPlateGroup.OpenAlprUuid}", + PlateJpegUrl = $"/api/images/crop/{testPlateGroup.OpenAlprUuid}", PlateNumber = testPlateGroup.BestNumber, ReceivedOn = DateTimeOffset.UtcNow, }, cancellationToken); diff --git a/OpenAlprWebhookProcessor/Alerts/Pushover/UpsertPushoverClientRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Alerts/Pushover/UpsertPushoverClientRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/Pushover/UpsertPushoverClientRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Alerts/Pushover/UpsertPushoverClientRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Alerts/UpsertAlert/UpsertAlertsRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Alerts/UpsertAlert/UpsertAlertsRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/UpsertAlert/UpsertAlertsRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Alerts/UpsertAlert/UpsertAlertsRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Alerts/WebPush/GetWebPushClientRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Alerts/WebPush/GetWebPushClientRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/WebPush/GetWebPushClientRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Alerts/WebPush/GetWebPushClientRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Alerts/WebPush/TestWebPushClientRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Alerts/WebPush/TestWebPushClientRequestHandler.cs similarity index 95% rename from OpenAlprWebhookProcessor/Alerts/WebPush/TestWebPushClientRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Alerts/WebPush/TestWebPushClientRequestHandler.cs index 91043f27..9312236a 100644 --- a/OpenAlprWebhookProcessor/Alerts/WebPush/TestWebPushClientRequestHandler.cs +++ b/OpenAlprWebhookProcessor.Server/Alerts/WebPush/TestWebPushClientRequestHandler.cs @@ -38,7 +38,7 @@ await _alertClient.SendAlertAsync(new AlertUpdateRequest() PlateId = testPlateGroup.Id, PlateNumber = testPlateGroup.BestNumber, PlateJpeg = testPlateGroup.PlateImage.Jpeg, - PlateJpegUrl = $"/images/crop/{testPlateGroup.OpenAlprUuid}", + PlateJpegUrl = $"/api/images/crop/{testPlateGroup.OpenAlprUuid}", ReceivedOn = DateTimeOffset.UtcNow, }, cancellationToken); } diff --git a/OpenAlprWebhookProcessor/Alerts/WebPush/UpsertWebPushClientRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Alerts/WebPush/UpsertWebPushClientRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/WebPush/UpsertWebPushClientRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Alerts/WebPush/UpsertWebPushClientRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Alerts/WebPush/WebPushRequest.cs b/OpenAlprWebhookProcessor.Server/Alerts/WebPush/WebPushRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/Alerts/WebPush/WebPushRequest.cs rename to OpenAlprWebhookProcessor.Server/Alerts/WebPush/WebPushRequest.cs diff --git a/OpenAlprWebhookProcessor/CameraUpdateService/CameraScheduling.cs b/OpenAlprWebhookProcessor.Server/CameraUpdateService/CameraScheduling.cs similarity index 100% rename from OpenAlprWebhookProcessor/CameraUpdateService/CameraScheduling.cs rename to OpenAlprWebhookProcessor.Server/CameraUpdateService/CameraScheduling.cs diff --git a/OpenAlprWebhookProcessor/CameraUpdateService/CameraUpdateRequest.cs b/OpenAlprWebhookProcessor.Server/CameraUpdateService/CameraUpdateRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/CameraUpdateService/CameraUpdateRequest.cs rename to OpenAlprWebhookProcessor.Server/CameraUpdateService/CameraUpdateRequest.cs diff --git a/OpenAlprWebhookProcessor/CameraUpdateService/CameraUpdateService.cs b/OpenAlprWebhookProcessor.Server/CameraUpdateService/CameraUpdateService.cs similarity index 100% rename from OpenAlprWebhookProcessor/CameraUpdateService/CameraUpdateService.cs rename to OpenAlprWebhookProcessor.Server/CameraUpdateService/CameraUpdateService.cs diff --git a/OpenAlprWebhookProcessor/CameraUpdateService/SunriseSunset.cs b/OpenAlprWebhookProcessor.Server/CameraUpdateService/SunriseSunset.cs similarity index 100% rename from OpenAlprWebhookProcessor/CameraUpdateService/SunriseSunset.cs rename to OpenAlprWebhookProcessor.Server/CameraUpdateService/SunriseSunset.cs diff --git a/OpenAlprWebhookProcessor/Cameras/Camera.cs b/OpenAlprWebhookProcessor.Server/Cameras/Camera.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/Camera.cs rename to OpenAlprWebhookProcessor.Server/Cameras/Camera.cs diff --git a/OpenAlprWebhookProcessor/Cameras/CameraController.cs b/OpenAlprWebhookProcessor.Server/Cameras/CameraController.cs similarity index 99% rename from OpenAlprWebhookProcessor/Cameras/CameraController.cs rename to OpenAlprWebhookProcessor.Server/Cameras/CameraController.cs index 5c594abb..03526b0f 100644 --- a/OpenAlprWebhookProcessor/Cameras/CameraController.cs +++ b/OpenAlprWebhookProcessor.Server/Cameras/CameraController.cs @@ -12,7 +12,7 @@ namespace OpenAlprWebhookProcessor.Cameras { [Authorize] [ApiController] - [Route("cameras")] + [Route("api/cameras")] public class CameraController : Controller { private readonly GetCameraRequestHandler _getCameraHandler; diff --git a/OpenAlprWebhookProcessor/Cameras/CameraFactory.cs b/OpenAlprWebhookProcessor.Server/Cameras/CameraFactory.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/CameraFactory.cs rename to OpenAlprWebhookProcessor.Server/Cameras/CameraFactory.cs diff --git a/OpenAlprWebhookProcessor/Cameras/Configuration/CameraConfiguration.cs b/OpenAlprWebhookProcessor.Server/Cameras/Configuration/CameraConfiguration.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/Configuration/CameraConfiguration.cs rename to OpenAlprWebhookProcessor.Server/Cameras/Configuration/CameraConfiguration.cs diff --git a/OpenAlprWebhookProcessor/Cameras/Configuration/CameraManufacturer.cs b/OpenAlprWebhookProcessor.Server/Cameras/Configuration/CameraManufacturer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/Configuration/CameraManufacturer.cs rename to OpenAlprWebhookProcessor.Server/Cameras/Configuration/CameraManufacturer.cs diff --git a/OpenAlprWebhookProcessor/Cameras/Dahua/DahuaCamera.cs b/OpenAlprWebhookProcessor.Server/Cameras/Dahua/DahuaCamera.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/Dahua/DahuaCamera.cs rename to OpenAlprWebhookProcessor.Server/Cameras/Dahua/DahuaCamera.cs diff --git a/OpenAlprWebhookProcessor/Cameras/DeleteCamera/DeleteCameraHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/DeleteCamera/DeleteCameraHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/DeleteCamera/DeleteCameraHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/DeleteCamera/DeleteCameraHandler.cs diff --git a/OpenAlprWebhookProcessor/Cameras/GetCameras/GetCameraRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/GetCameras/GetCameraRequestHandler.cs similarity index 94% rename from OpenAlprWebhookProcessor/Cameras/GetCameras/GetCameraRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/GetCameras/GetCameraRequestHandler.cs index f3097fb5..863c8b93 100644 --- a/OpenAlprWebhookProcessor/Cameras/GetCameras/GetCameraRequestHandler.cs +++ b/OpenAlprWebhookProcessor.Server/Cameras/GetCameras/GetCameraRequestHandler.cs @@ -84,15 +84,15 @@ private async Task CreateSampleImageUrlAsync( return null; } - return Flurl.Url.Combine($"/images/{camera.LatestProcessedPlateUuid}"); + return Flurl.Url.Combine($"/api/images/{camera.LatestProcessedPlateUuid}"); } else { - return Flurl.Url.Combine($"/images/{camera.Id}/snapshot"); + return Flurl.Url.Combine($"/api/images/{camera.Id}/snapshot"); } } - private DateTimeOffset? GetNextScheduledExecutionDate( + private static DateTimeOffset? GetNextScheduledExecutionDate( Agent agent, Data.Camera camera, JobDetailsDto dateToEnqueueAt) diff --git a/OpenAlprWebhookProcessor/Cameras/GetMask/GetCameraMaskHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/GetMask/GetCameraMaskHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/GetMask/GetCameraMaskHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/GetMask/GetCameraMaskHandler.cs diff --git a/OpenAlprWebhookProcessor/Cameras/GetPlateCaptures/GetPlateCapturesRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/GetPlateCaptures/GetPlateCapturesRequestHandler.cs similarity index 97% rename from OpenAlprWebhookProcessor/Cameras/GetPlateCaptures/GetPlateCapturesRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/GetPlateCaptures/GetPlateCapturesRequestHandler.cs index 6d07bf40..0cae8e1f 100644 --- a/OpenAlprWebhookProcessor/Cameras/GetPlateCaptures/GetPlateCapturesRequestHandler.cs +++ b/OpenAlprWebhookProcessor.Server/Cameras/GetPlateCaptures/GetPlateCapturesRequestHandler.cs @@ -36,7 +36,7 @@ public async Task> HandleAsync( .Take(10) .ToListAsync(cancellationToken); - return capturedPlates.Select(x => Flurl.Url.Combine($"/images/{x}")).ToList(); + return capturedPlates.Select(x => Flurl.Url.Combine($"/api/images/{x}")).ToList(); } } } \ No newline at end of file diff --git a/OpenAlprWebhookProcessor/Cameras/Hikvision/HikvisionCamera.cs b/OpenAlprWebhookProcessor.Server/Cameras/Hikvision/HikvisionCamera.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/Hikvision/HikvisionCamera.cs rename to OpenAlprWebhookProcessor.Server/Cameras/Hikvision/HikvisionCamera.cs diff --git a/OpenAlprWebhookProcessor/Cameras/Hikvision/TextOverlay.cs b/OpenAlprWebhookProcessor.Server/Cameras/Hikvision/TextOverlay.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/Hikvision/TextOverlay.cs rename to OpenAlprWebhookProcessor.Server/Cameras/Hikvision/TextOverlay.cs diff --git a/OpenAlprWebhookProcessor/Cameras/Hikvision/TextOverlayList.cs b/OpenAlprWebhookProcessor.Server/Cameras/Hikvision/TextOverlayList.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/Hikvision/TextOverlayList.cs rename to OpenAlprWebhookProcessor.Server/Cameras/Hikvision/TextOverlayList.cs diff --git a/OpenAlprWebhookProcessor/Cameras/Hikvision/VideoOverlay.cs b/OpenAlprWebhookProcessor.Server/Cameras/Hikvision/VideoOverlay.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/Hikvision/VideoOverlay.cs rename to OpenAlprWebhookProcessor.Server/Cameras/Hikvision/VideoOverlay.cs diff --git a/OpenAlprWebhookProcessor/Cameras/ICamera.cs b/OpenAlprWebhookProcessor.Server/Cameras/ICamera.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/ICamera.cs rename to OpenAlprWebhookProcessor.Server/Cameras/ICamera.cs diff --git a/OpenAlprWebhookProcessor/Cameras/TestCamera/TestCameraHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/TestCamera/TestCameraHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/TestCamera/TestCameraHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/TestCamera/TestCameraHandler.cs diff --git a/OpenAlprWebhookProcessor/Cameras/UpsertCamera/UpsertCameraHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/UpsertCamera/UpsertCameraHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/UpsertCamera/UpsertCameraHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/UpsertCamera/UpsertCameraHandler.cs diff --git a/OpenAlprWebhookProcessor/Cameras/UpsertMask/CameraMask.cs b/OpenAlprWebhookProcessor.Server/Cameras/UpsertMask/CameraMask.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/UpsertMask/CameraMask.cs rename to OpenAlprWebhookProcessor.Server/Cameras/UpsertMask/CameraMask.cs diff --git a/OpenAlprWebhookProcessor/Cameras/UpsertMask/MaskCoordinate.cs b/OpenAlprWebhookProcessor.Server/Cameras/UpsertMask/MaskCoordinate.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/UpsertMask/MaskCoordinate.cs rename to OpenAlprWebhookProcessor.Server/Cameras/UpsertMask/MaskCoordinate.cs diff --git a/OpenAlprWebhookProcessor/Cameras/UpsertMask/UpsertCameraMaskHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/UpsertMask/UpsertCameraMaskHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/UpsertMask/UpsertCameraMaskHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/UpsertMask/UpsertCameraMaskHandler.cs diff --git a/OpenAlprWebhookProcessor/Cameras/ZoomAndFocus/GetZoomAndFocusHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/ZoomAndFocus/GetZoomAndFocusHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/ZoomAndFocus/GetZoomAndFocusHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/ZoomAndFocus/GetZoomAndFocusHandler.cs diff --git a/OpenAlprWebhookProcessor/Cameras/ZoomAndFocus/SetZoomAndFocusHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/ZoomAndFocus/SetZoomAndFocusHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/ZoomAndFocus/SetZoomAndFocusHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/ZoomAndFocus/SetZoomAndFocusHandler.cs diff --git a/OpenAlprWebhookProcessor/Cameras/ZoomAndFocus/TriggerAutofocusHandler.cs b/OpenAlprWebhookProcessor.Server/Cameras/ZoomAndFocus/TriggerAutofocusHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/ZoomAndFocus/TriggerAutofocusHandler.cs rename to OpenAlprWebhookProcessor.Server/Cameras/ZoomAndFocus/TriggerAutofocusHandler.cs diff --git a/OpenAlprWebhookProcessor/Cameras/ZoomAndFocus/ZoomAndFocus.cs b/OpenAlprWebhookProcessor.Server/Cameras/ZoomAndFocus/ZoomAndFocus.cs similarity index 100% rename from OpenAlprWebhookProcessor/Cameras/ZoomAndFocus/ZoomAndFocus.cs rename to OpenAlprWebhookProcessor.Server/Cameras/ZoomAndFocus/ZoomAndFocus.cs diff --git a/OpenAlprWebhookProcessor/Data/Agent.cs b/OpenAlprWebhookProcessor.Server/Data/Agent.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Agent.cs rename to OpenAlprWebhookProcessor.Server/Data/Agent.cs diff --git a/OpenAlprWebhookProcessor/Data/Alert.cs b/OpenAlprWebhookProcessor.Server/Data/Alert.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Alert.cs rename to OpenAlprWebhookProcessor.Server/Data/Alert.cs diff --git a/OpenAlprWebhookProcessor/Data/Camera.cs b/OpenAlprWebhookProcessor.Server/Data/Camera.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Camera.cs rename to OpenAlprWebhookProcessor.Server/Data/Camera.cs diff --git a/OpenAlprWebhookProcessor/Data/CameraMask.cs b/OpenAlprWebhookProcessor.Server/Data/CameraMask.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/CameraMask.cs rename to OpenAlprWebhookProcessor.Server/Data/CameraMask.cs diff --git a/OpenAlprWebhookProcessor/Data/Enricher.cs b/OpenAlprWebhookProcessor.Server/Data/Enricher.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Enricher.cs rename to OpenAlprWebhookProcessor.Server/Data/Enricher.cs diff --git a/OpenAlprWebhookProcessor/Data/Ignore.cs b/OpenAlprWebhookProcessor.Server/Data/Ignore.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Ignore.cs rename to OpenAlprWebhookProcessor.Server/Data/Ignore.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210104162820_initial.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210104162820_initial.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210104162820_initial.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210104162820_initial.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210104162820_initial.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210104162820_initial.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210104162820_initial.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210104162820_initial.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210106180035_company.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210106180035_company.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210106180035_company.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210106180035_company.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210106180035_company.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210106180035_company.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210106180035_company.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210106180035_company.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210109164132_refactor.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210109164132_refactor.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210109164132_refactor.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210109164132_refactor.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210109164132_refactor.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210109164132_refactor.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210109164132_refactor.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210109164132_refactor.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210112021933_coordinates.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210112021933_coordinates.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210112021933_coordinates.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210112021933_coordinates.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210112021933_coordinates.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210112021933_coordinates.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210112021933_coordinates.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210112021933_coordinates.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210116022033_camera.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210116022033_camera.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210116022033_camera.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210116022033_camera.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210116022033_camera.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210116022033_camera.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210116022033_camera.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210116022033_camera.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117002238_ipaddress.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117002238_ipaddress.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117002238_ipaddress.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117002238_ipaddress.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117002238_ipaddress.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117002238_ipaddress.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117002238_ipaddress.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117002238_ipaddress.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117042246_platesseen.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117042246_platesseen.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117042246_platesseen.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117042246_platesseen.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117042246_platesseen.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117042246_platesseen.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117042246_platesseen.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117042246_platesseen.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117144041_imageuuid.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117144041_imageuuid.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117144041_imageuuid.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117144041_imageuuid.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117144041_imageuuid.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117144041_imageuuid.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117144041_imageuuid.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117144041_imageuuid.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117150417_undo.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117150417_undo.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117150417_undo.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117150417_undo.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117150417_undo.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117150417_undo.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117150417_undo.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117150417_undo.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117171740_agent.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117171740_agent.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117171740_agent.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117171740_agent.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210117171740_agent.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210117171740_agent.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210117171740_agent.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210117171740_agent.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210120003119_alerts.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210120003119_alerts.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210120003119_alerts.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210120003119_alerts.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210120003119_alerts.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210120003119_alerts.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210120003119_alerts.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210120003119_alerts.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210131155232_daynighturl.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210131155232_daynighturl.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210131155232_daynighturl.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210131155232_daynighturl.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210131155232_daynighturl.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210131155232_daynighturl.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210131155232_daynighturl.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210131155232_daynighturl.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210131170119_daynightenabled.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210131170119_daynightenabled.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210131170119_daynightenabled.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210131170119_daynightenabled.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210131170119_daynightenabled.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210131170119_daynightenabled.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210131170119_daynightenabled.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210131170119_daynightenabled.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210131171039_overlayenabled.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210131171039_overlayenabled.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210131171039_overlayenabled.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210131171039_overlayenabled.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210131171039_overlayenabled.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210131171039_overlayenabled.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210131171039_overlayenabled.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210131171039_overlayenabled.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210131210307_agentcoordinates.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210131210307_agentcoordinates.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210131210307_agentcoordinates.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210131210307_agentcoordinates.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210131210307_agentcoordinates.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210131210307_agentcoordinates.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210131210307_agentcoordinates.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210131210307_agentcoordinates.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210202185642_agentlongitude.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210202185642_agentlongitude.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210202185642_agentlongitude.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210202185642_agentlongitude.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210202185642_agentlongitude.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210202185642_agentlongitude.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210202185642_agentlongitude.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210202185642_agentlongitude.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210204044124_timezone.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210204044124_timezone.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210204044124_timezone.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210204044124_timezone.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210204044124_timezone.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210204044124_timezone.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210204044124_timezone.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210204044124_timezone.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210206142616_lenientplates.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210206142616_lenientplates.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210206142616_lenientplates.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210206142616_lenientplates.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210206142616_lenientplates.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210206142616_lenientplates.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210206142616_lenientplates.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210206142616_lenientplates.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210207135441_overlayjobid.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210207135441_overlayjobid.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210207135441_overlayjobid.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210207135441_overlayjobid.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210207135441_overlayjobid.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210207135441_overlayjobid.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210207135441_overlayjobid.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210207135441_overlayjobid.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210209011503_ipaddress2.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210209011503_ipaddress2.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210209011503_ipaddress2.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210209011503_ipaddress2.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210209011503_ipaddress2.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210209011503_ipaddress2.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210209011503_ipaddress2.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210209011503_ipaddress2.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210211031223_openalprenabled.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210211031223_openalprenabled.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210211031223_openalprenabled.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210211031223_openalprenabled.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210211031223_openalprenabled.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210211031223_openalprenabled.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210211031223_openalprenabled.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210211031223_openalprenabled.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210605141255_webhookforwards.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210605141255_webhookforwards.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210605141255_webhookforwards.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210605141255_webhookforwards.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210605141255_webhookforwards.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210605141255_webhookforwards.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210605141255_webhookforwards.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210605141255_webhookforwards.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210606180853_moreforwardoptions.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210606180853_moreforwardoptions.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210606180853_moreforwardoptions.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210606180853_moreforwardoptions.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210606180853_moreforwardoptions.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210606180853_moreforwardoptions.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210606180853_moreforwardoptions.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210606180853_moreforwardoptions.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210609034639_zoomfocus.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210609034639_zoomfocus.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210609034639_zoomfocus.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210609034639_zoomfocus.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210609034639_zoomfocus.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210609034639_zoomfocus.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210609034639_zoomfocus.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210609034639_zoomfocus.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210615041625_lastScrapeEpoch.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210615041625_lastScrapeEpoch.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210615041625_lastScrapeEpoch.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210615041625_lastScrapeEpoch.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210615041625_lastScrapeEpoch.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210615041625_lastScrapeEpoch.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210615041625_lastScrapeEpoch.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210615041625_lastScrapeEpoch.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210616121328_region.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210616121328_region.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210616121328_region.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210616121328_region.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210616121328_region.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210616121328_region.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210616121328_region.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210616121328_region.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210617142110_vehicleDescription.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210617142110_vehicleDescription.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210617142110_vehicleDescription.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210617142110_vehicleDescription.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210617142110_vehicleDescription.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210617142110_vehicleDescription.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210617142110_vehicleDescription.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210617142110_vehicleDescription.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210621141700_vehicleregion.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210621141700_vehicleregion.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210621141700_vehicleregion.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210621141700_vehicleregion.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210621141700_vehicleregion.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210621141700_vehicleregion.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210621141700_vehicleregion.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210621141700_vehicleregion.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210630203639_pushover.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210630203639_pushover.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210630203639_pushover.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210630203639_pushover.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210630203639_pushover.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210630203639_pushover.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210630203639_pushover.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210630203639_pushover.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210705123821_notes.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210705123821_notes.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210705123821_notes.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210705123821_notes.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210705123821_notes.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210705123821_notes.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210705123821_notes.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210705123821_notes.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210721000827_enricher.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210721000827_enricher.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210721000827_enricher.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210721000827_enricher.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210721000827_enricher.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210721000827_enricher.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210721000827_enricher.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210721000827_enricher.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210721014327_enricherenabled.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210721014327_enricherenabled.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210721014327_enricherenabled.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210721014327_enricherenabled.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210721014327_enricherenabled.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210721014327_enricherenabled.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210721014327_enricherenabled.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210721014327_enricherenabled.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210721024525_enricherEnum.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210721024525_enricherEnum.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210721024525_enricherEnum.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210721024525_enricherEnum.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210721024525_enricherEnum.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210721024525_enricherEnum.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210721024525_enricherEnum.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210721024525_enricherEnum.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210722135647_enriched.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210722135647_enriched.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210722135647_enriched.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210722135647_enriched.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210722135647_enriched.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210722135647_enriched.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210722135647_enriched.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210722135647_enriched.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210729025110_vehiclepreview.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210729025110_vehiclepreview.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210729025110_vehiclepreview.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210729025110_vehiclepreview.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20210729025110_vehiclepreview.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20210729025110_vehiclepreview.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20210729025110_vehiclepreview.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20210729025110_vehiclepreview.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211014201523_rawplates.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211014201523_rawplates.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211014201523_rawplates.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211014201523_rawplates.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211014201523_rawplates.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211014201523_rawplates.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211014201523_rawplates.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211014201523_rawplates.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211030135644_foreignkey.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211030135644_foreignkey.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211030135644_foreignkey.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211030135644_foreignkey.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211030135644_foreignkey.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211030135644_foreignkey.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211030135644_foreignkey.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211030135644_foreignkey.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211102182616_storeImages.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211102182616_storeImages.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211102182616_storeImages.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211102182616_storeImages.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211102182616_storeImages.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211102182616_storeImages.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211102182616_storeImages.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211102182616_storeImages.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211102203109_uuidindex.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211102203109_uuidindex.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211102203109_uuidindex.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211102203109_uuidindex.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211102203109_uuidindex.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211102203109_uuidindex.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211102203109_uuidindex.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211102203109_uuidindex.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211103170831_nullable.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211103170831_nullable.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211103170831_nullable.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211103170831_nullable.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20211103170831_nullable.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20211103170831_nullable.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20211103170831_nullable.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20211103170831_nullable.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20220223003843_possibleNumbersToList.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20220223003843_possibleNumbersToList.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20220223003843_possibleNumbersToList.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20220223003843_possibleNumbersToList.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20220223003843_possibleNumbersToList.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20220223003843_possibleNumbersToList.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20220223003843_possibleNumbersToList.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20220223003843_possibleNumbersToList.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20220308151115_nullablelatlon.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20220308151115_nullablelatlon.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20220308151115_nullablelatlon.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20220308151115_nullablelatlon.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20220308151115_nullablelatlon.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20220308151115_nullablelatlon.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20220308151115_nullablelatlon.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20220308151115_nullablelatlon.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231030144402_possiblenumberindex.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231030144402_possiblenumberindex.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231030144402_possiblenumberindex.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231030144402_possiblenumberindex.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231030144402_possiblenumberindex.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231030144402_possiblenumberindex.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231030144402_possiblenumberindex.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231030144402_possiblenumberindex.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231101133429_removePreviewJpegs.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231101133429_removePreviewJpegs.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231101133429_removePreviewJpegs.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231101133429_removePreviewJpegs.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231101133429_removePreviewJpegs.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231101133429_removePreviewJpegs.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231101133429_removePreviewJpegs.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231101133429_removePreviewJpegs.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231101210623_imagecompression.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231101210623_imagecompression.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231101210623_imagecompression.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231101210623_imagecompression.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231101210623_imagecompression.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231101210623_imagecompression.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231101210623_imagecompression.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231101210623_imagecompression.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231102123548_filterindexes.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231102123548_filterindexes.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231102123548_filterindexes.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231102123548_filterindexes.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231102123548_filterindexes.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231102123548_filterindexes.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231102123548_filterindexes.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231102123548_filterindexes.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231103154356_possibleplatefk.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231103154356_possibleplatefk.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231103154356_possibleplatefk.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231103154356_possibleplatefk.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231103154356_possibleplatefk.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231103154356_possibleplatefk.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231103154356_possibleplatefk.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231103154356_possibleplatefk.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231104132311_splitImages.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231104132311_splitImages.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231104132311_splitImages.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231104132311_splitImages.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231104132311_splitImages.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231104132311_splitImages.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231104132311_splitImages.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231104132311_splitImages.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231105153059_pushnotification.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231105153059_pushnotification.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231105153059_pushnotification.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231105153059_pushnotification.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231105153059_pushnotification.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231105153059_pushnotification.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231105153059_pushnotification.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231105153059_pushnotification.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231105221859_webpush.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231105221859_webpush.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231105221859_webpush.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231105221859_webpush.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231105221859_webpush.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231105221859_webpush.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231105221859_webpush.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231105221859_webpush.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231106012346_isenabled.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231106012346_isenabled.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231106012346_isenabled.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231106012346_isenabled.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231106012346_isenabled.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231106012346_isenabled.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231106012346_isenabled.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231106012346_isenabled.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231108155619_heartbeatms.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231108155619_heartbeatms.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231108155619_heartbeatms.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231108155619_heartbeatms.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231108155619_heartbeatms.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231108155619_heartbeatms.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231108155619_heartbeatms.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231108155619_heartbeatms.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231110134546_cameramask.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231110134546_cameramask.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231110134546_cameramask.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231110134546_cameramask.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231110134546_cameramask.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231110134546_cameramask.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231110134546_cameramask.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231110134546_cameramask.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231120142953_allenabled.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231120142953_allenabled.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231120142953_allenabled.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231120142953_allenabled.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231120142953_allenabled.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231120142953_allenabled.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231120142953_allenabled.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231120142953_allenabled.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231121130949_scheduledscrape.Designer.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231121130949_scheduledscrape.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231121130949_scheduledscrape.Designer.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231121130949_scheduledscrape.Designer.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/20231121130949_scheduledscrape.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/20231121130949_scheduledscrape.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/20231121130949_scheduledscrape.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/20231121130949_scheduledscrape.cs diff --git a/OpenAlprWebhookProcessor/Data/Migrations/ProcessorContextModelSnapshot.cs b/OpenAlprWebhookProcessor.Server/Data/Migrations/ProcessorContextModelSnapshot.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Migrations/ProcessorContextModelSnapshot.cs rename to OpenAlprWebhookProcessor.Server/Data/Migrations/ProcessorContextModelSnapshot.cs diff --git a/OpenAlprWebhookProcessor/Data/PlateGroup.cs b/OpenAlprWebhookProcessor.Server/Data/PlateGroup.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/PlateGroup.cs rename to OpenAlprWebhookProcessor.Server/Data/PlateGroup.cs diff --git a/OpenAlprWebhookProcessor/Data/PlateGroupPossibleNumbers.cs b/OpenAlprWebhookProcessor.Server/Data/PlateGroupPossibleNumbers.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/PlateGroupPossibleNumbers.cs rename to OpenAlprWebhookProcessor.Server/Data/PlateGroupPossibleNumbers.cs diff --git a/OpenAlprWebhookProcessor/Data/PlateImage.cs b/OpenAlprWebhookProcessor.Server/Data/PlateImage.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/PlateImage.cs rename to OpenAlprWebhookProcessor.Server/Data/PlateImage.cs diff --git a/OpenAlprWebhookProcessor/Data/ProcessorContext.cs b/OpenAlprWebhookProcessor.Server/Data/ProcessorContext.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/ProcessorContext.cs rename to OpenAlprWebhookProcessor.Server/Data/ProcessorContext.cs diff --git a/OpenAlprWebhookProcessor/Data/Pushover.cs b/OpenAlprWebhookProcessor.Server/Data/Pushover.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/Pushover.cs rename to OpenAlprWebhookProcessor.Server/Data/Pushover.cs diff --git a/OpenAlprWebhookProcessor/Data/VehicleImage.cs b/OpenAlprWebhookProcessor.Server/Data/VehicleImage.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/VehicleImage.cs rename to OpenAlprWebhookProcessor.Server/Data/VehicleImage.cs diff --git a/OpenAlprWebhookProcessor/Data/WebPushSettings.cs b/OpenAlprWebhookProcessor.Server/Data/WebPushSettings.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/WebPushSettings.cs rename to OpenAlprWebhookProcessor.Server/Data/WebPushSettings.cs diff --git a/OpenAlprWebhookProcessor/Data/WebPushSubscription.cs b/OpenAlprWebhookProcessor.Server/Data/WebPushSubscription.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/WebPushSubscription.cs rename to OpenAlprWebhookProcessor.Server/Data/WebPushSubscription.cs diff --git a/OpenAlprWebhookProcessor/Data/WebPushSubscriptionKey.cs b/OpenAlprWebhookProcessor.Server/Data/WebPushSubscriptionKey.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/WebPushSubscriptionKey.cs rename to OpenAlprWebhookProcessor.Server/Data/WebPushSubscriptionKey.cs diff --git a/OpenAlprWebhookProcessor/Data/WebhookForward.cs b/OpenAlprWebhookProcessor.Server/Data/WebhookForward.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/WebhookForward.cs rename to OpenAlprWebhookProcessor.Server/Data/WebhookForward.cs diff --git a/OpenAlprWebhookProcessor/Data/WebhookRaw.cs b/OpenAlprWebhookProcessor.Server/Data/WebhookRaw.cs similarity index 100% rename from OpenAlprWebhookProcessor/Data/WebhookRaw.cs rename to OpenAlprWebhookProcessor.Server/Data/WebhookRaw.cs diff --git a/OpenAlprWebhookProcessor.Server/Dockerfile b/OpenAlprWebhookProcessor.Server/Dockerfile new file mode 100644 index 00000000..89907e2f --- /dev/null +++ b/OpenAlprWebhookProcessor.Server/Dockerfile @@ -0,0 +1,34 @@ +#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. + +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +USER app +WORKDIR /app +EXPOSE 8080 + +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src + +RUN apt-get update && apt-get install -y ca-certificates curl gnupg \ + && mkdir -p /etc/apt/keyrings \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && NODE_MAJOR=20 \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && apt-get update && apt-get install nodejs -y + +COPY ["openalprwebhookprocessor.client/nuget.config", "openalprwebhookprocessor.client/"] +COPY ["OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.csproj", "OpenAlprWebhookProcessor.Server/"] +COPY ["openalprwebhookprocessor.client/openalprwebhookprocessor.client.esproj", "openalprwebhookprocessor.client/"] +RUN dotnet restore "./OpenAlprWebhookProcessor.Server/./OpenAlprWebhookProcessor.Server.csproj" +COPY . . +WORKDIR "/src/OpenAlprWebhookProcessor.Server" +RUN dotnet build "./OpenAlprWebhookProcessor.Server.csproj" -c $BUILD_CONFIGURATION -o /app/build + +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./OpenAlprWebhookProcessor.Server.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "OpenAlprWebhookProcessor.Server.dll"] \ No newline at end of file diff --git a/OpenAlprWebhookProcessor/Hydration/HydrationService.cs b/OpenAlprWebhookProcessor.Server/Hydration/HydrationService.cs similarity index 100% rename from OpenAlprWebhookProcessor/Hydration/HydrationService.cs rename to OpenAlprWebhookProcessor.Server/Hydration/HydrationService.cs diff --git a/OpenAlprWebhookProcessor/ImageRelay/GetImage/GetImageHandler.cs b/OpenAlprWebhookProcessor.Server/ImageRelay/GetImage/GetImageHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/ImageRelay/GetImage/GetImageHandler.cs rename to OpenAlprWebhookProcessor.Server/ImageRelay/GetImage/GetImageHandler.cs diff --git a/OpenAlprWebhookProcessor/ImageRelay/GetImage/IGetImageHandler.cs b/OpenAlprWebhookProcessor.Server/ImageRelay/GetImage/IGetImageHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/ImageRelay/GetImage/IGetImageHandler.cs rename to OpenAlprWebhookProcessor.Server/ImageRelay/GetImage/IGetImageHandler.cs diff --git a/OpenAlprWebhookProcessor/ImageRelay/ImageRelayController.cs b/OpenAlprWebhookProcessor.Server/ImageRelay/ImageRelayController.cs similarity index 98% rename from OpenAlprWebhookProcessor/ImageRelay/ImageRelayController.cs rename to OpenAlprWebhookProcessor.Server/ImageRelay/ImageRelayController.cs index a2361b4b..2f1396e4 100644 --- a/OpenAlprWebhookProcessor/ImageRelay/ImageRelayController.cs +++ b/OpenAlprWebhookProcessor.Server/ImageRelay/ImageRelayController.cs @@ -9,7 +9,7 @@ namespace OpenAlprWebhookProcessor.ImageRelay { [Authorize] [ApiController] - [Route("images")] + [Route("api/images")] public class ImageRelayController : ControllerBase { private readonly GetSnapshotHandler _getSnapshotHandler; diff --git a/OpenAlprWebhookProcessor/ImageRelay/SnapshotRelay/GetSnapshotHandler.cs b/OpenAlprWebhookProcessor.Server/ImageRelay/SnapshotRelay/GetSnapshotHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/ImageRelay/SnapshotRelay/GetSnapshotHandler.cs rename to OpenAlprWebhookProcessor.Server/ImageRelay/SnapshotRelay/GetSnapshotHandler.cs diff --git a/OpenAlprWebhookProcessor/ImageRelay/SnapshotWebSocketRelay/GetSnapshotHandler.cs b/OpenAlprWebhookProcessor.Server/ImageRelay/SnapshotWebSocketRelay/GetSnapshotHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/ImageRelay/SnapshotWebSocketRelay/GetSnapshotHandler.cs rename to OpenAlprWebhookProcessor.Server/ImageRelay/SnapshotWebSocketRelay/GetSnapshotHandler.cs diff --git a/OpenAlprWebhookProcessor/LICENSE b/OpenAlprWebhookProcessor.Server/LICENSE similarity index 100% rename from OpenAlprWebhookProcessor/LICENSE rename to OpenAlprWebhookProcessor.Server/LICENSE diff --git a/OpenAlprWebhookProcessor/LicensePlates/DeletePlate/DeleteLicensePlateGroupRequestHandler.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/DeletePlate/DeleteLicensePlateGroupRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/DeletePlate/DeleteLicensePlateGroupRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/DeletePlate/DeleteLicensePlateGroupRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/Enricher/EnrichLicensePlateRequestHandler.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/EnrichLicensePlateRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/Enricher/EnrichLicensePlateRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/EnrichLicensePlateRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/Enricher/EnrichedLicensePlate.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/EnrichedLicensePlate.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/Enricher/EnrichedLicensePlate.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/EnrichedLicensePlate.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/Enricher/EnricherType.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/EnricherType.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/Enricher/EnricherType.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/EnricherType.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/Enricher/ILicensePlateEnricherClient.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/ILicensePlateEnricherClient.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/Enricher/ILicensePlateEnricherClient.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/ILicensePlateEnricherClient.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/Enricher/LicensePlateData/LicensePlateDataClient.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/LicensePlateData/LicensePlateDataClient.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/Enricher/LicensePlateData/LicensePlateDataClient.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/LicensePlateData/LicensePlateDataClient.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/Enricher/LicensePlateData/LicensePlateDataRoot.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/LicensePlateData/LicensePlateDataRoot.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/Enricher/LicensePlateData/LicensePlateDataRoot.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/LicensePlateData/LicensePlateDataRoot.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/Enricher/LicensePlateData/LicensePlateLookup.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/LicensePlateData/LicensePlateLookup.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/Enricher/LicensePlateData/LicensePlateLookup.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/Enricher/LicensePlateData/LicensePlateLookup.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetLicensePlateCounts/DayCount.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetLicensePlateCounts/DayCount.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetLicensePlateCounts/DayCount.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetLicensePlateCounts/DayCount.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsHandler.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsHandler.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsHandler.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsRequest.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsRequest.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsRequest.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsResponse.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsResponse.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsResponse.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetLicensePlateCounts/GetLicensePlateCountsResponse.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetPlate/GetPlateHandler.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetPlate/GetPlateHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetPlate/GetPlateHandler.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetPlate/GetPlateHandler.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetPlate/SearchLicensePlateResponse.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetPlate/SearchLicensePlateResponse.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetPlate/SearchLicensePlateResponse.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetPlate/SearchLicensePlateResponse.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetPlateFilters/GetLicensePlateFiltersHandler.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetPlateFilters/GetLicensePlateFiltersHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetPlateFilters/GetLicensePlateFiltersHandler.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetPlateFilters/GetLicensePlateFiltersHandler.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetPlateFilters/GetLicensePlateFiltersResponse.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetPlateFilters/GetLicensePlateFiltersResponse.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetPlateFilters/GetLicensePlateFiltersResponse.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetPlateFilters/GetLicensePlateFiltersResponse.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetStatistics/GetStatisticsHandler.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetStatistics/GetStatisticsHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetStatistics/GetStatisticsHandler.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetStatistics/GetStatisticsHandler.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/GetStatistics/PlateStatistics.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/GetStatistics/PlateStatistics.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/GetStatistics/PlateStatistics.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/GetStatistics/PlateStatistics.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/LicensePlate.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/LicensePlate.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/LicensePlate.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/LicensePlate.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/LicensePlatesController.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/LicensePlatesController.cs similarity index 99% rename from OpenAlprWebhookProcessor/LicensePlates/LicensePlatesController.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/LicensePlatesController.cs index 6f140ad5..c22a9458 100644 --- a/OpenAlprWebhookProcessor/LicensePlates/LicensePlatesController.cs +++ b/OpenAlprWebhookProcessor.Server/LicensePlates/LicensePlatesController.cs @@ -16,7 +16,7 @@ namespace OpenAlprWebhookProcessor.LicensePlates { [Authorize] [ApiController] - [Route("licensePlates")] + [Route("/api/licensePlates")] public class LicensePlatesController : ControllerBase { private readonly SearchLicensePlateHandler _searchLicensePlateHandler; diff --git a/OpenAlprWebhookProcessor/LicensePlates/PlateMapper.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/PlateMapper.cs similarity index 91% rename from OpenAlprWebhookProcessor/LicensePlates/PlateMapper.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/PlateMapper.cs index 206f7cb1..ca626e00 100644 --- a/OpenAlprWebhookProcessor/LicensePlates/PlateMapper.cs +++ b/OpenAlprWebhookProcessor.Server/LicensePlates/PlateMapper.cs @@ -18,9 +18,9 @@ public static LicensePlate MapPlate( { AlertDescription = plate.AlertDescription, Direction = plate.Direction, - ImageUrl = new Uri($"/images/{plate.OpenAlprUuid}", UriKind.Relative), + ImageUrl = new Uri($"/api/images/{plate.OpenAlprUuid}", UriKind.Relative), CanBeEnriched = !plate.IsEnriched, - CropImageUrl = new Uri($"/images/crop/{plate.OpenAlprUuid}", UriKind.Relative), + CropImageUrl = new Uri($"/api/images/crop/{plate.OpenAlprUuid}", UriKind.Relative), Id = plate.Id, IsAlert = platesToAlert?.Contains(plate.BestNumber) ?? false, IsIgnore = platesToIgnore?.Contains(plate.BestNumber) ?? false, diff --git a/OpenAlprWebhookProcessor/LicensePlates/SearchLicensePlates/SearchLicensePlateHandler.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/SearchLicensePlates/SearchLicensePlateHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/SearchLicensePlates/SearchLicensePlateHandler.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/SearchLicensePlates/SearchLicensePlateHandler.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/SearchLicensePlates/SearchLicensePlateRequest.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/SearchLicensePlates/SearchLicensePlateRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/SearchLicensePlates/SearchLicensePlateRequest.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/SearchLicensePlates/SearchLicensePlateRequest.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/SearchLicensePlates/SearchLicensePlateResponse.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/SearchLicensePlates/SearchLicensePlateResponse.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/SearchLicensePlates/SearchLicensePlateResponse.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/SearchLicensePlates/SearchLicensePlateResponse.cs diff --git a/OpenAlprWebhookProcessor/LicensePlates/UpsertPlate/UpsertPlateRequestHandler.cs b/OpenAlprWebhookProcessor.Server/LicensePlates/UpsertPlate/UpsertPlateRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/LicensePlates/UpsertPlate/UpsertPlateRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/LicensePlates/UpsertPlate/UpsertPlateRequestHandler.cs diff --git a/OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.csproj b/OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.csproj new file mode 100644 index 00000000..5781b02f --- /dev/null +++ b/OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.csproj @@ -0,0 +1,54 @@ + + + + net8.0 + true + Latest + ..\openalprwebhookprocessor.client + npm start + https://localhost:4200 + Linux + + + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + + + + + + + + false + + + + diff --git a/OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.http b/OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.http new file mode 100644 index 00000000..fd312464 --- /dev/null +++ b/OpenAlprWebhookProcessor.Server/OpenAlprWebhookProcessor.Server.http @@ -0,0 +1,6 @@ +@AngularApp1.Server_HostAddress = https://localhost:5001 + +GET {{AngularApp1.Server_HostAddress}}/plates/ +Accept: application/json + +### diff --git a/OpenAlprWebhookProcessor/ProcessorHub/IProcessorHub.cs b/OpenAlprWebhookProcessor.Server/ProcessorHub/IProcessorHub.cs similarity index 100% rename from OpenAlprWebhookProcessor/ProcessorHub/IProcessorHub.cs rename to OpenAlprWebhookProcessor.Server/ProcessorHub/IProcessorHub.cs diff --git a/OpenAlprWebhookProcessor/ProcessorHub/ProcessorHub.cs b/OpenAlprWebhookProcessor.Server/ProcessorHub/ProcessorHub.cs similarity index 100% rename from OpenAlprWebhookProcessor/ProcessorHub/ProcessorHub.cs rename to OpenAlprWebhookProcessor.Server/ProcessorHub/ProcessorHub.cs diff --git a/OpenAlprWebhookProcessor/Program.cs b/OpenAlprWebhookProcessor.Server/Program.cs similarity index 100% rename from OpenAlprWebhookProcessor/Program.cs rename to OpenAlprWebhookProcessor.Server/Program.cs diff --git a/OpenAlprWebhookProcessor.Server/Properties/launchSettings.json b/OpenAlprWebhookProcessor.Server/Properties/launchSettings.json new file mode 100644 index 00000000..8a64ba9e --- /dev/null +++ b/OpenAlprWebhookProcessor.Server/Properties/launchSettings.json @@ -0,0 +1,42 @@ +{ + "profiles": { + "http": { + "commandName": "Project", + "launchBrowser": true, + "launchUrl": "plates", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.SpaProxy" + }, + "dotnetRunMessages": true, + "applicationUrl": "https://localhost:5001" + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "plates", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.SpaProxy" + } + }, + "Docker": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/plates", + "environmentVariables": { + "ASPNETCORE_HTTP_PORTS": "8080" + }, + "publishAllPorts": true + } + }, + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:2686", + "sslPort": 0 + } + } +} \ No newline at end of file diff --git a/OpenAlprWebhookProcessor/Settings/Agent.cs b/OpenAlprWebhookProcessor.Server/Settings/Agent.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/Agent.cs rename to OpenAlprWebhookProcessor.Server/Settings/Agent.cs diff --git a/OpenAlprWebhookProcessor/Settings/AgentHydration/AgentScrapeRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/AgentHydration/AgentScrapeRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/AgentHydration/AgentScrapeRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/AgentHydration/AgentScrapeRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/AgentStatus.cs b/OpenAlprWebhookProcessor.Server/Settings/AgentStatus.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/AgentStatus.cs rename to OpenAlprWebhookProcessor.Server/Settings/AgentStatus.cs diff --git a/OpenAlprWebhookProcessor/Settings/DeleteDebugPlateGroups/DeleteDebugPlateGroupRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/DeleteDebugPlateGroups/DeleteDebugPlateGroupRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/DeleteDebugPlateGroups/DeleteDebugPlateGroupRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/DeleteDebugPlateGroups/DeleteDebugPlateGroupRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/DisableAgent/DisableAgentRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/DisableAgent/DisableAgentRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/DisableAgent/DisableAgentRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/DisableAgent/DisableAgentRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/EnableAgent/EnableAgentRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/EnableAgent/EnableAgentRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/EnableAgent/EnableAgentRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/EnableAgent/EnableAgentRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/Enrichers/Enricher.cs b/OpenAlprWebhookProcessor.Server/Settings/Enrichers/Enricher.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/Enrichers/Enricher.cs rename to OpenAlprWebhookProcessor.Server/Settings/Enrichers/Enricher.cs diff --git a/OpenAlprWebhookProcessor/Settings/Enrichers/EnrichmentType.cs b/OpenAlprWebhookProcessor.Server/Settings/Enrichers/EnrichmentType.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/Enrichers/EnrichmentType.cs rename to OpenAlprWebhookProcessor.Server/Settings/Enrichers/EnrichmentType.cs diff --git a/OpenAlprWebhookProcessor/Settings/Enrichers/GetEnrichersRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/Enrichers/GetEnrichersRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/Enrichers/GetEnrichersRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/Enrichers/GetEnrichersRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/Enrichers/TestEnricherRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/Enrichers/TestEnricherRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/Enrichers/TestEnricherRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/Enrichers/TestEnricherRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/Enrichers/UpsertEnricherRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/Enrichers/UpsertEnricherRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/Enrichers/UpsertEnricherRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/Enrichers/UpsertEnricherRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/GetAgent/GetAgentRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/GetAgent/GetAgentRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/GetAgent/GetAgentRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/GetAgent/GetAgentRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/GetAgentStatus/GetAgentStatusRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/GetAgentStatus/GetAgentStatusRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/GetAgentStatus/GetAgentStatusRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/GetAgentStatus/GetAgentStatusRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/GetDebugPlateGroups/GetDebugPlateGroupRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/GetDebugPlateGroups/GetDebugPlateGroupRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/GetDebugPlateGroups/GetDebugPlateGroupRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/GetDebugPlateGroups/GetDebugPlateGroupRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/GetIgnores/GetIgnoresRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/GetIgnores/GetIgnoresRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/GetIgnores/GetIgnoresRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/GetIgnores/GetIgnoresRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/GetWebhookForwards/GetWebhookForwardsRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/GetWebhookForwards/GetWebhookForwardsRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/GetWebhookForwards/GetWebhookForwardsRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/GetWebhookForwards/GetWebhookForwardsRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/Ignore.cs b/OpenAlprWebhookProcessor.Server/Settings/Ignore.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/Ignore.cs rename to OpenAlprWebhookProcessor.Server/Settings/Ignore.cs diff --git a/OpenAlprWebhookProcessor/Settings/SettingsController.cs b/OpenAlprWebhookProcessor.Server/Settings/SettingsController.cs similarity index 99% rename from OpenAlprWebhookProcessor/Settings/SettingsController.cs rename to OpenAlprWebhookProcessor.Server/Settings/SettingsController.cs index dce13ff0..b0abb182 100644 --- a/OpenAlprWebhookProcessor/Settings/SettingsController.cs +++ b/OpenAlprWebhookProcessor.Server/Settings/SettingsController.cs @@ -16,7 +16,7 @@ namespace OpenAlprWebhookProcessor.Settings { [Authorize] [ApiController] - [Route("settings")] + [Route("/api/settings")] public class SettingsController : ControllerBase { private readonly GetAgentRequestHandler _getAgentRequestHandler; diff --git a/OpenAlprWebhookProcessor/Settings/UpsertAgent/UpsertAgentRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/UpsertAgent/UpsertAgentRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/UpsertAgent/UpsertAgentRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/UpsertAgent/UpsertAgentRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/UpsertIgnore/UpsertIgnoresRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/UpsertIgnore/UpsertIgnoresRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/UpsertIgnore/UpsertIgnoresRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/UpsertIgnore/UpsertIgnoresRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/UpsertWebhookForwards/UpsertWebhookForwardsRequestHandler.cs b/OpenAlprWebhookProcessor.Server/Settings/UpsertWebhookForwards/UpsertWebhookForwardsRequestHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/UpsertWebhookForwards/UpsertWebhookForwardsRequestHandler.cs rename to OpenAlprWebhookProcessor.Server/Settings/UpsertWebhookForwards/UpsertWebhookForwardsRequestHandler.cs diff --git a/OpenAlprWebhookProcessor/Settings/WebhookForward.cs b/OpenAlprWebhookProcessor.Server/Settings/WebhookForward.cs similarity index 100% rename from OpenAlprWebhookProcessor/Settings/WebhookForward.cs rename to OpenAlprWebhookProcessor.Server/Settings/WebhookForward.cs diff --git a/OpenAlprWebhookProcessor/Startup.cs b/OpenAlprWebhookProcessor.Server/Startup.cs similarity index 91% rename from OpenAlprWebhookProcessor/Startup.cs rename to OpenAlprWebhookProcessor.Server/Startup.cs index 209ef8c7..6c8f526e 100644 --- a/OpenAlprWebhookProcessor/Startup.cs +++ b/OpenAlprWebhookProcessor.Server/Startup.cs @@ -4,7 +4,6 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.SignalR; -using Microsoft.AspNetCore.SpaServices.AngularCli; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -72,7 +71,7 @@ public Startup(IConfiguration configuration) public void ConfigureServices(IServiceCollection services) { services.AddCors(); - services.AddControllersWithViews(); + services.AddControllers(); services.AddSignalR(); @@ -130,7 +129,7 @@ public void ConfigureServices(IServiceCollection services) OnMessageReceived = context => { if (string.IsNullOrWhiteSpace(context.Token) - && context.HttpContext.Request.Path.StartsWithSegments("/images", StringComparison.OrdinalIgnoreCase)) + && context.HttpContext.Request.Path.StartsWithSegments("/api/images", StringComparison.OrdinalIgnoreCase)) { context.Token = context.Request.Cookies["jwtToken"]; } @@ -141,11 +140,6 @@ public void ConfigureServices(IServiceCollection services) }); } - services.AddSpaStaticFiles(configuration => - { - configuration.RootPath = "angularapp/dist"; - }); - services.AddScoped(); services.AddDbContext(options => @@ -251,34 +245,15 @@ public void ConfigureServices(IServiceCollection services) services.AddMemoryCache(); } - public void Configure( - IApplicationBuilder app, - IWebHostEnvironment env) + public void Configure(IApplicationBuilder app) { - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Error"); - - app.UseHsts(); - } - app.UseSerilogRequestLogging(); + app.UseDefaultFiles(); app.UseStaticFiles(); app.UseHangfireDashboard(); - if (!env.IsDevelopment()) - { - app.UseSpaStaticFiles(); - } - - app.UseRouting(); - app.UseCors(x => x .AllowAnyOrigin() .AllowAnyMethod() @@ -294,23 +269,16 @@ public void Configure( app.UseWebSockets(webSocketOptions); app.UseAuthentication(); + + app.UseRouting(); + app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); - endpoints.MapHub("/processorhub"); - endpoints.MapHangfireDashboard(); - }); - - app.UseSpa(spa => - { - spa.Options.SourcePath = "angularapp"; - - if (env.IsDevelopment()) - { - spa.UseAngularCliServer(npmScript: "start"); - } + endpoints.MapFallbackToFile("/index.html"); + endpoints.MapHub("/api/processorHub"); }); Log.Logger = new LoggerConfiguration() diff --git a/OpenAlprWebhookProcessor/SystemLogs/LogsController.cs b/OpenAlprWebhookProcessor.Server/SystemLogs/LogsController.cs similarity index 98% rename from OpenAlprWebhookProcessor/SystemLogs/LogsController.cs rename to OpenAlprWebhookProcessor.Server/SystemLogs/LogsController.cs index 5b9d886b..b8f6d987 100644 --- a/OpenAlprWebhookProcessor/SystemLogs/LogsController.cs +++ b/OpenAlprWebhookProcessor.Server/SystemLogs/LogsController.cs @@ -10,7 +10,7 @@ namespace OpenAlprWebhookProcessor.SystemLogs { [Authorize] [ApiController] - [Route("logs")] + [Route("api/logs")] public class LogsController : ControllerBase { public LogsController() diff --git a/OpenAlprWebhookProcessor/SystemLogs/SignalrSink.cs b/OpenAlprWebhookProcessor.Server/SystemLogs/SignalrSink.cs similarity index 100% rename from OpenAlprWebhookProcessor/SystemLogs/SignalrSink.cs rename to OpenAlprWebhookProcessor.Server/SystemLogs/SignalrSink.cs diff --git a/OpenAlprWebhookProcessor/SystemLogs/SignalrSinkExtension.cs b/OpenAlprWebhookProcessor.Server/SystemLogs/SignalrSinkExtension.cs similarity index 100% rename from OpenAlprWebhookProcessor/SystemLogs/SignalrSinkExtension.cs rename to OpenAlprWebhookProcessor.Server/SystemLogs/SignalrSinkExtension.cs diff --git a/OpenAlprWebhookProcessor/Users/AppException.cs b/OpenAlprWebhookProcessor.Server/Users/AppException.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/AppException.cs rename to OpenAlprWebhookProcessor.Server/Users/AppException.cs diff --git a/OpenAlprWebhookProcessor/Users/AuthenticateRequest.cs b/OpenAlprWebhookProcessor.Server/Users/AuthenticateRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/AuthenticateRequest.cs rename to OpenAlprWebhookProcessor.Server/Users/AuthenticateRequest.cs diff --git a/OpenAlprWebhookProcessor/Users/AuthenticateResponse.cs b/OpenAlprWebhookProcessor.Server/Users/AuthenticateResponse.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/AuthenticateResponse.cs rename to OpenAlprWebhookProcessor.Server/Users/AuthenticateResponse.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/JwtKey.cs b/OpenAlprWebhookProcessor.Server/Users/Data/JwtKey.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/JwtKey.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/JwtKey.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/Migrations/20210109222644_initial.Designer.cs b/OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210109222644_initial.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/Migrations/20210109222644_initial.Designer.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210109222644_initial.Designer.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/Migrations/20210109222644_initial.cs b/OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210109222644_initial.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/Migrations/20210109222644_initial.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210109222644_initial.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/Migrations/20210110015325_registration.Designer.cs b/OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210110015325_registration.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/Migrations/20210110015325_registration.Designer.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210110015325_registration.Designer.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/Migrations/20210110015325_registration.cs b/OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210110015325_registration.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/Migrations/20210110015325_registration.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210110015325_registration.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/Migrations/20210121171455_jwtKey.Designer.cs b/OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210121171455_jwtKey.Designer.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/Migrations/20210121171455_jwtKey.Designer.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210121171455_jwtKey.Designer.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/Migrations/20210121171455_jwtKey.cs b/OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210121171455_jwtKey.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/Migrations/20210121171455_jwtKey.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/Migrations/20210121171455_jwtKey.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/Migrations/UsersContextModelSnapshot.cs b/OpenAlprWebhookProcessor.Server/Users/Data/Migrations/UsersContextModelSnapshot.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/Migrations/UsersContextModelSnapshot.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/Migrations/UsersContextModelSnapshot.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/User.cs b/OpenAlprWebhookProcessor.Server/Users/Data/User.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/User.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/User.cs diff --git a/OpenAlprWebhookProcessor/Users/Data/UsersContext.cs b/OpenAlprWebhookProcessor.Server/Users/Data/UsersContext.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Data/UsersContext.cs rename to OpenAlprWebhookProcessor.Server/Users/Data/UsersContext.cs diff --git a/OpenAlprWebhookProcessor/Users/JwtMiddleware.cs b/OpenAlprWebhookProcessor.Server/Users/JwtMiddleware.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/JwtMiddleware.cs rename to OpenAlprWebhookProcessor.Server/Users/JwtMiddleware.cs diff --git a/OpenAlprWebhookProcessor/Users/RefreshToken.cs b/OpenAlprWebhookProcessor.Server/Users/RefreshToken.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/RefreshToken.cs rename to OpenAlprWebhookProcessor.Server/Users/RefreshToken.cs diff --git a/OpenAlprWebhookProcessor/Users/Register/RegisterModel.cs b/OpenAlprWebhookProcessor.Server/Users/Register/RegisterModel.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/Register/RegisterModel.cs rename to OpenAlprWebhookProcessor.Server/Users/Register/RegisterModel.cs diff --git a/OpenAlprWebhookProcessor/Users/RevokeTokenRequest.cs b/OpenAlprWebhookProcessor.Server/Users/RevokeTokenRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/RevokeTokenRequest.cs rename to OpenAlprWebhookProcessor.Server/Users/RevokeTokenRequest.cs diff --git a/OpenAlprWebhookProcessor/Users/UpdateModel.cs b/OpenAlprWebhookProcessor.Server/Users/UpdateModel.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/UpdateModel.cs rename to OpenAlprWebhookProcessor.Server/Users/UpdateModel.cs diff --git a/OpenAlprWebhookProcessor/Users/UserModel.cs b/OpenAlprWebhookProcessor.Server/Users/UserModel.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/UserModel.cs rename to OpenAlprWebhookProcessor.Server/Users/UserModel.cs diff --git a/OpenAlprWebhookProcessor/Users/UserService.cs b/OpenAlprWebhookProcessor.Server/Users/UserService.cs similarity index 100% rename from OpenAlprWebhookProcessor/Users/UserService.cs rename to OpenAlprWebhookProcessor.Server/Users/UserService.cs diff --git a/OpenAlprWebhookProcessor/Users/UsersController.cs b/OpenAlprWebhookProcessor.Server/Users/UsersController.cs similarity index 99% rename from OpenAlprWebhookProcessor/Users/UsersController.cs rename to OpenAlprWebhookProcessor.Server/Users/UsersController.cs index 7e240807..cc70203a 100644 --- a/OpenAlprWebhookProcessor/Users/UsersController.cs +++ b/OpenAlprWebhookProcessor.Server/Users/UsersController.cs @@ -11,7 +11,7 @@ namespace OpenAlprWebhookProcessor.Users { [Authorize] [ApiController] - [Route("[controller]")] + [Route("api/[controller]")] public class UsersController : ControllerBase { private readonly IUserService _userService; diff --git a/OpenAlprWebhookProcessor/Utilities/VehicleUtilities.cs b/OpenAlprWebhookProcessor.Server/Utilities/VehicleUtilities.cs similarity index 100% rename from OpenAlprWebhookProcessor/Utilities/VehicleUtilities.cs rename to OpenAlprWebhookProcessor.Server/Utilities/VehicleUtilities.cs diff --git a/OpenAlprWebhookProcessor/WebPushSubscriptions/AngularWebPushNotification.cs b/OpenAlprWebhookProcessor.Server/WebPushSubscriptions/AngularWebPushNotification.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebPushSubscriptions/AngularWebPushNotification.cs rename to OpenAlprWebhookProcessor.Server/WebPushSubscriptions/AngularWebPushNotification.cs diff --git a/OpenAlprWebhookProcessor/WebPushSubscriptions/IWebPushSubscriptionsService.cs b/OpenAlprWebhookProcessor.Server/WebPushSubscriptions/IWebPushSubscriptionsService.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebPushSubscriptions/IWebPushSubscriptionsService.cs rename to OpenAlprWebhookProcessor.Server/WebPushSubscriptions/IWebPushSubscriptionsService.cs diff --git a/OpenAlprWebhookProcessor/WebPushSubscriptions/VapidKeys/VapidDetails.cs b/OpenAlprWebhookProcessor.Server/WebPushSubscriptions/VapidKeys/VapidDetails.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebPushSubscriptions/VapidKeys/VapidDetails.cs rename to OpenAlprWebhookProcessor.Server/WebPushSubscriptions/VapidKeys/VapidDetails.cs diff --git a/OpenAlprWebhookProcessor/WebPushSubscriptions/VapidKeys/VapidKeyGenerator.cs b/OpenAlprWebhookProcessor.Server/WebPushSubscriptions/VapidKeys/VapidKeyGenerator.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebPushSubscriptions/VapidKeys/VapidKeyGenerator.cs rename to OpenAlprWebhookProcessor.Server/WebPushSubscriptions/VapidKeys/VapidKeyGenerator.cs diff --git a/OpenAlprWebhookProcessor/WebPushSubscriptions/VapidKeys/VapidKeyHelper.cs b/OpenAlprWebhookProcessor.Server/WebPushSubscriptions/VapidKeys/VapidKeyHelper.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebPushSubscriptions/VapidKeys/VapidKeyHelper.cs rename to OpenAlprWebhookProcessor.Server/WebPushSubscriptions/VapidKeys/VapidKeyHelper.cs diff --git a/OpenAlprWebhookProcessor/WebPushSubscriptions/WebPushNotificationProducer.cs b/OpenAlprWebhookProcessor.Server/WebPushSubscriptions/WebPushNotificationProducer.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebPushSubscriptions/WebPushNotificationProducer.cs rename to OpenAlprWebhookProcessor.Server/WebPushSubscriptions/WebPushNotificationProducer.cs diff --git a/OpenAlprWebhookProcessor/WebPushSubscriptions/WebPushPublicKeyController.cs b/OpenAlprWebhookProcessor.Server/WebPushSubscriptions/WebPushPublicKeyController.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebPushSubscriptions/WebPushPublicKeyController.cs rename to OpenAlprWebhookProcessor.Server/WebPushSubscriptions/WebPushPublicKeyController.cs diff --git a/OpenAlprWebhookProcessor/WebPushSubscriptions/WebPushSubscriptionsController.cs b/OpenAlprWebhookProcessor.Server/WebPushSubscriptions/WebPushSubscriptionsController.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebPushSubscriptions/WebPushSubscriptionsController.cs rename to OpenAlprWebhookProcessor.Server/WebPushSubscriptions/WebPushSubscriptionsController.cs diff --git a/OpenAlprWebhookProcessor/WebPushSubscriptions/WebPushSubscriptionsService.cs b/OpenAlprWebhookProcessor.Server/WebPushSubscriptions/WebPushSubscriptionsService.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebPushSubscriptions/WebPushSubscriptionsService.cs rename to OpenAlprWebhookProcessor.Server/WebPushSubscriptions/WebPushSubscriptionsService.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/AddAgentResult.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/AddAgentResult.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/AddAgentResult.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/AddAgentResult.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/GroupWebhookHandler.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/GroupWebhookHandler.cs similarity index 98% rename from OpenAlprWebhookProcessor/WebhookProcessor/GroupWebhookHandler.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/GroupWebhookHandler.cs index 464d187e..4045b7a8 100644 --- a/OpenAlprWebhookProcessor/WebhookProcessor/GroupWebhookHandler.cs +++ b/OpenAlprWebhookProcessor.Server/WebhookProcessor/GroupWebhookHandler.cs @@ -184,7 +184,7 @@ public async Task HandleWebhookAsync( IsUrgent = true, PlateId = plateGroup.Id, PlateJpeg = plateJpeg, - PlateJpegUrl = $"/images/crop/{plateGroup.OpenAlprUuid}", + PlateJpegUrl = $"/api/images/crop/{plateGroup.OpenAlprUuid}", PlateNumber = alert.PlateNumber, ReceivedOn = receivedOn, }; @@ -199,7 +199,7 @@ public async Task HandleWebhookAsync( IsUrgent = false, PlateId = plateGroup.Id, PlateJpeg = plateJpeg, - PlateJpegUrl = $"/images/crop/{plateGroup.OpenAlprUuid}", + PlateJpegUrl = $"/api/images/crop/{plateGroup.OpenAlprUuid}", PlateNumber = plateGroup.BestNumber, ReceivedOn = receivedOn, }; diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/ImageRetrieverService.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/ImageRetrieverService.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/ImageRetrieverService.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/ImageRetrieverService.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprAgentScraper/OpenAlprAgentScraper.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprAgentScraper/OpenAlprAgentScraper.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprAgentScraper/OpenAlprAgentScraper.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprAgentScraper/OpenAlprAgentScraper.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprAgentScraper/ScrapeMetadata.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprAgentScraper/ScrapeMetadata.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprAgentScraper/ScrapeMetadata.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprAgentScraper/ScrapeMetadata.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Candidate.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Candidate.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Candidate.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Candidate.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Coordinate.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Coordinate.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Coordinate.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Coordinate.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Group.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Group.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Group.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Group.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Path.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Path.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Path.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Path.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Plate.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Plate.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Plate.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Plate.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/RegionsOfInterest.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/RegionsOfInterest.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/RegionsOfInterest.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/RegionsOfInterest.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Result.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Result.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Result.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Result.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/SinglePlate.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/SinglePlate.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/SinglePlate.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/SinglePlate.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Vehicle.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Vehicle.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Vehicle.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Vehicle.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/VehicleDetail.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/VehicleDetail.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/VehicleDetail.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/VehicleDetail.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/VehicleRegion.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/VehicleRegion.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/VehicleRegion.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/VehicleRegion.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/WebServerConfig.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/WebServerConfig.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/WebServerConfig.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/WebServerConfig.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Webhook.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Webhook.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebhook/Webhook.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebhook/Webhook.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AccountInfoResponse.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AccountInfoResponse.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AccountInfoResponse.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AccountInfoResponse.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AgentStartStopRequest.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AgentStartStopRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AgentStartStopRequest.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AgentStartStopRequest.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AgentStartStopResponse.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AgentStartStopResponse.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AgentStartStopResponse.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AgentStartStopResponse.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AgentStartStopType.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AgentStartStopType.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AgentStartStopType.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AgentStartStopType.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AgentStatusResponse.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AgentStatusResponse.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/AgentStatusResponse.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/AgentStatusResponse.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/ConfigInfoRequest.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/ConfigInfoRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/ConfigInfoRequest.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/ConfigInfoRequest.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/ConfigSaveMaskRequest.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/ConfigSaveMaskRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/ConfigSaveMaskRequest.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/ConfigSaveMaskRequest.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/ImageDownloadRequest.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/ImageDownloadRequest.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/ImageDownloadRequest.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/ImageDownloadRequest.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/ImageDownloadResponse.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/ImageDownloadResponse.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/ImageDownloadResponse.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/ImageDownloadResponse.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/OpenAlprWebsocketClient.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/OpenAlprWebsocketClient.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/OpenAlprWebsocketClient.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/OpenAlprWebsocketClient.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/RequestType.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/RequestType.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/RequestType.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/RequestType.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/WebsocketClientOrganizer.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/WebsocketClientOrganizer.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/WebsocketClientOrganizer.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/WebsocketClientOrganizer.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/WebsocketController.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/WebsocketController.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/OpenAlprWebsocket/WebsocketController.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/OpenAlprWebsocket/WebsocketController.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/SinglePlateWebhookHandler.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/SinglePlateWebhookHandler.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/SinglePlateWebhookHandler.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/SinglePlateWebhookHandler.cs diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/WebhookController.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/WebhookController.cs similarity index 99% rename from OpenAlprWebhookProcessor/WebhookProcessor/WebhookController.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/WebhookController.cs index 27c42702..1c8bf4cc 100644 --- a/OpenAlprWebhookProcessor/WebhookProcessor/WebhookController.cs +++ b/OpenAlprWebhookProcessor.Server/WebhookProcessor/WebhookController.cs @@ -13,7 +13,7 @@ namespace OpenAlprWebhookProcessor.WebhookProcessor { [ApiController] - [Route("webhook")] + [Route("api/webhook")] public class WebhookController : ControllerBase { private readonly ILogger _logger; diff --git a/OpenAlprWebhookProcessor/WebhookProcessor/WebhookForwarder.cs b/OpenAlprWebhookProcessor.Server/WebhookProcessor/WebhookForwarder.cs similarity index 100% rename from OpenAlprWebhookProcessor/WebhookProcessor/WebhookForwarder.cs rename to OpenAlprWebhookProcessor.Server/WebhookProcessor/WebhookForwarder.cs diff --git a/OpenAlprWebhookProcessor.Server/appsettings.development.json b/OpenAlprWebhookProcessor.Server/appsettings.development.json new file mode 100644 index 00000000..b0bacf42 --- /dev/null +++ b/OpenAlprWebhookProcessor.Server/appsettings.development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/OpenAlprWebhookProcessor.Server/appsettings.json b/OpenAlprWebhookProcessor.Server/appsettings.json new file mode 100644 index 00000000..22302771 --- /dev/null +++ b/OpenAlprWebhookProcessor.Server/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/OpenAlprWebhookProcessor/wwwroot/favicon.ico b/OpenAlprWebhookProcessor.Server/wwwroot/favicon.ico similarity index 100% rename from OpenAlprWebhookProcessor/wwwroot/favicon.ico rename to OpenAlprWebhookProcessor.Server/wwwroot/favicon.ico diff --git a/OpenAlprWebhookProcessor.sln b/OpenAlprWebhookProcessor.sln index c3bd9fb2..14ead73e 100644 --- a/OpenAlprWebhookProcessor.sln +++ b/OpenAlprWebhookProcessor.sln @@ -4,32 +4,48 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 17.7.34031.279 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{350E0804-C372-49AB-B670-75E037878FAF}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenAlprWebhookProcessor.Server", "OpenAlprWebhookProcessor.Server\OpenAlprWebhookProcessor.Server.csproj", "{F296E683-25F3-49B9-B82B-E17985808B3C}" +EndProject +Project("{54A90642-561A-4BB1-A94E-469ADEE60C69}") = "openalprwebhookprocessor.client", "openalprwebhookprocessor.client\openalprwebhookprocessor.client.esproj", "{C64F8F6D-B621-454A-AB2A-3E4B871FF8E8}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests", "Tests\Tests.csproj", "{620FC6F0-76E5-4E25-B1F4-35CF300BD22B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{A7D26F37-32A1-4955-A106-06EB26086033}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{10CE0744-F0DE-4BB7-B31B-FEFF65327CCB}" ProjectSection(SolutionItems) = preProject .github\workflows\docker-publish.yml = .github\workflows\docker-publish.yml EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenAlprWebhookProcessor", "OpenAlprWebhookProcessor\OpenAlprWebhookProcessor.csproj", "{7C3E9804-0A13-4060-B5FD-91A613647146}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{DD123D3E-8A09-4104-AF20-D5FBFAA6F52E}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7C3E9804-0A13-4060-B5FD-91A613647146}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7C3E9804-0A13-4060-B5FD-91A613647146}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7C3E9804-0A13-4060-B5FD-91A613647146}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7C3E9804-0A13-4060-B5FD-91A613647146}.Release|Any CPU.Build.0 = Release|Any CPU - {DD123D3E-8A09-4104-AF20-D5FBFAA6F52E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DD123D3E-8A09-4104-AF20-D5FBFAA6F52E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DD123D3E-8A09-4104-AF20-D5FBFAA6F52E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DD123D3E-8A09-4104-AF20-D5FBFAA6F52E}.Release|Any CPU.Build.0 = Release|Any CPU + {F296E683-25F3-49B9-B82B-E17985808B3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F296E683-25F3-49B9-B82B-E17985808B3C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F296E683-25F3-49B9-B82B-E17985808B3C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F296E683-25F3-49B9-B82B-E17985808B3C}.Release|Any CPU.Build.0 = Release|Any CPU + {C64F8F6D-B621-454A-AB2A-3E4B871FF8E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C64F8F6D-B621-454A-AB2A-3E4B871FF8E8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C64F8F6D-B621-454A-AB2A-3E4B871FF8E8}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {C64F8F6D-B621-454A-AB2A-3E4B871FF8E8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C64F8F6D-B621-454A-AB2A-3E4B871FF8E8}.Release|Any CPU.Build.0 = Release|Any CPU + {C64F8F6D-B621-454A-AB2A-3E4B871FF8E8}.Release|Any CPU.Deploy.0 = Release|Any CPU + {620FC6F0-76E5-4E25-B1F4-35CF300BD22B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {620FC6F0-76E5-4E25-B1F4-35CF300BD22B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {620FC6F0-76E5-4E25-B1F4-35CF300BD22B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {620FC6F0-76E5-4E25-B1F4-35CF300BD22B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {A7D26F37-32A1-4955-A106-06EB26086033} = {350E0804-C372-49AB-B670-75E037878FAF} + {10CE0744-F0DE-4BB7-B31B-FEFF65327CCB} = {A7D26F37-32A1-4955-A106-06EB26086033} + EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {CF708D1D-8C28-4A78-82C3-4E5A0D51B1A2} EndGlobalSection diff --git a/OpenAlprWebhookProcessor/Dockerfile b/OpenAlprWebhookProcessor/Dockerfile deleted file mode 100644 index 0e0fb759..00000000 --- a/OpenAlprWebhookProcessor/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. - -FROM mcr.microsoft.com/dotnet/aspnet:8.0-bookworm-slim-amd64 AS base -WORKDIR /app -EXPOSE 8080 -EXPOSE 443 - -FROM mcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim-amd64 AS build -WORKDIR /src - -RUN apt-get update && apt-get install -y ca-certificates curl gnupg \ - && mkdir -p /etc/apt/keyrings \ - && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ - && NODE_MAJOR=20 \ - && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ - && apt-get update && apt-get install nodejs -y - -COPY ["OpenAlprWebhookProcessor/OpenAlprWebhookProcessor.csproj", "OpenAlprWebhookProcessor/"] -RUN dotnet restore "OpenAlprWebhookProcessor/OpenAlprWebhookProcessor.csproj" -COPY . . -WORKDIR "/src/OpenAlprWebhookProcessor" -RUN dotnet build "OpenAlprWebhookProcessor.csproj" -c Release -o /app/build - -FROM build AS publish -RUN dotnet publish "OpenAlprWebhookProcessor.csproj" -c Release -o /app/publish - -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . -ENV SQLITE_TMPDIR=/app/config/ - -ENTRYPOINT ["dotnet", "OpenAlprWebhookProcessor.dll"] \ No newline at end of file diff --git a/OpenAlprWebhookProcessor/OpenAlprWebhookProcessor.csproj b/OpenAlprWebhookProcessor/OpenAlprWebhookProcessor.csproj deleted file mode 100644 index 2ff3ba3f..00000000 --- a/OpenAlprWebhookProcessor/OpenAlprWebhookProcessor.csproj +++ /dev/null @@ -1,102 +0,0 @@ - - - - net8.0 - true - Latest - false - angularapp\ - $(DefaultItemExcludes);$(SpaRoot)node_modules\** - - - false - eb21a92f-53a0-4b29-8342-fb1def2e11f1 - Linux - . - en - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %(DistFiles.Identity) - PreserveNewest - true - - - - - - - - - - - - - diff --git a/OpenAlprWebhookProcessor/Properties/launchSettings.json b/OpenAlprWebhookProcessor/Properties/launchSettings.json deleted file mode 100644 index 5fc96c36..00000000 --- a/OpenAlprWebhookProcessor/Properties/launchSettings.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "profiles": { - "OpenAlprWebhookProcessor": { - "commandName": "Project", - "launchBrowser": false, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "applicationUrl": "https://0.0.0.0:5001;http://0.0.0.0:5000" - }, - "Docker": { - "commandName": "Docker", - "launchBrowser": false, - "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", - "publishAllPorts": true, - "useSSL": true - } - } -} \ No newline at end of file diff --git a/Tests/AgentTests.cs b/Tests/AgentTests.cs index fa5b94a6..9cc50e3a 100644 --- a/Tests/AgentTests.cs +++ b/Tests/AgentTests.cs @@ -1,6 +1,3 @@ -using Microsoft.Data.Sqlite; -using Microsoft.EntityFrameworkCore; -using OpenAlprWebhookProcessor.Data; using OpenAlprWebhookProcessor.Settings; namespace Tests diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index 50d84bcb..2392d4bd 100644 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -1,4 +1,4 @@ - + net8.0 @@ -28,7 +28,7 @@ - + diff --git a/OpenAlprWebhookProcessor/angularapp/.browserslistrc b/openalprwebhookprocessor.client/.browserslistrc similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/.browserslistrc rename to openalprwebhookprocessor.client/.browserslistrc diff --git a/OpenAlprWebhookProcessor/angularapp/.editorconfig b/openalprwebhookprocessor.client/.editorconfig similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/.editorconfig rename to openalprwebhookprocessor.client/.editorconfig diff --git a/OpenAlprWebhookProcessor/angularapp/.eslintrc.json b/openalprwebhookprocessor.client/.eslintrc.json similarity index 61% rename from OpenAlprWebhookProcessor/angularapp/.eslintrc.json rename to openalprwebhookprocessor.client/.eslintrc.json index f6117ddc..f0bb979e 100644 --- a/OpenAlprWebhookProcessor/angularapp/.eslintrc.json +++ b/openalprwebhookprocessor.client/.eslintrc.json @@ -1,8 +1,9 @@ { - "plugins": [ - "@stylistic/ts" - ], - "root": true, + "env": { + "browser": true, + "node": true, + "es6": true + }, "ignorePatterns": [ "projects/**/*", "e2e/**/*", @@ -10,7 +11,7 @@ ], "overrides": [ { - "files": ["*.ts"], + "files": [ "*.ts" ], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", @@ -25,22 +26,30 @@ */ "@angular-eslint/directive-selector": [ "error", - { "type": "attribute", "prefix": "app", "style": "camelCase" } + { + "type": "attribute", + "prefix": "app", + "style": "camelCase" + } ], "@angular-eslint/component-selector": [ "error", - { "type": "element", "prefix": "app", "style": "kebab-case" } + { + "type": "element", + "prefix": "app", + "style": "kebab-case" + } ], - "@stylistic/ts/indent": ["error", 4], - "@stylistic/ts/object-curly-spacing": ["off"], - "@stylistic/ts/quotes": ["error", "single"], - "@stylistic/ts/space-before-function-paren": ["error", "never"], - "@stylistic/ts/lines-between-class-members": ["off"] - + "@stylistic/ts/indent": [ "error", 4 ], + "@stylistic/ts/object-curly-spacing": [ "off" ], + "@stylistic/ts/quotes": [ "error", "single" ], + "@stylistic/ts/space-before-function-paren": [ "error", "never" ], + "@stylistic/ts/lines-between-class-members": [ "off" ] + } }, { - "files": ["*.html"], + "files": [ "*.html" ], "extends": [ "plugin:@angular-eslint/template/recommended", "plugin:@angular-eslint/template/accessibility" @@ -52,5 +61,12 @@ */ } } - ] -} \ No newline at end of file + ], + "parserOptions": { + "ecmaVersion": 2023 + }, + "plugins": [ + "@stylistic/ts" + ], + "root": true +} diff --git a/OpenAlprWebhookProcessor/angularapp/.gitignore b/openalprwebhookprocessor.client/.gitignore similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/.gitignore rename to openalprwebhookprocessor.client/.gitignore diff --git a/OpenAlprWebhookProcessor/angularapp/angular.json b/openalprwebhookprocessor.client/angular.json similarity index 90% rename from OpenAlprWebhookProcessor/angularapp/angular.json rename to openalprwebhookprocessor.client/angular.json index c4da8045..3d937fc2 100644 --- a/OpenAlprWebhookProcessor/angularapp/angular.json +++ b/openalprwebhookprocessor.client/angular.json @@ -3,7 +3,7 @@ "version": 1, "newProjectRoot": "projects", "projects": { - "angularapp": { + "openalprwebhookprocessor.client": { "projectType": "application", "schematics": {}, "root": "", @@ -13,7 +13,7 @@ "build": { "builder": "@angular-devkit/build-angular:browser", "options": { - "outputPath": "dist/", + "outputPath": "dist/openalprwebhookprocessor.client", "index": "src/index.html", "main": "src/main.ts", "polyfills": [ @@ -92,18 +92,21 @@ "builder": "@angular-devkit/build-angular:dev-server", "configurations": { "production": { - "buildTarget": "angularapp:build:production" + "buildTarget": "openalprwebhookprocessor.client:build:production" }, "development": { - "buildTarget": "angularapp:build:development" + "buildTarget": "openalprwebhookprocessor.client:build:development" } }, - "defaultConfiguration": "development" + "defaultConfiguration": "development", + "options": { + "proxyConfig": "src/proxy.conf.js" + } }, "extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", "options": { - "buildTarget": "angularapp:build" + "buildTarget": "openalprwebhookprocessor.client:build" } }, "test": { diff --git a/openalprwebhookprocessor.client/aspnetcore-https.js b/openalprwebhookprocessor.client/aspnetcore-https.js new file mode 100644 index 00000000..2bde9286 --- /dev/null +++ b/openalprwebhookprocessor.client/aspnetcore-https.js @@ -0,0 +1,33 @@ +// This script sets up HTTPS for the application using the ASP.NET Core HTTPS certificate +const fs = require('fs'); +const spawn = require('child_process').spawn; +const path = require('path'); + +const baseFolder = + process.env.APPDATA !== undefined && process.env.APPDATA !== '' + ? `${process.env.APPDATA}/ASP.NET/https` + : `${process.env.HOME}/.aspnet/https`; + +const certificateArg = process.argv.map(arg => arg.match(/--name=(?.+)/i)).filter(Boolean)[0]; +const certificateName = certificateArg ? certificateArg.groups.value : process.env.npm_package_name; + +if (!certificateName) { + console.error('Invalid certificate name. Run this script in the context of an npm/yarn script or pass --name=<> explicitly.') + process.exit(-1); +} + +const certFilePath = path.join(baseFolder, `${certificateName}.pem`); +const keyFilePath = path.join(baseFolder, `${certificateName}.key`); + +if (!fs.existsSync(certFilePath) || !fs.existsSync(keyFilePath)) { + spawn('dotnet', [ + 'dev-certs', + 'https', + '--export-path', + certFilePath, + '--format', + 'Pem', + '--no-password', + ], { stdio: 'inherit', }) + .on('exit', (code) => process.exit(code)); +} diff --git a/OpenAlprWebhookProcessor/angularapp/e2e/protractor.conf.js b/openalprwebhookprocessor.client/e2e/protractor.conf.js similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/e2e/protractor.conf.js rename to openalprwebhookprocessor.client/e2e/protractor.conf.js diff --git a/OpenAlprWebhookProcessor/angularapp/e2e/src/app.e2e-spec.ts b/openalprwebhookprocessor.client/e2e/src/app.e2e-spec.ts similarity index 74% rename from OpenAlprWebhookProcessor/angularapp/e2e/src/app.e2e-spec.ts rename to openalprwebhookprocessor.client/e2e/src/app.e2e-spec.ts index 4cc8ecbd..88f775dc 100644 --- a/OpenAlprWebhookProcessor/angularapp/e2e/src/app.e2e-spec.ts +++ b/openalprwebhookprocessor.client/e2e/src/app.e2e-spec.ts @@ -8,10 +8,10 @@ describe('workspace-project App', () => { page = new AppPage(); }); - it('should display welcome message', () => { - page.navigateTo(); - expect(page.getTitleText()).toEqual('openalprwebhookprocessor app is running!'); - }); + //it('should display welcome message', () => { + //page.navigateTo(); + //expect(page.getTitleText()).toEqual('openalprwebhookprocessor app is running!'); + // }); afterEach(async () => { // Assert that there are no errors emitted from the browser diff --git a/OpenAlprWebhookProcessor/angularapp/e2e/src/app.po.ts b/openalprwebhookprocessor.client/e2e/src/app.po.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/e2e/src/app.po.ts rename to openalprwebhookprocessor.client/e2e/src/app.po.ts diff --git a/OpenAlprWebhookProcessor/angularapp/e2e/tsconfig.json b/openalprwebhookprocessor.client/e2e/tsconfig.json similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/e2e/tsconfig.json rename to openalprwebhookprocessor.client/e2e/tsconfig.json diff --git a/OpenAlprWebhookProcessor/angularapp/karma.conf.js b/openalprwebhookprocessor.client/karma.conf.js similarity index 81% rename from OpenAlprWebhookProcessor/angularapp/karma.conf.js rename to openalprwebhookprocessor.client/karma.conf.js index 171bab14..752d0133 100644 --- a/OpenAlprWebhookProcessor/angularapp/karma.conf.js +++ b/openalprwebhookprocessor.client/karma.conf.js @@ -22,15 +22,18 @@ module.exports = function (config) { suppressAll: true // removes the duplicated traces }, coverageReporter: { - dir: require('path').join(__dirname, './coverage/angularapp'), + dir: require('path').join(__dirname, './coverage'), subdir: '.', reporters: [ { type: 'html' }, - { type: 'text-summary' } + { type: 'cobertura' } ] }, - reporters: ['progress', 'kjhtml'], + preprocessors: { + 'src/**/*.ts': ['coverage'] + }, + reporters: ['progress', 'coverage', 'kjhtml'], browsers: ['Chrome'], restartOnFileChange: true }); -}; \ No newline at end of file +}; diff --git a/OpenAlprWebhookProcessor/angularapp/ngsw-config.json b/openalprwebhookprocessor.client/ngsw-config.json similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/ngsw-config.json rename to openalprwebhookprocessor.client/ngsw-config.json diff --git a/openalprwebhookprocessor.client/nuget.config b/openalprwebhookprocessor.client/nuget.config new file mode 100644 index 00000000..65485861 --- /dev/null +++ b/openalprwebhookprocessor.client/nuget.config @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/openalprwebhookprocessor.client/openalprwebhookprocessor.client.esproj b/openalprwebhookprocessor.client/openalprwebhookprocessor.client.esproj new file mode 100644 index 00000000..5be0c168 --- /dev/null +++ b/openalprwebhookprocessor.client/openalprwebhookprocessor.client.esproj @@ -0,0 +1,10 @@ + + + npm start + Jasmine + + false + + $(MSBuildProjectDirectory)\dist\openalprwebhookprocessor.client\ + + \ No newline at end of file diff --git a/OpenAlprWebhookProcessor/angularapp/package-lock.json b/openalprwebhookprocessor.client/package-lock.json similarity index 82% rename from OpenAlprWebhookProcessor/angularapp/package-lock.json rename to openalprwebhookprocessor.client/package-lock.json index c0268d27..1f61b2a3 100644 --- a/OpenAlprWebhookProcessor/angularapp/package-lock.json +++ b/openalprwebhookprocessor.client/package-lock.json @@ -1,11 +1,11 @@ { - "name": "angularapp", + "name": "openalprwebhookprocessor.client", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "angularapp", + "name": "openalprwebhookprocessor.client", "version": "0.0.0", "dependencies": { "@angular/animations": "^17.0.3", @@ -24,6 +24,7 @@ "jest-editor-support": "*", "ngx-highlightjs": "^10.0.0", "ngx-lightbox": "^3.0.0", + "run-script-os": "*", "rxjs": "~7.8.0", "tslib": "^2.3.0", "url": "^0.11.3", @@ -40,7 +41,9 @@ "@angular/compiler-cli": "^17.0.3", "@stylistic/eslint-plugin-ts": "^1.4.0", "@types/jasmine": "~4.3.0", + "@types/jasminewd2": "^2.0.13", "@types/node": "^20.8.9", + "@types/protractor": "^4.0.0", "@typescript-eslint/eslint-plugin": "^6.11.0", "@typescript-eslint/parser": "^6.11.0", "eslint": "^8.54.0", @@ -52,6 +55,7 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", + "protractor": "^7.0.0", "typescript": "~5.2.2" } }, @@ -77,12 +81,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1700.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1700.3.tgz", - "integrity": "sha512-HUjx7vD16paWXHKHYc2LsSn/kaYbFr2YNnlzuSr9C0kauKS1e7sRpRvtGwQzXfohzgyKi81AAU5uA2KLRGq83w==", + "version": "0.1701.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1701.1.tgz", + "integrity": "sha512-vT3ZRAIfNyIg0vJWT6umPbCKiKFCukNkxLe9kgOU0tinZKNr/LgWYaBZ92Rxxi6C3NrAnmAYjsih8x4zdyoRXw==", "dev": true, "dependencies": { - "@angular-devkit/core": "17.0.3", + "@angular-devkit/core": "17.1.1", "rxjs": "7.8.1" }, "engines": { @@ -92,42 +96,40 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.0.3.tgz", - "integrity": "sha512-1lx0mERC1eTHX4vf8q7kUHZNHS0jwZxbwYHAISOplwHjkzRociX0W6rx04yMXn2NCSNhK+w3xbWyAIgyYbP9nA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.1.1.tgz", + "integrity": "sha512-GchDM8H+RQNts731c+jnhDgOm0PnCS3YB12uVwRiGsaNsUMrqKnu3P0poh6AImDMPyXKnIvTWLDCMD8TDziR0A==", "dev": true, "dependencies": { "@ampproject/remapping": "2.2.1", - "@angular-devkit/architect": "0.1700.3", - "@angular-devkit/build-webpack": "0.1700.3", - "@angular-devkit/core": "17.0.3", - "@babel/core": "7.23.2", - "@babel/generator": "7.23.0", + "@angular-devkit/architect": "0.1701.1", + "@angular-devkit/build-webpack": "0.1701.1", + "@angular-devkit/core": "17.1.1", + "@babel/core": "7.23.7", + "@babel/generator": "7.23.6", "@babel/helper-annotate-as-pure": "7.22.5", "@babel/helper-split-export-declaration": "7.22.6", - "@babel/plugin-transform-async-generator-functions": "7.23.2", - "@babel/plugin-transform-async-to-generator": "7.22.5", - "@babel/plugin-transform-runtime": "7.23.2", - "@babel/preset-env": "7.23.2", - "@babel/runtime": "7.23.2", + "@babel/plugin-transform-async-generator-functions": "7.23.7", + "@babel/plugin-transform-async-to-generator": "7.23.3", + "@babel/plugin-transform-runtime": "7.23.7", + "@babel/preset-env": "7.23.7", + "@babel/runtime": "7.23.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "17.0.3", - "@vitejs/plugin-basic-ssl": "1.0.1", + "@ngtools/webpack": "17.1.1", + "@vitejs/plugin-basic-ssl": "1.0.2", "ansi-colors": "4.1.3", "autoprefixer": "10.4.16", "babel-loader": "9.1.3", "babel-plugin-istanbul": "6.1.1", - "browser-sync": "2.29.3", "browserslist": "^4.21.5", - "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.20", "css-loader": "6.8.1", - "esbuild-wasm": "0.19.5", - "fast-glob": "3.3.1", + "esbuild-wasm": "0.19.11", + "fast-glob": "3.3.2", "http-proxy-middleware": "2.0.6", "https-proxy-agent": "7.0.2", - "inquirer": "9.2.11", + "inquirer": "9.2.12", "jsonc-parser": "3.2.0", "karma-source-map-support": "1.4.0", "less": "4.2.0", @@ -136,27 +138,28 @@ "loader-utils": "3.2.1", "magic-string": "0.30.5", "mini-css-extract-plugin": "2.7.6", - "mrmime": "1.0.1", + "mrmime": "2.0.0", "open": "8.4.2", "ora": "5.4.1", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "3.0.1", - "piscina": "4.1.0", - "postcss": "8.4.31", - "postcss-loader": "7.3.3", + "piscina": "4.2.1", + "postcss": "8.4.33", + "postcss-loader": "7.3.4", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.69.5", - "sass-loader": "13.3.2", + "sass": "1.69.7", + "sass-loader": "13.3.3", "semver": "7.5.4", - "source-map-loader": "4.0.1", + "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.24.0", + "terser": "5.26.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.6.2", - "undici": "5.27.2", - "vite": "4.5.0", + "undici": "6.2.1", + "vite": "5.0.12", + "watchpack": "2.4.0", "webpack": "5.89.0", "webpack-dev-middleware": "6.1.1", "webpack-dev-server": "4.15.1", @@ -169,20 +172,22 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.19.5" + "esbuild": "0.19.11" }, "peerDependencies": { "@angular/compiler-cli": "^17.0.0", "@angular/localize": "^17.0.0", "@angular/platform-server": "^17.0.0", "@angular/service-worker": "^17.0.0", + "@web/test-runner": "^0.18.0", + "browser-sync": "^3.0.2", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "karma": "^6.3.0", "ng-packagr": "^17.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=5.2 <5.3" + "typescript": ">=5.2 <5.4" }, "peerDependenciesMeta": { "@angular/localize": { @@ -194,6 +199,12 @@ "@angular/service-worker": { "optional": true }, + "@web/test-runner": { + "optional": true + }, + "browser-sync": { + "optional": true + }, "jest": { "optional": true }, @@ -215,12 +226,12 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1700.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1700.3.tgz", - "integrity": "sha512-r8nVakAnwV5Yy2AjWDpdcGUjHRQBcPljZDhX5tX2H7M3bxD6zG5owXDy8XmG64A7U1jd6D7dQv7zoW/tZwpYvw==", + "version": "0.1701.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1701.1.tgz", + "integrity": "sha512-YgNl/6xLmI0XdUCu/H4Jyi34BhrANCDP4N2Pz+tGwnz2+Vl8oZGLPGtKVbh/LKSAmEHk/B6GQUekSBpKWrPJoA==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1700.3", + "@angular-devkit/architect": "0.1701.1", "rxjs": "7.8.1" }, "engines": { @@ -234,9 +245,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.0.3.tgz", - "integrity": "sha512-SOngD3rKnwZWhhUV68AYlH8M3LRGvF69jnDrYKwtRy1ESqSH7tt+1vexGC290gKvqH7bNMgYv8f5BS1AASRfzw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.1.1.tgz", + "integrity": "sha512-b1wd1caegc1p18nTrfPhfHQAZW1GnWWKGldq5MZ8C/nkgJbjjN8SKb1Vw7GONkOnH6KxWDAXS4i93/wdQcz4Bg==", "dev": true, "dependencies": { "ajv": "8.12.0", @@ -261,12 +272,12 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.0.3.tgz", - "integrity": "sha512-gNocyYuNJRd24+JSM5kpO7g9Vg4THcoH5It8nJmS3muelLHDzegvDzXB7iPBjVR8Lxts6sbifYdIkKencUc4vg==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.1.1.tgz", + "integrity": "sha512-3AtEO7k0Znzg11o51ZqebkW8063QkZ7Y7BC96Oye+wSdpT3ow57P0w0UtOpUNesNKzj1iMuPWqqm4i+YqitjCw==", "dev": true, "dependencies": { - "@angular-devkit/core": "17.0.3", + "@angular-devkit/core": "17.1.1", "jsonc-parser": "3.2.0", "magic-string": "0.30.5", "ora": "5.4.1", @@ -377,9 +388,9 @@ } }, "node_modules/@angular/animations": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.0.4.tgz", - "integrity": "sha512-XHkTBZAoYf1t4Hb06RkYa6cgtjEA5JGq1ArXu/DckOS6G/ZuY+dwWULEmaf9ejJem8O78ol223ZQ5d7sXqpixQ==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.1.1.tgz", + "integrity": "sha512-85qm8b4fNKa5zx4YlvCvAb3lWGlRsEcClnpCuwSVP8pXG7n/cW8MsJOh8i/wOkQTr9Ac7vvAE+yFWMi2A/qlTg==", "dependencies": { "tslib": "^2.3.0" }, @@ -387,13 +398,13 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.0.4" + "@angular/core": "17.1.1" } }, "node_modules/@angular/cdk": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.0.1.tgz", - "integrity": "sha512-0hrXm2D0s0/vUtDoLFRWTs75k5WY/hQmfnsaJXHeqinbE3eKOxmQxL1i7ymnMSQthEWzgRAhzS3Nfs7Alw3dQA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.1.1.tgz", + "integrity": "sha512-Q5qC6VUyT7N/hj8eETdh0bkmBmsXm0JZikhXdBvcDUl8yPbhMPKQCkx4UJzBrZJg/+78XyI9FI/q8w/yQAJZJA==", "dependencies": { "tslib": "^2.3.0" }, @@ -407,25 +418,25 @@ } }, "node_modules/@angular/cli": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.0.3.tgz", - "integrity": "sha512-pRGXms87aEqmB4yPdcPI/VM7JegjDcBIeLadms0wrBkoyQiv+jL5LesxODhid6ujXZOj1xqMCYbCnX7HY+mLcQ==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.1.1.tgz", + "integrity": "sha512-JG/Vf+PScR3PC6u7B+jFF4s5eBByzCpOfCfRFw98nlCqDAOxYOig7wi2Sbp5fnvILQH8vbc/NG8MzdgONrG6Hg==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1700.3", - "@angular-devkit/core": "17.0.3", - "@angular-devkit/schematics": "17.0.3", - "@schematics/angular": "17.0.3", + "@angular-devkit/architect": "0.1701.1", + "@angular-devkit/core": "17.1.1", + "@angular-devkit/schematics": "17.1.1", + "@schematics/angular": "17.1.1", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.1.1", - "inquirer": "9.2.11", + "inquirer": "9.2.12", "jsonc-parser": "3.2.0", "npm-package-arg": "11.0.1", "npm-pick-manifest": "9.0.0", "open": "8.4.2", "ora": "5.4.1", - "pacote": "17.0.4", + "pacote": "17.0.5", "resolve": "1.22.8", "semver": "7.5.4", "symbol-observable": "4.0.0", @@ -441,9 +452,9 @@ } }, "node_modules/@angular/common": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.0.4.tgz", - "integrity": "sha512-/y38PbuiaWOuOmP5ZELTlJSjZGijc6Nq2XQloT5pKsaH935prxPjyWazwlY6cUnJMQgSRU644/ULosDJec7Zxw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.1.1.tgz", + "integrity": "sha512-YMM2vImWJg7H3Yaej7ncGpFKT28V2Y6X9/rLpRdSKAiUbcbj7GeWtX/upfZGR9KmD08baYZw0YTNMR03Ubv/mg==", "dependencies": { "tslib": "^2.3.0" }, @@ -451,14 +462,14 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.0.4", + "@angular/core": "17.1.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.0.4.tgz", - "integrity": "sha512-OweJui9EWCa1ZcZjkJHS5z1gqICqyryR1Gdmyr8vIa6HD8wU/5BaeBJPCDgYgt+qJkvcT/sPxgZQsc2pVeUwbQ==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.1.1.tgz", + "integrity": "sha512-lEQ5YNMJQm2iO2EZbGkwL3SqnxtE2ENfymgbS023F6ACsnP3kKB2DMwOnIbGgQY4+8r4sJFiMAIjEkj5c9kttg==", "dependencies": { "tslib": "^2.3.0" }, @@ -466,7 +477,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.0.4" + "@angular/core": "17.1.1" }, "peerDependenciesMeta": { "@angular/core": { @@ -475,9 +486,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.0.4.tgz", - "integrity": "sha512-ywj8XNI+hvHHYGcNWvXaVHSRtcd3S7MqJNgXWfnb0JjAb282oGSvjEc7wnH4ERqkvnSrpk1kQ2Fj3uJ2P5zfmQ==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.1.1.tgz", + "integrity": "sha512-d6Aev1P92q7wd5u3UcJifzNlU9svxaYI2Ts6MKoD4jY4/GPN/gPDqi20weDMujEgirrkcwGbsCXBRoEGkA5c9A==", "dev": true, "dependencies": { "@babel/core": "7.23.2", @@ -498,14 +509,59 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/compiler": "17.0.4", - "typescript": ">=5.2 <5.3" + "@angular/compiler": "17.1.1", + "typescript": ">=5.2 <5.4" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, "node_modules/@angular/core": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.0.4.tgz", - "integrity": "sha512-zk+z5sYPZd87pLxECx27quB5FvSmoi9PjJlcSlaBwwqaGnh/tPJI14u3q1dRY/CoZgP9egEiwc428+DzvOzJew==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.1.1.tgz", + "integrity": "sha512-JtNYM9eHr8eUSrGPq/kn0+/F+TSZ7EBWxZhM1ZndOlGu1gA4fGhrDid4ZXIHIs07DbM4NZjMn+LhRyx02YDsSA==", "dependencies": { "tslib": "^2.3.0" }, @@ -518,9 +574,9 @@ } }, "node_modules/@angular/forms": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.0.4.tgz", - "integrity": "sha512-R5J87dfJNWwi5SESD7tRkZnqG4u8KNAT4vImX4oG70/6vWioKUSWpLoSp1gpzy9UW51E85AKb8DNvIex7LclSg==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.1.1.tgz", + "integrity": "sha512-rqHVzaJDV8+VbnfC6mDgzX6ooa0X0hmnd+XfuOZaEJ7MtyOmqQ8qas2PAKXU7nMIImYXfYc4O4XWbSc1pRy1Hw==", "dependencies": { "tslib": "^2.3.0" }, @@ -528,69 +584,69 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.0.4", - "@angular/core": "17.0.4", - "@angular/platform-browser": "17.0.4", + "@angular/common": "17.1.1", + "@angular/core": "17.1.1", + "@angular/platform-browser": "17.1.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-17.0.1.tgz", - "integrity": "sha512-avicxHCJAeg26Tg8z6+g54tMTQZPP5kaaRmkd97QGtJn3wKiAen6WOgmEhlrA4jPJ71CsdyxcUruEX+BHB6X4Q==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/auto-init": "15.0.0-canary.a246a4439.0", - "@material/banner": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/button": "15.0.0-canary.a246a4439.0", - "@material/card": "15.0.0-canary.a246a4439.0", - "@material/checkbox": "15.0.0-canary.a246a4439.0", - "@material/chips": "15.0.0-canary.a246a4439.0", - "@material/circular-progress": "15.0.0-canary.a246a4439.0", - "@material/data-table": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dialog": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/drawer": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/fab": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/floating-label": "15.0.0-canary.a246a4439.0", - "@material/form-field": "15.0.0-canary.a246a4439.0", - "@material/icon-button": "15.0.0-canary.a246a4439.0", - "@material/image-list": "15.0.0-canary.a246a4439.0", - "@material/layout-grid": "15.0.0-canary.a246a4439.0", - "@material/line-ripple": "15.0.0-canary.a246a4439.0", - "@material/linear-progress": "15.0.0-canary.a246a4439.0", - "@material/list": "15.0.0-canary.a246a4439.0", - "@material/menu": "15.0.0-canary.a246a4439.0", - "@material/menu-surface": "15.0.0-canary.a246a4439.0", - "@material/notched-outline": "15.0.0-canary.a246a4439.0", - "@material/radio": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/segmented-button": "15.0.0-canary.a246a4439.0", - "@material/select": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/slider": "15.0.0-canary.a246a4439.0", - "@material/snackbar": "15.0.0-canary.a246a4439.0", - "@material/switch": "15.0.0-canary.a246a4439.0", - "@material/tab": "15.0.0-canary.a246a4439.0", - "@material/tab-bar": "15.0.0-canary.a246a4439.0", - "@material/tab-indicator": "15.0.0-canary.a246a4439.0", - "@material/tab-scroller": "15.0.0-canary.a246a4439.0", - "@material/textfield": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tooltip": "15.0.0-canary.a246a4439.0", - "@material/top-app-bar": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-17.1.1.tgz", + "integrity": "sha512-Ngh/4MY3MAPd4Fe2kb9W8j8Ix+hA9MVPvppYTlSsYzvlhV8YhOEaH2nuv9hJLrOiurlRWt7VlW13YkufK4VBgg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/auto-init": "15.0.0-canary.7f224ddd4.0", + "@material/banner": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/card": "15.0.0-canary.7f224ddd4.0", + "@material/checkbox": "15.0.0-canary.7f224ddd4.0", + "@material/chips": "15.0.0-canary.7f224ddd4.0", + "@material/circular-progress": "15.0.0-canary.7f224ddd4.0", + "@material/data-table": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dialog": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/drawer": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/fab": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/floating-label": "15.0.0-canary.7f224ddd4.0", + "@material/form-field": "15.0.0-canary.7f224ddd4.0", + "@material/icon-button": "15.0.0-canary.7f224ddd4.0", + "@material/image-list": "15.0.0-canary.7f224ddd4.0", + "@material/layout-grid": "15.0.0-canary.7f224ddd4.0", + "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", + "@material/linear-progress": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/menu": "15.0.0-canary.7f224ddd4.0", + "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", + "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", + "@material/radio": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/segmented-button": "15.0.0-canary.7f224ddd4.0", + "@material/select": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/slider": "15.0.0-canary.7f224ddd4.0", + "@material/snackbar": "15.0.0-canary.7f224ddd4.0", + "@material/switch": "15.0.0-canary.7f224ddd4.0", + "@material/tab": "15.0.0-canary.7f224ddd4.0", + "@material/tab-bar": "15.0.0-canary.7f224ddd4.0", + "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0", + "@material/textfield": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tooltip": "15.0.0-canary.7f224ddd4.0", + "@material/top-app-bar": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^17.0.0 || ^18.0.0", - "@angular/cdk": "17.0.1", + "@angular/cdk": "17.1.1", "@angular/common": "^17.0.0 || ^18.0.0", "@angular/core": "^17.0.0 || ^18.0.0", "@angular/forms": "^17.0.0 || ^18.0.0", @@ -599,9 +655,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.0.4.tgz", - "integrity": "sha512-lApUzVPfCEz/4aot77qzWUNg7yQgT0JSzy3BrBm95+2TbgH894J9Fswhig0sEN9jxGSkc3A5Yp5fs1HJcPqUiw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.1.1.tgz", + "integrity": "sha512-/80znuEkdDvsF6EX/fe03isQlLCUS9+ldCgB4n0ZL+qAkf2/lJlU3n97SyEN7rzb189U+K1fDe0fb1nDwbbcWQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -609,9 +665,9 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/animations": "17.0.4", - "@angular/common": "17.0.4", - "@angular/core": "17.0.4" + "@angular/animations": "17.1.1", + "@angular/common": "17.1.1", + "@angular/core": "17.1.1" }, "peerDependenciesMeta": { "@angular/animations": { @@ -620,9 +676,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.0.4.tgz", - "integrity": "sha512-mZZNH+iFzFug0z7rBQKdFz375sR6Y4iBbHu2aJD2BpgA2/SJaZ0WHGlF4bHbtpCYkZi3f4wKF2+Cwe4G5ebPOQ==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.1.1.tgz", + "integrity": "sha512-UKI8966nwo+p01EjmQdkepLIeVLpPZTSDZAM4va7CfMO6lbCN5xFecDd/sVbut8J6ySIsbJxyDkP+SHMQjE+xg==", "dependencies": { "tslib": "^2.3.0" }, @@ -630,16 +686,16 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.0.4", - "@angular/compiler": "17.0.4", - "@angular/core": "17.0.4", - "@angular/platform-browser": "17.0.4" + "@angular/common": "17.1.1", + "@angular/compiler": "17.1.1", + "@angular/core": "17.1.1", + "@angular/platform-browser": "17.1.1" } }, "node_modules/@angular/router": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.0.4.tgz", - "integrity": "sha512-hQ+T+h6YE9NqyOmjqAIHe/k8xtW+yh0Mp8FCcl8REBezNyLXmOdsScCIOOc7GeFtbjRnQyJrBo4QxZ81acHP7Q==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.1.1.tgz", + "integrity": "sha512-pPIRX0v8agij2dRSU25iwj9qFy0S25cztsy7bGfZ+M510jwRCqu1JsitqXtQ85XSv/bdFqiNiFU0UbwVFl+QiQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -647,16 +703,16 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.0.4", - "@angular/core": "17.0.4", - "@angular/platform-browser": "17.0.4", + "@angular/common": "17.1.1", + "@angular/core": "17.1.1", + "@angular/platform-browser": "17.1.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/service-worker": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-17.0.4.tgz", - "integrity": "sha512-xfQ5jXeLAJnMUhv9121sD7tTRXrc53mt3BxilLP5TfrjCpYyZtaad9ZpQj6vUOTKA+qDJ5AmLF/G9iXAPiV56A==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-17.1.1.tgz", + "integrity": "sha512-/ggG10tY5LWsGvJYLGhE0gdL8r9fEmRrZ6i+UCdwG/+Ydyb5GBxLS7OGH6yy0R8WP19FDRmVoDVMFJMtc4JMAw==", "dependencies": { "tslib": "^2.3.0" }, @@ -667,8 +723,8 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.0.4", - "@angular/core": "17.0.4" + "@angular/common": "17.1.1", + "@angular/core": "17.1.1" } }, "node_modules/@assemblyscript/loader": { @@ -678,9 +734,9 @@ "dev": true }, "node_modules/@babel/code-frame": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", - "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" @@ -690,28 +746,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", - "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -740,11 +796,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -778,13 +834,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -801,17 +857,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.9.tgz", + "integrity": "sha512-B2L9neXTIyPQoXDm+NtovPvG6VOLWnaXu3BIeVDWwdKFgG30oNa6CqVGiJPDWQwIAK49t9gnQI9c6K6RzabiKw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -859,9 +915,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -1051,9 +1107,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "engines": { "node": ">=6.9.0" } @@ -1073,13 +1129,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.4.tgz", - "integrity": "sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", + "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.4", - "@babel/types": "^7.23.4" + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9" }, "engines": { "node": ">=6.9.0" @@ -1099,9 +1155,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", - "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1141,6 +1197,22 @@ "@babel/core": "^7.13.0" } }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", @@ -1418,9 +1490,9 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", - "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz", + "integrity": "sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", @@ -1436,14 +1508,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@babel/helper-remap-async-to-generator": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1516,16 +1588,15 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz", - "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==", + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-split-export-declaration": "^7.22.6", @@ -1649,12 +1720,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", - "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1776,9 +1848,9 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", - "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", @@ -2036,16 +2108,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", - "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.7.tgz", + "integrity": "sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", + "babel-plugin-polyfill-corejs2": "^0.4.7", + "babel-plugin-polyfill-corejs3": "^0.8.7", + "babel-plugin-polyfill-regenerator": "^0.5.4", "semver": "^6.3.1" }, "engines": { @@ -2204,25 +2276,26 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", - "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.7.tgz", + "integrity": "sha512-SY27X/GtTz/L4UryMNJ6p4fH4nsgWbz84y9FE0bQeWJP6O5BhgVCt53CotQKHCOeXJel8VyhlhujhlltKms/CA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.23.2", - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@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.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -2234,59 +2307,58 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.23.2", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.23.0", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.11", - "@babel/plugin-transform-classes": "^7.22.15", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.23.0", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.11", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.11", - "@babel/plugin-transform-for-of": "^7.22.15", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.11", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.23.0", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-modules-systemjs": "^7.23.0", - "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.7", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.5", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-numeric-separator": "^7.22.11", - "@babel/plugin-transform-object-rest-spread": "^7.22.15", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.23.0", - "@babel/plugin-transform-parameters": "^7.22.15", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.10", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.10", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.23.0", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", + "babel-plugin-polyfill-corejs2": "^0.4.7", + "babel-plugin-polyfill-corejs3": "^0.8.7", + "babel-plugin-polyfill-regenerator": "^0.5.4", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -2327,9 +2399,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz", + "integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2338,56 +2410,42 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", + "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", - "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", + "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", "dependencies": { - "@babel/code-frame": "^7.23.4", - "@babel/generator": "^7.23.4", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.4", - "@babel/types": "^7.23.4", - "debug": "^4.1.0", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", - "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", - "dependencies": { - "@babel/types": "^7.23.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/types": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", - "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", + "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -2415,10 +2473,26 @@ "node": ">=10.0.0" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/android-arm": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.5.tgz", - "integrity": "sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", "cpu": [ "arm" ], @@ -2432,9 +2506,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.5.tgz", - "integrity": "sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", "cpu": [ "arm64" ], @@ -2448,9 +2522,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.5.tgz", - "integrity": "sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", "cpu": [ "x64" ], @@ -2464,9 +2538,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.5.tgz", - "integrity": "sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", "cpu": [ "arm64" ], @@ -2480,9 +2554,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.5.tgz", - "integrity": "sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", "cpu": [ "x64" ], @@ -2496,9 +2570,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.5.tgz", - "integrity": "sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", "cpu": [ "arm64" ], @@ -2512,9 +2586,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.5.tgz", - "integrity": "sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", "cpu": [ "x64" ], @@ -2528,9 +2602,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.5.tgz", - "integrity": "sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", "cpu": [ "arm" ], @@ -2544,9 +2618,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.5.tgz", - "integrity": "sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", "cpu": [ "arm64" ], @@ -2560,9 +2634,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.5.tgz", - "integrity": "sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", "cpu": [ "ia32" ], @@ -2576,9 +2650,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.5.tgz", - "integrity": "sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", "cpu": [ "loong64" ], @@ -2592,9 +2666,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.5.tgz", - "integrity": "sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", "cpu": [ "mips64el" ], @@ -2608,9 +2682,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.5.tgz", - "integrity": "sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", "cpu": [ "ppc64" ], @@ -2624,9 +2698,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.5.tgz", - "integrity": "sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", "cpu": [ "riscv64" ], @@ -2640,9 +2714,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.5.tgz", - "integrity": "sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", "cpu": [ "s390x" ], @@ -2656,9 +2730,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.5.tgz", - "integrity": "sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", "cpu": [ "x64" ], @@ -2672,9 +2746,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.5.tgz", - "integrity": "sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", "cpu": [ "x64" ], @@ -2688,9 +2762,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.5.tgz", - "integrity": "sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", "cpu": [ "x64" ], @@ -2704,9 +2778,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.5.tgz", - "integrity": "sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", "cpu": [ "x64" ], @@ -2720,9 +2794,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.5.tgz", - "integrity": "sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", "cpu": [ "arm64" ], @@ -2736,9 +2810,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.5.tgz", - "integrity": "sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", "cpu": [ "ia32" ], @@ -2752,9 +2826,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.5.tgz", - "integrity": "sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", "cpu": [ "x64" ], @@ -2792,9 +2866,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -2836,10 +2910,20 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/@eslint/eslintrc/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" + } + }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2869,6 +2953,18 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -2882,9 +2978,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", - "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2900,19 +2996,41 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/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" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -2927,9 +3045,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "dev": true }, "node_modules/@isaacs/cliui": { @@ -3284,9 +3402,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3299,766 +3417,766 @@ "dev": true }, "node_modules/@ljharb/through": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", - "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", + "version": "2.3.12", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.12.tgz", + "integrity": "sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.5" }, "engines": { "node": ">= 0.4" } }, "node_modules/@material/animation": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-0eV06UGYeuFwC/4t+yjg3LCRGRLq72ybBtJYzcBDpP4ASTjie0WmpAOFJYXRq2U5X/yxLviDMhpRemoSUjgZ0Q==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-1GSJaPKef+7HRuV+HusVZHps64cmZuOItDbt40tjJVaikcaZvwmHlcTxRIqzcRoCdt5ZKHh3NoO7GB9Khg4Jnw==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/auto-init": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-0QfmjT5elQ10hCxToVgq/WaC3301tVH1sJaO3O2yocVzr7s6iWm8/zch16V5hcHzQHbtcT3Rf4y1ZzmdNys2Iw==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-t7ZGpRJ3ec0QDUO0nJu/SMgLW7qcuG2KqIsEYD1Ej8qhI2xpdR2ydSDQOkVEitXmKoGol1oq4nYSBjTlB65GqA==", "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/banner": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-PBLgH7JEbEpTkLy33oyWXUhIFmSsdOrR6Gn6qIgQRo1qrnk5RSBGW2gEq4Z6793vjxM107gKudDb23E4Fcu4vg==", - "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/button": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-g9wBUZzYBizyBcBQXTIafnRUUPi7efU9gPJfzeGgkynXiccP/vh5XMmH+PBxl5v+4MlP/d4cZ2NUYoAN7UTqSA==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/base": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-/ob3v3IFU8q2gGdVNWw5kNPjW2mRTeBIz1YdhGWUmRxKn2Kl8bdLOvrAmZtQMmPn/4cGXvinxpec/zVBWQKDkA==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-I9KQOKXpLfJkP8MqZyr8wZIzdPHrwPjFvGd9zSK91/vPyE4hzHRJc/0njsh9g8Lm9PRYLbifXX+719uTbHxx+A==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/button": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-rGpVRde0Aqhv2t9QvT8Zl3HvG89BeUNPOpgfpaLBZ4SGGAO4rIrckl/eCENibKgmmdCKcYZlG9gc5abQVPfUvw==", - "dependencies": { - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/focus-ring": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-BHB7iyHgRVH+JF16+iscR+Qaic+p7LU1FOLgP8KucRlpF9tTwIxQA6mJwGRi5gUtcG+vyCmzVS+hIQ6DqT/7BA==", + "dependencies": { + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/card": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-+rYUnBPgv5QVF6BeUs3toIRdSwFVohGmjk2ptTXMZkKxqAJt7Nr9Znbm3Ym2hD8GUHJeh3pyGFvEs6rG6JMYAw==", - "dependencies": { - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-kt7y9/IWOtJTr3Z/AoWJT3ZLN7CLlzXhx2udCLP9ootZU2bfGK0lzNwmo80bv/pJfrY9ihQKCtuGTtNxUy+vIw==", + "dependencies": { + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/checkbox": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-sQwHzm1TSxHUoPrqplWTk/BhyzdDhzcwlbucwJK9W0o9WXMDk+d9PvcCxpP/9sAnVqZk42BfE89Y0T1DHglZ9A==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/focus-ring": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-rURcrL5O1u6hzWR+dNgiQ/n89vk6tdmdP3mZgnxJx61q4I/k1yijKqNJSLrkXH7Rto3bM5NRKMOlgvMvVd7UMQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/chips": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-TiV9WJ5taEHPGWPhXbxJvUJhLzThg+VpK7aAlvL4RurtmJ7pURuEdRS4Z6o0OEqi3wKQ4z/+K44kZUn/+9HALg==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/checkbox": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/focus-ring": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-AYAivV3GSk/T/nRIpH27sOHFPaSMrE3L0WYbnb5Wa93FgY8a0fbsFYtSH2QmtwnzXveg+B1zGTt7/xIIcynKdQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/checkbox": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "safevalues": "^0.3.4", "tslib": "^2.1.0" } }, "node_modules/@material/circular-progress": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-+QTfyExPWzgm2tqMInd32qQOftsC1b8MUhAhZSfuecYBfqAc7KZkQEKa2nm4y8EHKMFWe8/DcxLV6IxMBLgHwA==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/progress-indicator": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-DJrqCKb+LuGtjNvKl8XigvyK02y36GRkfhMUYTcJEi3PrOE00bwXtyj7ilhzEVshQiXg6AHGWXtf5UqwNrx3Ow==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/data-table": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-89qVOjR7gqby6fsmh7tKj29SjQ2sGLXu2IzCeX3Vni4mz+xxo5dv11jxYNADvdgJDfhyDJFPh1FlqAH7O09nFA==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/checkbox": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/icon-button": "15.0.0-canary.a246a4439.0", - "@material/linear-progress": "15.0.0-canary.a246a4439.0", - "@material/list": "15.0.0-canary.a246a4439.0", - "@material/menu": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/select": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-/2WZsuBIq9z9RWYF5Jo6b7P6u0fwit+29/mN7rmAZ6akqUR54nXyNfoSNiyydMkzPlZZsep5KrSHododDhBZbA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/checkbox": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/icon-button": "15.0.0-canary.7f224ddd4.0", + "@material/linear-progress": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/menu": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/select": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/density": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-h8BJVCWkPR97WeWCN6/atVbSOP8J4+ZbbssidcwsnX7b3+3IaWdtBxGii25dsILX8pUVwwqxVis24y211b+8rg==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-o9EXmGKVpiQ6mHhyV3oDDzc78Ow3E7v8dlaOhgaDSXgmqaE8v5sIlLNa/LKSyUga83/fpGk3QViSGXotpQx0jA==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/dialog": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-4lyxd+5ccOEMUGKzZcssaYyzkCsYTpYCSQSANR0toQPLv3voDwKMfA709uZI6+nL7Re6Xdf7jx8qe+QpTTjVcw==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/button": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/icon-button": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-u0XpTlv1JqWC/bQ3DavJ1JguofTelLT2wloj59l3/1b60jv42JQ6Am7jU3I8/SIUB1MKaW7dYocXjDWtWJakLA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/icon-button": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/dom": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-AftSOGQoQg/Ys2kOVjZzvqWmsnhg3Kam/2UC4Gj0DMMCu36J4MAoD+3PpnOd1aG3wiJKtUXR2vPIwE8I/PM9yg==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-mQ1HT186GPQSkRg5S18i70typ5ZytfjL09R0gJ2Qg5/G+MLCGi7TAjZZSH65tuD/QGOjel4rDdWOTmYbPYV6HA==", "dependencies": { - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/drawer": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-/JUmbzRBaikdbZ250yA9ZTPqp2W5nGvvuHYoNVAAmtOmxuwGvvNNpWiVZy2lIYeYcf1hA7hJ5mEQxs0aSD7iWQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/list": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-qyO0W0KBftfH8dlLR0gVAgv7ZHNvU8ae11Ao6zJif/YxcvK4+gph1z8AO4H410YmC2kZiwpSKyxM1iQCCzbb4g==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/elevation": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-lwPIOb8fHyOljIWYcVLPT73dPIEOKat/CXu6gqYIVMQgZQIksQNUA7z1O3l7apkRSuYUOYSXqrgU7AnWP4KcJg==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-tV6s4/pUBECedaI36Yj18KmRCk1vfue/JP/5yYRlFNnLMRVISePbZaKkn/BHXVf+26I3W879+XqIGlDVdmOoMA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/fab": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-XUex3FNqxPD1i/4jITucB/RWTNkkdv52mbNmwrvbuThZlhuhyH9GzOQYTDop/b2783TPcv++xr8UUbuh8GWYzA==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/focus-ring": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-4h76QrzfZTcPdd+awDPZ4Q0YdSqsXQnS540TPtyXUJ/5G99V6VwGpjMPIxAsW0y+pmI9UkLL/srrMaJec+7r4Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/feature-targeting": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-/SU9X5y8CRp6RS9qnjnM/N5qfsJ8bYILpR841eZmN6DLqMupaM9Yy7Mx8+v/QvpBLLhk+jmu79nFzwkwW54d6Q==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-SAjtxYh6YlKZriU83diDEQ7jNSP2MnxKsER0TvFeyG1vX/DWsUyYDOIJTOEa9K1N+fgJEBkNK8hY55QhQaspew==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/floating-label": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-832qZ/qxKx0KUatoeVY3Q2NmboVgiWBG0/1VsbJyodHrgQWfnBOHgLE+M322o6uM3OhvO+kWm4iYbvwhmLZGsw==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-0KMo5ijjYaEHPiZ2pCVIcbaTS2LycvH9zEhEMKwPPGssBCX7iz5ffYQFk7e5yrQand1r3jnQQgYfHAwtykArnQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/focus-ring": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-ar0BtACFS3K14k/enAg0ePeEA/f/RJY4Ji4L/00Dw/B3XVpNRbqLH49jkcbtcQjdTS0FEyk2sWSNMZl6wVi0/A==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-Jmg1nltq4J6S6A10EGMZnvufrvU3YTi+8R8ZD9lkSbun0Fm2TVdICQt/Auyi6An9zP66oQN6c31eqO6KfIPsDg==", "dependencies": { - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0" + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0" } }, "node_modules/@material/form-field": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-Q/+ErgtAUFUPPUmWA1m5IP5voiN8XjPRwyoAlFxSTa/4t+EA5B18Z8Bsn9b6I0AC8RHke06H7UWrKz8XUDIFpw==", - "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-fEPWgDQEPJ6WF7hNnIStxucHR9LE4DoDSMqCsGWS2Yu+NLZYLuCEecgR0UqQsl1EQdNRaFh8VH93KuxGd2hiPg==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/icon-button": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-Igyo94rkIlqC91BR1Tv+WLTz1ZWcZZjl1xU7Vsx8mbWA1PnaRDUTNVV5LFi4e0ORp6GSblFTImpHngEy4agMEg==", - "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/focus-ring": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-DcK7IL4ICY/DW+48YQZZs9g0U1kRaW0Wb0BxhvppDMYziHo/CTpFdle4gjyuTyRxPOdHQz5a97ru48Z9O4muTw==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/image-list": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-Rcj3q7Tp7Nwbe5ht6ptTc3zqK8TSDJHaPDBf+kzi0kkh6MAB4qoHPgn+HnA+zIZ79CScU56bN7zjA6XYaZvsLw==", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-voMjG2p80XbjL1B2lmF65zO5gEgJOVKClLdqh4wbYzYfwY/SR9c8eLvlYG7DLdFaFBl/7gGxD8TvvZ329HUFPw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/layout-grid": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-bkfxZuVzgtjEJgR3n8pvDQbe88ffULDJ5d2DF34IR8SOiRmQcj7UzqAt95XwIUcWlfisLCoIryP4U8XSpFb1EQ==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-veDABLxMn2RmvfnUO2RUmC1OFfWr4cU+MrxKPoDD2hl3l3eDYv5fxws6r5T1JoSyXoaN+oEZpheS0+M9Ure8Pg==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/line-ripple": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-20WmwRrejmtOdI37+959UqEVIjbMtAXlkDOkfCIA3OUhp+oZSjVkCqKxI16jxxVlnzJ353fy8xeSKzOHe4sExQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-f60hVJhIU6I3/17Tqqzch1emUKEcfVVgHVqADbU14JD+oEIz429ZX9ksZ3VChoU3+eejFl+jVdZMLE/LrAuwpg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/linear-progress": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-IcCd4476pXHloTYadHDJ+2c2lntoVigeNnQEiD/ASQTKqKrJqkIdvvczFm9Ryu+V2+TKhp7vvQGFLUMaLPcmhw==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/progress-indicator": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-pRDEwPQielDiC9Sc5XhCXrGxP8wWOnAO8sQlMebfBYHYqy5hhiIzibezS8CSaW4MFQFyXmCmpmqWlbqGYRmiyg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/list": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-4H5dKIjCUGIPmKjfcegV0SBybD5NNdHp26OU6sovvWIvxSGQtDJr6z9I7i+0vF/HIS5ScbHD2+9/txtL80iqCA==", - "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-Is0NV91sJlXF5pOebYAtWLF4wU2MJDbYqztML/zQNENkQxDOvEXu3nWNb3YScMIYJJXvARO0Liur5K4yPagS1Q==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/menu": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-2HOHQAIdWQtXjSvEIrW3lnbcIwFf5XaQhFzCEZ04FcSGApc4iLwsmRFVW3PzWx+mVrUrEfO/K42DVULIX9J1Pg==", - "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/list": "15.0.0-canary.a246a4439.0", - "@material/menu-surface": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-D11QU1dXqLbh5X1zKlEhS3QWh0b5BPNXlafc5MXfkdJHhOiieb7LC9hMJhbrHtj24FadJ7evaFW/T2ugJbJNnQ==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/menu-surface": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-4h4wZ0Rs7qBg1Otldw8ljp+LCULNL42pqbqcTXhKAkJM7pHcSw4k7IfoThSRLU3+V8T3/+qiAXyeQix2OGHzwg==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-7RZHvw0gbwppaAJ/Oh5SWmfAKJ62aw1IMB3+3MRwsb5PLoV666wInYa+zJfE4i7qBeOn904xqT2Nko5hY0ssrg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/notched-outline": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-zmRZHJ+5cOWsBatRyK50wuht78olXySyKOJIIEmy8lxSMZefI1764u0mr8tS1KYF8vSAl5cUlwCC3/2Njz1FPg==", - "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/floating-label": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-Yg2usuKB2DKlKIBISbie9BFsOVuffF71xjbxPbybvqemxqUBd+bD5/t6H1fLE+F8/NCu5JMigho4ewUU+0RCiw==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/floating-label": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/progress-indicator": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-92HM5niUnqG5Y3M/xkscBD+2lkaWPDcIRPo0RHPYcyldL+EhWRv/sdQpfdiXw/h3uvKSowKxBMCHm8krAyf+sQ==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-UPbDjE5CqT+SqTs0mNFG6uFEw7wBlgYmh+noSkQ6ty/EURm8lF125dmi4dv4kW0+octonMXqkGtAoZwLIHKf/w==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/radio": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-on8EVztWXc/ajcaowFZ31ClGADYxQrhj4ulMne0NxdHHWQ44ttf5aXOVqtv5mxeOzrRACOkQyTUXBG07yTWCEQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/focus-ring": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-wR1X0Sr0KmQLu6+YOFKAI84G3L6psqd7Kys5kfb8WKBM36zxO5HQXC5nJm/Y0rdn22ixzsIz2GBo0MNU4V4k1A==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/ripple": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-Vl615/PIBpBD+IOI9Xypz0SV3RsmYJYSNx890Rih7irhUOaPsOUBmTYOWF5AsGBynqLcXoTNVhK92drYLKtJwQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-JqOsWM1f4aGdotP0rh1vZlPZTg6lZgh39FIYHFMfOwfhR+LAikUJ+37ciqZuewgzXB6iiRO6a8aUH6HR5SJYPg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/rtl": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-pgJFw8ZRpWGpwv7ZuBTJ+WdNmFBKoLVoMbbxKQWTHXVwhAqn3aoIq95o62T5QeEG/+sguNShdquG45CpAMmSRw==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-UVf14qAtmPiaaZjuJtmN36HETyoKWmsZM/qn1L5ciR2URb8O035dFWnz4ZWFMmAYBno/L7JiZaCkPurv2ZNrGA==", "dependencies": { - "@material/theme": "15.0.0-canary.a246a4439.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/segmented-button": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-oqGHs2C7C+yJW/xZf/wP8jBGLs6HcerhM3CsorLAEMH3MGuIlVC17WcisBewEWucsILYEWbySXy/7T4h6/psZA==", - "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/touch-target": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-LCnVRUSAhELTKI/9hSvyvIvQIpPpqF29BV+O9yM4WoNNmNWqTulvuiv7grHZl6Z+kJuxSg4BGbsPxxb9dXozPg==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/select": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-odoNLiVOgdwbEeePkjHtlr43pjskDwyO8hi4z3jcud1Rg1czk5zoJ2mUI0+olOJjBQ26PGocwrSLqf3qaThbIA==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/floating-label": "15.0.0-canary.a246a4439.0", - "@material/line-ripple": "15.0.0-canary.a246a4439.0", - "@material/list": "15.0.0-canary.a246a4439.0", - "@material/menu": "15.0.0-canary.a246a4439.0", - "@material/menu-surface": "15.0.0-canary.a246a4439.0", - "@material/notched-outline": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-WioZtQEXRpglum0cMSzSqocnhsGRr+ZIhvKb3FlaNrTaK8H3Y4QA7rVjv3emRtrLOOjaT6/RiIaUMTo9AGzWQQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/floating-label": "15.0.0-canary.7f224ddd4.0", + "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/menu": "15.0.0-canary.7f224ddd4.0", + "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", + "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/shape": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-rcWPlCoHyP79ozeEKk73KWt9WTWdh6R68+n75l08TSTvnWZB5RRTmsI9BMkz55O9OJD/8H8ZsOxBe4x2QXUT7w==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-8z8l1W3+cymObunJoRhwFPKZ+FyECfJ4MJykNiaZq7XJFZkV6xNmqAVrrbQj93FtLsECn9g4PjjIomguVn/OEw==", "dependencies": { - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/slider": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-is1BSBpxaXBBv+wSVpe9WGWmWl59yJEeDNubTES2UFD0er3BmA+PdKkL09vvytDnBcbKf77TbxaRiUSGVaKUQA==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-QU/WSaSWlLKQRqOhJrPgm29wqvvzRusMqwAcrCh1JTrCl+xwJ43q5WLDfjYhubeKtrEEgGu9tekkAiYfMG7EBw==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/snackbar": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-2NAtC1qozR/uajszZnPy08Ej8HNnpgvCjNCBerDN4SLH2Q0/aWrVrUjqRCp2ayAvsX+szoroGbCboMhaWRzDuQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/button": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/icon-button": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-sm7EbVKddaXpT/aXAYBdPoN0k8yeg9+dprgBUkrdqGzWJAeCkxb4fv2B3He88YiCtvkTz2KLY4CThPQBSEsMFQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/icon-button": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/switch": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-o0wcbYgm2yRs4een5uxT4RJnJ003DxXe33rk8vTBG2o7cdiSR3X7GJQxeIK3D9wPgWCAwBLhNYSzXrlTL5pkMw==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/focus-ring": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-lEDJfRvkVyyeHWIBfoxYjJVl+WlEAE2kZ/+6OqB1FW0OV8ftTODZGhHRSzjVBA1/p4FPuhAtKtoK9jTpa4AZjA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", "safevalues": "^0.3.4", "tslib": "^2.1.0" } }, "node_modules/@material/tab": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-HGLK774uMeLnhbjDJBOjft7S6SurZnKb+6Und88OMDUVUEG6MkFBAKQQr09iBIeLE2sUAiGQhBVQtb7LJKwolQ==", - "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/focus-ring": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/tab-indicator": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-E1xGACImyCLurhnizyOTCgOiVezce4HlBFAI6YhJo/AyVwjN2Dtas4ZLQMvvWWqpyhITNkeYdOchwCC1mrz3AQ==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/tab-bar": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-dMQb1vXsBchQXcjbwgJZIGqTZHngm+3QGSOSb4LWjqHIgC5+w2RRrHsIAjNTyRhKssJ9nKKrbpM/Yz5vTPWH6w==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/tab": "15.0.0-canary.a246a4439.0", - "@material/tab-indicator": "15.0.0-canary.a246a4439.0", - "@material/tab-scroller": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-p1Asb2NzrcECvAQU3b2SYrpyJGyJLQWR+nXTYzDKE8WOpLIRCXap2audNqD7fvN/A20UJ1J8U01ptrvCkwJ4eA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/tab": "15.0.0-canary.7f224ddd4.0", + "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/tab-indicator": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-gG2BgHT+ggKnUOaT8LjmH/+9nknRLh8v9qemrhUkDuCtZ8inlaC33OVbbxfrpQW3J+UzBh5YCUSC+2KrN39uUA==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-h9Td3MPqbs33spcPS7ecByRHraYgU4tNCZpZzZXw31RypjKvISDv/PS5wcA4RmWqNGih78T7xg4QIGsZg4Pk4w==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/tab-scroller": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-6KvBpalc4SwLbHFm0rnuIE64VffUj7AKhnPc+mqM6VmxOvDzQ/ZSYga0rWlUfM4mCDFX3ZkSxim+iNzVF+Ejaw==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/tab": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-LFeYNjQpdXecwECd8UaqHYbhscDCwhGln5Yh+3ctvcEgvmDPNjhKn/DL3sWprWvG8NAhP6sHMrsGhQFVdCWtTg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/tab": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/textfield": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-4BW5bUERPlIeiPnLSby21h1/xDmySuAG9Ucn1LM801a0+5mK3IwWb8031AP3filKZZqTx5JJvOJYZd6/OWBJVA==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/density": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/floating-label": "15.0.0-canary.a246a4439.0", - "@material/line-ripple": "15.0.0-canary.a246a4439.0", - "@material/notched-outline": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-AExmFvgE5nNF0UA4l2cSzPghtxSUQeeoyRjFLHLy+oAaE4eKZFrSy0zEpqPeWPQpEMDZk+6Y+6T3cOFYBeSvsw==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/floating-label": "15.0.0-canary.7f224ddd4.0", + "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", + "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/theme": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-HWxC5Nhz8JZKTLTVmAsNxIGB3Kzr53+YFMg327S8/XuEDmI0RFHFvtwM9rADmyrHFBmUaVhV4iELyxFdi67c9w==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-hs45hJoE9yVnoVOcsN1jklyOa51U4lzWsEnQEuJTPOk2+0HqCQ0yv/q0InpSnm2i69fNSyZC60+8HADZGF8ugQ==", "dependencies": { - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/tokens": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-+5iGfQ51YSb0Qau8uC6/jHXCSC3enKaQKDf/iPHfuXAe04UznW3tmm1/Ju227aZXNISTJcnQYa2rpm1M14MeUg==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-r9TDoicmcT7FhUXC4eYMFnt9TZsz0G8T3wXvkKncLppYvZ517gPyD/1+yhuGfGOxAzxTrM66S/oEc1fFE2q4hw==", "dependencies": { - "@material/elevation": "15.0.0-canary.a246a4439.0" + "@material/elevation": "15.0.0-canary.7f224ddd4.0" } }, "node_modules/@material/tooltip": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-Ja2Z4aZQkYWD6InXA+MG4M9zdKR6dYsXXlYzQppYpfcQzXylZqh5Y7WBLulG5fA2o83pHVwILfwFZM7j7ht08Q==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/button": "15.0.0-canary.a246a4439.0", - "@material/dom": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/tokens": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-8qNk3pmPLTnam3XYC1sZuplQXW9xLn4Z4MI3D+U17Q7pfNZfoOugGr+d2cLA9yWAEjVJYB0mj8Yu86+udo4N9w==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "safevalues": "^0.3.4", "tslib": "^2.1.0" } }, "node_modules/@material/top-app-bar": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-twQchmCa1In/FFrALPYojgeM8vmV7KH96wRY9NmPSJ046ANgPCicLBgLuSzrLETCFqAwbztqzxSG4xMBL81rYg==", - "dependencies": { - "@material/animation": "15.0.0-canary.a246a4439.0", - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/elevation": "15.0.0-canary.a246a4439.0", - "@material/ripple": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/shape": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", - "@material/typography": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-SARR5/ClYT4CLe9qAXakbr0i0cMY0V3V4pe3ElIJPfL2Z2c4wGR1mTR8m2LxU1MfGKK8aRoUdtfKaxWejp+eNA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/touch-target": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-ubyD1TUjZnRPEdDnk6Lrcm2ZsjnU7CV5y7IX8pj9IPawiM6bx4FkjZBxUvclbv3WiTGk5UOnwPOySYAJYAMQ1w==", - "dependencies": { - "@material/base": "15.0.0-canary.a246a4439.0", - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/rtl": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-BJo/wFKHPYLGsRaIpd7vsQwKr02LtO2e89Psv0on/p0OephlNIgeB9dD9W+bQmaeZsZ6liKSKRl6wJWDiK71PA==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, "node_modules/@material/typography": { - "version": "15.0.0-canary.a246a4439.0", - "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.a246a4439.0.tgz", - "integrity": "sha512-eXzBl9ROzWZ+41nan5pCrn1C/Zq3o/VsrLFaGv8fdRmhRR6/wHMeuvCCwGf5VtEmWdAE9FpJzRU/4ZPiJCJUyg==", + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-kBaZeCGD50iq1DeRRH5OM5Jl7Gdk+/NOfKArkY4ksBZvJiStJ7ACAhpvb8MEGm4s3jvDInQFLsDq3hL+SA79sQ==", "dependencies": { - "@material/feature-targeting": "15.0.0-canary.a246a4439.0", - "@material/theme": "15.0.0-canary.a246a4439.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", "tslib": "^2.1.0" } }, @@ -4075,9 +4193,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.0.3.tgz", - "integrity": "sha512-H39WQ/tM6kOErfiyU6QkPasMtuOZHbm6INkirSR3ol4e93o6gLJ0ptwg3IQlyGtZK2QexWagPC6jzsdGIaN3iw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.1.1.tgz", + "integrity": "sha512-uPWEpRuAUmMBZhYMpkEHNbeI8QAgeVM5lnWM+02lK75u1+sgYy32ed+RcRvEI+8hRQcsCQ8HtR4QubgJb4TzCQ==", "dev": true, "engines": { "node": "^18.13.0 || >=20.9.0", @@ -4086,7 +4204,7 @@ }, "peerDependencies": { "@angular/compiler-cli": "^17.0.0", - "typescript": ">=5.2 <5.3", + "typescript": ">=5.2 <5.4", "webpack": "^5.54.0" } }, @@ -4142,9 +4260,9 @@ } }, "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "dev": true, "engines": { "node": "14 || >=16.14" @@ -4163,9 +4281,9 @@ } }, "node_modules/@npmcli/git": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.3.tgz", - "integrity": "sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz", + "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==", "dev": true, "dependencies": { "@npmcli/promise-spawn": "^7.0.0", @@ -4191,9 +4309,9 @@ } }, "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "dev": true, "engines": { "node": "14 || >=16.14" @@ -4239,10 +4357,50 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/@npmcli/package-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.0.0.tgz", + "integrity": "sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==", + "dev": true, + "dependencies": { + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@npmcli/promise-spawn": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.0.tgz", - "integrity": "sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz", + "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==", "dev": true, "dependencies": { "which": "^4.0.0" @@ -4276,15 +4434,15 @@ } }, "node_modules/@npmcli/run-script": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.2.tgz", - "integrity": "sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.4.tgz", + "integrity": "sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==", "dev": true, "dependencies": { "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", "@npmcli/promise-spawn": "^7.0.0", "node-gyp": "^10.0.0", - "read-package-json-fast": "^3.0.0", "which": "^4.0.0" }, "engines": { @@ -4558,26 +4716,195 @@ "node": ">=14" } }, - "node_modules/@schematics/angular": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.0.3.tgz", - "integrity": "sha512-pFHAqHMNm2WLoquJD4osSA/OAgH+wsFayPuqQnKjDEzeVW/YfJSbUksJ2iFt+uSfrhc/VxPf6pmGBMzi+9d0ng==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz", + "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@angular-devkit/core": "17.0.3", - "@angular-devkit/schematics": "17.0.3", - "jsonc-parser": "3.2.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@sigstore/bundle": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.0.tgz", - "integrity": "sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz", + "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz", + "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz", + "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz", + "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz", + "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz", + "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz", + "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz", + "integrity": "sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz", + "integrity": "sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz", + "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz", + "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz", + "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.1.1.tgz", + "integrity": "sha512-1Wqefy1W9Y63g48Fp7BscL95V4U1seDGgZawH6DcJnytJVW89hazao7YREzLYfdoediuw7lU+OHJksWYe4VQww==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "17.1.1", + "@angular-devkit/schematics": "17.1.1", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.1.tgz", + "integrity": "sha512-v3/iS+1nufZdKQ5iAlQKcCsoh0jffQyABvYIxKsZQFWc4ubuGjwZklFHpDgV6O6T7vvV78SW5NHI91HFKEcxKg==", "dev": true, "dependencies": { "@sigstore/protobuf-specs": "^0.2.1" @@ -4586,6 +4913,15 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@sigstore/core": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-0.2.0.tgz", + "integrity": "sha512-THobAPPZR9pDH2CAvDLpkrYedt7BlZnsyxDe+Isq4ZmGfPy5juOFZq487vCU2EgKD7aHSiTfE/i7sN7aEdzQnA==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/@sigstore/protobuf-specs": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", @@ -4596,12 +4932,13 @@ } }, "node_modules/@sigstore/sign": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.0.tgz", - "integrity": "sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.1.tgz", + "integrity": "sha512-U5sKQEj+faE1MsnLou1f4DQQHeFZay+V9s9768lw48J4pKykPj34rWyI1lsMOGJ3Mae47Ye6q3HAJvgXO21rkQ==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.0", + "@sigstore/bundle": "^2.1.1", + "@sigstore/core": "^0.2.0", "@sigstore/protobuf-specs": "^0.2.1", "make-fetch-happen": "^13.0.0" }, @@ -4610,13 +4947,27 @@ } }, "node_modules/@sigstore/tuf": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.2.0.tgz", - "integrity": "sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.0.tgz", + "integrity": "sha512-S98jo9cpJwO1mtQ+2zY7bOdcYyfVYCUaofCG6wWRzk3pxKHVAkSfshkfecto2+LKsx7Ovtqbgb2LS8zTRhxJ9Q==", "dev": true, "dependencies": { "@sigstore/protobuf-specs": "^0.2.1", - "tuf-js": "^2.1.0" + "tuf-js": "^2.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-0.1.0.tgz", + "integrity": "sha512-2UzMNYAa/uaz11NhvgRnIQf4gpLTJ59bhb8ESXaoSS5sxedfS+eLak8bsdMc+qpNQfITUTFoSKFx5h8umlRRiA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.1.1", + "@sigstore/core": "^0.2.0", + "@sigstore/protobuf-specs": "^0.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -4635,30 +4986,62 @@ "dev": true }, "node_modules/@stylistic/eslint-plugin-js": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.4.0.tgz", - "integrity": "sha512-cANyn4ECWu8kxPmBM4K/Q4WocD3JbA0POmGbA2lJ4tynPE8jGyKpfP8SZj6BIidXV0pkyqvxEfaKppB4D16UsA==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.5.4.tgz", + "integrity": "sha512-3ctWb3NvJNV1MsrZN91cYp2EGInLPSoZKphXIbIRx/zjZxKwLDr9z4LMOWtqjq14li/OgqUUcMq5pj8fgbLoTw==", "dev": true, "dependencies": { - "acorn": "^8.11.2", + "acorn": "^8.11.3", "escape-string-regexp": "^4.0.0", "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "graphemer": "^1.4.0" + "espree": "^9.6.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" } }, "node_modules/@stylistic/eslint-plugin-ts": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-1.4.0.tgz", - "integrity": "sha512-eNEC0MufXfe2v9fW+g5yDzMMcws80cn1gKIt9CaLVjUuWnwCdY4SG1hUtDfEpBCTNBZgG/LKKls15dSa1x++0g==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-1.5.4.tgz", + "integrity": "sha512-NZDFVIlVNjuPvhT+0Cidm5IS3emtx338xbJTqs2xfOVRDGTpYwRHhNVEGa1rFOpYHmv0sAj6+OXbMDn7ul0K/g==", + "dev": true, + "dependencies": { + "@stylistic/eslint-plugin-js": "1.5.4", + "@typescript-eslint/utils": "^6.19.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin-ts/node_modules/@typescript-eslint/utils": { + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz", + "integrity": "sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==", "dev": true, "dependencies": { - "@stylistic/eslint-plugin-js": "1.4.0", - "@typescript-eslint/utils": "^6.11.0", - "graphemer": "^1.4.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/@swimlane/ngx-charts": { @@ -4715,34 +5098,10 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@tufjs/models/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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@types/babel__traverse": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz", - "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", "dependencies": { "@babel/types": "^7.20.7" } @@ -4801,9 +5160,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.44.7", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.7.tgz", - "integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==", + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", "dev": true, "dependencies": { "@types/estree": "*", @@ -4839,9 +5198,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.41", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", - "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", + "version": "4.17.42", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.42.tgz", + "integrity": "sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -4906,6 +5265,15 @@ "integrity": "sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==", "dev": true }, + "node_modules/@types/jasminewd2": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.13.tgz", + "integrity": "sha512-aJ3wj8tXMpBrzQ5ghIaqMisD8C3FIrcO6sDKHqFbuqAsI7yOxj0fA7MrRCPLZHIVUjERIwsMmGn/vB0UQ9u0Hg==", + "dev": true, + "dependencies": { + "@types/jasmine": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -4925,17 +5293,17 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.9.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.4.tgz", - "integrity": "sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==", + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/node-forge": { - "version": "1.3.10", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.10.tgz", - "integrity": "sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==", + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", "dev": true, "dependencies": { "@types/node": "*" @@ -4946,10 +5314,26 @@ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" }, + "node_modules/@types/protractor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/protractor/-/protractor-4.0.0.tgz", + "integrity": "sha512-38KcPuHfh6JkNhRrAQlaCLE+zEexoKMOgoJCYCSH2DjJ8wk/Tv46h5ZVAzg0xevpjNN1kz7/TCsyvTxK0uUtvg==", + "deprecated": "This is a stub types definition for Protractor (https://github.com/angular/protractor). Protractor provides its own type definitions, so you don't need @types/protractor installed!", + "dev": true, + "dependencies": { + "protractor": "*" + } + }, + "node_modules/@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==", + "dev": true + }, "node_modules/@types/qs": { - "version": "6.9.10", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", - "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==", + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", "dev": true }, "node_modules/@types/range-parser": { @@ -4964,6 +5348,12 @@ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, + "node_modules/@types/selenium-webdriver": { + "version": "3.0.26", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.26.tgz", + "integrity": "sha512-dyIGFKXfUFiwkMfNGn1+F6b80ZjR3uSYv1j6xVJSDlft5waZ2cwkHW4e7zNzvq7hiEackcgvBpmnXZrI1GltPg==", + "dev": true + }, "node_modules/@types/semver": { "version": "7.5.6", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", @@ -5037,16 +5427,16 @@ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.12.0.tgz", - "integrity": "sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz", + "integrity": "sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.12.0", - "@typescript-eslint/type-utils": "6.12.0", - "@typescript-eslint/utils": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/type-utils": "6.19.1", + "@typescript-eslint/utils": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -5072,13 +5462,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.12.0.tgz", - "integrity": "sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.1.tgz", + "integrity": "sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.12.0", - "@typescript-eslint/utils": "6.12.0", + "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/utils": "6.19.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -5099,17 +5489,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.12.0.tgz", - "integrity": "sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz", + "integrity": "sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.12.0", - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/typescript-estree": "6.12.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", "semver": "^7.5.4" }, "engines": { @@ -5124,15 +5514,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.12.0.tgz", - "integrity": "sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.1.tgz", + "integrity": "sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.12.0", - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/typescript-estree": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4" }, "engines": { @@ -5152,13 +5542,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.12.0.tgz", - "integrity": "sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz", + "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0" + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -5253,9 +5643,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.12.0.tgz", - "integrity": "sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz", + "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -5266,16 +5656,17 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.12.0.tgz", - "integrity": "sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz", + "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", + "minimatch": "9.0.3", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" }, @@ -5392,12 +5783,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.12.0.tgz", - "integrity": "sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz", + "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.12.0", + "@typescript-eslint/types": "6.19.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -5415,15 +5806,15 @@ "dev": true }, "node_modules/@vitejs/plugin-basic-ssl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", - "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.2.tgz", + "integrity": "sha512-DKHKVtpI+eA5fvObVgQ3QtTGU70CcCnedalzqmGSR050AzKZMdUzgC8KmlOneHWH8dF2hJ3wkC9+8FDVAaDRCw==", "dev": true, "engines": { "node": ">=14.6.0" }, "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0" + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" } }, "node_modules/@webassemblyjs/ast": { @@ -5621,12 +6012,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, "node_modules/abbrev": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", @@ -5661,9 +6046,9 @@ } }, "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -5717,6 +6102,15 @@ "node": ">=8.9.0" } }, + "node_modules/adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/agent-base": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", @@ -5896,9 +6290,9 @@ } }, "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==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "node_modules/array-includes": { @@ -5929,6 +6323,15 @@ "node": ">=8" } }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array.prototype.findlastindex": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", @@ -6005,21 +6408,39 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, "node_modules/async": { "version": "3.2.5", "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", "dev": true }, - "node_modules/async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -6075,19 +6496,36 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, - "dependencies": { - "follow-redirects": "^1.14.0" + "engines": { + "node": "*" } }, - "node_modules/axobject-query": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", - "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", + "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", "dev": true, "dependencies": { "dequal": "^2.0.3" @@ -6126,13 +6564,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.5.0", "semver": "^6.3.1" }, "peerDependencies": { @@ -6149,25 +6587,41 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", - "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", + "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.4.4", "core-js-compat": "^3.33.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-polyfill-corejs3/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", + "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "@babel/helper-define-polyfill-provider": "^0.5.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6235,6 +6689,15 @@ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -6264,6 +6727,21 @@ "readable-stream": "^3.4.0" } }, + "node_modules/blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "blocking-proxy": "built/lib/bin.js" + }, + "engines": { + "node": ">=6.9.x" + } + }, "node_modules/body-parser": { "version": "1.20.2", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", @@ -6303,26 +6781,12 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/body-parser/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", "dev": true, "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" } @@ -6334,12 +6798,12 @@ "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==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -6353,255 +6817,80 @@ "node": ">=8" } }, - "node_modules/browser-sync": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.29.3.tgz", - "integrity": "sha512-NiM38O6XU84+MN+gzspVmXV2fTOoe+jBqIBx3IBdhZrdeURr6ZgznJr/p+hQ+KzkKEiGH/GcC4SQFSL0jV49bg==", - "dev": true, + "node_modules/browserslist": { + "version": "4.22.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", + "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "browser-sync-client": "^2.29.3", - "browser-sync-ui": "^2.29.3", - "bs-recipes": "1.3.4", - "chalk": "4.1.2", - "chokidar": "^3.5.1", - "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "^4.0.1", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "^1.18.1", - "immutable": "^3", - "localtunnel": "^2.0.1", - "micromatch": "^4.0.2", - "opn": "5.3.0", - "portscanner": "2.2.0", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "send": "0.16.2", - "serve-index": "1.9.1", - "serve-static": "1.13.2", - "server-destroy": "1.0.1", - "socket.io": "^4.4.1", - "ua-parser-js": "^1.0.33", - "yargs": "^17.3.1" + "caniuse-lite": "^1.0.30001580", + "electron-to-chromium": "^1.4.648", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, "bin": { - "browser-sync": "dist/bin.js" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/browser-sync-client": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.29.3.tgz", - "integrity": "sha512-4tK5JKCl7v/3aLbmCBMzpufiYLsB1+UI+7tUXCCp5qF0AllHy/jAqYu6k7hUF3hYtlClKpxExWaR+rH+ny07wQ==", - "dev": true, - "dependencies": { - "etag": "1.8.1", - "fresh": "0.5.2", - "mitt": "^1.1.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/browser-sync-ui": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.29.3.tgz", - "integrity": "sha512-kBYOIQjU/D/3kYtUIJtj82e797Egk1FB2broqItkr3i4eF1qiHbFCG6srksu9gWhfmuM/TNG76jMfzAdxEPakg==", - "dev": true, - "dependencies": { - "async-each-series": "0.1.1", - "chalk": "4.1.2", - "connect-history-api-fallback": "^1", - "immutable": "^3", - "server-destroy": "1.0.1", - "socket.io-client": "^4.4.1", - "stream-throttle": "^0.1.3" - } - }, - "node_modules/browser-sync-ui/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/browser-sync-ui/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/browser-sync-ui/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" + "browserslist": "cli.js" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/browser-sync-ui/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/browser-sync-ui/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": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/browser-sync-ui/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==", + "node_modules/browserstack": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz", + "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "https-proxy-agent": "^2.2.1" } }, - "node_modules/browser-sync/node_modules/ansi-styles": { + "node_modules/browserstack/node_modules/agent-base": { "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/browser-sync/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "es6-promisify": "^5.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 4.0.0" } }, - "node_modules/browser-sync/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==", + "node_modules/browserstack/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": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/browser-sync/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/browser-sync/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" + "ms": "^2.1.1" } }, - "node_modules/browser-sync/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==", + "node_modules/browserstack/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" + "agent-base": "^4.3.0", + "debug": "^3.1.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">= 4.5.0" } }, - "node_modules/bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==", - "dev": true - }, "node_modules/bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -6659,9 +6948,9 @@ } }, "node_modules/cacache": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.0.tgz", - "integrity": "sha512-I7mVOPl3PUCeRub1U8YoGz2Lqv9WOBpobZ8RyWFXmReuILz+3OAyTa5oH3QPdtKZD7N0Yk00aLfzn0qvp8dZ1w==", + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", "dev": true, "dependencies": { "@npmcli/fs": "^3.1.0", @@ -6669,7 +6958,7 @@ "glob": "^10.2.2", "lru-cache": "^10.0.1", "minipass": "^7.0.3", - "minipass-collect": "^1.0.2", + "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", @@ -6681,15 +6970,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/cacache/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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/cacache/node_modules/glob": { "version": "10.3.10", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", @@ -6713,33 +6993,18 @@ } }, "node_modules/cacache/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "dev": true, "engines": { "node": "14 || >=16.14" } }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { "function-bind": "^1.1.2", "get-intrinsic": "^1.2.1", @@ -6767,9 +7032,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001564", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", - "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", + "version": "1.0.30001581", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz", + "integrity": "sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==", "funding": [ { "type": "opencollective", @@ -6785,6 +7050,12 @@ } ] }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -7115,14 +7386,14 @@ "dev": true }, "node_modules/connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "dependencies": { "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", "utils-merge": "1.0.1" }, "engines": { @@ -7130,9 +7401,9 @@ } }, "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, "engines": { "node": ">=0.8" @@ -7274,9 +7545,9 @@ } }, "node_modules/core-js": { - "version": "3.33.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", - "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==", + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.1.tgz", + "integrity": "sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -7284,12 +7555,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.33.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz", - "integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==", + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.1.tgz", + "integrity": "sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==", "dev": true, "dependencies": { - "browserslist": "^4.22.1" + "browserslist": "^4.22.2" }, "funding": { "type": "opencollective", @@ -7297,9 +7568,9 @@ } }, "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==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, "node_modules/cors": { @@ -7762,6 +8033,18 @@ "d3-selection": "2 - 3" } }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/date-format": { "version": "4.0.14", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", @@ -7787,6 +8070,15 @@ } } }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -7856,6 +8148,65 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha512-Z4fzpbIRjOu7lO5jCETSWoqUDVe0IPOlfugBsF6suen2LKDlVb4QZpKEM9P+buNJ4KI1eN7I083w/pbKUpsrWQ==", + "dev": true, + "dependencies": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + }, + "engines": { + "node": ">=0.10.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": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha512-HJRTIH2EeH44ka+LWig+EqT2ONSYpVlNfx6pyd592/VF1TbfljJ7elwie7oSwcViLGqOdWocSdu2txwBF9bjmQ==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "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/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -7899,18 +8250,6 @@ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, - "node_modules/dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==", - "dev": true, - "bin": { - "dev-ip": "lib/dev-ip.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/di": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", @@ -7937,12 +8276,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": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", - "dev": true - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -8035,9 +8368,9 @@ } }, "node_modules/dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz", + "integrity": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==", "dev": true, "engines": { "node": ">=12" @@ -8067,98 +8400,14 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "node_modules/easy-extender": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", - "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", - "dev": true, - "dependencies": { - "lodash": "^4.17.10" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/eazy-logger": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.0.1.tgz", - "integrity": "sha512-2GSFtnnC6U4IEKhEI7+PvdxrmjJ04mdsj3wHZTFiw0tUtG4HCWzTr13ZYTk8XOGnA1xQMaDljoBOYlk3D/MMSw==", - "dev": true, - "dependencies": { - "chalk": "4.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eazy-logger/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/eazy-logger/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/eazy-logger/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/eazy-logger/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/eazy-logger/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/eazy-logger/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==", + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "node_modules/ee-first": { @@ -8183,9 +8432,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.591", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.591.tgz", - "integrity": "sha512-vLv/P7wwAPKQoY+CVMyyI6rsTp+A14KGtPXx92oz1FY41AAqa9l6Wkizcixg0LDuJgyeo8xgNN9+9hsnGp66UA==" + "version": "1.4.648", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz", + "integrity": "sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -8262,40 +8511,6 @@ "node": ">=10.2.0" } }, - "node_modules/engine.io-client": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz", - "integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==", - "dev": true, - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0", - "xmlhttprequest-ssl": "~2.0.0" - } - }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/engine.io-parser": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", @@ -8505,13 +8720,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dev": true, + "dependencies": { + "es6-promise": "^4.0.3" + } + }, "node_modules/esbuild": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.5.tgz", - "integrity": "sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", "dev": true, "hasInstallScript": true, - "optional": true, "bin": { "esbuild": "bin/esbuild" }, @@ -8519,34 +8748,35 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.19.5", - "@esbuild/android-arm64": "0.19.5", - "@esbuild/android-x64": "0.19.5", - "@esbuild/darwin-arm64": "0.19.5", - "@esbuild/darwin-x64": "0.19.5", - "@esbuild/freebsd-arm64": "0.19.5", - "@esbuild/freebsd-x64": "0.19.5", - "@esbuild/linux-arm": "0.19.5", - "@esbuild/linux-arm64": "0.19.5", - "@esbuild/linux-ia32": "0.19.5", - "@esbuild/linux-loong64": "0.19.5", - "@esbuild/linux-mips64el": "0.19.5", - "@esbuild/linux-ppc64": "0.19.5", - "@esbuild/linux-riscv64": "0.19.5", - "@esbuild/linux-s390x": "0.19.5", - "@esbuild/linux-x64": "0.19.5", - "@esbuild/netbsd-x64": "0.19.5", - "@esbuild/openbsd-x64": "0.19.5", - "@esbuild/sunos-x64": "0.19.5", - "@esbuild/win32-arm64": "0.19.5", - "@esbuild/win32-ia32": "0.19.5", - "@esbuild/win32-x64": "0.19.5" + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" } }, "node_modules/esbuild-wasm": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.19.5.tgz", - "integrity": "sha512-7zmLLn2QCj93XfMmHtzrDJ1UBuOHB2CZz1ghoCEZiRajxjUvHsF40PnbzFIY/pmesqPRaEtEWii0uzsTbnAgrA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.19.11.tgz", + "integrity": "sha512-MIhnpc1TxERUHomteO/ZZHp+kUawGEc03D/8vMHGzffLvbFLeDe6mwxqEZwlqBNY7SLWbyp6bBQAcCen8+wpjQ==", "dev": true, "bin": { "esbuild": "bin/esbuild" @@ -8582,15 +8812,15 @@ } }, "node_modules/eslint": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", - "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.54.0", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -8711,9 +8941,9 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", - "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, "dependencies": { "array-includes": "^3.1.7", @@ -8732,7 +8962,7 @@ "object.groupby": "^1.0.1", "object.values": "^1.1.7", "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" + "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" @@ -8741,6 +8971,16 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, + "node_modules/eslint-plugin-import/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" + } + }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -8762,6 +9002,18 @@ "node": ">=0.10.0" } }, + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -8836,6 +9088,16 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/eslint/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" + } + }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8899,9 +9161,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -8955,6 +9217,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/eslint/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -9097,12 +9371,6 @@ "node": ">=6" } }, - "node_modules/eventemitter-asyncresource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", - "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", - "dev": true - }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -9149,6 +9417,15 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/expect": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", @@ -9211,12 +9488,6 @@ "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": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, "node_modules/express/node_modules/body-parser": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", @@ -9277,36 +9548,12 @@ "node": ">= 0.8" } }, - "node_modules/express/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/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/express/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/express/node_modules/raw-body": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", @@ -9322,51 +9569,6 @@ "node": ">= 0.8" } }, - "node_modules/express/node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/express/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/express/node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/express/node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -9408,6 +9610,15 @@ "node": ">=0.6.0" } }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.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", @@ -9415,9 +9626,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -9442,9 +9653,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz", + "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -9533,15 +9744,6 @@ "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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/filelist/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -9566,17 +9768,17 @@ } }, "node_modules/finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw==", + "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.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "engines": { @@ -9598,6 +9800,18 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/find-cache-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", @@ -9656,9 +9870,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "dev": true, "funding": [ { @@ -9712,6 +9926,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -9764,14 +9987,17 @@ "dev": true }, "node_modules/fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" } }, "node_modules/fs-minipass": { @@ -9912,6 +10138,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -9949,6 +10184,26 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, + "node_modules/glob/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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "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" + }, + "engines": { + "node": "*" + } + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -10020,6 +10275,72 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -10134,9 +10455,9 @@ } }, "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "dev": true, "engines": { "node": "14 || >=16.14" @@ -10325,6 +10646,21 @@ } } }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, "node_modules/https-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", @@ -10401,9 +10737,9 @@ } }, "node_modules/ignore-walk": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", - "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz", + "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==", "dev": true, "dependencies": { "minimatch": "^9.0.0" @@ -10412,30 +10748,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/ignore-walk/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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", @@ -10449,14 +10761,17 @@ "node": ">=0.10.0" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true + }, "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "dev": true }, "node_modules/import-fresh": { "version": "3.3.0", @@ -10524,12 +10839,12 @@ } }, "node_modules/inquirer": { - "version": "9.2.11", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.11.tgz", - "integrity": "sha512-B2LafrnnhbRzCWfAdOXisUzL89Kg8cVJlYmhqoi3flSiV/TveO+nsXwgKr9h9PIo+J1hz7nBSk6gegRIMBBf7g==", + "version": "9.2.12", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.12.tgz", + "integrity": "sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==", "dev": true, "dependencies": { - "@ljharb/through": "^2.3.9", + "@ljharb/through": "^2.3.11", "ansi-escapes": "^4.3.2", "chalk": "^5.3.0", "cli-cursor": "^3.1.0", @@ -10777,15 +11092,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", - "dev": true, - "dependencies": { - "lodash.isfinite": "^3.3.2" - } - }, "node_modules/is-number-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", @@ -10801,6 +11107,39 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "dependencies": { + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-in-cwd/node_modules/is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -10999,6 +11338,12 @@ "node": ">=0.10.0" } }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", @@ -11152,6 +11497,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/jake/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" + } + }, "node_modules/jake/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -11195,10 +11550,22 @@ "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==", + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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==", "dev": true, "dependencies": { "has-flag": "^4.0.0" @@ -11207,12 +11574,41 @@ "node": ">=8" } }, + "node_modules/jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha512-KbdGQTf5jbZgltoHs31XGiChAPumMSY64OZMWLNYnEnMfG5uwGBhffePwuskexjT+/Jea/gU3qAU8344hNohSw==", + "dev": true, + "dependencies": { + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" + }, + "bin": { + "jasmine": "bin/jasmine.js" + } + }, "node_modules/jasmine-core": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz", "integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==", "dev": true }, + "node_modules/jasmine/node_modules/jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ==", + "dev": true + }, + "node_modules/jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", + "integrity": "sha512-Rn0nZe4rfDhzA63Al3ZGh0E+JTmM6ESZYXJGKuqKGZObsAB9fwXPD03GjtIEvJBDOhN94T5MzbwZSqzFHSQPzg==", + "dev": true, + "engines": { + "node": ">= 6.9.x" + } + }, "node_modules/jest-diff": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", @@ -11786,6 +12182,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -11804,9 +12206,18 @@ "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==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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": { @@ -11821,6 +12232,12 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -11839,10 +12256,13 @@ "dev": true }, "node_modules/jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==", + "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" } @@ -11856,6 +12276,69 @@ "node >= 0.2.0" ] }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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/jszip/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==", + "dev": true + }, + "node_modules/jszip/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/karma": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz", @@ -11932,6 +12415,28 @@ "node": ">=10.0.0" } }, + "node_modules/karma-coverage/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" + } + }, + "node_modules/karma-coverage/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/karma-jasmine": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", @@ -11982,6 +12487,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/karma/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" + } + }, "node_modules/karma/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -12011,54 +12526,18 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/karma/node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/karma/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/karma/node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "node_modules/karma/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "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" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 0.8" + "node": "*" } }, - "node_modules/karma/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "node_modules/karma/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -12068,38 +12547,6 @@ "node": ">=0.10.0" } }, - "node_modules/karma/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/karma/node_modules/ua-parser-js": { - "version": "0.7.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz", - "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "engines": { - "node": "*" - } - }, "node_modules/karma/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -12254,6 +12701,16 @@ "node": ">=4" } }, + "node_modules/less/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, "node_modules/less/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -12304,11 +12761,14 @@ } } }, - "node_modules/limiter": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", - "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", - "dev": true + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } }, "node_modules/lines-and-columns": { "version": "2.0.4", @@ -12337,178 +12797,49 @@ "node": ">= 12.13.0" } }, - "node_modules/localtunnel": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", - "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", - "dev": true, + "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==", "dependencies": { - "axios": "0.21.4", - "debug": "4.3.2", - "openurl": "1.1.1", - "yargs": "17.1.1" - }, - "bin": { - "lt": "bin/lt.js" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=8.3.0" + "node": ">=8" } }, - "node_modules/localtunnel/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==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/localtunnel/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/localtunnel/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/localtunnel/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/localtunnel/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/localtunnel/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", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/localtunnel/node_modules/yargs": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", - "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/localtunnel/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "node_modules/lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/log-symbols/node_modules/ansi-styles": { @@ -12815,14 +13146,18 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -12844,35 +13179,17 @@ } }, "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-collect/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/minipass-collect/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/minipass-fetch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", @@ -13039,12 +13356,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/mitt": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", - "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", - "dev": true - }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -13058,9 +13369,9 @@ } }, "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "dev": true, "engines": { "node": ">=10" @@ -13117,13 +13428,12 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/needle": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", - "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "dev": true, "optional": true, "dependencies": { - "debug": "^3.2.6", "iconv-lite": "^0.6.3", "sax": "^1.2.4" }, @@ -13134,16 +13444,6 @@ "node": ">= 4.4.x" } }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "optional": true, - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/needle/node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -13282,9 +13582,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.0.tgz", - "integrity": "sha512-PbZERfeFdrHQOOXiAKOY0VPbykZy90ndPKk0d+CFDegTKmWp1VgOTz2xACVbr1BjCWxrQp68CXtvNsveFhqDJg==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", + "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", "dev": true, "optional": true, "bin": { @@ -13293,15 +13593,6 @@ "node-gyp-build-test": "build-test.js" } }, - "node_modules/node-gyp/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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/node-gyp/node_modules/glob": { "version": "10.3.10", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", @@ -13333,21 +13624,6 @@ "node": ">=16" } }, - "node_modules/node-gyp/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -13375,9 +13651,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/nopt": { "version": "7.2.0", @@ -13475,12 +13751,12 @@ } }, "node_modules/npm-packlist": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.0.tgz", - "integrity": "sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", "dev": true, "dependencies": { - "ignore-walk": "^6.0.0" + "ignore-walk": "^6.0.4" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -13636,15 +13912,14 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/nx/node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "node_modules/nx/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": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/nx/node_modules/chalk": { @@ -13714,20 +13989,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, "node_modules/nx/node_modules/glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", @@ -13790,18 +14051,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/nx/node_modules/jsonfile": { - "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/nx/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -13899,21 +14148,21 @@ "node": ">=6" } }, - "node_modules/nx/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/nx/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -13941,13 +14190,13 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -14025,9 +14274,9 @@ "dev": true }, "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { "ee-first": "1.1.1" @@ -14085,33 +14334,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==", - "dev": true - }, - "node_modules/opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "dev": true, - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -14314,9 +14536,9 @@ } }, "node_modules/pacote": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.4.tgz", - "integrity": "sha512-eGdLHrV/g5b5MtD5cTPyss+JxOlaOloSMG3UwPMAvL8ywaLJ6beONPF40K4KKl/UI6q5hTKCJq5rCu8tkF+7Dg==", + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.5.tgz", + "integrity": "sha512-TAE0m20zSDMnchPja9vtQjri19X3pZIyRpm2TJVeI+yU42leJBBDTRYhOcWFsPhaMxf+3iwQkFiKz16G9AEeeA==", "dev": true, "dependencies": { "@npmcli/git": "^5.0.0", @@ -14381,6 +14603,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-json/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==", + "dev": true + }, "node_modules/parse-json/node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -14459,6 +14687,12 @@ "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": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -14491,9 +14725,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "dev": true, "engines": { "node": "14 || >=16.14" @@ -14514,6 +14748,12 @@ "node": ">=8" } }, + "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==", + "dev": true + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -14532,13 +14772,33 @@ } }, "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "optional": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "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": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/pirates": { @@ -14550,12 +14810,11 @@ } }, "node_modules/piscina": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.1.0.tgz", - "integrity": "sha512-sjbLMi3sokkie+qmtZpkfMCUJTpbxJm/wvaPzU28vmYSsTSW8xk9JcFUsbqGJdtPpIQ9tuj+iDcTtgZjwnOSig==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.2.1.tgz", + "integrity": "sha512-LShp0+lrO+WIzB9LXO+ZmO4zGHxtTJNZhEO56H9SSu+JPaUQb6oLcTCzWi5IL2DS8/vIkCE88ElahuSSw4TAkA==", "dev": true, "dependencies": { - "eventemitter-asyncresource": "^1.0.0", "hdr-histogram-js": "^2.0.1", "hdr-histogram-percentiles-obj": "^3.0.0" }, @@ -14660,33 +14919,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/portscanner": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", - "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", - "dev": true, - "dependencies": { - "async": "^2.6.0", - "is-number-like": "^1.0.3" - }, - "engines": { - "node": ">=0.4", - "npm": ">=1.0.0" - } - }, - "node_modules/portscanner/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", "dev": true, "funding": [ { @@ -14703,7 +14939,7 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -14712,14 +14948,14 @@ } }, "node_modules/postcss-loader": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", - "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", "dev": true, "dependencies": { - "cosmiconfig": "^8.2.0", - "jiti": "^1.18.2", - "semver": "^7.3.8" + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" }, "engines": { "node": ">= 14.15.0" @@ -14746,9 +14982,9 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", "dev": true, "dependencies": { "icss-utils": "^5.0.0", @@ -14763,9 +14999,9 @@ } }, "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==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.4" @@ -14793,9 +15029,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -14890,6 +15126,192 @@ "node": ">=10" } }, + "node_modules/protractor": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", + "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", + "deprecated": "We have news to share - Protractor is deprecated and will reach end-of-life by Summer 2023. To learn more and find out about other options please refer to this post on the Angular blog. Thank you for using and contributing to Protractor. https://goo.gle/state-of-e2e-in-angular", + "dev": true, + "dependencies": { + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", + "q": "1.4.1", + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" + }, + "bin": { + "protractor": "bin/protractor", + "webdriver-manager": "bin/webdriver-manager" + }, + "engines": { + "node": ">=10.13.x" + } + }, + "node_modules/protractor/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/protractor/node_modules/cliui/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" + } + }, + "node_modules/protractor/node_modules/cliui/node_modules/strip-ansi": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/protractor/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/protractor/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/protractor/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 + }, + "node_modules/protractor/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -14938,6 +15360,16 @@ "node": ">=6" } }, + "node_modules/q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, "node_modules/qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", @@ -15053,24 +15485,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/read-package-json/node_modules/glob": { "version": "10.3.10", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", @@ -15093,30 +15507,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -15156,9 +15546,9 @@ } }, "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.14.tgz", + "integrity": "sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==", "dev": true }, "node_modules/regenerate": { @@ -15180,9 +15570,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { "version": "0.15.2", @@ -15194,9 +15584,9 @@ } }, "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", "dev": true }, "node_modules/regexp.prototype.flags": { @@ -15254,6 +15644,74 @@ "jsesc": "bin/jsesc" } }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -15272,6 +15730,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", @@ -15341,51 +15805,23 @@ "node": ">=0.10.0" } }, - "node_modules/resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw==", + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/resp-modifier/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/resp-modifier/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true, "engines": { "node": ">= 4" @@ -15402,9 +15838,9 @@ } }, "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" }, "node_modules/rimraf": { "version": "3.0.2", @@ -15422,18 +15858,34 @@ } }, "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", + "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==", "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.18.0", + "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.6", + "@rollup/rollup-android-arm64": "4.9.6", + "@rollup/rollup-darwin-arm64": "4.9.6", + "@rollup/rollup-darwin-x64": "4.9.6", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.6", + "@rollup/rollup-linux-arm64-gnu": "4.9.6", + "@rollup/rollup-linux-arm64-musl": "4.9.6", + "@rollup/rollup-linux-riscv64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-musl": "4.9.6", + "@rollup/rollup-win32-arm64-msvc": "4.9.6", + "@rollup/rollup-win32-ia32-msvc": "4.9.6", + "@rollup/rollup-win32-x64-msvc": "4.9.6", "fsevents": "~2.3.2" } }, @@ -15469,11 +15921,14 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", - "dev": true + "node_modules/run-script-os": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz", + "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==", + "bin": { + "run-os": "index.js", + "run-script-os": "index.js" + } }, "node_modules/rxjs": { "version": "7.8.1", @@ -15484,13 +15939,13 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -15522,15 +15977,18 @@ ] }, "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==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz", + "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -15547,9 +16005,9 @@ "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" }, "node_modules/sass": { - "version": "1.69.5", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", - "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", + "version": "1.69.7", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.7.tgz", + "integrity": "sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -15564,9 +16022,9 @@ } }, "node_modules/sass-loader": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", - "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.3.tgz", + "integrity": "sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==", "dev": true, "dependencies": { "neo-async": "^2.6.2" @@ -15600,18 +16058,57 @@ } } }, - "node_modules/sass/node_modules/immutable": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", - "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", - "dev": true + "node_modules/saucelabs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", + "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", + "dev": true, + "dependencies": { + "https-proxy-agent": "^2.2.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/saucelabs/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/saucelabs/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/saucelabs/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } }, "node_modules/sax": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", - "dev": true, - "optional": true + "dev": true }, "node_modules/schema-utils": { "version": "4.2.0", @@ -15638,6 +16135,45 @@ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, + "node_modules/selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "dev": true, + "dependencies": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/selenium-webdriver/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha512-HXdTB7lvMwcb55XFfrTM8CPr/IYREk4hVBFaQ4b/6nInrluSL86hfHm7vu0luYKCfyBZp2trCjpc8caC3vVM3w==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", @@ -15682,24 +16218,24 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -15714,76 +16250,43 @@ "ms": "2.0.0" } }, - "node_modules/send/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/send/node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==", - "dev": true - }, - "node_modules/send/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "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/send/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "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": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/send/node_modules/mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "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/send/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/send/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "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/send/node_modules/statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -15858,34 +16361,25 @@ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "node_modules/set-cookie-parser": { @@ -15894,14 +16388,15 @@ "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", "dependencies": { "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -15921,6 +16416,12 @@ "node": ">= 0.4" } }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -15988,15 +16489,17 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/sigstore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.1.0.tgz", - "integrity": "sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.0.tgz", + "integrity": "sha512-fcU9clHwEss2/M/11FFM8Jwc4PjBgbhXoNskoK5guoK0qGQBSeUbQZRJ+B2fDFIvhyf0gqCaPrel9mszbhAxug==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.0", + "@sigstore/bundle": "^2.1.1", + "@sigstore/core": "^0.2.0", "@sigstore/protobuf-specs": "^0.2.1", - "@sigstore/sign": "^2.1.0", - "@sigstore/tuf": "^2.1.0" + "@sigstore/sign": "^2.2.1", + "@sigstore/tuf": "^2.3.0", + "@sigstore/verify": "^0.1.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -16021,9 +16524,9 @@ } }, "node_modules/socket.io": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", - "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz", + "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==", "dev": true, "dependencies": { "accepts": "~1.3.4", @@ -16068,21 +16571,6 @@ } } }, - "node_modules/socket.io-client": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz", - "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==", - "dev": true, - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/socket.io-parser": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", @@ -16107,6 +16595,15 @@ "websocket-driver": "^0.7.4" } }, + "node_modules/sockjs/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==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/socks": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", @@ -16154,17 +16651,16 @@ } }, "node_modules/source-map-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", - "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", "dev": true, "dependencies": { - "abab": "^2.0.6", "iconv-lite": "^0.6.3", "source-map-js": "^1.0.2" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -16216,9 +16712,9 @@ } }, "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz", + "integrity": "sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==", "dev": true }, "node_modules/spdx-expression-parse": { @@ -16272,6 +16768,31 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ssri": { "version": "10.0.5", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", @@ -16304,30 +16825,14 @@ } }, "node_modules/statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, "engines": { "node": ">= 0.6" } }, - "node_modules/stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", - "dev": true, - "dependencies": { - "commander": "^2.2.0", - "limiter": "^1.0.5" - }, - "bin": { - "throttleproxy": "bin/throttleproxy.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, "node_modules/streamroller": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", @@ -16365,12 +16870,21 @@ "graceful-fs": "^4.1.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": { + "node_modules/streamroller/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==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "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" } }, @@ -16646,9 +17160,9 @@ "dev": true }, "node_modules/terser": { - "version": "5.24.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", - "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -16664,16 +17178,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -16759,6 +17273,26 @@ "node": ">=8" } }, + "node_modules/test-exclude/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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "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" + }, + "engines": { + "node": "*" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -16871,9 +17405,9 @@ } }, "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, "dependencies": { "@types/json5": "^0.0.29", @@ -16900,9 +17434,9 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/tuf-js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.1.0.tgz", - "integrity": "sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.0.tgz", + "integrity": "sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==", "dev": true, "dependencies": { "@tufjs/models": "2.0.0", @@ -16913,6 +17447,24 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -17043,9 +17595,9 @@ } }, "node_modules/ua-parser-js": { - "version": "1.0.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", - "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", + "version": "0.7.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz", + "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==", "dev": true, "funding": [ { @@ -17081,15 +17633,15 @@ } }, "node_modules/undici": { - "version": "5.27.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.27.2.tgz", - "integrity": "sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.2.1.tgz", + "integrity": "sha512-7Wa9thEM6/LMnnKtxJHlc8SrTlDmxqJecgz1iy8KlsN0/iskQXOQCuPkrZLXbElPaSw5slFFyKIKXyJ3UtbApw==", "dev": true, "dependencies": { "@fastify/busboy": "^2.0.0" }, "engines": { - "node": ">=14.0" + "node": ">=18.0" } }, "node_modules/undici-types": { @@ -17162,12 +17714,12 @@ } }, "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, "node_modules/unpipe": { @@ -17243,520 +17795,146 @@ "node_modules/url/node_modules/qs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "engines": { - "node": ">= 0.4.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==", - "dev": true, - "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/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validate-npm-package-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", - "dev": true, - "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", - "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", - "dev": true, - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { - "node": ">=12" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], "engines": { - "node": ">=12" + "node": ">= 0.4.0" } }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], + "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, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" + "bin": { + "uuid": "bin/uuid" } }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], + "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/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], + "node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "builtins": "^5.0.0" + }, "engines": { - "node": ">=12" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, - "optional": true, - "os": [ - "win32" + "engines": [ + "node >=0.6.0" ], - "engines": { - "node": ">=12" + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "node_modules/vite": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dev": true, - "hasInstallScript": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, "bin": { - "esbuild": "bin/esbuild" + "vite": "bin/vite.js" }, "engines": { - "node": ">=12" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, "node_modules/void-elements": { @@ -17807,6 +17985,135 @@ "defaults": "^1.0.3" } }, + "node_modules/webdriver-js-extender": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", + "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", + "dev": true, + "dependencies": { + "@types/selenium-webdriver": "^3.0.0", + "selenium-webdriver": "^3.0.1" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/webdriver-manager": { + "version": "12.1.9", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.9.tgz", + "integrity": "sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==", + "dev": true, + "dependencies": { + "adm-zip": "^0.5.2", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" + }, + "bin": { + "webdriver-manager": "bin/webdriver-manager" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/webdriver-manager/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/webdriver-manager/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/webdriver-manager/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/webdriver-manager/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/webdriver-manager/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -17946,15 +18253,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", @@ -17979,9 +18277,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "dev": true, "engines": { "node": ">=10.0.0" @@ -18090,6 +18388,12 @@ "node": ">=4.0" } }, + "node_modules/webpack/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==", + "dev": true + }, "node_modules/webpack/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -18177,6 +18481,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, "node_modules/which-typed-array": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", @@ -18336,13 +18646,26 @@ } } }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=4.0" } }, "node_modules/y18n": { @@ -18399,9 +18722,9 @@ } }, "node_modules/zone.js": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.2.tgz", - "integrity": "sha512-X4U7J1isDhoOmHmFWiLhloWc2lzMkdnumtfQ1LXzf/IOZp5NQYuMUTaviVzG/q1ugMBIXzin2AqeVJUoSEkNyQ==", + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.3.tgz", + "integrity": "sha512-jYoNqF046Q+JfcZSItRSt+oXFcpXL88yq7XAZjb/NKTS7w2hHpKjRJ3VlFD1k75wMaRRXNUt5vrZVlygiMyHbA==", "dependencies": { "tslib": "^2.3.0" } diff --git a/OpenAlprWebhookProcessor/angularapp/package.json b/openalprwebhookprocessor.client/package.json similarity index 73% rename from OpenAlprWebhookProcessor/angularapp/package.json rename to openalprwebhookprocessor.client/package.json index 9e7d4ca3..2883b8af 100644 --- a/OpenAlprWebhookProcessor/angularapp/package.json +++ b/openalprwebhookprocessor.client/package.json @@ -1,14 +1,18 @@ { - "name": "angularapp", + "name": "openalprwebhookprocessor.client", "version": "0.0.0", "scripts": { "ng": "ng", - "start": "ng serve", + "start": "run-script-os", "build": "ng build", + "watch": "ng build --watch --configuration development", "test": "ng test", "test:prod": "ng test --browsers=ChromeHeadless --watch=false --code-coverage", + "prestart": "node aspnetcore-https", "lint": "ng lint", - "e2e": "ng e2e" + "e2e": "ng e2e", + "start:windows": "ng serve --ssl --ssl-cert \"%APPDATA%\\ASP.NET\\https\\%npm_package_name%.pem\" --ssl-key \"%APPDATA%\\ASP.NET\\https\\%npm_package_name%.key\" --host=127.0.0.1", + "start:default": "ng serve --ssl --ssl-cert \"$HOME/.aspnet/https/${npm_package_name}.pem\" --ssl-key \"$HOME/.aspnet/https/${npm_package_name}.key\" --host=127.0.0.1" }, "private": true, "dependencies": { @@ -28,6 +32,7 @@ "jest-editor-support": "*", "ngx-highlightjs": "^10.0.0", "ngx-lightbox": "^3.0.0", + "run-script-os": "*", "rxjs": "~7.8.0", "tslib": "^2.3.0", "url": "^0.11.3", @@ -44,7 +49,9 @@ "@angular/compiler-cli": "^17.0.3", "@stylistic/eslint-plugin-ts": "^1.4.0", "@types/jasmine": "~4.3.0", + "@types/jasminewd2": "^2.0.13", "@types/node": "^20.8.9", + "@types/protractor": "^4.0.0", "@typescript-eslint/eslint-plugin": "^6.11.0", "@typescript-eslint/parser": "^6.11.0", "eslint": "^8.54.0", @@ -56,6 +63,7 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", + "protractor": "^7.0.0", "typescript": "~5.2.2" } } diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_components/alert.component.html b/openalprwebhookprocessor.client/src/app/_components/alert.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_components/alert.component.html rename to openalprwebhookprocessor.client/src/app/_components/alert.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_components/alert.component.ts b/openalprwebhookprocessor.client/src/app/_components/alert.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_components/alert.component.ts rename to openalprwebhookprocessor.client/src/app/_components/alert.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_components/index.ts b/openalprwebhookprocessor.client/src/app/_components/index.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_components/index.ts rename to openalprwebhookprocessor.client/src/app/_components/index.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_helpers/app.initializer.ts b/openalprwebhookprocessor.client/src/app/_helpers/app.initializer.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_helpers/app.initializer.ts rename to openalprwebhookprocessor.client/src/app/_helpers/app.initializer.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_helpers/auth.guard.ts b/openalprwebhookprocessor.client/src/app/_helpers/auth.guard.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_helpers/auth.guard.ts rename to openalprwebhookprocessor.client/src/app/_helpers/auth.guard.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_helpers/error.interceptor.ts b/openalprwebhookprocessor.client/src/app/_helpers/error.interceptor.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_helpers/error.interceptor.ts rename to openalprwebhookprocessor.client/src/app/_helpers/error.interceptor.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_helpers/index.ts b/openalprwebhookprocessor.client/src/app/_helpers/index.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_helpers/index.ts rename to openalprwebhookprocessor.client/src/app/_helpers/index.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_helpers/jwt.interceptor.ts b/openalprwebhookprocessor.client/src/app/_helpers/jwt.interceptor.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_helpers/jwt.interceptor.ts rename to openalprwebhookprocessor.client/src/app/_helpers/jwt.interceptor.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_models/alert.ts b/openalprwebhookprocessor.client/src/app/_models/alert.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_models/alert.ts rename to openalprwebhookprocessor.client/src/app/_models/alert.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_models/index.ts b/openalprwebhookprocessor.client/src/app/_models/index.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_models/index.ts rename to openalprwebhookprocessor.client/src/app/_models/index.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_models/user.ts b/openalprwebhookprocessor.client/src/app/_models/user.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_models/user.ts rename to openalprwebhookprocessor.client/src/app/_models/user.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_services/alert.service.ts b/openalprwebhookprocessor.client/src/app/_services/alert.service.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_services/alert.service.ts rename to openalprwebhookprocessor.client/src/app/_services/alert.service.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_services/index.ts b/openalprwebhookprocessor.client/src/app/_services/index.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_services/index.ts rename to openalprwebhookprocessor.client/src/app/_services/index.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_services/local-storage.service.spec.ts b/openalprwebhookprocessor.client/src/app/_services/local-storage.service.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_services/local-storage.service.spec.ts rename to openalprwebhookprocessor.client/src/app/_services/local-storage.service.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_services/local-storage.service.ts b/openalprwebhookprocessor.client/src/app/_services/local-storage.service.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_services/local-storage.service.ts rename to openalprwebhookprocessor.client/src/app/_services/local-storage.service.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/_services/push-subscriber.service.ts b/openalprwebhookprocessor.client/src/app/_services/push-subscriber.service.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/_services/push-subscriber.service.ts rename to openalprwebhookprocessor.client/src/app/_services/push-subscriber.service.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/account/account.service.ts b/openalprwebhookprocessor.client/src/app/account/account.service.ts similarity index 84% rename from OpenAlprWebhookProcessor/angularapp/src/app/account/account.service.ts rename to openalprwebhookprocessor.client/src/app/account/account.service.ts index 897c00f0..e5769760 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/account/account.service.ts +++ b/openalprwebhookprocessor.client/src/app/account/account.service.ts @@ -23,7 +23,7 @@ export class AccountService { } login(username: string, password: string) { - return this.http.post('/users/authenticate', { username, password }) + return this.http.post('/api/users/authenticate', { username, password }) .pipe(map(user => { // store user details and jwt token in local storage to keep user logged in between page refreshes localStorage.setItem('user', JSON.stringify(user)); @@ -36,7 +36,7 @@ export class AccountService { logout() { this.stopRefreshTokenTimer(); - this.http.post('/users/revoke-token', {}, { withCredentials: true }).subscribe(() => { + this.http.post('/api/users/revoke-token', {}, { withCredentials: true }).subscribe(() => { this.finalizeLogout(); }, () => { @@ -52,7 +52,7 @@ export class AccountService { } refreshToken() { - return this.http.post('/users/refresh-token', {}, { withCredentials: true }) + return this.http.post('/api/users/refresh-token', {}, { withCredentials: true }) .pipe(map((user) => { this.userSubject.next(user); this.startRefreshTokenTimer(); @@ -61,27 +61,27 @@ export class AccountService { } canRegister() { - return this.http.get('/users/canregister'); + return this.http.get('/api/users/canregister'); } add(user: User) { - return this.http.post('/users/add', user); + return this.http.post('/api/users/add', user); } register(user: User) { - return this.http.post('/users/register', user); + return this.http.post('/api/users/register', user); } getAll() { - return this.http.get('/users'); + return this.http.get('/api/users'); } getById(id: string) { - return this.http.get(`/users/${id}`); + return this.http.get(`/api/users/${id}`); } update(id, params) { - return this.http.post(`/users/${id}`, params) + return this.http.post(`/api/users/${id}`, params) .pipe(map(x => { // update stored user if the logged in user updated their own record if (id == this.userValue.id) { diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/account/login.component.html b/openalprwebhookprocessor.client/src/app/account/login.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/account/login.component.html rename to openalprwebhookprocessor.client/src/app/account/login.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/account/login.component.ts b/openalprwebhookprocessor.client/src/app/account/login.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/account/login.component.ts rename to openalprwebhookprocessor.client/src/app/account/login.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/account/register.component.html b/openalprwebhookprocessor.client/src/app/account/register.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/account/register.component.html rename to openalprwebhookprocessor.client/src/app/account/register.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/account/register.component.ts b/openalprwebhookprocessor.client/src/app/account/register.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/account/register.component.ts rename to openalprwebhookprocessor.client/src/app/account/register.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/app-routing.module.ts b/openalprwebhookprocessor.client/src/app/app-routing.module.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/app-routing.module.ts rename to openalprwebhookprocessor.client/src/app/app-routing.module.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/app.component.css b/openalprwebhookprocessor.client/src/app/app.component.css similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/app.component.css rename to openalprwebhookprocessor.client/src/app/app.component.css diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/app.component.html b/openalprwebhookprocessor.client/src/app/app.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/app.component.html rename to openalprwebhookprocessor.client/src/app/app.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/app.component.ts b/openalprwebhookprocessor.client/src/app/app.component.ts similarity index 98% rename from OpenAlprWebhookProcessor/angularapp/src/app/app.component.ts rename to openalprwebhookprocessor.client/src/app/app.component.ts index b739bbac..ef927f6e 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/app.component.ts +++ b/openalprwebhookprocessor.client/src/app/app.component.ts @@ -101,4 +101,6 @@ export class AppComponent implements OnInit, OnDestroy { public handleSideNavClick() { this.navBarVisible = false; } -} \ No newline at end of file + + title = 'openalprwebhookprocessor.client'; +} diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/home/home.component.html b/openalprwebhookprocessor.client/src/app/home/home.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/home/home.component.html rename to openalprwebhookprocessor.client/src/app/home/home.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/home/home.component.ts b/openalprwebhookprocessor.client/src/app/home/home.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/home/home.component.ts rename to openalprwebhookprocessor.client/src/app/home/home.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/home/home.service.ts b/openalprwebhookprocessor.client/src/app/home/home.service.ts similarity index 84% rename from OpenAlprWebhookProcessor/angularapp/src/app/home/home.service.ts rename to openalprwebhookprocessor.client/src/app/home/home.service.ts index ee41f1c1..49a547ad 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/home/home.service.ts +++ b/openalprwebhookprocessor.client/src/app/home/home.service.ts @@ -10,6 +10,6 @@ export class HomeService { constructor(private http: HttpClient) { } getPlatesCount(): Observable { - return this.http.get(`/${this.plateCountsUrl}`); + return this.http.get(`/api/${this.plateCountsUrl}`); } } diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/home/index.ts b/openalprwebhookprocessor.client/src/app/home/index.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/home/index.ts rename to openalprwebhookprocessor.client/src/app/home/index.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/home/plateCountResponse.ts b/openalprwebhookprocessor.client/src/app/home/plateCountResponse.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/home/plateCountResponse.ts rename to openalprwebhookprocessor.client/src/app/home/plateCountResponse.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/edit-plate/edit-plate.component.html b/openalprwebhookprocessor.client/src/app/plates/edit-plate/edit-plate.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/edit-plate/edit-plate.component.html rename to openalprwebhookprocessor.client/src/app/plates/edit-plate/edit-plate.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/edit-plate/edit-plate.component.less b/openalprwebhookprocessor.client/src/app/plates/edit-plate/edit-plate.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/edit-plate/edit-plate.component.less rename to openalprwebhookprocessor.client/src/app/plates/edit-plate/edit-plate.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/edit-plate/edit-plate.component.spec.ts b/openalprwebhookprocessor.client/src/app/plates/edit-plate/edit-plate.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/edit-plate/edit-plate.component.spec.ts rename to openalprwebhookprocessor.client/src/app/plates/edit-plate/edit-plate.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/edit-plate/edit-plate.component.ts b/openalprwebhookprocessor.client/src/app/plates/edit-plate/edit-plate.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/edit-plate/edit-plate.component.ts rename to openalprwebhookprocessor.client/src/app/plates/edit-plate/edit-plate.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate.service.ts b/openalprwebhookprocessor.client/src/app/plates/plate.service.ts similarity index 71% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plate.service.ts rename to openalprwebhookprocessor.client/src/app/plates/plate.service.ts index dfdb9e73..4b49a17c 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate.service.ts +++ b/openalprwebhookprocessor.client/src/app/plates/plate.service.ts @@ -22,39 +22,39 @@ export class PlateService { constructor(private http: HttpClient) { } searchPlates(plateRequest: PlateRequest): Observable { - return this.http.post(`/${this.searchPlatesUrl}`, plateRequest); + return this.http.post(`/api/${this.searchPlatesUrl}`, plateRequest); } upsertPlate(plate: Plate): Observable { - return this.http.post(`/${this.editPlateUrl}`, plate); + return this.http.post(`/api/${this.editPlateUrl}`, plate); } deletePlate(plateId: string): Observable { - return this.http.delete(`/${this.singlePlateUrl}/${plateId}`); + return this.http.delete(`/api/${this.singlePlateUrl}/${plateId}`); } getRelayImage(imageId: string) { - return this.http.get(`/${this.getRelayImageUrl}/${imageId}`); + return this.http.get(`/api/${this.getRelayImageUrl}/${imageId}`); } hydrateDatabase(): Observable { - return this.http.post(`/${this.hydrateDatabaseUrl}`, {}); + return this.http.post(`/api/${this.hydrateDatabaseUrl}`, {}); } getFilters(): Observable { - return this.http.get(`/${this.getFiltersUrl}`); + return this.http.get(`/api/${this.getFiltersUrl}`); } getPlate(plateId: string): Observable { - return this.http.get(`/${this.singlePlateUrl}/${plateId}`); + return this.http.get(`/api/${this.singlePlateUrl}/${plateId}`); } getPlateStatistics(plateNumber: string): Observable { - return this.http.get(`/${this.getStatistics}/${plateNumber}`); + return this.http.get(`/api/${this.getStatistics}/${plateNumber}`); } enrichPlate(plateId: string): Observable { - return this.http.post(`/${this.enrichPlateUrl}/${plateId}`, null); + return this.http.post(`/api/${this.enrichPlateUrl}/${plateId}`, null); } } diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/getPlateResponse.ts b/openalprwebhookprocessor.client/src/app/plates/plate/getPlateResponse.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/getPlateResponse.ts rename to openalprwebhookprocessor.client/src/app/plates/plate/getPlateResponse.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.component.html b/openalprwebhookprocessor.client/src/app/plates/plate/plate.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.component.html rename to openalprwebhookprocessor.client/src/app/plates/plate/plate.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.component.less b/openalprwebhookprocessor.client/src/app/plates/plate/plate.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.component.less rename to openalprwebhookprocessor.client/src/app/plates/plate/plate.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.component.spec.ts b/openalprwebhookprocessor.client/src/app/plates/plate/plate.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.component.spec.ts rename to openalprwebhookprocessor.client/src/app/plates/plate/plate.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.component.ts b/openalprwebhookprocessor.client/src/app/plates/plate/plate.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.component.ts rename to openalprwebhookprocessor.client/src/app/plates/plate/plate.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.ts b/openalprwebhookprocessor.client/src/app/plates/plate/plate.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plate.ts rename to openalprwebhookprocessor.client/src/app/plates/plate/plate.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plateResponse.ts b/openalprwebhookprocessor.client/src/app/plates/plate/plateResponse.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plateResponse.ts rename to openalprwebhookprocessor.client/src/app/plates/plate/plateResponse.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plateStatistics.ts b/openalprwebhookprocessor.client/src/app/plates/plate/plateStatistics.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plate/plateStatistics.ts rename to openalprwebhookprocessor.client/src/app/plates/plate/plateStatistics.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plates.component.html b/openalprwebhookprocessor.client/src/app/plates/plates.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plates.component.html rename to openalprwebhookprocessor.client/src/app/plates/plates.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plates.component.less b/openalprwebhookprocessor.client/src/app/plates/plates.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plates.component.less rename to openalprwebhookprocessor.client/src/app/plates/plates.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plates.component.spec.ts b/openalprwebhookprocessor.client/src/app/plates/plates.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plates.component.spec.ts rename to openalprwebhookprocessor.client/src/app/plates/plates.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/plates.component.ts b/openalprwebhookprocessor.client/src/app/plates/plates.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/plates.component.ts rename to openalprwebhookprocessor.client/src/app/plates/plates.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/plates/vehicleFilters.ts b/openalprwebhookprocessor.client/src/app/plates/vehicleFilters.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/plates/vehicleFilters.ts rename to openalprwebhookprocessor.client/src/app/plates/vehicleFilters.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alert.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/alert.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alert.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/alert.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.component.html b/openalprwebhookprocessor.client/src/app/settings/alerts/alerts.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.component.html rename to openalprwebhookprocessor.client/src/app/settings/alerts/alerts.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.component.less b/openalprwebhookprocessor.client/src/app/settings/alerts/alerts.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.component.less rename to openalprwebhookprocessor.client/src/app/settings/alerts/alerts.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/alerts.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/alerts.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.component.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/alerts.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.component.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/alerts.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.service.spec.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/alerts.service.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.service.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/alerts.service.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.service.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/alerts.service.ts similarity index 70% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.service.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/alerts.service.ts index fde58ec3..a99ac90d 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/alerts.service.ts +++ b/openalprwebhookprocessor.client/src/app/settings/alerts/alerts.service.ts @@ -10,7 +10,7 @@ export class AlertsService { constructor(private http: HttpClient) { } getAlerts(): Observable { - return this.http.get('/alerts'); + return this.http.get('/api/alerts'); } deleteAlert(alertId: string) { @@ -18,14 +18,14 @@ export class AlertsService { } upsertAlerts(alerts: Alert[]) { - return this.http.post('/alerts', alerts); + return this.http.post('/api/alerts', alerts); } addAlert(alert: Alert) { - return this.http.post('/alerts/add', alert); + return this.http.post('/api/alerts/add', alert); } testAlert() { - return this.http.post('/alerts/test', null); + return this.http.post('/api/alerts/test', null); } } \ No newline at end of file diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.component.html b/openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.component.html rename to openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.component.less b/openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.component.less rename to openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.component.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.component.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.service.spec.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.service.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.service.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.service.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.service.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.service.ts similarity index 69% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.service.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.service.ts index cfb37dcf..59224cd2 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.service.ts +++ b/openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.service.ts @@ -10,14 +10,14 @@ export class PushoverService { constructor(private http: HttpClient) { } public upsertPushover(pushover: Pushover): Observable { - return this.http.post('/alerts/pushover', pushover); + return this.http.post('/api/alerts/pushover', pushover); } public getPushover(): Observable { - return this.http.get('/alerts/pushover'); + return this.http.get('/api/alerts/pushover'); } public testPushover(): Observable { - return this.http.post('/alerts/pushover/test', null); + return this.http.post('/api/alerts/pushover/test', null); } } \ No newline at end of file diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/pushover/pushover.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/pushover/pushover.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.component.css b/openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.component.css similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.component.css rename to openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.component.css diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.component.html b/openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.component.html rename to openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.component.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.component.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.service.spec.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.service.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.service.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.service.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.service.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.service.ts similarity index 69% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.service.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.service.ts index 12ffe157..33b0fb09 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.service.ts +++ b/openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.service.ts @@ -11,14 +11,14 @@ export class WebpushService { constructor(private http: HttpClient) { } public upsertWebpush(pushover: Webpush): Observable { - return this.http.post('/alerts/webpush', pushover); + return this.http.post('/api/alerts/webpush', pushover); } public getWebpush(): Observable { - return this.http.get('/alerts/webpush'); + return this.http.get('/api/alerts/webpush'); } public testWebpush(): Observable { - return this.http.post('/alerts/webpush/test', null); + return this.http.post('/api/alerts/webpush/test', null); } } diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.ts b/openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/alerts/webpush/webpush.ts rename to openalprwebhookprocessor.client/src/app/settings/alerts/webpush/webpush.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/camera.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/camera.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera/camera.component.html b/openalprwebhookprocessor.client/src/app/settings/cameras/camera/camera.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera/camera.component.html rename to openalprwebhookprocessor.client/src/app/settings/cameras/camera/camera.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera/camera.component.less b/openalprwebhookprocessor.client/src/app/settings/cameras/camera/camera.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera/camera.component.less rename to openalprwebhookprocessor.client/src/app/settings/cameras/camera/camera.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera/camera.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/camera/camera.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera/camera.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/camera/camera.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera/camera.component.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/camera/camera.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/camera/camera.component.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/camera/camera.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/cameras.component.html b/openalprwebhookprocessor.client/src/app/settings/cameras/cameras.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/cameras.component.html rename to openalprwebhookprocessor.client/src/app/settings/cameras/cameras.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/cameras.component.less b/openalprwebhookprocessor.client/src/app/settings/cameras/cameras.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/cameras.component.less rename to openalprwebhookprocessor.client/src/app/settings/cameras/cameras.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/cameras.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/cameras.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/cameras.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/cameras.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/cameras.component.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/cameras.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/cameras.component.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/cameras.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.css b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.css similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.css rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.css diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.html b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.html rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.ts similarity index 99% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.ts index 7660b6e0..15aa7c1a 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.ts +++ b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.component.ts @@ -72,7 +72,7 @@ export class CameraMaskComponent implements OnInit { public handleToggleChange(toggleEvent: MatButtonToggleChange) { if (toggleEvent.value === 'snapshot') { - this.samplePlates = [`/images/${this.camera.id}/snapshot`]; + this.samplePlates = [`/api/images/${this.camera.id}/snapshot`]; this.loadImageIntoCanvas(this.samplePlates[0]); } else { this.getSamplePlates(); @@ -464,4 +464,4 @@ export class CameraMaskComponent implements OnInit { Math.sqrt((p.x - mousePos.x) ** 2 + (p.y - mousePos.y) ** 2) < this.dotRadius * 2 ); } -} \ No newline at end of file +} diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.service.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.service.ts similarity index 69% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.service.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.service.ts index 3a886c8f..b23806ce 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.service.ts +++ b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.service.ts @@ -12,11 +12,11 @@ export class CameraMaskService { constructor(private http: HttpClient) { } getCameraSnapshot(cameraId: string): Observable { - return this.http.get(`/images/${cameraId}/snapshot`); + return this.http.get(`/api/images/${cameraId}/snapshot`); } getPlateCaptures(cameraId: string): Observable { - return this.http.get(`/cameras/${cameraId}/plateCaptures`); + return this.http.get(`/api/cameras/${cameraId}/plateCaptures`); } getPlateCapture(imageUrl: string): Observable { @@ -24,10 +24,10 @@ export class CameraMaskService { } getCameraMaskCoordinates(cameraId: string): Observable { - return this.http.get(`/cameras/${cameraId}/mask/coordinates`); + return this.http.get(`/api/cameras/${cameraId}/mask/coordinates`); } upsertImageMask(imageMask: CameraMask) { - return this.http.post(`/cameras/${imageMask.cameraId}/mask`, imageMask); + return this.http.post(`/api/cameras/${imageMask.cameraId}/mask`, imageMask); } -} \ No newline at end of file +} diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/camera-mask.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/coordinate.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/coordinate.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/camera-mask/coordinate.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/camera-mask/coordinate.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.component.html b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.component.html rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.component.less b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.component.less rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.component.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.component.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.service.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.service.ts similarity index 57% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.service.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.service.ts index 59119071..56566e4f 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/edit-camera.service.ts +++ b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/edit-camera.service.ts @@ -11,26 +11,26 @@ export class EditCameraService { constructor(private http: HttpClient) { } triggerDayMode(cameraId: string) { - return this.http.post(`/cameras/${cameraId}/test/day`, null); + return this.http.post(`/api/cameras/${cameraId}/test/day`, null); } triggerNightMode(cameraId: string) { - return this.http.post(`/cameras/${cameraId}/test/night`, null); + return this.http.post(`/api/cameras/${cameraId}/test/night`, null); } triggerTestOverlay(cameraId: string) { - return this.http.post(`/cameras/${cameraId}/test/overlay`, null); + return this.http.post(`/api/cameras/${cameraId}/test/overlay`, null); } getZoomAndFocus(cameraId: string): Observable { - return this.http.get(`/cameras/${cameraId}/zoomAndFocus`); + return this.http.get(`/api/cameras/${cameraId}/zoomAndFocus`); } setZoomAndFocus(cameraId: string, zoomFocus: ZoomFocus) { - return this.http.post(`/cameras/${cameraId}/zoomAndFocus`, zoomFocus); + return this.http.post(`/api/cameras/${cameraId}/zoomAndFocus`, zoomFocus); } triggerAutofocus(cameraId: string) { - return this.http.post(`/cameras/${cameraId}/triggerAutofocus`, null); + return this.http.post(`/api/cameras/${cameraId}/triggerAutofocus`, null); } -} \ No newline at end of file +} diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/zoomfocus.ts b/openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/zoomfocus.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/cameras/edit-camera/zoomfocus.ts rename to openalprwebhookprocessor.client/src/app/settings/cameras/edit-camera/zoomfocus.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enricher.ts b/openalprwebhookprocessor.client/src/app/settings/enrichers/enricher.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enricher.ts rename to openalprwebhookprocessor.client/src/app/settings/enrichers/enricher.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.component.html b/openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.component.html rename to openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.component.less b/openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.component.less rename to openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.component.ts b/openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.component.ts rename to openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.service.spec.ts b/openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.service.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.service.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.service.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.service.ts b/openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.service.ts similarity index 67% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.service.ts rename to openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.service.ts index 034be3e5..faf996a5 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichers.service.ts +++ b/openalprwebhookprocessor.client/src/app/settings/enrichers/enrichers.service.ts @@ -11,14 +11,14 @@ export class EnrichersService { constructor(private http: HttpClient) { } public getEnricher(): Observable { - return this.http.get('/settings/enrichers'); + return this.http.get('/api/settings/enrichers'); } public upsertEnricher(enricher: Enricher): Observable { - return this.http.post('/settings/enrichers', enricher); + return this.http.post('/api/settings/enrichers', enricher); } public testEnricher(enricherId: string): Observable { - return this.http.post(`/settings/enrichers/${enricherId}/test`, null); + return this.http.post(`/api/settings/enrichers/${enricherId}/test`, null); } } diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichmentType.ts b/openalprwebhookprocessor.client/src/app/settings/enrichers/enrichmentType.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/enrichers/enrichmentType.ts rename to openalprwebhookprocessor.client/src/app/settings/enrichers/enrichmentType.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forward.ts b/openalprwebhookprocessor.client/src/app/settings/forwards/forward.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forward.ts rename to openalprwebhookprocessor.client/src/app/settings/forwards/forward.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.component.html b/openalprwebhookprocessor.client/src/app/settings/forwards/forwards.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.component.html rename to openalprwebhookprocessor.client/src/app/settings/forwards/forwards.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.component.less b/openalprwebhookprocessor.client/src/app/settings/forwards/forwards.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.component.less rename to openalprwebhookprocessor.client/src/app/settings/forwards/forwards.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/forwards/forwards.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/forwards/forwards.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.component.ts b/openalprwebhookprocessor.client/src/app/settings/forwards/forwards.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.component.ts rename to openalprwebhookprocessor.client/src/app/settings/forwards/forwards.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.service.spec.ts b/openalprwebhookprocessor.client/src/app/settings/forwards/forwards.service.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.service.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/forwards/forwards.service.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.service.ts b/openalprwebhookprocessor.client/src/app/settings/forwards/forwards.service.ts similarity index 67% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.service.ts rename to openalprwebhookprocessor.client/src/app/settings/forwards/forwards.service.ts index 7d6f83ca..3768f4d0 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/forwards/forwards.service.ts +++ b/openalprwebhookprocessor.client/src/app/settings/forwards/forwards.service.ts @@ -10,14 +10,14 @@ export class ForwardsService { constructor(private http: HttpClient) { } getForwards(): Observable { - return this.http.get('settings/forwards'); + return this.http.get('/api/settings/forwards'); } deleteForward(forwardsId: string) { - return this.http.delete(`/settings/forwards/${forwardsId}`); + return this.http.delete(`/api/settings/forwards/${forwardsId}`); } upsertForwards(forwards: Forward[]) { - return this.http.post('/settings/forwards', forwards); + return this.http.post('/api/settings/forwards', forwards); } } diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignore.ts b/openalprwebhookprocessor.client/src/app/settings/ignores/ignore.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignore.ts rename to openalprwebhookprocessor.client/src/app/settings/ignores/ignore.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignores.component.html b/openalprwebhookprocessor.client/src/app/settings/ignores/ignores.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignores.component.html rename to openalprwebhookprocessor.client/src/app/settings/ignores/ignores.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignores.component.less b/openalprwebhookprocessor.client/src/app/settings/ignores/ignores.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignores.component.less rename to openalprwebhookprocessor.client/src/app/settings/ignores/ignores.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignores.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/ignores/ignores.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignores.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/ignores/ignores.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignores.component.ts b/openalprwebhookprocessor.client/src/app/settings/ignores/ignores.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/ignores/ignores.component.ts rename to openalprwebhookprocessor.client/src/app/settings/ignores/ignores.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/agent.ts b/openalprwebhookprocessor.client/src/app/settings/openalpr-agent/agent.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/agent.ts rename to openalprwebhookprocessor.client/src/app/settings/openalpr-agent/agent.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/agentStatus.ts b/openalprwebhookprocessor.client/src/app/settings/openalpr-agent/agentStatus.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/agentStatus.ts rename to openalprwebhookprocessor.client/src/app/settings/openalpr-agent/agentStatus.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/openalpr-agent.component.html b/openalprwebhookprocessor.client/src/app/settings/openalpr-agent/openalpr-agent.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/openalpr-agent.component.html rename to openalprwebhookprocessor.client/src/app/settings/openalpr-agent/openalpr-agent.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/openalpr-agent.component.less b/openalprwebhookprocessor.client/src/app/settings/openalpr-agent/openalpr-agent.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/openalpr-agent.component.less rename to openalprwebhookprocessor.client/src/app/settings/openalpr-agent/openalpr-agent.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/openalpr-agent.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/openalpr-agent/openalpr-agent.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/openalpr-agent.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/openalpr-agent/openalpr-agent.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/openalpr-agent.component.ts b/openalprwebhookprocessor.client/src/app/settings/openalpr-agent/openalpr-agent.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/openalpr-agent/openalpr-agent.component.ts rename to openalprwebhookprocessor.client/src/app/settings/openalpr-agent/openalpr-agent.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/settings.service.ts b/openalprwebhookprocessor.client/src/app/settings/settings.service.ts similarity index 58% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/settings.service.ts rename to openalprwebhookprocessor.client/src/app/settings/settings.service.ts index daed4cf3..691d305e 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/settings.service.ts +++ b/openalprwebhookprocessor.client/src/app/settings/settings.service.ts @@ -15,43 +15,43 @@ export class SettingsService { constructor(private http: HttpClient) { } getCameras(): Observable { - return this.http.get('cameras'); + return this.http.get('/api/cameras'); } deleteCamera(cameraId: string): Observable { - return this.http.post(`cameras/${cameraId}/delete`, null); + return this.http.post(`/api/cameras/${cameraId}/delete`, null); } upsertCamera(camera: Camera) { - return this.http.post('cameras', camera); + return this.http.post('/api/cameras', camera); } upsertAgent(agent: Agent) { - return this.http.post('/settings/agent', agent); + return this.http.post('/api/settings/agent', agent); } getAgent(): Observable { - return this.http.get('/settings/agent'); + return this.http.get('/api/settings/agent'); } getAgentStatus(): Observable { - return this.http.get('/settings/agent/status'); + return this.http.get('/api/settings/agent/status'); } disableAgent(agentId: string): Observable { - return this.http.post('/settings/agent/disable', agentId); + return this.http.post('/api/settings/agent/disable', agentId); } enableAgent(agentId: string): Observable { - return this.http.post('/settings/agent/enable', agentId); + return this.http.post('/api/settings/agent/enable', agentId); } startAgentScrape(): Observable { - return this.http.post('/settings/agent/scrape', null); + return this.http.post('/api/settings/agent/scrape', null); } getIgnores(): Observable { - return this.http.get('/settings/ignores'); + return this.http.get('/api/settings/ignores'); } deleteIgnore(ignoreId: string) { @@ -59,14 +59,14 @@ export class SettingsService { } upsertIgnores(ignores: Ignore[]) { - return this.http.post('/settings/ignores', ignores); + return this.http.post('/api/settings/ignores', ignores); } addIgnore(ignore: Ignore) { - return this.http.post('/settings/ignores/add', ignore); + return this.http.post('/api/settings/ignores/add', ignore); } addAlert(alert: Alert) { - return this.http.post('/settings/alerts/add', alert); + return this.http.post('/api/settings/alerts/add', alert); } -} \ No newline at end of file +} diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.component.html b/openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.component.html rename to openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.component.less b/openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.component.less rename to openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.component.ts b/openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.component.ts rename to openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.service.spec.ts b/openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.service.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.service.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.service.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.service.ts b/openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.service.ts similarity index 69% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.service.ts rename to openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.service.ts index fc3d6388..3fb19fba 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/system-logs.service.ts +++ b/openalprwebhookprocessor.client/src/app/settings/system-logs/system-logs.service.ts @@ -10,11 +10,11 @@ export class SystemLogsService { constructor(private http: HttpClient) { } getLogs(): Observable { - return this.http.get('/logs'); + return this.http.get('/api/logs'); } getPlateGroups(onlyFailedPlateGroups: boolean): Observable { - return this.http.get(`/settings/debug/plates?onlyFailedPlateGroups=${onlyFailedPlateGroups}`, { responseType: 'blob' as 'json' }); + return this.http.get(`/api/settings/debug/plates?onlyFailedPlateGroups=${onlyFailedPlateGroups}`, { responseType: 'blob' as 'json' }); } deletePlates() { diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/systemLogs.component.spec.ts b/openalprwebhookprocessor.client/src/app/settings/system-logs/systemLogs.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/system-logs/systemLogs.component.spec.ts rename to openalprwebhookprocessor.client/src/app/settings/system-logs/systemLogs.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/users/add-edit.component.html b/openalprwebhookprocessor.client/src/app/settings/users/add-edit.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/users/add-edit.component.html rename to openalprwebhookprocessor.client/src/app/settings/users/add-edit.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/users/add-edit.component.ts b/openalprwebhookprocessor.client/src/app/settings/users/add-edit.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/users/add-edit.component.ts rename to openalprwebhookprocessor.client/src/app/settings/users/add-edit.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/users/users.component.html b/openalprwebhookprocessor.client/src/app/settings/users/users.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/users/users.component.html rename to openalprwebhookprocessor.client/src/app/settings/users/users.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/settings/users/users.component.ts b/openalprwebhookprocessor.client/src/app/settings/users/users.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/settings/users/users.component.ts rename to openalprwebhookprocessor.client/src/app/settings/users/users.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/signalr/signalr.service.spec.ts b/openalprwebhookprocessor.client/src/app/signalr/signalr.service.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/signalr/signalr.service.spec.ts rename to openalprwebhookprocessor.client/src/app/signalr/signalr.service.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/signalr/signalr.service.ts b/openalprwebhookprocessor.client/src/app/signalr/signalr.service.ts similarity index 98% rename from OpenAlprWebhookProcessor/angularapp/src/app/signalr/signalr.service.ts rename to openalprwebhookprocessor.client/src/app/signalr/signalr.service.ts index cce8d939..67212417 100644 --- a/OpenAlprWebhookProcessor/angularapp/src/app/signalr/signalr.service.ts +++ b/openalprwebhookprocessor.client/src/app/signalr/signalr.service.ts @@ -24,7 +24,7 @@ export class SignalrService { public startConnection() { this.hubConnection = new signalR.HubConnectionBuilder() - .withUrl('/processorhub') + .withUrl('/api/processorhub') .withAutomaticReconnect() .build(); diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.component.html b/openalprwebhookprocessor.client/src/app/snackbar/snackbar.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.component.html rename to openalprwebhookprocessor.client/src/app/snackbar/snackbar.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.component.less b/openalprwebhookprocessor.client/src/app/snackbar/snackbar.component.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.component.less rename to openalprwebhookprocessor.client/src/app/snackbar/snackbar.component.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.component.spec.ts b/openalprwebhookprocessor.client/src/app/snackbar/snackbar.component.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.component.spec.ts rename to openalprwebhookprocessor.client/src/app/snackbar/snackbar.component.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.component.ts b/openalprwebhookprocessor.client/src/app/snackbar/snackbar.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.component.ts rename to openalprwebhookprocessor.client/src/app/snackbar/snackbar.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.service.spec.ts b/openalprwebhookprocessor.client/src/app/snackbar/snackbar.service.spec.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.service.spec.ts rename to openalprwebhookprocessor.client/src/app/snackbar/snackbar.service.spec.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.service.ts b/openalprwebhookprocessor.client/src/app/snackbar/snackbar.service.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.service.ts rename to openalprwebhookprocessor.client/src/app/snackbar/snackbar.service.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.ts b/openalprwebhookprocessor.client/src/app/snackbar/snackbar.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbar.ts rename to openalprwebhookprocessor.client/src/app/snackbar/snackbar.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbartype.ts b/openalprwebhookprocessor.client/src/app/snackbar/snackbartype.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/snackbar/snackbartype.ts rename to openalprwebhookprocessor.client/src/app/snackbar/snackbartype.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/style-manager/style-manager.component.ts b/openalprwebhookprocessor.client/src/app/theme-picker/style-manager/style-manager.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/style-manager/style-manager.component.ts rename to openalprwebhookprocessor.client/src/app/theme-picker/style-manager/style-manager.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/theme-picker.component.html b/openalprwebhookprocessor.client/src/app/theme-picker/theme-picker.component.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/theme-picker.component.html rename to openalprwebhookprocessor.client/src/app/theme-picker/theme-picker.component.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/theme-picker.component.scss b/openalprwebhookprocessor.client/src/app/theme-picker/theme-picker.component.scss similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/theme-picker.component.scss rename to openalprwebhookprocessor.client/src/app/theme-picker/theme-picker.component.scss diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/theme-picker.component.ts b/openalprwebhookprocessor.client/src/app/theme-picker/theme-picker.component.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/theme-picker.component.ts rename to openalprwebhookprocessor.client/src/app/theme-picker/theme-picker.component.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/theme-storage/theme-storage.ts b/openalprwebhookprocessor.client/src/app/theme-picker/theme-storage/theme-storage.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/app/theme-picker/theme-storage/theme-storage.ts rename to openalprwebhookprocessor.client/src/app/theme-picker/theme-storage/theme-storage.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/.gitkeep b/openalprwebhookprocessor.client/src/assets/.gitkeep similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/.gitkeep rename to openalprwebhookprocessor.client/src/assets/.gitkeep diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/favicon.ico b/openalprwebhookprocessor.client/src/assets/favicon.ico similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/favicon.ico rename to openalprwebhookprocessor.client/src/assets/favicon.ico diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-128x128.png b/openalprwebhookprocessor.client/src/assets/icons/icon-128x128.png similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-128x128.png rename to openalprwebhookprocessor.client/src/assets/icons/icon-128x128.png diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-144x144.png b/openalprwebhookprocessor.client/src/assets/icons/icon-144x144.png similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-144x144.png rename to openalprwebhookprocessor.client/src/assets/icons/icon-144x144.png diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-152x152.png b/openalprwebhookprocessor.client/src/assets/icons/icon-152x152.png similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-152x152.png rename to openalprwebhookprocessor.client/src/assets/icons/icon-152x152.png diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-192x192.png b/openalprwebhookprocessor.client/src/assets/icons/icon-192x192.png similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-192x192.png rename to openalprwebhookprocessor.client/src/assets/icons/icon-192x192.png diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-384x384.png b/openalprwebhookprocessor.client/src/assets/icons/icon-384x384.png similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-384x384.png rename to openalprwebhookprocessor.client/src/assets/icons/icon-384x384.png diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-512x512.png b/openalprwebhookprocessor.client/src/assets/icons/icon-512x512.png similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-512x512.png rename to openalprwebhookprocessor.client/src/assets/icons/icon-512x512.png diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-72x72.png b/openalprwebhookprocessor.client/src/assets/icons/icon-72x72.png similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-72x72.png rename to openalprwebhookprocessor.client/src/assets/icons/icon-72x72.png diff --git a/OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-96x96.png b/openalprwebhookprocessor.client/src/assets/icons/icon-96x96.png similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/assets/icons/icon-96x96.png rename to openalprwebhookprocessor.client/src/assets/icons/icon-96x96.png diff --git a/OpenAlprWebhookProcessor/angularapp/src/environments/environment.prod.ts b/openalprwebhookprocessor.client/src/environments/environment.prod.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/environments/environment.prod.ts rename to openalprwebhookprocessor.client/src/environments/environment.prod.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/environments/environment.ts b/openalprwebhookprocessor.client/src/environments/environment.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/environments/environment.ts rename to openalprwebhookprocessor.client/src/environments/environment.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/index.html b/openalprwebhookprocessor.client/src/index.html similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/index.html rename to openalprwebhookprocessor.client/src/index.html diff --git a/OpenAlprWebhookProcessor/angularapp/src/main.ts b/openalprwebhookprocessor.client/src/main.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/main.ts rename to openalprwebhookprocessor.client/src/main.ts diff --git a/OpenAlprWebhookProcessor/angularapp/src/manifest.webmanifest b/openalprwebhookprocessor.client/src/manifest.webmanifest similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/manifest.webmanifest rename to openalprwebhookprocessor.client/src/manifest.webmanifest diff --git a/openalprwebhookprocessor.client/src/proxy.conf.js b/openalprwebhookprocessor.client/src/proxy.conf.js new file mode 100644 index 00000000..26d10b24 --- /dev/null +++ b/openalprwebhookprocessor.client/src/proxy.conf.js @@ -0,0 +1,11 @@ +const PROXY_CONFIG = [ + { + context: [ + "/api/**", + ], + target: "https://localhost:5001/", + secure: false + } +] + +module.exports = PROXY_CONFIG; diff --git a/OpenAlprWebhookProcessor/angularapp/src/styles.less b/openalprwebhookprocessor.client/src/styles.less similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/styles.less rename to openalprwebhookprocessor.client/src/styles.less diff --git a/OpenAlprWebhookProcessor/angularapp/src/test.ts b/openalprwebhookprocessor.client/src/test.ts similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/src/test.ts rename to openalprwebhookprocessor.client/src/test.ts diff --git a/OpenAlprWebhookProcessor/angularapp/tsconfig.app.json b/openalprwebhookprocessor.client/tsconfig.app.json similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/tsconfig.app.json rename to openalprwebhookprocessor.client/tsconfig.app.json diff --git a/OpenAlprWebhookProcessor/angularapp/tsconfig.json b/openalprwebhookprocessor.client/tsconfig.json similarity index 99% rename from OpenAlprWebhookProcessor/angularapp/tsconfig.json rename to openalprwebhookprocessor.client/tsconfig.json index f5c1b868..69303361 100644 --- a/OpenAlprWebhookProcessor/angularapp/tsconfig.json +++ b/openalprwebhookprocessor.client/tsconfig.json @@ -36,4 +36,3 @@ "strictTemplates": true } } - \ No newline at end of file diff --git a/OpenAlprWebhookProcessor/angularapp/tsconfig.spec.json b/openalprwebhookprocessor.client/tsconfig.spec.json similarity index 100% rename from OpenAlprWebhookProcessor/angularapp/tsconfig.spec.json rename to openalprwebhookprocessor.client/tsconfig.spec.json