From 9bc06f1d5bba603ab4752c0d959cbe554373b4bf Mon Sep 17 00:00:00 2001 From: ISMAIL MASSERAN Date: Thu, 23 Jul 2026 10:50:35 +0800 Subject: [PATCH] DONE: queue management for customer side to get queue number, add logo to teller display, advertisement module --- README.md | 15 + be/.gitignore | 3 + be/docker-compose.yml | 8 +- .../api/AdvertisementService.java | 35 + .../DefaultAdvertisementService.java | 214 + .../etf/si/bbqms/domain/Advertisement.java | 167 + .../bbqms/domain/AdvertisementMediaType.java | 6 + .../repository/AdvertisementRepository.java | 11 + .../controllers/AdvertisementController.java | 153 + .../ws/controllers/BranchController.java | 5 + .../si/bbqms/ws/models/AdvertisementDto.java | 34 + be/src/main/resources/application.yml | 18 +- .../migration/V11__Create_advertisement.sql | 19 + fe/mobile/package.json | 3 + fe/mobile/pnpm-lock.yaml | 10492 ++++++++++++++++ fe/mobile/tsconfig.json | 2 +- fe/web/admin-app/index.html | 27 +- fe/web/admin-app/package.json | 2 + fe/web/admin-app/pnpm-lock.yaml | 208 +- .../public/android-chrome-192x192.png | Bin 0 -> 25858 bytes .../public/android-chrome-512x512.png | Bin 0 -> 36249 bytes fe/web/admin-app/public/apple-touch-icon.png | Bin 0 -> 23299 bytes fe/web/admin-app/public/favicon-16x16.png | Bin 0 -> 998 bytes fe/web/admin-app/public/favicon-32x32.png | Bin 0 -> 2617 bytes fe/web/admin-app/public/favicon.ico | Bin 0 -> 15406 bytes fe/web/admin-app/public/site.webmanifest | 1 + fe/web/admin-app/src/App.jsx | 11 + .../src/components/Header/Header.jsx | 34 +- fe/web/admin-app/src/constants.js | 3 + .../admin-app/src/fetching/uploadFormData.js | 35 + .../src/pages/AdminProfile/AdminProfile.jsx | 44 +- .../pages/ManageAdsScreen/ManageAdsScreen.css | 62 + .../pages/ManageAdsScreen/ManageAdsScreen.jsx | 597 + .../ManageBranchesScreen.jsx | 85 + fe/web/admin-app/src/utils/branchQr.js | 93 + fe/web/customer-app/.gitignore | 3 - fe/web/customer-app/app/favicon.ico | Bin 25931 -> 15406 bytes fe/web/customer-app/app/layout.tsx | 4 +- fe/web/customer-app/app/q/[token]/page.tsx | 42 + .../app/t/[tenantCode]/b/[branchId]/page.tsx | 42 + .../components/CustomerTicketFlow.tsx | 252 +- fe/web/customer-app/lib/api.ts | 6 + fe/web/customer-app/lib/branchToken.ts | 67 + fe/web/customer-app/lib/constants.ts | 3 +- fe/web/customer-app/next.config.ts | 2 +- .../public/android-chrome-192x192.png | Bin 0 -> 25858 bytes .../public/android-chrome-512x512.png | Bin 0 -> 36249 bytes .../customer-app/public/apple-touch-icon.png | Bin 0 -> 23299 bytes fe/web/customer-app/public/favicon-16x16.png | Bin 0 -> 998 bytes fe/web/customer-app/public/favicon-32x32.png | Bin 0 -> 2617 bytes fe/web/customer-app/public/site.webmanifest | 1 + fe/web/teller-app/index.html | 25 +- .../public/android-chrome-192x192.png | Bin 0 -> 25858 bytes .../public/android-chrome-512x512.png | Bin 0 -> 36249 bytes fe/web/teller-app/public/apple-touch-icon.png | Bin 0 -> 23299 bytes fe/web/teller-app/public/favicon-16x16.png | Bin 0 -> 998 bytes fe/web/teller-app/public/favicon-32x32.png | Bin 0 -> 2617 bytes fe/web/teller-app/public/favicon.ico | Bin 0 -> 15406 bytes fe/web/teller-app/public/logo-arrahn.jpeg | Bin 0 -> 44456 bytes fe/web/teller-app/public/site.webmanifest | 1 + .../teller-app/public/sounds/header-sound.mp3 | Bin 0 -> 104832 bytes fe/web/teller-app/src/App.jsx | 18 +- .../src/components/Header/Header.jsx | 4 +- fe/web/teller-app/src/constants.js | 4 + fe/web/teller-app/src/index.css | 6 + .../pages/BranchDisplayPage/AdCarousel.jsx | 148 + .../BranchDisplayPage/BranchDisplayPage.css | 397 + .../BranchDisplayPage/BranchDisplayPage.jsx | 345 + .../ShowQueuesForTellerPage.jsx | 194 +- .../StationIntroPage/StationIntroPage.jsx | 30 +- fe/web/teller-app/src/utils/activeStation.js | 31 + fe/web/teller-app/src/utils/queueCallSound.js | 89 + 72 files changed, 13919 insertions(+), 182 deletions(-) create mode 100644 be/src/main/java/ba/unsa/etf/si/bbqms/admin_service/api/AdvertisementService.java create mode 100644 be/src/main/java/ba/unsa/etf/si/bbqms/admin_service/implementation/DefaultAdvertisementService.java create mode 100644 be/src/main/java/ba/unsa/etf/si/bbqms/domain/Advertisement.java create mode 100644 be/src/main/java/ba/unsa/etf/si/bbqms/domain/AdvertisementMediaType.java create mode 100644 be/src/main/java/ba/unsa/etf/si/bbqms/repository/AdvertisementRepository.java create mode 100644 be/src/main/java/ba/unsa/etf/si/bbqms/ws/controllers/AdvertisementController.java create mode 100644 be/src/main/java/ba/unsa/etf/si/bbqms/ws/models/AdvertisementDto.java create mode 100644 be/src/main/resources/db/migration/V11__Create_advertisement.sql create mode 100644 fe/mobile/pnpm-lock.yaml create mode 100644 fe/web/admin-app/public/android-chrome-192x192.png create mode 100644 fe/web/admin-app/public/android-chrome-512x512.png create mode 100644 fe/web/admin-app/public/apple-touch-icon.png create mode 100644 fe/web/admin-app/public/favicon-16x16.png create mode 100644 fe/web/admin-app/public/favicon-32x32.png create mode 100644 fe/web/admin-app/public/favicon.ico create mode 100644 fe/web/admin-app/public/site.webmanifest create mode 100644 fe/web/admin-app/src/fetching/uploadFormData.js create mode 100644 fe/web/admin-app/src/pages/ManageAdsScreen/ManageAdsScreen.css create mode 100644 fe/web/admin-app/src/pages/ManageAdsScreen/ManageAdsScreen.jsx create mode 100644 fe/web/admin-app/src/utils/branchQr.js create mode 100644 fe/web/customer-app/app/q/[token]/page.tsx create mode 100644 fe/web/customer-app/app/t/[tenantCode]/b/[branchId]/page.tsx create mode 100644 fe/web/customer-app/lib/branchToken.ts create mode 100644 fe/web/customer-app/public/android-chrome-192x192.png create mode 100644 fe/web/customer-app/public/android-chrome-512x512.png create mode 100644 fe/web/customer-app/public/apple-touch-icon.png create mode 100644 fe/web/customer-app/public/favicon-16x16.png create mode 100644 fe/web/customer-app/public/favicon-32x32.png create mode 100644 fe/web/customer-app/public/site.webmanifest create mode 100644 fe/web/teller-app/public/android-chrome-192x192.png create mode 100644 fe/web/teller-app/public/android-chrome-512x512.png create mode 100644 fe/web/teller-app/public/apple-touch-icon.png create mode 100644 fe/web/teller-app/public/favicon-16x16.png create mode 100644 fe/web/teller-app/public/favicon-32x32.png create mode 100644 fe/web/teller-app/public/favicon.ico create mode 100644 fe/web/teller-app/public/logo-arrahn.jpeg create mode 100644 fe/web/teller-app/public/site.webmanifest create mode 100644 fe/web/teller-app/public/sounds/header-sound.mp3 create mode 100644 fe/web/teller-app/src/pages/BranchDisplayPage/AdCarousel.jsx create mode 100644 fe/web/teller-app/src/pages/BranchDisplayPage/BranchDisplayPage.css create mode 100644 fe/web/teller-app/src/pages/BranchDisplayPage/BranchDisplayPage.jsx create mode 100644 fe/web/teller-app/src/utils/activeStation.js create mode 100644 fe/web/teller-app/src/utils/queueCallSound.js diff --git a/README.md b/README.md index 9d2026d..7d830d0 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,30 @@ This project aims to develop a comprehensive queue management system for bank br ### Teller Interface The Teller Interface provides functionality for tellers to manage their availability status, allowing them to switch between available and non-available states. This interface will be developed using React. +```bash +pnpm dev --port 3001 +``` ### Admin Interface The Admin Interface is designed for administrators to oversee and manage both queues and tellers efficiently. Admins will have the ability to monitor queue statuses, assign tasks to tellers, and make necessary adjustments as needed. This interface will also be developed using React. +```bash +pnpm dev --port 5000 +``` + +### Customer Interface +The Teller Interface provides functionality for tellers to manage their availability status, allowing them to switch between available and non-available states. This interface will be developed using React. +```bash +pnpm dev --port 3000 +``` ### Mobile App Interface The Mobile App Interface is catered towards customers visiting the bank branch. Customers can utilize the mobile app to generate a ticket for the queue, allowing them to efficiently manage their time while waiting for service. This interface will be developed using React Native, ensuring compatibility across both iOS and Android devices. ## Backend The backend of the queue management system will be developed using Java's Spring Boot framework. It will serve as the central component handling communication between the interfaces and managing the underlying data and business logic. The backend will be responsible for tasks such as processing queue requests, managing teller availability, and maintaining queue status updates. +```bash +./mvnw spring-boot:run +``` ## Setup Instructions 1. Clone the repository to your local machine. diff --git a/be/.gitignore b/be/.gitignore index 549e00a..f582c73 100644 --- a/be/.gitignore +++ b/be/.gitignore @@ -31,3 +31,6 @@ build/ ### VS Code ### .vscode/ + +### Uploads ### +uploads/ diff --git a/be/docker-compose.yml b/be/docker-compose.yml index fa85d0e..6dabeb7 100644 --- a/be/docker-compose.yml +++ b/be/docker-compose.yml @@ -1,14 +1,14 @@ services: mysql: image: mysql:8 - container_name: bbqms-mysql + container_name: qms-mysql ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: password - MYSQL_DATABASE: bbqms + MYSQL_DATABASE: qms volumes: - - bbqms-mysql-data:/var/lib/mysql + - qms-mysql-data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-ppassword"] interval: 5s @@ -16,4 +16,4 @@ services: retries: 10 volumes: - bbqms-mysql-data: + qms-mysql-data: diff --git a/be/src/main/java/ba/unsa/etf/si/bbqms/admin_service/api/AdvertisementService.java b/be/src/main/java/ba/unsa/etf/si/bbqms/admin_service/api/AdvertisementService.java new file mode 100644 index 0000000..a5c2d44 --- /dev/null +++ b/be/src/main/java/ba/unsa/etf/si/bbqms/admin_service/api/AdvertisementService.java @@ -0,0 +1,35 @@ +package ba.unsa.etf.si.bbqms.admin_service.api; + +import ba.unsa.etf.si.bbqms.domain.Advertisement; +import org.springframework.core.io.Resource; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +public interface AdvertisementService { + Advertisement create(String tenantCode, + MultipartFile file, + String title, + Integer durationSeconds, + Integer sortOrder, + Boolean active) throws Exception; + + List listByTenant(String tenantCode); + + List listActiveByTenant(String tenantCode); + + Advertisement update(String tenantCode, + long adId, + String title, + Integer durationSeconds, + Integer sortOrder, + Boolean active) throws Exception; + + void delete(String tenantCode, long adId) throws Exception; + + Advertisement getForTenant(String tenantCode, long adId); + + Advertisement findById(long adId); + + Resource loadMedia(long adId) throws Exception; +} diff --git a/be/src/main/java/ba/unsa/etf/si/bbqms/admin_service/implementation/DefaultAdvertisementService.java b/be/src/main/java/ba/unsa/etf/si/bbqms/admin_service/implementation/DefaultAdvertisementService.java new file mode 100644 index 0000000..73c152a --- /dev/null +++ b/be/src/main/java/ba/unsa/etf/si/bbqms/admin_service/implementation/DefaultAdvertisementService.java @@ -0,0 +1,214 @@ +package ba.unsa.etf.si.bbqms.admin_service.implementation; + +import ba.unsa.etf.si.bbqms.admin_service.api.AdvertisementService; +import ba.unsa.etf.si.bbqms.domain.Advertisement; +import ba.unsa.etf.si.bbqms.domain.AdvertisementMediaType; +import ba.unsa.etf.si.bbqms.domain.Tenant; +import ba.unsa.etf.si.bbqms.repository.AdvertisementRepository; +import ba.unsa.etf.si.bbqms.tenant_service.api.TenantService; +import jakarta.persistence.EntityNotFoundException; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.Resource; +import org.springframework.core.io.UrlResource; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; +import java.time.Instant; +import java.util.List; +import java.util.Locale; +import java.util.Set; +import java.util.UUID; + +@Service +public class DefaultAdvertisementService implements AdvertisementService { + private static final int DEFAULT_DURATION_SECONDS = 10; + private static final Set IMAGE_TYPES = Set.of( + "image/jpeg", + "image/png", + "image/webp", + "image/gif" + ); + private static final Set VIDEO_TYPES = Set.of( + "video/mp4", + "video/webm" + ); + + private final AdvertisementRepository advertisementRepository; + private final TenantService tenantService; + private final Path uploadRoot; + + public DefaultAdvertisementService(final AdvertisementRepository advertisementRepository, + final TenantService tenantService, + @Value("${ads.upload-dir:uploads/ads}") final String uploadDir) { + this.advertisementRepository = advertisementRepository; + this.tenantService = tenantService; + this.uploadRoot = Path.of(uploadDir).toAbsolutePath().normalize(); + } + + @Override + public Advertisement create(final String tenantCode, + final MultipartFile file, + final String title, + final Integer durationSeconds, + final Integer sortOrder, + final Boolean active) throws Exception { + if (file == null || file.isEmpty()) { + throw new IllegalArgumentException("File is required."); + } + + final String contentType = normalizeContentType(file.getContentType()); + final AdvertisementMediaType mediaType = resolveMediaType(contentType); + final Tenant tenant = this.tenantService.findByCode(tenantCode); + + final String originalName = file.getOriginalFilename() != null ? file.getOriginalFilename() : "upload"; + final String safeFileName = sanitizeFileName(originalName); + final String storedName = UUID.randomUUID() + "-" + safeFileName; + final Path tenantDir = this.uploadRoot.resolve(tenantCode).normalize(); + Files.createDirectories(tenantDir); + + final Path destination = tenantDir.resolve(storedName).normalize(); + if (!destination.startsWith(tenantDir)) { + throw new IllegalArgumentException("Invalid file path."); + } + + try { + Files.copy(file.getInputStream(), destination, StandardCopyOption.REPLACE_EXISTING); + } catch (final IOException exception) { + throw new IllegalStateException("Failed to store advertisement file.", exception); + } + + final String relativePath = this.uploadRoot.relativize(destination).toString().replace('\\', '/'); + final int nextSortOrder = sortOrder != null + ? sortOrder + : this.advertisementRepository.findByTenant_CodeOrderBySortOrderAscIdAsc(tenantCode).stream() + .mapToInt(Advertisement::getSortOrder) + .max() + .orElse(-1) + 1; + + final Advertisement advertisement = new Advertisement( + tenant, + title, + mediaType, + originalName, + contentType, + relativePath, + nextSortOrder, + active == null || active, + durationSeconds != null ? durationSeconds : DEFAULT_DURATION_SECONDS, + Instant.now() + ); + + return this.advertisementRepository.save(advertisement); + } + + @Override + public List listByTenant(final String tenantCode) { + this.tenantService.findByCode(tenantCode); + return this.advertisementRepository.findByTenant_CodeOrderBySortOrderAscIdAsc(tenantCode); + } + + @Override + public List listActiveByTenant(final String tenantCode) { + this.tenantService.findByCode(tenantCode); + return this.advertisementRepository.findByTenant_CodeAndActiveTrueOrderBySortOrderAscIdAsc(tenantCode); + } + + @Override + public Advertisement update(final String tenantCode, + final long adId, + final String title, + final Integer durationSeconds, + final Integer sortOrder, + final Boolean active) { + final Advertisement advertisement = getForTenant(tenantCode, adId); + + if (title != null) { + advertisement.setTitle(title); + } + if (durationSeconds != null) { + advertisement.setDurationSeconds(durationSeconds); + } + if (sortOrder != null) { + advertisement.setSortOrder(sortOrder); + } + if (active != null) { + advertisement.setActive(active); + } + + return this.advertisementRepository.save(advertisement); + } + + @Override + public void delete(final String tenantCode, final long adId) throws Exception { + final Advertisement advertisement = getForTenant(tenantCode, adId); + final Path filePath = resolveStoredPath(advertisement.getStoragePath()); + + this.advertisementRepository.delete(advertisement); + + try { + Files.deleteIfExists(filePath); + } catch (final IOException exception) { + // Row is already removed; log-worthy but don't fail the API for orphan files. + } + } + + @Override + public Advertisement getForTenant(final String tenantCode, final long adId) { + final Advertisement advertisement = this.advertisementRepository.get(adId); + if (!advertisement.getTenant().getCode().equals(tenantCode)) { + throw new EntityNotFoundException("Advertisement not found for tenant: " + tenantCode); + } + return advertisement; + } + + @Override + public Advertisement findById(final long adId) { + return this.advertisementRepository.get(adId); + } + + @Override + public Resource loadMedia(final long adId) throws Exception { + final Advertisement advertisement = this.advertisementRepository.get(adId); + final Path filePath = resolveStoredPath(advertisement.getStoragePath()); + final Resource resource = new UrlResource(filePath.toUri()); + if (!resource.exists() || !resource.isReadable()) { + throw new EntityNotFoundException("Advertisement media file not found."); + } + return resource; + } + + private Path resolveStoredPath(final String storagePath) { + final Path resolved = this.uploadRoot.resolve(storagePath).normalize(); + if (!resolved.startsWith(this.uploadRoot)) { + throw new IllegalArgumentException("Invalid storage path."); + } + return resolved; + } + + private static String normalizeContentType(final String contentType) { + if (contentType == null || contentType.isBlank()) { + throw new IllegalArgumentException("Missing content type."); + } + return contentType.toLowerCase(Locale.ROOT).split(";")[0].trim(); + } + + private static AdvertisementMediaType resolveMediaType(final String contentType) { + if (IMAGE_TYPES.contains(contentType)) { + return AdvertisementMediaType.IMAGE; + } + if (VIDEO_TYPES.contains(contentType)) { + return AdvertisementMediaType.VIDEO; + } + throw new IllegalArgumentException("Unsupported media type: " + contentType); + } + + private static String sanitizeFileName(final String originalName) { + final String name = Path.of(originalName).getFileName().toString(); + final String sanitized = name.replaceAll("[^a-zA-Z0-9._-]", "_"); + return sanitized.isBlank() ? "upload" : sanitized; + } +} diff --git a/be/src/main/java/ba/unsa/etf/si/bbqms/domain/Advertisement.java b/be/src/main/java/ba/unsa/etf/si/bbqms/domain/Advertisement.java new file mode 100644 index 0000000..0c73ff8 --- /dev/null +++ b/be/src/main/java/ba/unsa/etf/si/bbqms/domain/Advertisement.java @@ -0,0 +1,167 @@ +package ba.unsa.etf.si.bbqms.domain; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; + +import java.time.Instant; + +@Entity +@Table(name = "advertisement") +public class Advertisement { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private long id; + + @ManyToOne(optional = false) + @JoinColumn(name = "tenant_id", referencedColumnName = "id") + private Tenant tenant; + + @Column(name = "title") + private String title; + + @Enumerated(EnumType.STRING) + @Column(name = "media_type", nullable = false) + private AdvertisementMediaType mediaType; + + @Column(name = "file_name", nullable = false) + private String fileName; + + @Column(name = "content_type", nullable = false) + private String contentType; + + @Column(name = "storage_path", nullable = false) + private String storagePath; + + @Column(name = "sort_order", nullable = false) + private int sortOrder; + + @Column(name = "active", nullable = false) + private boolean active; + + @Column(name = "duration_seconds", nullable = false) + private int durationSeconds; + + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + public Advertisement() { + } + + public Advertisement(final Tenant tenant, + final String title, + final AdvertisementMediaType mediaType, + final String fileName, + final String contentType, + final String storagePath, + final int sortOrder, + final boolean active, + final int durationSeconds, + final Instant createdAt) { + this.tenant = tenant; + this.title = title; + this.mediaType = mediaType; + this.fileName = fileName; + this.contentType = contentType; + this.storagePath = storagePath; + this.sortOrder = sortOrder; + this.active = active; + this.durationSeconds = durationSeconds; + this.createdAt = createdAt; + } + + public long getId() { + return id; + } + + public void setId(final long id) { + this.id = id; + } + + public Tenant getTenant() { + return tenant; + } + + public void setTenant(final Tenant tenant) { + this.tenant = tenant; + } + + public String getTitle() { + return title; + } + + public void setTitle(final String title) { + this.title = title; + } + + public AdvertisementMediaType getMediaType() { + return mediaType; + } + + public void setMediaType(final AdvertisementMediaType mediaType) { + this.mediaType = mediaType; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(final String fileName) { + this.fileName = fileName; + } + + public String getContentType() { + return contentType; + } + + public void setContentType(final String contentType) { + this.contentType = contentType; + } + + public String getStoragePath() { + return storagePath; + } + + public void setStoragePath(final String storagePath) { + this.storagePath = storagePath; + } + + public int getSortOrder() { + return sortOrder; + } + + public void setSortOrder(final int sortOrder) { + this.sortOrder = sortOrder; + } + + public boolean isActive() { + return active; + } + + public void setActive(final boolean active) { + this.active = active; + } + + public int getDurationSeconds() { + return durationSeconds; + } + + public void setDurationSeconds(final int durationSeconds) { + this.durationSeconds = durationSeconds; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(final Instant createdAt) { + this.createdAt = createdAt; + } +} diff --git a/be/src/main/java/ba/unsa/etf/si/bbqms/domain/AdvertisementMediaType.java b/be/src/main/java/ba/unsa/etf/si/bbqms/domain/AdvertisementMediaType.java new file mode 100644 index 0000000..4902763 --- /dev/null +++ b/be/src/main/java/ba/unsa/etf/si/bbqms/domain/AdvertisementMediaType.java @@ -0,0 +1,6 @@ +package ba.unsa.etf.si.bbqms.domain; + +public enum AdvertisementMediaType { + IMAGE, + VIDEO +} diff --git a/be/src/main/java/ba/unsa/etf/si/bbqms/repository/AdvertisementRepository.java b/be/src/main/java/ba/unsa/etf/si/bbqms/repository/AdvertisementRepository.java new file mode 100644 index 0000000..31210a1 --- /dev/null +++ b/be/src/main/java/ba/unsa/etf/si/bbqms/repository/AdvertisementRepository.java @@ -0,0 +1,11 @@ +package ba.unsa.etf.si.bbqms.repository; + +import ba.unsa.etf.si.bbqms.domain.Advertisement; + +import java.util.List; + +public interface AdvertisementRepository extends BaseRepository { + List findByTenant_CodeOrderBySortOrderAscIdAsc(String tenantCode); + + List findByTenant_CodeAndActiveTrueOrderBySortOrderAscIdAsc(String tenantCode); +} diff --git a/be/src/main/java/ba/unsa/etf/si/bbqms/ws/controllers/AdvertisementController.java b/be/src/main/java/ba/unsa/etf/si/bbqms/ws/controllers/AdvertisementController.java new file mode 100644 index 0000000..4d0afbe --- /dev/null +++ b/be/src/main/java/ba/unsa/etf/si/bbqms/ws/controllers/AdvertisementController.java @@ -0,0 +1,153 @@ +package ba.unsa.etf.si.bbqms.ws.controllers; + +import ba.unsa.etf.si.bbqms.admin_service.api.AdvertisementService; +import ba.unsa.etf.si.bbqms.auth_service.api.AuthService; +import ba.unsa.etf.si.bbqms.domain.Advertisement; +import ba.unsa.etf.si.bbqms.ws.models.AdvertisementDto; +import ba.unsa.etf.si.bbqms.ws.models.SimpleMessageDto; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +@RestController +@RequestMapping("/api/v1/ads") +public class AdvertisementController { + private final AdvertisementService advertisementService; + private final AuthService authService; + + public AdvertisementController(final AdvertisementService advertisementService, + final AuthService authService) { + this.advertisementService = advertisementService; + this.authService = authService; + } + + @GetMapping("/media/{adId}") + public ResponseEntity streamMedia(@PathVariable final long adId) { + try { + final Advertisement advertisement = this.advertisementService.findById(adId); + final Resource resource = this.advertisementService.loadMedia(adId); + return ResponseEntity.ok() + .header(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=\"" + advertisement.getFileName() + "\"") + .contentType(MediaType.parseMediaType(advertisement.getContentType())) + .body(resource); + } catch (final Exception exception) { + return ResponseEntity.notFound().build(); + } + } + + @GetMapping("/{tenantCode}/active") + public ResponseEntity listActiveAdvertisements(@PathVariable final String tenantCode) { + try { + final List ads = this.advertisementService.listActiveByTenant(tenantCode).stream() + .map(AdvertisementDto::fromEntity) + .toList(); + return ResponseEntity.ok().body(ads); + } catch (final Exception exception) { + return ResponseEntity.badRequest().body(new SimpleMessageDto(exception.getMessage())); + } + } + + @PostMapping("/{tenantCode}") + @PreAuthorize("hasAnyRole('ROLE_SUPER_ADMIN', 'ROLE_BRANCH_ADMIN')") + public ResponseEntity createAdvertisement(@PathVariable final String tenantCode, + @RequestParam("file") final MultipartFile file, + @RequestParam(value = "title", required = false) final String title, + @RequestParam(value = "durationSeconds", required = false) final Integer durationSeconds, + @RequestParam(value = "sortOrder", required = false) final Integer sortOrder, + @RequestParam(value = "active", required = false) final Boolean active) { + if (!this.authService.canChangeTenant(tenantCode)) { + return ResponseEntity.badRequest().build(); + } + + try { + final Advertisement created = this.advertisementService.create( + tenantCode, + file, + title, + durationSeconds, + sortOrder, + active + ); + return ResponseEntity.ok().body(AdvertisementDto.fromEntity(created)); + } catch (final Exception exception) { + return ResponseEntity.badRequest().body(new SimpleMessageDto(exception.getMessage())); + } + } + + @GetMapping("/{tenantCode}") + @PreAuthorize("hasAnyRole('ROLE_SUPER_ADMIN', 'ROLE_BRANCH_ADMIN')") + public ResponseEntity listAdvertisements(@PathVariable final String tenantCode) { + if (!this.authService.canChangeTenant(tenantCode)) { + return ResponseEntity.badRequest().build(); + } + + try { + final List ads = this.advertisementService.listByTenant(tenantCode).stream() + .map(AdvertisementDto::fromEntity) + .toList(); + return ResponseEntity.ok().body(ads); + } catch (final Exception exception) { + return ResponseEntity.badRequest().body(new SimpleMessageDto(exception.getMessage())); + } + } + + @PutMapping("/{tenantCode}/{adId}") + @PreAuthorize("hasAnyRole('ROLE_SUPER_ADMIN', 'ROLE_BRANCH_ADMIN')") + public ResponseEntity updateAdvertisement(@PathVariable final String tenantCode, + @PathVariable final long adId, + @RequestBody final AdvertisementUpdateRequest request) { + if (!this.authService.canChangeTenant(tenantCode)) { + return ResponseEntity.badRequest().build(); + } + + try { + final Advertisement updated = this.advertisementService.update( + tenantCode, + adId, + request.title(), + request.durationSeconds(), + request.sortOrder(), + request.active() + ); + return ResponseEntity.ok().body(AdvertisementDto.fromEntity(updated)); + } catch (final Exception exception) { + return ResponseEntity.badRequest().body(new SimpleMessageDto(exception.getMessage())); + } + } + + @DeleteMapping("/{tenantCode}/{adId}") + @PreAuthorize("hasAnyRole('ROLE_SUPER_ADMIN', 'ROLE_BRANCH_ADMIN')") + public ResponseEntity deleteAdvertisement(@PathVariable final String tenantCode, + @PathVariable final long adId) { + if (!this.authService.canChangeTenant(tenantCode)) { + return ResponseEntity.badRequest().build(); + } + + try { + this.advertisementService.delete(tenantCode, adId); + return ResponseEntity.ok().body(new SimpleMessageDto("Deleted advertisement with id: " + adId)); + } catch (final Exception exception) { + return ResponseEntity.badRequest().body(new SimpleMessageDto(exception.getMessage())); + } + } + + public record AdvertisementUpdateRequest(String title, + Integer durationSeconds, + Integer sortOrder, + Boolean active) { + } +} diff --git a/be/src/main/java/ba/unsa/etf/si/bbqms/ws/controllers/BranchController.java b/be/src/main/java/ba/unsa/etf/si/bbqms/ws/controllers/BranchController.java index 9d26dba..4e756c4 100644 --- a/be/src/main/java/ba/unsa/etf/si/bbqms/ws/controllers/BranchController.java +++ b/be/src/main/java/ba/unsa/etf/si/bbqms/ws/controllers/BranchController.java @@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -186,6 +187,7 @@ public class BranchController { @GetMapping("/{tenantCode}/{branchId}/queue") public ResponseEntity getBranchQueue(@PathVariable final String tenantCode, @PathVariable final String branchId, + @RequestParam(defaultValue = "false") final boolean activeOnly, final QueueStateParams queueStateParams, final Sort sort) { final Branch branch = this.branchService.findById(Long.parseLong(branchId)).orElseThrow(); @@ -193,6 +195,9 @@ public class BranchController { final TicketRepository ticketRepository = this.ticketService.unwrap(TicketRepository.class); Specification filter = TicketSpecs.branchIdEquals(branch.getId()); + if (activeOnly) { + filter = filter.and(TicketSpecs.deletedEquals(false)); + } if (queueStateParams.serviceId() != null && queueStateParams.serviceId().isPresent()) { filter = filter.and(TicketSpecs.serviceIdEquals(queueStateParams.serviceId().get())); } diff --git a/be/src/main/java/ba/unsa/etf/si/bbqms/ws/models/AdvertisementDto.java b/be/src/main/java/ba/unsa/etf/si/bbqms/ws/models/AdvertisementDto.java new file mode 100644 index 0000000..e3f3546 --- /dev/null +++ b/be/src/main/java/ba/unsa/etf/si/bbqms/ws/models/AdvertisementDto.java @@ -0,0 +1,34 @@ +package ba.unsa.etf.si.bbqms.ws.models; + +import ba.unsa.etf.si.bbqms.domain.Advertisement; +import ba.unsa.etf.si.bbqms.domain.AdvertisementMediaType; + +import java.time.Instant; + +public record AdvertisementDto( + long id, + String title, + AdvertisementMediaType mediaType, + String fileName, + String contentType, + String mediaUrl, + int sortOrder, + boolean active, + int durationSeconds, + Instant createdAt +) { + public static AdvertisementDto fromEntity(final Advertisement advertisement) { + return new AdvertisementDto( + advertisement.getId(), + advertisement.getTitle(), + advertisement.getMediaType(), + advertisement.getFileName(), + advertisement.getContentType(), + "/api/v1/ads/media/" + advertisement.getId(), + advertisement.getSortOrder(), + advertisement.isActive(), + advertisement.getDurationSeconds(), + advertisement.getCreatedAt() + ); + } +} diff --git a/be/src/main/resources/application.yml b/be/src/main/resources/application.yml index ace12d2..701708b 100644 --- a/be/src/main/resources/application.yml +++ b/be/src/main/resources/application.yml @@ -1,14 +1,18 @@ spring: application: - name: bbqms + name: qms jpa: database: mysql hibernate: ddl-auto: none datasource: - url: jdbc:mysql://localhost:3306/bbqms + url: jdbc:mysql://localhost:3306/qms username: root password: password + servlet: + multipart: + max-file-size: 100MB + max-request-size: 100MB security: oauth2: client: @@ -16,19 +20,21 @@ spring: google: client-id: dummy-google-client-id flyway: - schemas: bbqms + schemas: qms jwt: header-title: Authorization token-prefix: Bearer - secret-key: dummy-jwt-secret-key-for-local-dev-only-min-32-chars + secret-key: a68uiaDQ0V3iLjF4DqMuS13GAVwkut55dlFbGCLyXTF authorities-key: USER_AUTHORITIES token-validity-time: PT30M tfa: - label: BBQMS - issuer: BBQMS + label: QMS + issuer: QMS tenancy: default-code: DFLT notifications: expo-url: https://exp.host/--/api/v2/push/send mock: true +ads: + upload-dir: uploads/ads diff --git a/be/src/main/resources/db/migration/V11__Create_advertisement.sql b/be/src/main/resources/db/migration/V11__Create_advertisement.sql new file mode 100644 index 0000000..d696840 --- /dev/null +++ b/be/src/main/resources/db/migration/V11__Create_advertisement.sql @@ -0,0 +1,19 @@ +BEGIN; + +CREATE TABLE IF NOT EXISTS advertisement +( + id INTEGER PRIMARY KEY AUTO_INCREMENT, + tenant_id INTEGER NOT NULL, + title VARCHAR(255) NULL, + media_type VARCHAR(32) NOT NULL, + file_name VARCHAR(512) NOT NULL, + content_type VARCHAR(128) NOT NULL, + storage_path VARCHAR(1024) NOT NULL, + sort_order INTEGER NOT NULL DEFAULT 0, + active BOOL NOT NULL DEFAULT TRUE, + duration_seconds INTEGER NOT NULL DEFAULT 10, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + CONSTRAINT FK_advertisement_tenant FOREIGN KEY (tenant_id) REFERENCES tenant (id) +); + +COMMIT; diff --git a/fe/mobile/package.json b/fe/mobile/package.json index bd5b407..18ae4fc 100644 --- a/fe/mobile/package.json +++ b/fe/mobile/package.json @@ -10,9 +10,12 @@ "web": "expo start --web" }, "dependencies": { + "@babel/runtime": "^7.29.7", "@expo/metro-runtime": "~3.1.3", + "@expo/vector-icons": "^14.0.4", "@react-native-async-storage/async-storage": "^1.23.1", "@react-native-community/masked-view": "^0.1.11", + "@react-native/assets-registry": "0.73.1", "@react-navigation/bottom-tabs": "^6.5.20", "@react-navigation/native": "^6.1.17", "@react-navigation/stack": "^6.3.29", diff --git a/fe/mobile/pnpm-lock.yaml b/fe/mobile/pnpm-lock.yaml new file mode 100644 index 0000000..b407a3d --- /dev/null +++ b/fe/mobile/pnpm-lock.yaml @@ -0,0 +1,10492 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@babel/runtime': + specifier: ^7.29.7 + version: 7.29.7 + '@expo/metro-runtime': + specifier: ~3.1.3 + version: 3.1.3(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0)) + '@expo/vector-icons': + specifier: ^14.0.4 + version: 14.0.4 + '@react-native-async-storage/async-storage': + specifier: ^1.23.1 + version: 1.24.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0)) + '@react-native-community/masked-view': + specifier: ^0.1.11 + version: 0.1.11(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + '@react-native/assets-registry': + specifier: 0.73.1 + version: 0.73.1 + '@react-navigation/bottom-tabs': + specifier: ^6.5.20 + version: 6.6.1(@react-navigation/native@6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-screens@3.37.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + '@react-navigation/native': + specifier: ^6.1.17 + version: 6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + '@react-navigation/stack': + specifier: ^6.3.29 + version: 6.4.1(@react-navigation/native@6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-gesture-handler@2.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-screens@3.37.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + '@testing-library/react': + specifier: ^14.2.2 + version: 14.3.1(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@testing-library/react-native': + specifier: ^12.4.4 + version: 12.9.0(jest@29.7.0(@types/node@26.1.1))(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react-test-renderer@19.2.8(react@18.2.0))(react@18.2.0) + buffer: + specifier: ^6.0.3 + version: 6.0.3 + expo: + specifier: ~50.0.14 + version: 50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))) + expo-file-system: + specifier: ^16.0.9 + version: 16.0.9(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + expo-font: + specifier: ^11.10.3 + version: 11.10.3(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + expo-sharing: + specifier: ^11.10.0 + version: 11.10.0(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + expo-splash-screen: + specifier: ^0.26.4 + version: 0.26.5(expo-modules-autolinking@1.10.3)(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + expo-status-bar: + specifier: ~1.11.1 + version: 1.11.1 + jest-fetch-mock: + specifier: ^3.0.3 + version: 3.2.0 + pdf-lib: + specifier: ^1.17.1 + version: 1.17.1 + react: + specifier: 18.2.0 + version: 18.2.0 + react-dom: + specifier: 18.2.0 + version: 18.2.0(react@18.2.0) + react-native: + specifier: 0.73.6 + version: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + react-native-fs: + specifier: ^2.20.0 + version: 2.20.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0)) + react-native-gesture-handler: + specifier: ~2.14.0 + version: 2.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + react-native-reanimated: + specifier: ^3.6.2 + version: 3.19.5(@babel/core@7.29.7)(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + react-native-safe-area-context: + specifier: ^4.8.2 + version: 4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + react-native-screens: + specifier: ^3.29.0 + version: 3.37.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + react-native-web: + specifier: ~0.19.6 + version: 0.19.13(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-navigation: + specifier: ^5.0.0 + version: 5.0.0 + rn-fetch-blob: + specifier: ^0.12.0 + version: 0.12.0 + devDependencies: + '@babel/core': + specifier: ^7.20.0 + version: 7.29.7 + '@testing-library/jest-dom': + specifier: ^6.4.2 + version: 6.10.0(@testing-library/dom@9.3.4) + '@types/jest': + specifier: ^29.5.12 + version: 29.5.14 + '@types/react': + specifier: ~18.2.45 + version: 18.2.79 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@26.1.1) + typescript: + specifier: ^5.4.3 + version: 5.9.3 + +packages: + + '@adobe/css-tools@4.5.0': + resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==} + + '@babel/code-frame@7.10.4': + resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} + + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.29.7': + resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.8': + resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.29.7': + resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.29.7': + resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.25.9': + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': + resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7': + resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7': + resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7': + resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7': + resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7': + resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-async-generator-functions@7.20.7': + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-class-properties@7.18.6': + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-decorators@7.29.7': + resolution: {integrity: sha512-EtU0Hi3GvrTqD56xKmZvV/uCXK2ZbwVNPNLAquVItcAZpUhkXwWlo3Fmj0c2LxgSf2I8IDULeAepwNP1OefLXg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-export-default-from@7.29.7': + resolution: {integrity: sha512-p+G5BNXDcy3bOXplhY4HybQ1GxH3i2Tppmdm/3epyRu2VgJJZuUlZ61MqRTg582Q7ZLBdP7fePYvsumSEkMxcQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-numeric-separator@7.18.6': + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-object-rest-spread@7.20.7': + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-optional-catch-binding@7.18.6': + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-optional-chaining@7.21.0': + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-decorators@7.29.7': + resolution: {integrity: sha512-9MTTLbF39X6sqM92JPEsoI7++26hjZvzkxKZy64aMhWLH2mPkJ/Q3AV4QLmls3R14FpSpkOwQQfUh962JGQxxg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-default-from@7.29.7': + resolution: {integrity: sha512-foag0BB37ROhdeIX9O8G0jX7hw0UekJc04cHMrYLOnrErsnBKqJGHJ8eDRpoCFZBvEPPygmmtw4qyU97qa4oOw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-flow@7.29.7': + resolution: {integrity: sha512-ajMX6QPcyomotqwpzhkYGxcK2i/us0rs1Qo9QvUpa+Fca0FTmqrzKrctoIYLMxcOhGZldGT/BAVkRGTWBiR8gQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.29.7': + resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.29.7': + resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.29.7': + resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.29.7': + resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.29.7': + resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.29.7': + resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.29.7': + resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.29.7': + resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.29.7': + resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.29.7': + resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.29.7': + resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.29.7': + resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.29.7': + resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.29.7': + resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.29.7': + resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-explicit-resource-management@7.29.7': + resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.29.7': + resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.29.7': + resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-flow-strip-types@7.29.7': + resolution: {integrity: sha512-wRHeUjUjCZnMHmiO5bRgjFLcoEh7JyTdByOW11ahhwNa4V0bmeGEaIvt51yq0zQp2yWIpqfxXXPyUP6GFJZHOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.29.7': + resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.29.7': + resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.29.7': + resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.29.7': + resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.29.7': + resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.29.7': + resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.29.7': + resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.29.7': + resolution: {integrity: sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.29.7': + resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.29.7': + resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': + resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.29.7': + resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.29.7': + resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.29.7': + resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.29.7': + resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.29.7': + resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.29.7': + resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.29.7': + resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.29.7': + resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.29.7': + resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.29.7': + resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.29.7': + resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-self@7.29.7': + resolution: {integrity: sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.29.7': + resolution: {integrity: sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.29.7': + resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.29.7': + resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.29.7': + resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.29.7': + resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.29.7': + resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.29.7': + resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.29.7': + resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.29.7': + resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.29.7': + resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.29.7': + resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.29.7': + resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.29.7': + resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.29.7': + resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.29.7': + resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.29.7': + resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.29.7': + resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.29.7': + resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-flow@7.29.7': + resolution: {integrity: sha512-KYIRV0BuaN68CDdsqFkAD7MU7yipUqQNuNElwATdxaIdpTjhvtY82QvkBJs7zV3Evxj2jFAAZ1iO8nyy0nhjqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.29.7': + resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.29.7': + resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/register@7.29.7': + resolution: {integrity: sha512-AMGJoWuES861riy6pcB0fphE1YXybtQnBYQMuIyPv6mKLiosfa79BKTnAOyx215c/3RJPJpdQwoHZ3earVH7AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@egjs/hammerjs@2.0.17': + resolution: {integrity: sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==} + engines: {node: '>=0.8.0'} + + '@expo/bunyan@4.0.1': + resolution: {integrity: sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==} + engines: {'0': node >=0.10.0} + + '@expo/cli@0.17.13': + resolution: {integrity: sha512-n13yxOmI3I0JidzMdFCH68tYKGDtK4XlDFk1vysZX7AIRKeDVRsSbHhma5jCla2bDt25RKmJBHA9KtzielwzAA==} + hasBin: true + + '@expo/code-signing-certificates@0.0.5': + resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==} + + '@expo/config-plugins@7.9.2': + resolution: {integrity: sha512-sRU/OAp7kJxrCUiCTUZqvPMKPdiN1oTmNfnbkG4oPdfWQTpid3jyCH7ZxJEN5SI6jrY/ZsK5B/JPgjDUhuWLBQ==} + + '@expo/config-types@50.0.1': + resolution: {integrity: sha512-EZHMgzkWRB9SMHO1e9m8s+OMahf92XYTnsCFjxhSfcDrcEoSdFPyJWDJVloHZPMGhxns7Fi2+A+bEVN/hD4NKA==} + + '@expo/config@8.5.6': + resolution: {integrity: sha512-wF5awSg6MNn1cb1lIgjnhOn5ov2TEUTnkAVCsOl0QqDwcP+YIerteSFwjn9V52UZvg58L+LKxpCuGbw5IHavbg==} + + '@expo/devcert@1.2.1': + resolution: {integrity: sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==} + + '@expo/env@0.2.3': + resolution: {integrity: sha512-a+uJ/e6MAVxPVVN/HbXU5qxzdqrqDwNQYxCfxtAufgmd5VZj54e5f3TJA3LEEUW3pTSZR8xK0H0EtVN297AZnw==} + + '@expo/fingerprint@0.6.1': + resolution: {integrity: sha512-ggLn6unI6qowlA1FihdQwPpLn16VJulYkvYAEL50gaqVahfNEglRQMSH2giZzjD0d6xq2/EQuUdFyHaJfyJwOQ==} + hasBin: true + + '@expo/image-utils@0.4.2': + resolution: {integrity: sha512-CxP+1QXgRXsNnmv2FAUA2RWwK6kNBFg4QEmVXn2K9iLoEAI+i+1IQXcUgc+J7nTJl9pO7FIu2gIiEYGYffjLWQ==} + + '@expo/json-file@11.0.1': + resolution: {integrity: sha512-zxHWj4MKKMAL29ZQSY/Fssx4Thluk40JmuGNaeS078wy/NhlFhnVi+rHHunulE3xJAJ0CM73m8VK2+GkF9eRwQ==} + + '@expo/json-file@8.3.3': + resolution: {integrity: sha512-eZ5dld9AD0PrVRiIWpRkm5aIoWBw3kAyd8VkuWEy92sEthBKDDDHAnK2a0dw0Eil6j7rK7lS/Qaq/Zzngv2h5A==} + + '@expo/metro-config@0.17.8': + resolution: {integrity: sha512-XNjI5Q5bW3k2ieNtQBSX9BnIysRxG4UyNsaWcysv3AzY+rahay6fAp5xzJey8xBOlzs9u7H4AdMoeJsUje3lcQ==} + peerDependencies: + '@react-native/babel-preset': '*' + + '@expo/metro-runtime@3.1.3': + resolution: {integrity: sha512-u1CaQJJlSgvxBB5NJ6YMVvSDTTRzjT71dHpEBnKPZhpFv5ebVry52FZ2sEeEEA6mHG5zGxWXmHImW3hNKHh8EA==} + peerDependencies: + react-native: '*' + + '@expo/osascript@2.7.1': + resolution: {integrity: sha512-Zn03EX6In7ts2lPUW2ESUSkEhEWQN1qqsiXjadtZMJOuZRkMiAg1ZQHuvz9DjByDWNJ2pBwAGyrts9lj9k389g==} + engines: {node: '>=12'} + + '@expo/package-manager@1.13.1': + resolution: {integrity: sha512-y/K+CaYYpZpNGZhSX4HyLT/vyIunFjNfyoxNysPBCefeLKI/VCx6f9LNPzrxayr3rCYO5bl9O8H+HRQK265Nkg==} + + '@expo/plist@0.1.3': + resolution: {integrity: sha512-GW/7hVlAylYg1tUrEASclw1MMk9FP4ZwyFAY/SUTJIhPDQHtfOlXREyWV3hhrHdX/K+pS73GNgdfT6E/e+kBbg==} + + '@expo/prebuild-config@6.8.1': + resolution: {integrity: sha512-ptK9e0dcj1eYlAWV+fG+QkuAWcLAT1AmtEbj++tn7ZjEj8+LkXRM73LCOEGaF0Er8i8ZWNnaVsgGW4vjgP5ZsA==} + peerDependencies: + expo-modules-autolinking: '>=0.8.1' + + '@expo/rudder-sdk-node@1.1.1': + resolution: {integrity: sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==} + engines: {node: '>=12'} + + '@expo/sdk-runtime-versions@1.0.0': + resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==} + + '@expo/spawn-async@1.5.0': + resolution: {integrity: sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==} + engines: {node: '>=4'} + + '@expo/spawn-async@1.8.0': + resolution: {integrity: sha512-eb9xxd/LbuEGSdua4NumCu/McVB9EM+F/JxB9pWgnERw4HQ9XyTNH1KapG6oqLWR8TuRK2LQfzJlmNi94CVobw==} + engines: {node: '>=12'} + + '@expo/sudo-prompt@9.3.2': + resolution: {integrity: sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==} + + '@expo/vector-icons@14.0.4': + resolution: {integrity: sha512-+yKshcbpDfbV4zoXOgHxCwh7lkE9VVTT5T03OUlBsqfze1PLy6Hi4jp1vSb1GVbY6eskvMIivGVc9SKzIv0oEQ==} + + '@expo/xcpretty@4.4.4': + resolution: {integrity: sha512-4aQzz9vgxcNXFfo/iyNgDDYfsU5XGKKxWxZopw0cVotHiW+U8IJbIxMaxsINs6bHhtkG3StKNPcOrn3eBuxKPw==} + hasBin: true + + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + + '@graphql-typed-document-node/core@3.2.0': + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@isaacs/ttlcache@1.4.1': + resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.6': + resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/create-cache-key-function@29.7.0': + resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@26.6.2': + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@npmcli/fs@1.1.1': + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + + '@npmcli/move-file@1.1.2': + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} + deprecated: This functionality has been moved to @npmcli/fs + + '@pdf-lib/standard-fonts@1.0.0': + resolution: {integrity: sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==} + + '@pdf-lib/upng@1.0.1': + resolution: {integrity: sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==} + + '@react-native-async-storage/async-storage@1.24.0': + resolution: {integrity: sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g==} + peerDependencies: + react-native: ^0.0.0-0 || >=0.60 <1.0 + + '@react-native-community/cli-clean@12.3.6': + resolution: {integrity: sha512-gUU29ep8xM0BbnZjwz9MyID74KKwutq9x5iv4BCr2im6nly4UMf1B1D+V225wR7VcDGzbgWjaezsJShLLhC5ig==} + + '@react-native-community/cli-config@12.3.6': + resolution: {integrity: sha512-JGWSYQ9EAK6m2v0abXwFLEfsqJ1zkhzZ4CV261QZF9MoUNB6h57a274h1MLQR9mG6Tsh38wBUuNfEPUvS1vYew==} + + '@react-native-community/cli-debugger-ui@12.3.6': + resolution: {integrity: sha512-SjUKKsx5FmcK9G6Pb6UBFT0s9JexVStK5WInmANw75Hm7YokVvHEgtprQDz2Uvy5znX5g2ujzrkIU//T15KQzA==} + + '@react-native-community/cli-doctor@12.3.6': + resolution: {integrity: sha512-fvBDv2lTthfw4WOQKkdTop2PlE9GtfrlNnpjB818MhcdEnPjfQw5YaTUcnNEGsvGomdCs1MVRMgYXXwPSN6OvQ==} + + '@react-native-community/cli-hermes@12.3.6': + resolution: {integrity: sha512-sNGwfOCl8OAIjWCkwuLpP8NZbuO0dhDI/2W7NeOGDzIBsf4/c4MptTrULWtGIH9okVPLSPX0NnRyGQ+mSwWyuQ==} + + '@react-native-community/cli-platform-android@12.3.6': + resolution: {integrity: sha512-DeDDAB8lHpuGIAPXeeD9Qu2+/wDTFPo99c8uSW49L0hkmZJixzvvvffbGQAYk32H0TmaI7rzvzH+qzu7z3891g==} + + '@react-native-community/cli-platform-ios@12.3.6': + resolution: {integrity: sha512-3eZ0jMCkKUO58wzPWlvAPRqezVKm9EPZyaPyHbRPWU8qw7JqkvnRlWIaYDGpjCJgVW4k2hKsEursLtYKb188tg==} + + '@react-native-community/cli-plugin-metro@12.3.6': + resolution: {integrity: sha512-3jxSBQt4fkS+KtHCPSyB5auIT+KKIrPCv9Dk14FbvOaEh9erUWEm/5PZWmtboW1z7CYeNbFMeXm9fM2xwtVOpg==} + + '@react-native-community/cli-server-api@12.3.6': + resolution: {integrity: sha512-80NIMzo8b2W+PL0Jd7NjiJW9mgaT8Y8wsIT/lh6mAvYH7mK0ecDJUYUTAAv79Tbo1iCGPAr3T295DlVtS8s4yQ==} + + '@react-native-community/cli-tools@12.3.6': + resolution: {integrity: sha512-FPEvZn19UTMMXUp/piwKZSh8cMEfO8G3KDtOwo53O347GTcwNrKjgZGtLSPELBX2gr+YlzEft3CoRv2Qmo83fQ==} + + '@react-native-community/cli-types@12.3.6': + resolution: {integrity: sha512-xPqTgcUtZowQ8WKOkI9TLGBwH2bGggOC4d2FFaIRST3gTcjrEeGRNeR5aXCzJFIgItIft8sd7p2oKEdy90+01Q==} + + '@react-native-community/cli@12.3.6': + resolution: {integrity: sha512-647OSi6xBb8FbwFqX9zsJxOzu685AWtrOUWHfOkbKD+5LOpGORw+GQo0F9rWZnB68rLQyfKUZWJeaD00pGv5fw==} + engines: {node: '>=18'} + hasBin: true + + '@react-native-community/masked-view@0.1.11': + resolution: {integrity: sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==} + deprecated: Repository was moved to @react-native-masked-view/masked-view + peerDependencies: + react: '>=16.0' + react-native: '>=0.57' + + '@react-native/assets-registry@0.73.1': + resolution: {integrity: sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==} + engines: {node: '>=18'} + + '@react-native/babel-plugin-codegen@0.73.4': + resolution: {integrity: sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==} + engines: {node: '>=18'} + + '@react-native/babel-preset@0.73.21': + resolution: {integrity: sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/codegen@0.73.3': + resolution: {integrity: sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + + '@react-native/community-cli-plugin@0.73.17': + resolution: {integrity: sha512-F3PXZkcHg+1ARIr6FRQCQiB7ZAA+MQXGmq051metRscoLvgYJwj7dgC8pvgy0kexzUkHu5BNKrZeySzUft3xuQ==} + engines: {node: '>=18'} + + '@react-native/debugger-frontend@0.73.3': + resolution: {integrity: sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==} + engines: {node: '>=18'} + + '@react-native/dev-middleware@0.73.8': + resolution: {integrity: sha512-oph4NamCIxkMfUL/fYtSsE+JbGOnrlawfQ0kKtDQ5xbOjPKotKoXqrs1eGwozNKv7FfQ393stk1by9a6DyASSg==} + engines: {node: '>=18'} + + '@react-native/gradle-plugin@0.73.4': + resolution: {integrity: sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==} + engines: {node: '>=18'} + + '@react-native/js-polyfills@0.73.1': + resolution: {integrity: sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==} + engines: {node: '>=18'} + + '@react-native/metro-babel-transformer@0.73.15': + resolution: {integrity: sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/normalize-color@2.1.0': + resolution: {integrity: sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==} + + '@react-native/normalize-colors@0.73.2': + resolution: {integrity: sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==} + + '@react-native/normalize-colors@0.74.89': + resolution: {integrity: sha512-qoMMXddVKVhZ8PA1AbUCk83trpd6N+1nF2A6k1i6LsQObyS92fELuk8kU/lQs6M7BsMHwqyLCpQJ1uFgNvIQXg==} + + '@react-native/virtualized-lists@0.73.4': + resolution: {integrity: sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==} + engines: {node: '>=18'} + peerDependencies: + react-native: '*' + + '@react-navigation/bottom-tabs@6.6.1': + resolution: {integrity: sha512-9oD4cypEBjPuaMiu9tevWGiQ4w/d6l3HNhcJ1IjXZ24xvYDSs0mqjUcdt8SWUolCvRrYc/DmNBLlT83bk0bHTw==} + deprecated: This version is no longer supported + peerDependencies: + '@react-navigation/native': ^6.0.0 + react: '*' + react-native: '*' + react-native-safe-area-context: '>= 3.0.0' + react-native-screens: '>= 3.0.0' + + '@react-navigation/core@6.4.17': + resolution: {integrity: sha512-Nd76EpomzChWAosGqWOYE3ItayhDzIEzzZsT7PfGcRFDgW5miHV2t4MZcq9YIK4tzxZjVVpYbIynOOQQd1e0Cg==} + deprecated: This version is no longer supported + peerDependencies: + react: '*' + + '@react-navigation/elements@1.3.31': + resolution: {integrity: sha512-bUzP4Awlljx5RKEExw8WYtif8EuQni2glDaieYROKTnaxsu9kEIA515sXQgUDZU4Ob12VoL7+z70uO3qrlfXcQ==} + deprecated: This version is no longer supported + peerDependencies: + '@react-navigation/native': ^6.0.0 + react: '*' + react-native: '*' + react-native-safe-area-context: '>= 3.0.0' + + '@react-navigation/native@6.1.18': + resolution: {integrity: sha512-mIT9MiL/vMm4eirLcmw2h6h/Nm5FICtnYSdohq4vTLA2FF/6PNhByM7s8ffqoVfE5L0uAa6Xda1B7oddolUiGg==} + deprecated: This version is no longer supported + peerDependencies: + react: '*' + react-native: '*' + + '@react-navigation/routers@6.1.9': + resolution: {integrity: sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==} + deprecated: This version is no longer supported + + '@react-navigation/stack@6.4.1': + resolution: {integrity: sha512-upMEHOKMtuMu4c9gmoPlO/JqI6mDlSqwXg1aXKOTQLXAF8H5koOLRfrmi7AkdiE9A7lDXWUAZoGuD9O88cYvDQ==} + deprecated: This version is no longer supported + peerDependencies: + '@react-navigation/native': ^6.0.0 + react: '*' + react-native: '*' + react-native-gesture-handler: '>= 1.0.0' + react-native-safe-area-context: '>= 3.0.0' + react-native-screens: '>= 3.0.0' + + '@segment/loosely-validate-event@2.0.0': + resolution: {integrity: sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.12': + resolution: {integrity: sha512-hhyNJ+nbR6ZR7pToHvllEFun9TL0sbL+tk/ON75lo+Xas054uez98qRbsuNt7MBCyZKK4+8Yli/OAGZhmfBZ/g==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@testing-library/dom@9.3.4': + resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} + engines: {node: '>=14'} + + '@testing-library/jest-dom@6.10.0': + resolution: {integrity: sha512-HQwu0KaB2zyT0iLzBL+8CLyZDL3KlZlZJ+2iyc9uCUnlJVskJU/UlPuVCyIPhtukjPQdT2QNoR5nCP5FqTmmDQ==} + engines: {node: '>=22', npm: '>=6', yarn: '>=1'} + deprecated: Incorrect minor release with breaking changes (Node >=22 and required @testing-library/dom peer). Use 6.9.1 for the 6.x line, or upgrade to 7.0.0. + peerDependencies: + '@testing-library/dom': '>=10 <11' + + '@testing-library/react-native@12.9.0': + resolution: {integrity: sha512-wIn/lB1FjV2N4Q7i9PWVRck3Ehwq5pkhAef5X5/bmQ78J/NoOsGbVY2/DG5Y9Lxw+RfE+GvSEh/fe5Tz6sKSvw==} + deprecated: React Native Testing Library v12 is no longer maintained. Please upgrade to v13 or v14. + peerDependencies: + jest: '>=28.0.0' + react: '>=16.8.0' + react-native: '>=0.59' + react-test-renderer: '>=16.8.0' + peerDependenciesMeta: + jest: + optional: true + + '@testing-library/react@14.3.1': + resolution: {integrity: sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==} + engines: {node: '>=14'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/hammerjs@2.0.46': + resolution: {integrity: sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} + + '@types/node@26.1.1': + resolution: {integrity: sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==} + + '@types/prop-types@15.7.15': + resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + + '@types/react-dom@18.3.7': + resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} + peerDependencies: + '@types/react': ^18.0.0 + + '@types/react@18.2.79': + resolution: {integrity: sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@15.0.20': + resolution: {integrity: sha512-KIkX+/GgfFitlASYCGoSF+T4XRXhOubJLhkLVtSfsRTe9jWMmuM2g28zQ41BtPTG7TRBb2xHW+LCNVE9QR/vsg==} + + '@types/yargs@17.0.35': + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + + '@urql/core@2.3.6': + resolution: {integrity: sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@urql/exchange-retry@0.3.0': + resolution: {integrity: sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + '@xmldom/xmldom@0.7.13': + resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} + engines: {node: '>=10.0.0'} + deprecated: this version has critical issues, please update to the latest version + + '@xmldom/xmldom@0.9.10': + resolution: {integrity: sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==} + engines: {node: '>=14.6'} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn@8.17.0: + resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + anser@1.4.10: + resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-fragments@0.2.1: + resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==} + + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + appdirsjs@1.2.7: + resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + ast-types@0.15.2: + resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} + engines: {node: '>=4'} + + astral-regex@1.0.0: + resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} + engines: {node: '>=4'} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + async-limiter@1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + babel-core@7.0.0-bridge.0: + resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-plugin-polyfill-corejs2@0.4.17: + resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.14.2: + resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.8: + resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-react-native-web@0.18.12: + resolution: {integrity: sha512-4djr9G6fMdwQoD6LQ7hOKAm39+y12flWgovAqS1k5O8f42YQ3A1FFMyV5kKfetZuGhZO5BmNmOdRRZQ1TixtDw==} + + babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: + resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} + + babel-plugin-transform-flow-enums@0.0.2: + resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} + + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 + + babel-preset-expo@10.0.2: + resolution: {integrity: sha512-hg06qdSTK7MjKmFXSiq6cFoIbI3n3uT8a3NI2EZoISWhu+tedCj4DQduwi+3adFuRuYvAwECI0IYn/5iGh5zWQ==} + + babel-preset-fbjs@3.4.0: + resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-64@0.1.0: + resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.11.0: + resolution: {integrity: sha512-oCu2wfipvX3AePSgmOuKkIywOu+8n9psz7hXYmk56ghpu3+7KzNIBopaOs4c9BrtdnTtW30unG9GTfHo7EwERQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} + + big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + blueimp-md5@2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + + bplist-creator@0.1.0: + resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} + + bplist-parser@0.3.1: + resolution: {integrity: sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==} + engines: {node: '>= 5.10.0'} + + bplist-parser@0.3.2: + resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==} + engines: {node: '>= 5.10.0'} + + brace-expansion@1.1.16: + resolution: {integrity: sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.7: + resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + + buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + + buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + builtins@1.0.3: + resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacache@15.3.0: + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + caller-callsite@2.0.0: + resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} + engines: {node: '>=4'} + + caller-path@2.0.0: + resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} + engines: {node: '>=4'} + + callsites@2.0.0: + resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} + engines: {node: '>=4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001806: + resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + chrome-launcher@0.15.2: + resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} + engines: {node: '>=12.13.0'} + hasBin: true + + chromium-edge-launcher@1.0.0: + resolution: {integrity: sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==} + + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-cursor@2.1.0: + resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} + engines: {node: '>=4'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.3: + resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + command-exists@1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + component-type@1.2.2: + resolution: {integrity: sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + core-js-compat@3.49.0: + resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@5.2.1: + resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} + engines: {node: '>=4'} + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-spawn@6.0.6: + resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + + crypto-random-string@1.0.0: + resolution: {integrity: sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==} + engines: {node: '>=4'} + + crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + + css-in-js-utils@3.1.0: + resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} + + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + dag-map@1.0.2: + resolution: {integrity: sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + dedent@1.7.2: + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@4.2.0: + resolution: {integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==} + engines: {node: '>=6'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + denodeify@1.2.1: + resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + deprecated-react-native-prop-types@5.0.0: + resolution: {integrity: sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==} + engines: {node: '>=18'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + + domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead + + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.395: + resolution: {integrity: sha512-7zt9Aw+SrmxLWLN0zhaTWZQiCdryLVrYTq5R7iZakLvi2UQPYMMsROYV/2qVCzMeCiSXHwKOU+sZ4zOVVlrtKA==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + env-editor@0.4.2: + resolution: {integrity: sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==} + engines: {node: '>=8'} + + envinfo@7.21.0: + resolution: {integrity: sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==} + engines: {node: '>=4'} + hasBin: true + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + errorhandler@1.5.2: + resolution: {integrity: sha512-kNAL7hESndBCrWwS72QyV3IVOTrVmj9D062FV5BQswNL5zEdeRmz/WJFyh6Aj/plvvSOrzddkxW57HgkZcR9Fw==} + engines: {node: '>= 0.8'} + + es-abstract-get@1.0.0: + resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} + engines: {node: '>= 0.4'} + + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.4: + resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} + engines: {node: '>= 0.4'} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + expo-asset@9.0.2: + resolution: {integrity: sha512-PzYKME1MgUOoUvwtdzhAyXkjXOXGiSYqGKG/MsXwWr0Ef5wlBaBm2DCO9V6KYbng5tBPFu6hTjoRNil1tBOSow==} + + expo-constants@15.4.6: + resolution: {integrity: sha512-vizE69dww2Vl0PTWWvDmK0Jo2/J+WzdcMZlA05YEnEYofQuhKxTVsiuipf79mSOmFavt4UQYC1UnzptzKyfmiQ==} + peerDependencies: + expo: '*' + + expo-file-system@16.0.9: + resolution: {integrity: sha512-3gRPvKVv7/Y7AdD9eHMIdfg5YbUn2zbwKofjsloTI5sEC57SLUFJtbLvUCz9Pk63DaSQ7WIE1JM0EASyvuPbuw==} + peerDependencies: + expo: '*' + + expo-font@11.10.3: + resolution: {integrity: sha512-q1Td2zUvmLbCA9GV4OG4nLPw5gJuNY1VrPycsnemN1m8XWTzzs8nyECQQqrcBhgulCgcKZZJJ6U0kC2iuSoQHQ==} + peerDependencies: + expo: '*' + + expo-keep-awake@12.8.2: + resolution: {integrity: sha512-uiQdGbSX24Pt8nGbnmBtrKq6xL/Tm3+DuDRGBk/3ZE/HlizzNosGRIufIMJ/4B4FRw4dw8KU81h2RLuTjbay6g==} + peerDependencies: + expo: '*' + + expo-modules-autolinking@1.10.3: + resolution: {integrity: sha512-pn4n2Dl4iRh/zUeiChjRIe1C7EqOw1qhccr85viQV7W6l5vgRpY0osE51ij5LKg/kJmGRcJfs12+PwbdTplbKw==} + hasBin: true + + expo-modules-core@1.11.14: + resolution: {integrity: sha512-+W+A/jYJdWzA43KEAixhoArEb0EzTsS6T3tObYkZ1EHk8LaBT3hnFant52CnFTeVY4pqv4mgutBua2UQQMAWFA==} + + expo-sharing@11.10.0: + resolution: {integrity: sha512-/64RyyKlZ25WfnMXa87HbPXhIIqWwNbIku/RaIYAq4SE0XTRC+KTH3v0XFkfDa+SCG/jKsAr1pJ3vQvsNo1sCQ==} + peerDependencies: + expo: '*' + + expo-splash-screen@0.26.5: + resolution: {integrity: sha512-FyvA2EWDeQdC3zuoQdXV2VmSANiJzF0hmbtoEEyR6MXoHaYFvxxKyhBeAm61N8C9TtUijIcEgFM6XBCh0wTBVw==} + peerDependencies: + expo: '*' + + expo-status-bar@1.11.1: + resolution: {integrity: sha512-ddQEtCOgYHTLlFUe/yH67dDBIoct5VIULthyT3LRJbEwdpzAgueKsX2FYK02ldh440V87PWKCamh7R9evk1rrg==} + + expo@50.0.21: + resolution: {integrity: sha512-lY+HJdQcsTUbEtPhgT3Y2+WwKZdJiYN0Zq5yAOT9293N1TbdLbHCNkOUtFfTmK0JjwgSKbbH4kRlue7a4MJflg==} + hasBin: true + + exponential-backoff@3.1.3: + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-loops@1.1.4: + resolution: {integrity: sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg==} + + fast-xml-parser@4.5.7: + resolution: {integrity: sha512-a6Qh1RMCNbSrU1+sAyAAZH3rTe+OaWJbNZIq0S+ifZciUUOQtlVxBJwoTUE2bYhysmG/RYyI5WJFIKdBahJdrQ==} + hasBin: true + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fbemitter@3.0.0: + resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==} + + fbjs-css-vars@1.0.2: + resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} + + fbjs@3.0.5: + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + + fetch-retry@4.1.1: + resolution: {integrity: sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + filter-obj@1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + + finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + + find-cache-dir@2.1.0: + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-yarn-workspace-root@2.0.0: + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + + flow-enums-runtime@0.0.6: + resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} + + flow-parser@0.206.0: + resolution: {integrity: sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==} + engines: {node: '>=0.4.0'} + + fontfaceobserver@2.3.0: + resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + form-data@3.0.5: + resolution: {integrity: sha512-j23EibVLnp4zNXGW7LjryXYa2X6U/M96yoOX+ybZxwkYajdxRNEqYY3zhh7y0i6kfISKS2jr+EJq1YTUDEv5+w==} + engines: {node: '>= 6'} + + freeport-async@2.0.0: + resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==} + engines: {node: '>=8'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@9.0.0: + resolution: {integrity: sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==} + engines: {node: '>=10'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.2.0: + resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + getenv@1.0.0: + resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==} + engines: {node: '>=6'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob@7.0.6: + resolution: {integrity: sha512-f8c0rE8JiCxpa52kWPAOa3ZaYEnzofDzCQLCn3Vdk0Z5OVLq3BsRFJI4S4ykpeVW6QMGBUkMeUpoEgWnMTnw5Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphql-tag@2.12.7: + resolution: {integrity: sha512-xnE/NFzy+0eIesvAsREJZ284zTl/wYuBAvpsFSDhRGRdRHdnE90M21Q3xAWyYInb0J756c6x0pIQ62+vtvOs1Q==} + engines: {node: '>=10'} + peerDependencies: + graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + graphql@15.8.0: + resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} + engines: {node: '>= 10.x'} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} + + hermes-estree@0.15.0: + resolution: {integrity: sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==} + + hermes-estree@0.23.1: + resolution: {integrity: sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==} + + hermes-parser@0.15.0: + resolution: {integrity: sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==} + + hermes-parser@0.23.1: + resolution: {integrity: sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==} + + hermes-profile-transformer@0.0.6: + resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==} + engines: {node: '>=8'} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hosted-git-info@3.0.8: + resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==} + engines: {node: '>=10'} + + hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + hyphenate-style-name@1.1.0: + resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + image-size@1.2.1: + resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} + engines: {node: '>=16.x'} + hasBin: true + + import-fresh@2.0.0: + resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} + engines: {node: '>=4'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + inline-style-prefixer@6.0.4: + resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} + + internal-ip@4.3.0: + resolution: {integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==} + engines: {node: '>=6'} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ip-regex@2.1.0: + resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} + engines: {node: '>=4'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrayish@0.3.4: + resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-directory@0.3.1: + resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} + engines: {node: '>=0.10.0'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-document.all@1.0.0: + resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} + engines: {node: '>= 0.4'} + + is-extglob@1.0.0: + resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + + is-glob@2.0.1: + resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-invalid-path@0.1.0: + resolution: {integrity: sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==} + engines: {node: '>=0.10.0'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-valid-path@0.1.1: + resolution: {integrity: sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==} + engines: {node: '>=0.10.0'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + is-wsl@1.1.0: + resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} + engines: {node: '>=4'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-fetch-mock@3.2.0: + resolution: {integrity: sha512-7yGuHznS2mQSUr17H6Q/YMKExuey1ush3Vdvm1QsUzi7PzajSNBiAvMxtS1nucKJYiIF3g4qTtHxG9T10vJjWg==} + engines: {node: '>=12'} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jimp-compact@0.16.1: + resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==} + + joi@17.13.4: + resolution: {integrity: sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==} + + join-component@1.1.0: + resolution: {integrity: sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.15.0: + resolution: {integrity: sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==} + hasBin: true + + js-yaml@4.3.0: + resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} + hasBin: true + + jsc-android@250231.0.0: + resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} + + jsc-safe-url@0.2.4: + resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} + + jscodeshift@0.14.0: + resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} + hasBin: true + peerDependencies: + '@babel/preset-env': ^7.1.6 + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-deref-sync@0.13.0: + resolution: {integrity: sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg==} + engines: {node: '>=6.0.0'} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lighthouse-logger@1.4.2: + resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + + lightningcss-darwin-arm64@1.19.0: + resolution: {integrity: sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.19.0: + resolution: {integrity: sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-linux-arm-gnueabihf@1.19.0: + resolution: {integrity: sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.19.0: + resolution: {integrity: sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.19.0: + resolution: {integrity: sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.19.0: + resolution: {integrity: sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.19.0: + resolution: {integrity: sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-x64-msvc@1.19.0: + resolution: {integrity: sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.19.0: + resolution: {integrity: sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==} + engines: {node: '>= 12.0.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + + log-symbols@2.2.0: + resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} + engines: {node: '>=4'} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + logkitty@0.7.1: + resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==} + hasBin: true + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + marky@1.3.0: + resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + md5-file@3.2.3: + resolution: {integrity: sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==} + engines: {node: '>=0.10'} + hasBin: true + + md5@2.2.1: + resolution: {integrity: sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==} + + md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + + md5hex@1.0.0: + resolution: {integrity: sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==} + + memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + + memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + + memory-cache@0.2.0: + resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==} + + merge-options@3.0.4: + resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} + engines: {node: '>=10'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + metro-babel-transformer@0.80.12: + resolution: {integrity: sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==} + engines: {node: '>=18'} + + metro-cache-key@0.80.12: + resolution: {integrity: sha512-o4BspKnugg/pE45ei0LGHVuBJXwRgruW7oSFAeSZvBKA/sGr0UhOGY3uycOgWInnS3v5yTTfiBA9lHlNRhsvGA==} + engines: {node: '>=18'} + + metro-cache@0.80.12: + resolution: {integrity: sha512-p5kNHh2KJ0pbQI/H7ZBPCEwkyNcSz7OUkslzsiIWBMPQGFJ/xArMwkV7I+GJcWh+b4m6zbLxE5fk6fqbVK1xGA==} + engines: {node: '>=18'} + + metro-config@0.80.12: + resolution: {integrity: sha512-4rwOWwrhm62LjB12ytiuR5NgK1ZBNr24/He8mqCsC+HXZ+ATbrewLNztzbAZHtFsrxP4D4GLTGgh96pCpYLSAQ==} + engines: {node: '>=18'} + + metro-core@0.80.12: + resolution: {integrity: sha512-QqdJ/yAK+IpPs2HU/h5v2pKEdANBagSsc6DRSjnwSyJsCoHlmyJKCaCJ7KhWGx+N4OHxh37hoA8fc2CuZbx0Fw==} + engines: {node: '>=18'} + + metro-file-map@0.80.12: + resolution: {integrity: sha512-sYdemWSlk66bWzW2wp79kcPMzwuG32x1ZF3otI0QZTmrnTaaTiGyhE66P1z6KR4n2Eu5QXiABa6EWbAQv0r8bw==} + engines: {node: '>=18'} + + metro-minify-terser@0.80.12: + resolution: {integrity: sha512-muWzUw3y5k+9083ZoX9VaJLWEV2Jcgi+Oan0Mmb/fBNMPqP9xVDuy4pOMn/HOiGndgfh/MK7s4bsjkyLJKMnXQ==} + engines: {node: '>=18'} + + metro-resolver@0.80.12: + resolution: {integrity: sha512-PR24gYRZnYHM3xT9pg6BdbrGbM/Cu1TcyIFBVlAk7qDAuHkUNQ1nMzWumWs+kwSvtd9eZGzHoucGJpTUEeLZAw==} + engines: {node: '>=18'} + + metro-runtime@0.80.12: + resolution: {integrity: sha512-LIx7+92p5rpI0i6iB4S4GBvvLxStNt6fF0oPMaUd1Weku7jZdfkCZzmrtDD9CSQ6EPb0T9NUZoyXIxlBa3wOCw==} + engines: {node: '>=18'} + + metro-source-map@0.80.12: + resolution: {integrity: sha512-o+AXmE7hpvM8r8MKsx7TI21/eerYYy2DCDkWfoBkv+jNkl61khvDHlQn0cXZa6lrcNZiZkl9oHSMcwLLIrFmpw==} + engines: {node: '>=18'} + + metro-symbolicate@0.80.12: + resolution: {integrity: sha512-/dIpNdHksXkGHZXARZpL7doUzHqSNxgQ8+kQGxwpJuHnDhGkENxB5PS2QBaTDdEcmyTMjS53CN1rl9n1gR6fmw==} + engines: {node: '>=18'} + hasBin: true + + metro-transform-plugins@0.80.12: + resolution: {integrity: sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA==} + engines: {node: '>=18'} + + metro-transform-worker@0.80.12: + resolution: {integrity: sha512-KAPFN1y3eVqEbKLx1I8WOarHPqDMUa8WelWxaJCNKO/yHCP26zELeqTJvhsQup+8uwB6EYi/sp0b6TGoh6lOEA==} + engines: {node: '>=18'} + + metro@0.80.12: + resolution: {integrity: sha512-1UsH5FzJd9quUsD1qY+zUG4JY3jo3YEMxbMYH9jT6NK3j4iORhlwTK8fYTfAUBhDKjgLfKjAh7aoazNE23oIRA==} + engines: {node: '>=18'} + hasBin: true + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mimic-fn@1.2.0: + resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} + engines: {node: '>=4'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-flush@1.0.7: + resolution: {integrity: sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==} + engines: {node: '>= 8'} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.16: + resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nested-error-stacks@2.0.1: + resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + nocache@3.0.4: + resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} + engines: {node: '>=12.0.0'} + + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + node-dir@0.1.17: + resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} + engines: {node: '>= 0.10.5'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-forge@1.4.0: + resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==} + engines: {node: '>= 6.13.0'} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.51: + resolution: {integrity: sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==} + engines: {node: '>=18'} + + node-stream-zip@1.15.0: + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-package-arg@11.0.3: + resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-package-arg@7.0.0: + resolution: {integrity: sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==} + + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + + ob1@0.80.12: + resolution: {integrity: sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==} + engines: {node: '>=18'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@2.0.1: + resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} + engines: {node: '>=4'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@6.4.0: + resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} + engines: {node: '>=8'} + + open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + ora@3.4.0: + resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==} + engines: {node: '>=6'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + os-homedir@1.0.2: + resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} + engines: {node: '>=0.10.0'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + osenv@0.1.5: + resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} + deprecated: This package is no longer supported. + + own-keys@1.0.2: + resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==} + engines: {node: '>= 0.4'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-png@2.1.0: + resolution: {integrity: sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==} + engines: {node: '>=10'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pdf-lib@1.17.1: + resolution: {integrity: sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@3.0.2: + resolution: {integrity: sha512-cfDHL6LStTEKlNilboNtobT/kEa30PtAf2Q1OgszfrG/rpVl1xaFWT9ktfkS306GmHgmnad1Sw4wabhlvFtsTw==} + engines: {node: '>=10'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-dir@3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + plist@3.1.1: + resolution: {integrity: sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==} + engines: {node: '>=10.4.0'} + + pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + engines: {node: ^10 || ^12 || >=14} + + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + + pretty-format@26.6.2: + resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} + engines: {node: '>= 10'} + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + proc-log@4.2.0: + resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + + promise@8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + qrcode-terminal@0.11.0: + resolution: {integrity: sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==} + hasBin: true + + query-string@7.1.3: + resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-devtools-core@4.28.5: + resolution: {integrity: sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==} + + react-dom@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + + react-freeze@1.0.4: + resolution: {integrity: sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==} + engines: {node: '>=10'} + peerDependencies: + react: '>=17.0.0' + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + react-is@19.2.8: + resolution: {integrity: sha512-s5un28nYxKJw5gvUHyW5PCC28CvBqLu9r3cWgzHT4Vo/5fqqkFcdRYsGcKf50WMPpjjFZS5d76fn3YCo2njKwQ==} + + react-native-fs@2.20.0: + resolution: {integrity: sha512-VkTBzs7fIDUiy/XajOSNk0XazFE9l+QlMAce7lGuebZcag5CnjszB+u4BdqzwaQOdcYb5wsJIsqq4kxInIRpJQ==} + peerDependencies: + react-native: '*' + react-native-windows: '*' + peerDependenciesMeta: + react-native-windows: + optional: true + + react-native-gesture-handler@2.14.1: + resolution: {integrity: sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA==} + peerDependencies: + react: '*' + react-native: '*' + + react-native-is-edge-to-edge@1.1.7: + resolution: {integrity: sha512-EH6i7E8epJGIcu7KpfXYXiV2JFIYITtq+rVS8uEb+92naMRBdxhTuS8Wn2Q7j9sqyO0B+Xbaaf9VdipIAmGW4w==} + peerDependencies: + react: '*' + react-native: '*' + + react-native-reanimated@3.19.5: + resolution: {integrity: sha512-bd4AwIkBAaY4BjrgpSoKjEaRG/tXD756F5nGuiH5IMBSKN8tRdUEA8hWZCyIo/R6/kha/tVSoCqodVUACh7ZWw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + react: '*' + react-native: '*' + + react-native-safe-area-context@4.14.1: + resolution: {integrity: sha512-+tUhT5WBl8nh5+P+chYhAjR470iCByf9z5EYdCEbPaAK3Yfzw+o8VRPnUgmPAKlSccOgQBxx3NOl/Wzckn9ujg==} + peerDependencies: + react: '*' + react-native: '*' + + react-native-screens@3.37.0: + resolution: {integrity: sha512-vEi4qZqWYoGuVGuHTv1K2XA90rgSydksmR5+tb5uhL93whl6Bch6EEXzC+8eEfj4SimiCgXBPY7r/xTXJxvnUg==} + peerDependencies: + react: '*' + react-native: '*' + + react-native-web@0.19.13: + resolution: {integrity: sha512-etv3bN8rJglrRCp/uL4p7l8QvUNUC++QwDbdZ8CB7BvZiMvsxfFIRM1j04vxNldG3uo2puRd6OSWR3ibtmc29A==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + react-native@0.73.6: + resolution: {integrity: sha512-oqmZe8D2/VolIzSPZw+oUd6j/bEmeRHwsLn1xLA5wllEYsZ5zNuMsDus235ONOnCRwexqof/J3aztyQswSmiaA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + react: 18.2.0 + + react-navigation@5.0.0: + resolution: {integrity: sha512-ACTzjc4L1ik7rJ092ZhIELBJ/pnoLgRIqWHSKcYcaBASxyjJCgBEDIV5s585HBj55tw25YwNdlj3+d4B4MYWDg==} + deprecated: This package is no longer supported. Please use @react-navigation/native instead. See https://reactnavigation.org/docs/getting-started/ for usage guide + + react-refresh@0.14.0: + resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + engines: {node: '>=0.10.0'} + + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + + react-shallow-renderer@16.15.0: + resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + + react-test-renderer@19.2.8: + resolution: {integrity: sha512-GHKPaDRaNYU24PHTLG8Bx8VMY9t+qNfxQbt/Yjp7aMWBkKU6766SR0n6TnYu7P5I1MfEuAMUadqiyDHyI4Yy9Q==} + peerDependencies: + react: ^19.2.8 + + react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readline@1.3.0: + resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} + + recast@0.21.5: + resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} + engines: {node: '>= 4'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} + engines: {node: '>=4'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.13.2: + resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} + hasBin: true + + remove-trailing-slash@0.1.1: + resolution: {integrity: sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + requireg@0.2.2: + resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==} + engines: {node: '>= 4.0.0'} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-workspace-root@2.0.1: + resolution: {integrity: sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w==} + + resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} + engines: {node: '>=10'} + + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} + hasBin: true + + resolve@1.7.1: + resolution: {integrity: sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==} + + restore-cursor@2.0.0: + resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} + engines: {node: '>=4'} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rn-fetch-blob@0.12.0: + resolution: {integrity: sha512-+QnR7AsJ14zqpVVUbzbtAjq0iI8c9tCg49tIoKO2ezjzRunN7YL6zFSFSWZm6d+mE/l9r+OeDM3jmb2tBb2WbA==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + sax@1.6.0: + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + scheduler@0.24.0-canary-efb381bbf-20230505: + resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.3.2: + resolution: {integrity: sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==} + engines: {node: '>=10'} + hasBin: true + + semver@7.5.3: + resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} + engines: {node: '>=10'} + hasBin: true + + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + send@0.19.2: + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} + engines: {node: '>= 0.8.0'} + + serialize-error@2.1.0: + resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} + engines: {node: '>=0.10.0'} + + serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.10.0: + resolution: {integrity: sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + simple-plist@1.3.1: + resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==} + + simple-swizzle@0.2.4: + resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@2.1.0: + resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} + engines: {node: '>=6'} + + slugify@1.6.9: + resolution: {integrity: sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg==} + engines: {node: '>=8.0.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + ssri@8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + stacktrace-parser@0.1.11: + resolution: {integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==} + engines: {node: '>=6'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + stream-buffers@2.2.0: + resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} + engines: {node: '>= 0.10.0'} + + strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string.prototype.trim@1.2.11: + resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.10: + resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strnum@1.1.2: + resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} + + structured-headers@0.4.1: + resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==} + + styleq@0.1.3: + resolution: {integrity: sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==} + + sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true + + sudo-prompt@9.2.1: + resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + temp-dir@1.0.0: + resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==} + engines: {node: '>=4'} + + temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + + temp@0.8.4: + resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} + engines: {node: '>=6.0.0'} + + tempy@0.3.0: + resolution: {integrity: sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==} + engines: {node: '>=8'} + + tempy@0.7.1: + resolution: {integrity: sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==} + engines: {node: '>=10'} + + terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + + terser@5.49.0: + resolution: {integrity: sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + throat@5.0.0: + resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + + through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + traverse@0.6.11: + resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==} + engines: {node: '>= 0.4'} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.3.1: + resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==} + engines: {node: '>=6'} + + type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.8: + resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} + engines: {node: '>= 0.4'} + + typedarray.prototype.slice@1.0.5: + resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==} + engines: {node: '>= 0.4'} + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + ua-parser-js@1.0.41: + resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} + hasBin: true + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} + engines: {node: '>=4'} + + unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + + unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + + unique-string@1.0.0: + resolution: {integrity: sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==} + engines: {node: '>=4'} + + unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@1.0.0: + resolution: {integrity: sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==} + engines: {node: '>= 10.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + url-join@4.0.0: + resolution: {integrity: sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==} + + use-latest-callback@0.2.6: + resolution: {integrity: sha512-FvRG9i1HSo0wagmX63Vrm8SnlUU3LMM3WyZkQ76RnslpBrX694AdG4A0zQBx2B3ZifFA0yv/BaEHGBnEax5rZg==} + peerDependencies: + react: '>=16.8' + + utf8@3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@7.0.3: + resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + hasBin: true + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + hasBin: true + + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + + valid-url@1.0.9: + resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==} + + validate-npm-package-name@3.0.0: + resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vlq@1.0.1: + resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + warn-once@0.1.1: + resolution: {integrity: sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + + whatwg-url-without-unicode@8.0.0-3: + resolution: {integrity: sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==} + engines: {node: '>=10'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which-typed-array@1.1.22: + resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wonka@4.0.15: + resolution: {integrity: sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@2.4.3: + resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@6.2.6: + resolution: {integrity: sha512-XTrf1gv7kXoVf1hbC3PAyAiPgR8Wz1blcrYIjEsUmr08BLksT41R8KbjmS9408C2ERx7v1JDLD/BkpLEttjfKA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@7.5.13: + resolution: {integrity: sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.21.1: + resolution: {integrity: sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==} + 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 + + xcode@3.0.1: + resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==} + engines: {node: '>=10.0.0'} + + xml2js@0.6.0: + resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==} + engines: {node: '>=4.0.0'} + + xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + + xmlbuilder@14.0.0: + resolution: {integrity: sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==} + engines: {node: '>=8.0'} + + xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@17.7.3: + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@adobe/css-tools@4.5.0': {} + + '@babel/code-frame@7.10.4': + dependencies: + '@babel/highlight': 7.25.9 + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.7': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.7 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/traverse': 7.29.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + regexpu-core: 6.4.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.12 + transitivePeerDependencies: + - supports-color + + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-member-expression-to-functions@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-wrap-function': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helper-wrap-function@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/highlight@7.25.9': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/parser@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-decorators@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-decorators': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-export-default-from@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7) + + '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7) + + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.29.7)': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + + '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7) + + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-decorators@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-export-default-from@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-flow@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/template': 7.29.7 + + '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-flow-strip-types@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-flow': 7.29.7(@babel/core@7.29.7) + + '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx-self@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx-source@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.7) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/preset-env@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7) + '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-systemjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-regenerator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7) + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) + babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) + core-js-compat: 3.49.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-flow@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-transform-flow-strip-types': 7.29.7(@babel/core@7.29.7) + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/types': 7.29.7 + esutils: 2.0.3 + + '@babel/preset-react@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/register@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.7 + source-map-support: 0.5.21 + + '@babel/runtime@7.29.7': {} + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/traverse@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.7': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@bcoe/v8-coverage@0.2.3': {} + + '@egjs/hammerjs@2.0.17': + dependencies: + '@types/hammerjs': 2.0.46 + + '@expo/bunyan@4.0.1': + dependencies: + uuid: 8.3.2 + + '@expo/cli@0.17.13(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))(expo-modules-autolinking@1.10.3)': + dependencies: + '@babel/runtime': 7.29.7 + '@expo/code-signing-certificates': 0.0.5 + '@expo/config': 8.5.6 + '@expo/config-plugins': 7.9.2 + '@expo/devcert': 1.2.1 + '@expo/env': 0.2.3 + '@expo/image-utils': 0.4.2 + '@expo/json-file': 8.3.3 + '@expo/metro-config': 0.17.8(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))) + '@expo/osascript': 2.7.1 + '@expo/package-manager': 1.13.1 + '@expo/plist': 0.1.3 + '@expo/prebuild-config': 6.8.1(expo-modules-autolinking@1.10.3) + '@expo/rudder-sdk-node': 1.1.1 + '@expo/spawn-async': 1.5.0 + '@expo/xcpretty': 4.4.4 + '@react-native/dev-middleware': 0.73.8 + '@urql/core': 2.3.6(graphql@15.8.0) + '@urql/exchange-retry': 0.3.0(graphql@15.8.0) + accepts: 1.3.8 + arg: 5.0.2 + better-opn: 3.0.2 + bplist-parser: 0.3.2 + cacache: 15.3.0 + chalk: 4.1.2 + ci-info: 3.9.0 + connect: 3.7.0 + debug: 4.4.3 + env-editor: 0.4.2 + find-yarn-workspace-root: 2.0.0 + form-data: 3.0.5 + freeport-async: 2.0.0 + fs-extra: 8.1.0 + getenv: 1.0.0 + glob: 7.2.3 + graphql: 15.8.0 + graphql-tag: 2.12.7(graphql@15.8.0) + https-proxy-agent: 5.0.1 + internal-ip: 4.3.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + js-yaml: 3.15.0 + json-schema-deref-sync: 0.13.0 + lodash.debounce: 4.0.8 + md5hex: 1.0.0 + minimatch: 3.1.5 + minipass: 3.3.6 + node-fetch: 2.7.0 + node-forge: 1.4.0 + npm-package-arg: 7.0.0 + open: 8.4.2 + ora: 3.4.0 + picomatch: 3.0.2 + pretty-bytes: 5.6.0 + progress: 2.0.3 + prompts: 2.4.2 + qrcode-terminal: 0.11.0 + require-from-string: 2.0.2 + requireg: 0.2.2 + resolve: 1.22.12 + resolve-from: 5.0.0 + resolve.exports: 2.0.3 + semver: 7.8.5 + send: 0.18.0 + slugify: 1.6.9 + source-map-support: 0.5.21 + stacktrace-parser: 0.1.11 + structured-headers: 0.4.1 + tar: 6.2.1 + temp-dir: 2.0.0 + tempy: 0.7.1 + terminal-link: 2.1.1 + text-table: 0.2.0 + url-join: 4.0.0 + wrap-ansi: 7.0.0 + ws: 8.21.1 + transitivePeerDependencies: + - '@react-native/babel-preset' + - bluebird + - bufferutil + - encoding + - expo-modules-autolinking + - supports-color + - utf-8-validate + + '@expo/code-signing-certificates@0.0.5': + dependencies: + node-forge: 1.4.0 + nullthrows: 1.1.1 + + '@expo/config-plugins@7.9.2': + dependencies: + '@expo/config-types': 50.0.1 + '@expo/fingerprint': 0.6.1 + '@expo/json-file': 8.3.3 + '@expo/plist': 0.1.3 + '@expo/sdk-runtime-versions': 1.0.0 + '@react-native/normalize-color': 2.1.0 + chalk: 4.1.2 + debug: 4.4.3 + find-up: 5.0.0 + getenv: 1.0.0 + glob: 7.1.6 + resolve-from: 5.0.0 + semver: 7.8.5 + slash: 3.0.0 + slugify: 1.6.9 + xcode: 3.0.1 + xml2js: 0.6.0 + transitivePeerDependencies: + - supports-color + + '@expo/config-types@50.0.1': {} + + '@expo/config@8.5.6': + dependencies: + '@babel/code-frame': 7.10.4 + '@expo/config-plugins': 7.9.2 + '@expo/config-types': 50.0.1 + '@expo/json-file': 8.3.3 + getenv: 1.0.0 + glob: 7.1.6 + require-from-string: 2.0.2 + resolve-from: 5.0.0 + semver: 7.5.3 + slugify: 1.6.9 + sucrase: 3.34.0 + transitivePeerDependencies: + - supports-color + + '@expo/devcert@1.2.1': + dependencies: + '@expo/sudo-prompt': 9.3.2 + debug: 3.2.7 + transitivePeerDependencies: + - supports-color + + '@expo/env@0.2.3': + dependencies: + chalk: 4.1.2 + debug: 4.4.3 + dotenv: 16.4.7 + dotenv-expand: 11.0.7 + getenv: 1.0.0 + transitivePeerDependencies: + - supports-color + + '@expo/fingerprint@0.6.1': + dependencies: + '@expo/spawn-async': 1.8.0 + chalk: 4.1.2 + debug: 4.4.3 + find-up: 5.0.0 + minimatch: 3.1.5 + p-limit: 3.1.0 + resolve-from: 5.0.0 + transitivePeerDependencies: + - supports-color + + '@expo/image-utils@0.4.2': + dependencies: + '@expo/spawn-async': 1.5.0 + chalk: 4.1.2 + fs-extra: 9.0.0 + getenv: 1.0.0 + jimp-compact: 0.16.1 + node-fetch: 2.7.0 + parse-png: 2.1.0 + resolve-from: 5.0.0 + semver: 7.3.2 + tempy: 0.3.0 + transitivePeerDependencies: + - encoding + + '@expo/json-file@11.0.1': + dependencies: + '@babel/code-frame': 7.29.7 + json5: 2.2.3 + + '@expo/json-file@8.3.3': + dependencies: + '@babel/code-frame': 7.10.4 + json5: 2.2.3 + write-file-atomic: 2.4.3 + + '@expo/metro-config@0.17.8(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))': + dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@expo/config': 8.5.6 + '@expo/env': 0.2.3 + '@expo/json-file': 8.3.3 + '@expo/spawn-async': 1.8.0 + '@react-native/babel-preset': 0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)) + babel-preset-fbjs: 3.4.0(@babel/core@7.29.7) + chalk: 4.1.2 + debug: 4.4.3 + find-yarn-workspace-root: 2.0.0 + fs-extra: 9.1.0 + getenv: 1.0.0 + glob: 7.2.3 + jsc-safe-url: 0.2.4 + lightningcss: 1.19.0 + postcss: 8.4.49 + resolve-from: 5.0.0 + sucrase: 3.34.0 + transitivePeerDependencies: + - supports-color + + '@expo/metro-runtime@3.1.3(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))': + dependencies: + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + + '@expo/osascript@2.7.1': + dependencies: + '@expo/spawn-async': 1.8.0 + + '@expo/package-manager@1.13.1': + dependencies: + '@expo/json-file': 11.0.1 + '@expo/spawn-async': 1.8.0 + chalk: 4.1.2 + npm-package-arg: 11.0.3 + ora: 3.4.0 + resolve-workspace-root: 2.0.1 + + '@expo/plist@0.1.3': + dependencies: + '@xmldom/xmldom': 0.7.13 + base64-js: 1.5.1 + xmlbuilder: 14.0.0 + + '@expo/prebuild-config@6.8.1(expo-modules-autolinking@1.10.3)': + dependencies: + '@expo/config': 8.5.6 + '@expo/config-plugins': 7.9.2 + '@expo/config-types': 50.0.1 + '@expo/image-utils': 0.4.2 + '@expo/json-file': 8.3.3 + debug: 4.4.3 + expo-modules-autolinking: 1.10.3 + fs-extra: 9.1.0 + resolve-from: 5.0.0 + semver: 7.5.3 + xml2js: 0.6.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@expo/rudder-sdk-node@1.1.1': + dependencies: + '@expo/bunyan': 4.0.1 + '@segment/loosely-validate-event': 2.0.0 + fetch-retry: 4.1.1 + md5: 2.3.0 + node-fetch: 2.7.0 + remove-trailing-slash: 0.1.1 + uuid: 8.3.2 + transitivePeerDependencies: + - encoding + + '@expo/sdk-runtime-versions@1.0.0': {} + + '@expo/spawn-async@1.5.0': + dependencies: + cross-spawn: 6.0.6 + + '@expo/spawn-async@1.8.0': + dependencies: + cross-spawn: 7.0.6 + + '@expo/sudo-prompt@9.3.2': {} + + '@expo/vector-icons@14.0.4': + dependencies: + prop-types: 15.8.1 + + '@expo/xcpretty@4.4.4': + dependencies: + '@babel/code-frame': 7.29.7 + chalk: 4.1.2 + js-yaml: 4.3.0 + + '@gar/promisify@1.1.3': {} + + '@graphql-typed-document-node/core@3.2.0(graphql@15.8.0)': + dependencies: + graphql: 15.8.0 + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@isaacs/ttlcache@1.4.1': {} + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.15.0 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.6': {} + + '@jest/console@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + '@jest/core@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@26.1.1) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/create-cache-key-function@29.7.0': + dependencies: + '@jest/types': 29.6.3 + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 26.1.1 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/globals@29.7.0': + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/reporters@29.7.0': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.31 + '@types/node': 26.1.1 + chalk: 4.1.2 + collect-v8-coverage: 1.0.3 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.2.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.12 + + '@jest/source-map@29.6.3': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.3 + + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.29.7 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.31 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@26.6.2': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 26.1.1 + '@types/yargs': 15.0.20 + chalk: 4.1.2 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 26.1.1 + '@types/yargs': 17.0.35 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@npmcli/fs@1.1.1': + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.8.5 + + '@npmcli/move-file@1.1.2': + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + + '@pdf-lib/standard-fonts@1.0.0': + dependencies: + pako: 1.0.11 + + '@pdf-lib/upng@1.0.1': + dependencies: + pako: 1.0.11 + + '@react-native-async-storage/async-storage@1.24.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))': + dependencies: + merge-options: 3.0.4 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + + '@react-native-community/cli-clean@12.3.6': + dependencies: + '@react-native-community/cli-tools': 12.3.6 + chalk: 4.1.2 + execa: 5.1.1 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-config@12.3.6': + dependencies: + '@react-native-community/cli-tools': 12.3.6 + chalk: 4.1.2 + cosmiconfig: 5.2.1 + deepmerge: 4.3.1 + glob: 7.2.3 + joi: 17.13.4 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-debugger-ui@12.3.6': + dependencies: + serve-static: 1.16.3 + transitivePeerDependencies: + - supports-color + + '@react-native-community/cli-doctor@12.3.6': + dependencies: + '@react-native-community/cli-config': 12.3.6 + '@react-native-community/cli-platform-android': 12.3.6 + '@react-native-community/cli-platform-ios': 12.3.6 + '@react-native-community/cli-tools': 12.3.6 + chalk: 4.1.2 + command-exists: 1.2.9 + deepmerge: 4.3.1 + envinfo: 7.21.0 + execa: 5.1.1 + hermes-profile-transformer: 0.0.6 + node-stream-zip: 1.15.0 + ora: 5.4.1 + semver: 7.8.5 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + yaml: 2.9.0 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-hermes@12.3.6': + dependencies: + '@react-native-community/cli-platform-android': 12.3.6 + '@react-native-community/cli-tools': 12.3.6 + chalk: 4.1.2 + hermes-profile-transformer: 0.0.6 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-platform-android@12.3.6': + dependencies: + '@react-native-community/cli-tools': 12.3.6 + chalk: 4.1.2 + execa: 5.1.1 + fast-xml-parser: 4.5.7 + glob: 7.2.3 + logkitty: 0.7.1 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-platform-ios@12.3.6': + dependencies: + '@react-native-community/cli-tools': 12.3.6 + chalk: 4.1.2 + execa: 5.1.1 + fast-xml-parser: 4.5.7 + glob: 7.2.3 + ora: 5.4.1 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-plugin-metro@12.3.6': {} + + '@react-native-community/cli-server-api@12.3.6': + dependencies: + '@react-native-community/cli-debugger-ui': 12.3.6 + '@react-native-community/cli-tools': 12.3.6 + compression: 1.8.1 + connect: 3.7.0 + errorhandler: 1.5.2 + nocache: 3.0.4 + pretty-format: 26.6.2 + serve-static: 1.16.3 + ws: 7.5.13 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@react-native-community/cli-tools@12.3.6': + dependencies: + appdirsjs: 1.2.7 + chalk: 4.1.2 + find-up: 5.0.0 + mime: 2.6.0 + node-fetch: 2.7.0 + open: 6.4.0 + ora: 5.4.1 + semver: 7.8.5 + shell-quote: 1.10.0 + sudo-prompt: 9.2.1 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-types@12.3.6': + dependencies: + joi: 17.13.4 + + '@react-native-community/cli@12.3.6': + dependencies: + '@react-native-community/cli-clean': 12.3.6 + '@react-native-community/cli-config': 12.3.6 + '@react-native-community/cli-debugger-ui': 12.3.6 + '@react-native-community/cli-doctor': 12.3.6 + '@react-native-community/cli-hermes': 12.3.6 + '@react-native-community/cli-plugin-metro': 12.3.6 + '@react-native-community/cli-server-api': 12.3.6 + '@react-native-community/cli-tools': 12.3.6 + '@react-native-community/cli-types': 12.3.6 + chalk: 4.1.2 + commander: 9.5.0 + deepmerge: 4.3.1 + execa: 5.1.1 + find-up: 4.1.0 + fs-extra: 8.1.0 + graceful-fs: 4.2.11 + prompts: 2.4.2 + semver: 7.8.5 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@react-native-community/masked-view@0.1.11(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0)': + dependencies: + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + + '@react-native/assets-registry@0.73.1': {} + + '@react-native/babel-plugin-codegen@0.73.4(@babel/preset-env@7.29.7(@babel/core@7.29.7))': + dependencies: + '@react-native/codegen': 0.73.3(@babel/preset-env@7.29.7(@babel/core@7.29.7)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.29.7) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-proposal-export-default-from': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.29.7) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.29.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-export-default-from': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-flow': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-flow-strip-types': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-source': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) + '@babel/template': 7.29.7 + '@react-native/babel-plugin-codegen': 0.73.4(@babel/preset-env@7.29.7(@babel/core@7.29.7)) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.29.7) + react-refresh: 0.14.0 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/codegen@0.73.3(@babel/preset-env@7.29.7(@babel/core@7.29.7))': + dependencies: + '@babel/parser': 7.29.7 + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + flow-parser: 0.206.0 + glob: 7.2.3 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.29.7(@babel/core@7.29.7)) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + '@react-native/community-cli-plugin@0.73.17(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))': + dependencies: + '@react-native-community/cli-server-api': 12.3.6 + '@react-native-community/cli-tools': 12.3.6 + '@react-native/dev-middleware': 0.73.8 + '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)) + chalk: 4.1.2 + execa: 5.1.1 + metro: 0.80.12 + metro-config: 0.80.12 + metro-core: 0.80.12 + node-fetch: 2.7.0 + readline: 1.3.0 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@react-native/debugger-frontend@0.73.3': {} + + '@react-native/dev-middleware@0.73.8': + dependencies: + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.73.3 + chrome-launcher: 0.15.2 + chromium-edge-launcher: 1.0.0 + connect: 3.7.0 + debug: 2.6.9 + node-fetch: 2.7.0 + open: 7.4.2 + serve-static: 1.16.3 + temp-dir: 2.0.0 + ws: 6.2.6 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@react-native/gradle-plugin@0.73.4': {} + + '@react-native/js-polyfills@0.73.1': {} + + '@react-native/metro-babel-transformer@0.73.15(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))': + dependencies: + '@babel/core': 7.29.7 + '@react-native/babel-preset': 0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)) + hermes-parser: 0.15.0 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/normalize-color@2.1.0': {} + + '@react-native/normalize-colors@0.73.2': {} + + '@react-native/normalize-colors@0.74.89': {} + + '@react-native/virtualized-lists@0.73.4(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))': + dependencies: + invariant: 2.2.4 + nullthrows: 1.1.1 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + + '@react-navigation/bottom-tabs@6.6.1(@react-navigation/native@6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-screens@3.37.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-navigation/elements': 1.3.31(@react-navigation/native@6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + '@react-navigation/native': 6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + color: 4.2.3 + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + react-native-safe-area-context: 4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + react-native-screens: 3.37.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + warn-once: 0.1.1 + + '@react-navigation/core@6.4.17(react@18.2.0)': + dependencies: + '@react-navigation/routers': 6.1.9 + escape-string-regexp: 4.0.0 + nanoid: 3.3.16 + query-string: 7.1.3 + react: 18.2.0 + react-is: 16.13.1 + use-latest-callback: 0.2.6(react@18.2.0) + + '@react-navigation/elements@1.3.31(@react-navigation/native@6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-navigation/native': 6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + react-native-safe-area-context: 4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + + '@react-navigation/native@6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-navigation/core': 6.4.17(react@18.2.0) + escape-string-regexp: 4.0.0 + fast-deep-equal: 3.1.3 + nanoid: 3.3.16 + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + + '@react-navigation/routers@6.1.9': + dependencies: + nanoid: 3.3.16 + + '@react-navigation/stack@6.4.1(@react-navigation/native@6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-gesture-handler@2.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-screens@3.37.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-navigation/elements': 1.3.31(@react-navigation/native@6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0))(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + '@react-navigation/native': 6.1.18(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + color: 4.2.3 + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + react-native-gesture-handler: 2.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + react-native-safe-area-context: 4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + react-native-screens: 3.37.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + warn-once: 0.1.1 + + '@segment/loosely-validate-event@2.0.0': + dependencies: + component-type: 1.2.2 + join-component: 1.1.0 + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.12': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@testing-library/dom@9.3.4': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.7 + '@types/aria-query': 5.0.4 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/jest-dom@6.10.0(@testing-library/dom@9.3.4)': + dependencies: + '@adobe/css-tools': 4.5.0 + '@testing-library/dom': 9.3.4 + aria-query: 5.3.2 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + picocolors: 1.1.1 + redent: 3.0.0 + + '@testing-library/react-native@12.9.0(jest@29.7.0(@types/node@26.1.1))(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react-test-renderer@19.2.8(react@18.2.0))(react@18.2.0)': + dependencies: + jest-matcher-utils: 29.7.0 + pretty-format: 29.7.0 + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + react-test-renderer: 19.2.8(react@18.2.0) + redent: 3.0.0 + optionalDependencies: + jest: 29.7.0(@types/node@26.1.1) + + '@testing-library/react@14.3.1(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.29.7 + '@testing-library/dom': 9.3.4 + '@types/react-dom': 18.3.7(@types/react@18.2.79) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + + '@types/aria-query@5.0.4': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.29.7 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.29.7 + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 26.1.1 + + '@types/hammerjs@2.0.46': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.14': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@26.1.1': + dependencies: + undici-types: 8.3.0 + + '@types/prop-types@15.7.15': {} + + '@types/react-dom@18.3.7(@types/react@18.2.79)': + dependencies: + '@types/react': 18.2.79 + + '@types/react@18.2.79': + dependencies: + '@types/prop-types': 15.7.15 + csstype: 3.2.3 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@15.0.20': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@types/yargs@17.0.35': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@urql/core@2.3.6(graphql@15.8.0)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@15.8.0) + graphql: 15.8.0 + wonka: 4.0.15 + + '@urql/exchange-retry@0.3.0(graphql@15.8.0)': + dependencies: + '@urql/core': 2.3.6(graphql@15.8.0) + graphql: 15.8.0 + wonka: 4.0.15 + + '@xmldom/xmldom@0.7.13': {} + + '@xmldom/xmldom@0.9.10': {} + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn@8.17.0: {} + + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + anser@1.4.10: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-fragments@0.2.1: + dependencies: + colorette: 1.4.0 + slice-ansi: 2.1.0 + strip-ansi: 5.2.0 + + ansi-regex@4.1.1: {} + + ansi-regex@5.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.2 + + appdirsjs@1.2.7: {} + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + aria-query@5.1.3: + dependencies: + deep-equal: 2.2.3 + + aria-query@5.3.2: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-union@2.1.0: {} + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + + asap@2.0.6: {} + + ast-types@0.15.2: + dependencies: + tslib: 2.8.1 + + astral-regex@1.0.0: {} + + async-function@1.0.0: {} + + async-limiter@1.0.1: {} + + asynckit@0.4.0: {} + + at-least-node@1.0.0: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + babel-core@7.0.0-bridge.0(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + + babel-jest@29.7.0(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.29.7) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.29.7 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.6 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.28.0 + + babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7): + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + core-js-compat: 3.49.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + core-js-compat: 3.49.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + babel-plugin-react-native-web@0.18.12: {} + + babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {} + + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.29.7): + dependencies: + '@babel/plugin-syntax-flow': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - '@babel/core' + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7) + + babel-preset-expo@10.0.2(@babel/core@7.29.7): + dependencies: + '@babel/plugin-proposal-decorators': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@react-native/babel-preset': 0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)) + babel-plugin-react-native-web: 0.18.12 + react-refresh: 0.14.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + + babel-preset-fbjs@3.4.0(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.29.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7) + '@babel/plugin-syntax-flow': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-flow-strip-types': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7) + babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 + transitivePeerDependencies: + - supports-color + + babel-preset-jest@29.6.3(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) + + balanced-match@1.0.2: {} + + base-64@0.1.0: {} + + base64-js@1.5.1: {} + + baseline-browser-mapping@2.11.0: {} + + better-opn@3.0.2: + dependencies: + open: 8.4.2 + + big-integer@1.6.52: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + blueimp-md5@2.19.0: {} + + bplist-creator@0.1.0: + dependencies: + stream-buffers: 2.2.0 + + bplist-parser@0.3.1: + dependencies: + big-integer: 1.6.52 + + bplist-parser@0.3.2: + dependencies: + big-integer: 1.6.52 + + brace-expansion@1.1.16: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.7: + dependencies: + baseline-browser-mapping: 2.11.0 + caniuse-lite: 1.0.30001806 + electron-to-chromium: 1.5.395 + node-releases: 2.0.51 + update-browserslist-db: 1.2.3(browserslist@4.28.7) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-alloc-unsafe@1.1.0: {} + + buffer-alloc@1.2.0: + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + + buffer-fill@1.0.0: {} + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + builtins@1.0.3: {} + + bytes@3.1.2: {} + + cacache@15.3.0: + dependencies: + '@npmcli/fs': 1.1.1 + '@npmcli/move-file': 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.2.3 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.7 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.2.1 + unique-filename: 1.1.1 + transitivePeerDependencies: + - bluebird + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.9: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + caller-callsite@2.0.0: + dependencies: + callsites: 2.0.0 + + caller-path@2.0.0: + dependencies: + caller-callsite: 2.0.0 + + callsites@2.0.0: {} + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001806: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + char-regex@1.0.2: {} + + charenc@0.0.2: {} + + chownr@2.0.0: {} + + chrome-launcher@0.15.2: + dependencies: + '@types/node': 26.1.1 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + transitivePeerDependencies: + - supports-color + + chromium-edge-launcher@1.0.0: + dependencies: + '@types/node': 26.1.1 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + mkdirp: 1.0.4 + rimraf: 3.0.2 + transitivePeerDependencies: + - supports-color + + ci-info@2.0.0: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@1.4.3: {} + + clean-stack@2.2.0: {} + + cli-cursor@2.1.0: + dependencies: + restore-cursor: 2.0.0 + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-spinners@2.9.2: {} + + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clone@1.0.4: {} + + clone@2.1.2: {} + + co@4.6.0: {} + + collect-v8-coverage@1.0.3: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.4 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + + colorette@1.4.0: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + command-exists@1.2.9: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + commander@7.2.0: {} + + commander@9.5.0: {} + + commondir@1.0.1: {} + + component-type@1.2.2: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + connect@3.7.0: + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + + convert-source-map@2.0.0: {} + + core-js-compat@3.49.0: + dependencies: + browserslist: 4.28.7 + + core-util-is@1.0.3: {} + + cosmiconfig@5.2.1: + dependencies: + import-fresh: 2.0.0 + is-directory: 0.3.1 + js-yaml: 3.15.0 + parse-json: 4.0.0 + + create-jest@29.7.0(@types/node@26.1.1): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@26.1.1) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@6.0.6: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypt@0.0.2: {} + + crypto-random-string@1.0.0: {} + + crypto-random-string@2.0.0: {} + + css-in-js-utils@3.1.0: + dependencies: + hyphenate-style-name: 1.1.0 + + css.escape@1.5.1: {} + + csstype@3.2.3: {} + + dag-map@1.0.2: {} + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + dayjs@1.11.21: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decamelize@1.2.0: {} + + decode-uri-component@0.2.2: {} + + dedent@1.7.2: {} + + deep-equal@2.2.3: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.9 + es-get-iterator: 1.1.3 + get-intrinsic: 1.3.0 + is-arguments: 1.2.0 + is-array-buffer: 3.0.5 + is-date-object: 1.1.0 + is-regex: 1.2.1 + is-shared-array-buffer: 1.0.4 + isarray: 2.0.5 + object-is: 1.1.6 + object-keys: 1.1.1 + object.assign: 4.1.7 + regexp.prototype.flags: 1.5.4 + side-channel: 1.1.1 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.22 + + deep-extend@0.6.0: {} + + deepmerge@4.3.1: {} + + default-gateway@4.2.0: + dependencies: + execa: 1.0.0 + ip-regex: 2.1.0 + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@2.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + del@6.1.1: + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + + delayed-stream@1.0.0: {} + + denodeify@1.2.1: {} + + depd@2.0.0: {} + + deprecated-react-native-prop-types@5.0.0: + dependencies: + '@react-native/normalize-colors': 0.73.2 + invariant: 2.2.4 + prop-types: 15.8.1 + + destroy@1.2.0: {} + + detect-libc@1.0.3: {} + + detect-newline@3.1.0: {} + + diff-sequences@29.6.3: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dom-accessibility-api@0.5.16: {} + + dom-accessibility-api@0.6.3: {} + + domexception@4.0.0: + dependencies: + webidl-conversions: 7.0.0 + + dotenv-expand@11.0.7: + dependencies: + dotenv: 16.4.7 + + dotenv@16.4.7: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.395: {} + + emittery@0.13.1: {} + + emoji-regex@8.0.0: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + + env-editor@0.4.2: {} + + envinfo@7.21.0: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + + errorhandler@1.5.2: + dependencies: + accepts: 1.3.8 + escape-html: 1.0.3 + + es-abstract-get@1.0.0: + dependencies: + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-callable: 1.2.7 + object-inspect: 1.13.4 + + es-abstract@1.24.2: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.4 + function.prototype.name: 1.2.0 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.2 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.4 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.11 + string.prototype.trimend: 1.0.10 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.8 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.22 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-get-iterator@1.1.3: + dependencies: + call-bind: 1.0.9 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + is-arguments: 1.2.0 + is-map: 2.0.3 + is-set: 2.0.3 + is-string: 1.1.1 + isarray: 2.0.5 + stop-iteration-iterator: 1.1.0 + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 + + es-to-primitive@1.3.4: + dependencies: + es-abstract-get: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + esprima@4.0.1: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + event-target-shim@5.0.1: {} + + execa@1.0.0: + dependencies: + cross-spawn: 6.0.6 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + expo-asset@9.0.2(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))): + dependencies: + '@react-native/assets-registry': 0.73.1 + blueimp-md5: 2.19.0 + expo-constants: 15.4.6(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + expo-file-system: 16.0.9(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + invariant: 2.2.4 + md5-file: 3.2.3 + transitivePeerDependencies: + - expo + - supports-color + + expo-constants@15.4.6(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))): + dependencies: + '@expo/config': 8.5.6 + expo: 50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))) + transitivePeerDependencies: + - supports-color + + expo-file-system@16.0.9(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))): + dependencies: + expo: 50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))) + + expo-font@11.10.3(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))): + dependencies: + expo: 50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))) + fontfaceobserver: 2.3.0 + + expo-keep-awake@12.8.2(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))): + dependencies: + expo: 50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))) + + expo-modules-autolinking@1.10.3: + dependencies: + '@expo/config': 8.5.6 + chalk: 4.1.2 + commander: 7.2.0 + fast-glob: 3.3.3 + find-up: 5.0.0 + fs-extra: 9.1.0 + transitivePeerDependencies: + - supports-color + + expo-modules-core@1.11.14: + dependencies: + invariant: 2.2.4 + + expo-sharing@11.10.0(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))): + dependencies: + expo: 50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))) + + expo-splash-screen@0.26.5(expo-modules-autolinking@1.10.3)(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))): + dependencies: + '@expo/prebuild-config': 6.8.1(expo-modules-autolinking@1.10.3) + expo: 50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))) + transitivePeerDependencies: + - encoding + - expo-modules-autolinking + - supports-color + + expo-status-bar@1.11.1: {} + + expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))): + dependencies: + '@babel/runtime': 7.29.7 + '@expo/cli': 0.17.13(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))(expo-modules-autolinking@1.10.3) + '@expo/config': 8.5.6 + '@expo/config-plugins': 7.9.2 + '@expo/metro-config': 0.17.8(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))) + '@expo/vector-icons': 14.0.4 + babel-preset-expo: 10.0.2(@babel/core@7.29.7) + expo-asset: 9.0.2(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + expo-file-system: 16.0.9(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + expo-font: 11.10.3(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + expo-keep-awake: 12.8.2(expo@50.0.21(@babel/core@7.29.7)(@react-native/babel-preset@0.73.21(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)))) + expo-modules-autolinking: 1.10.3 + expo-modules-core: 1.11.14 + fbemitter: 3.0.0 + whatwg-url-without-unicode: 8.0.0-3 + transitivePeerDependencies: + - '@babel/core' + - '@react-native/babel-preset' + - bluebird + - bufferutil + - encoding + - supports-color + - utf-8-validate + + exponential-backoff@3.1.3: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-loops@1.1.4: {} + + fast-xml-parser@4.5.7: + dependencies: + strnum: 1.1.2 + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fbemitter@3.0.0: + dependencies: + fbjs: 3.0.5 + transitivePeerDependencies: + - encoding + + fbjs-css-vars@1.0.2: {} + + fbjs@3.0.5: + dependencies: + cross-fetch: 3.2.0 + fbjs-css-vars: 1.0.2 + loose-envify: 1.4.0 + object-assign: 4.1.1 + promise: 7.3.1 + setimmediate: 1.0.5 + ua-parser-js: 1.0.41 + transitivePeerDependencies: + - encoding + + fetch-retry@4.1.1: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + filter-obj@1.1.0: {} + + finalhandler@1.1.2: + 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 + transitivePeerDependencies: + - supports-color + + find-cache-dir@2.1.0: + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-yarn-workspace-root@2.0.0: + dependencies: + micromatch: 4.0.8 + + flow-enums-runtime@0.0.6: {} + + flow-parser@0.206.0: {} + + fontfaceobserver@2.3.0: {} + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + form-data@3.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.4 + mime-types: 2.1.35 + + freeport-async@2.0.0: {} + + fresh@0.5.2: {} + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@9.0.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 1.0.0 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.2.0: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + es-define-property: 1.0.1 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + hasown: 2.0.4 + is-callable: 1.2.7 + is-document.all: 1.0.0 + + functions-have-names@1.2.3: {} + + generator-function@2.0.1: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 + + get-package-type@0.1.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + get-stream@4.1.0: + dependencies: + pump: 3.0.4 + + get-stream@6.0.1: {} + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + getenv@1.0.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob@7.0.6: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@7.1.6: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + graphql-tag@2.12.7(graphql@15.8.0): + dependencies: + graphql: 15.8.0 + tslib: 2.8.1 + + graphql@15.8.0: {} + + has-bigints@1.1.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.4: + dependencies: + function-bind: 1.1.2 + + hermes-estree@0.15.0: {} + + hermes-estree@0.23.1: {} + + hermes-parser@0.15.0: + dependencies: + hermes-estree: 0.15.0 + + hermes-parser@0.23.1: + dependencies: + hermes-estree: 0.23.1 + + hermes-profile-transformer@0.0.6: + dependencies: + source-map: 0.7.6 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hosted-git-info@3.0.8: + dependencies: + lru-cache: 6.0.0 + + hosted-git-info@7.0.2: + dependencies: + lru-cache: 10.4.3 + + html-escaper@2.0.2: {} + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + hyphenate-style-name@1.1.0: {} + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + image-size@1.2.1: + dependencies: + queue: 6.0.2 + + import-fresh@2.0.0: + dependencies: + caller-path: 2.0.0 + resolve-from: 3.0.0 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + infer-owner@1.0.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@1.3.8: {} + + inline-style-prefixer@6.0.4: + dependencies: + css-in-js-utils: 3.1.0 + fast-loops: 1.1.4 + + internal-ip@4.3.0: + dependencies: + default-gateway: 4.2.0 + ipaddr.js: 1.9.1 + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.4 + side-channel: 1.1.1 + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ip-regex@2.1.0: {} + + ipaddr.js@1.9.1: {} + + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-arrayish@0.2.1: {} + + is-arrayish@0.3.4: {} + + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-buffer@1.1.6: {} + + is-callable@1.2.7: {} + + is-core-module@2.16.2: + dependencies: + hasown: 2.0.4 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-directory@0.3.1: {} + + is-docker@2.2.1: {} + + is-document.all@1.0.0: + dependencies: + call-bound: 1.0.4 + + is-extglob@1.0.0: {} + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-fullwidth-code-point@2.0.0: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@2.0.1: + dependencies: + is-extglob: 1.0.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-interactive@1.0.0: {} + + is-invalid-path@0.1.0: + dependencies: + is-glob: 2.0.1 + + is-map@2.0.3: {} + + is-negative-zero@2.0.3: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-path-cwd@2.2.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@2.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + + is-stream@1.1.0: {} + + is-stream@2.0.1: {} + + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.22 + + is-unicode-supported@0.1.0: {} + + is-valid-path@0.1.1: + dependencies: + is-invalid-path: 0.1.0 + + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-wsl@1.1.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + '@istanbuljs/schema': 0.1.6 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.3: + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + '@istanbuljs/schema': 0.1.6 + istanbul-lib-coverage: 3.2.2 + semver: 7.8.5 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.4.3 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.7.2 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@26.1.1): + dependencies: + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@26.1.1) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@26.1.1) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.3 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@26.1.1): + dependencies: + '@babel/core': 7.29.7 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.29.7) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 26.1.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-docblock@29.7.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@29.7.0: + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-fetch-mock@3.2.0: + dependencies: + cross-fetch: 3.2.0 + domexception: 4.0.0 + transitivePeerDependencies: + - encoding + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 26.1.1 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.29.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + jest-util: 29.7.0 + + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: + jest-resolve: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-resolve-dependencies@29.7.0: + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@29.7.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.12 + resolve.exports: 2.0.3 + slash: 3.0.0 + + jest-runner@29.7.0: + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + chalk: 4.1.2 + cjs-module-lexer: 1.4.3 + collect-v8-coverage: 1.0.3 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@29.7.0: + dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.8.5 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.2 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-watcher@29.7.0: + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 26.1.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + + jest-worker@29.7.0: + dependencies: + '@types/node': 26.1.1 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@29.7.0(@types/node@26.1.1): + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@26.1.1) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jimp-compact@0.16.1: {} + + joi@17.13.4: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + join-component@1.1.0: {} + + js-tokens@4.0.0: {} + + js-yaml@3.15.0: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.3.0: + dependencies: + argparse: 2.0.1 + + jsc-android@250231.0.0: {} + + jsc-safe-url@0.2.4: {} + + jscodeshift@0.14.0(@babel/preset-env@7.29.7(@babel/core@7.29.7)): + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-flow': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/register': 7.29.7(@babel/core@7.29.7) + babel-core: 7.0.0-bridge.0(@babel/core@7.29.7) + chalk: 4.1.2 + flow-parser: 0.206.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + neo-async: 2.6.2 + node-dir: 0.1.17 + recast: 0.21.5 + temp: 0.8.4 + write-file-atomic: 2.4.3 + transitivePeerDependencies: + - supports-color + + jsesc@3.1.0: {} + + json-parse-better-errors@1.0.2: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-deref-sync@0.13.0: + dependencies: + clone: 2.1.2 + dag-map: 1.0.2 + is-valid-path: 0.1.1 + lodash: 4.18.1 + md5: 2.2.1 + memory-cache: 0.2.0 + traverse: 0.6.11 + valid-url: 1.0.9 + + json5@2.2.3: {} + + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + + jsonfile@6.2.1: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + leven@3.1.0: {} + + lighthouse-logger@1.4.2: + dependencies: + debug: 2.6.9 + marky: 1.3.0 + transitivePeerDependencies: + - supports-color + + lightningcss-darwin-arm64@1.19.0: + optional: true + + lightningcss-darwin-x64@1.19.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.19.0: + optional: true + + lightningcss-linux-arm64-gnu@1.19.0: + optional: true + + lightningcss-linux-arm64-musl@1.19.0: + optional: true + + lightningcss-linux-x64-gnu@1.19.0: + optional: true + + lightningcss-linux-x64-musl@1.19.0: + optional: true + + lightningcss-win32-x64-msvc@1.19.0: + optional: true + + lightningcss@1.19.0: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.19.0 + lightningcss-darwin-x64: 1.19.0 + lightningcss-linux-arm-gnueabihf: 1.19.0 + lightningcss-linux-arm64-gnu: 1.19.0 + lightningcss-linux-arm64-musl: 1.19.0 + lightningcss-linux-x64-gnu: 1.19.0 + lightningcss-linux-x64-musl: 1.19.0 + lightningcss-win32-x64-msvc: 1.19.0 + + lines-and-columns@1.2.4: {} + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.debounce@4.0.8: {} + + lodash.throttle@4.1.1: {} + + lodash@4.18.1: {} + + log-symbols@2.2.0: + dependencies: + chalk: 2.4.2 + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + logkitty@0.7.1: + dependencies: + ansi-fragments: 0.2.1 + dayjs: 1.11.21 + yargs: 15.4.1 + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + lz-string@1.5.0: {} + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + + make-dir@4.0.0: + dependencies: + semver: 7.8.5 + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + marky@1.3.0: {} + + math-intrinsics@1.1.0: {} + + md5-file@3.2.3: + dependencies: + buffer-alloc: 1.2.0 + + md5@2.2.1: + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + + md5@2.3.0: + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + + md5hex@1.0.0: {} + + memoize-one@5.2.1: {} + + memoize-one@6.0.0: {} + + memory-cache@0.2.0: {} + + merge-options@3.0.4: + dependencies: + is-plain-obj: 2.1.0 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + metro-babel-transformer@0.80.12: + dependencies: + '@babel/core': 7.29.7 + flow-enums-runtime: 0.0.6 + hermes-parser: 0.23.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-cache-key@0.80.12: + dependencies: + flow-enums-runtime: 0.0.6 + + metro-cache@0.80.12: + dependencies: + exponential-backoff: 3.1.3 + flow-enums-runtime: 0.0.6 + metro-core: 0.80.12 + + metro-config@0.80.12: + dependencies: + connect: 3.7.0 + cosmiconfig: 5.2.1 + flow-enums-runtime: 0.0.6 + jest-validate: 29.7.0 + metro: 0.80.12 + metro-cache: 0.80.12 + metro-core: 0.80.12 + metro-runtime: 0.80.12 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + metro-core@0.80.12: + dependencies: + flow-enums-runtime: 0.0.6 + lodash.throttle: 4.1.1 + metro-resolver: 0.80.12 + + metro-file-map@0.80.12: + dependencies: + anymatch: 3.1.3 + debug: 2.6.9 + fb-watchman: 2.0.2 + flow-enums-runtime: 0.0.6 + graceful-fs: 4.2.11 + invariant: 2.2.4 + jest-worker: 29.7.0 + micromatch: 4.0.8 + node-abort-controller: 3.1.1 + nullthrows: 1.1.1 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - supports-color + + metro-minify-terser@0.80.12: + dependencies: + flow-enums-runtime: 0.0.6 + terser: 5.49.0 + + metro-resolver@0.80.12: + dependencies: + flow-enums-runtime: 0.0.6 + + metro-runtime@0.80.12: + dependencies: + '@babel/runtime': 7.29.7 + flow-enums-runtime: 0.0.6 + + metro-source-map@0.80.12: + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + metro-symbolicate: 0.80.12 + nullthrows: 1.1.1 + ob1: 0.80.12 + source-map: 0.5.7 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color + + metro-symbolicate@0.80.12: + dependencies: + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + metro-source-map: 0.80.12 + nullthrows: 1.1.1 + source-map: 0.5.7 + through2: 2.0.5 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color + + metro-transform-plugins@0.80.12: + dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + flow-enums-runtime: 0.0.6 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-transform-worker@0.80.12: + dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + flow-enums-runtime: 0.0.6 + metro: 0.80.12 + metro-babel-transformer: 0.80.12 + metro-cache: 0.80.12 + metro-cache-key: 0.80.12 + metro-minify-terser: 0.80.12 + metro-source-map: 0.80.12 + metro-transform-plugins: 0.80.12 + nullthrows: 1.1.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + metro@0.80.12: + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + accepts: 1.3.8 + chalk: 4.1.2 + ci-info: 2.0.0 + connect: 3.7.0 + debug: 2.6.9 + denodeify: 1.2.1 + error-stack-parser: 2.1.4 + flow-enums-runtime: 0.0.6 + graceful-fs: 4.2.11 + hermes-parser: 0.23.1 + image-size: 1.2.1 + invariant: 2.2.4 + jest-worker: 29.7.0 + jsc-safe-url: 0.2.4 + lodash.throttle: 4.1.1 + metro-babel-transformer: 0.80.12 + metro-cache: 0.80.12 + metro-cache-key: 0.80.12 + metro-config: 0.80.12 + metro-core: 0.80.12 + metro-file-map: 0.80.12 + metro-resolver: 0.80.12 + metro-runtime: 0.80.12 + metro-source-map: 0.80.12 + metro-symbolicate: 0.80.12 + metro-transform-plugins: 0.80.12 + metro-transform-worker: 0.80.12 + mime-types: 2.1.35 + nullthrows: 1.1.1 + serialize-error: 2.1.0 + source-map: 0.5.7 + strip-ansi: 6.0.1 + throat: 5.0.0 + ws: 7.5.13 + yargs: 17.7.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mime@2.6.0: {} + + mimic-fn@1.2.0: {} + + mimic-fn@2.1.0: {} + + min-indent@1.0.1: {} + + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.16 + + minimist@1.2.8: {} + + minipass-collect@1.0.2: + dependencies: + minipass: 3.3.6 + + minipass-flush@1.0.7: + dependencies: + minipass: 3.3.6 + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + mkdirp@1.0.4: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.16: {} + + natural-compare@1.4.0: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + nested-error-stacks@2.0.1: {} + + nice-try@1.0.5: {} + + nocache@3.0.4: {} + + node-abort-controller@3.1.1: {} + + node-dir@0.1.17: + dependencies: + minimatch: 3.1.5 + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-forge@1.4.0: {} + + node-int64@0.4.0: {} + + node-releases@2.0.51: {} + + node-stream-zip@1.15.0: {} + + normalize-path@3.0.0: {} + + npm-package-arg@11.0.3: + dependencies: + hosted-git-info: 7.0.2 + proc-log: 4.2.0 + semver: 7.8.5 + validate-npm-package-name: 5.0.1 + + npm-package-arg@7.0.0: + dependencies: + hosted-git-info: 3.0.8 + osenv: 0.1.5 + semver: 5.7.2 + validate-npm-package-name: 3.0.0 + + npm-run-path@2.0.2: + dependencies: + path-key: 2.0.1 + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nullthrows@1.1.1: {} + + ob1@0.80.12: + dependencies: + flow-enums-runtime: 0.0.6 + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + object-is@1.1.6: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@2.0.1: + dependencies: + mimic-fn: 1.2.0 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@6.4.0: + dependencies: + is-wsl: 1.1.0 + + open@7.4.2: + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + ora@3.4.0: + dependencies: + chalk: 2.4.2 + cli-cursor: 2.1.0 + cli-spinners: 2.9.2 + log-symbols: 2.2.0 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + os-homedir@1.0.2: {} + + os-tmpdir@1.0.2: {} + + osenv@0.1.5: + dependencies: + os-homedir: 1.0.2 + os-tmpdir: 1.0.2 + + own-keys@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-finally@1.0.0: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-try@2.2.0: {} + + pako@1.0.11: {} + + parse-json@4.0.0: + dependencies: + error-ex: 1.3.4 + json-parse-better-errors: 1.0.2 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.29.7 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-png@2.1.0: + dependencies: + pngjs: 3.4.0 + + parseurl@1.3.3: {} + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@2.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-type@4.0.0: {} + + pdf-lib@1.17.1: + dependencies: + '@pdf-lib/standard-fonts': 1.0.0 + '@pdf-lib/upng': 1.0.1 + pako: 1.0.11 + tslib: 1.14.1 + + picocolors@1.1.1: {} + + picomatch@2.3.2: {} + + picomatch@3.0.2: {} + + pify@4.0.1: {} + + pirates@4.0.7: {} + + pkg-dir@3.0.0: + dependencies: + find-up: 3.0.0 + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + plist@3.1.1: + dependencies: + '@xmldom/xmldom': 0.9.10 + base64-js: 1.5.1 + xmlbuilder: 15.1.1 + + pngjs@3.4.0: {} + + possible-typed-array-names@1.1.0: {} + + postcss-value-parser@4.2.0: {} + + postcss@8.4.49: + dependencies: + nanoid: 3.3.16 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + pretty-bytes@5.6.0: {} + + pretty-format@26.6.2: + dependencies: + '@jest/types': 26.6.2 + ansi-regex: 5.0.1 + ansi-styles: 4.3.0 + react-is: 17.0.2 + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + proc-log@4.2.0: {} + + process-nextick-args@2.0.1: {} + + progress@2.0.3: {} + + promise-inflight@1.0.1: {} + + promise@7.3.1: + dependencies: + asap: 2.0.6 + + promise@8.3.0: + dependencies: + asap: 2.0.6 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + pump@3.0.4: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + + punycode@2.3.1: {} + + pure-rand@6.1.0: {} + + qrcode-terminal@0.11.0: {} + + query-string@7.1.3: + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + + queue-microtask@1.2.3: {} + + queue@6.0.2: + dependencies: + inherits: 2.0.4 + + range-parser@1.2.1: {} + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-devtools-core@4.28.5: + dependencies: + shell-quote: 1.10.0 + ws: 7.5.13 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + react-dom@18.2.0(react@18.2.0): + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.2 + + react-freeze@1.0.4(react@18.2.0): + dependencies: + react: 18.2.0 + + react-is@16.13.1: {} + + react-is@17.0.2: {} + + react-is@18.3.1: {} + + react-is@19.2.8: {} + + react-native-fs@2.20.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0)): + dependencies: + base-64: 0.1.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + utf8: 3.0.0 + + react-native-gesture-handler@2.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0): + dependencies: + '@egjs/hammerjs': 2.0.17 + hoist-non-react-statics: 3.3.2 + invariant: 2.2.4 + lodash: 4.18.1 + prop-types: 15.8.1 + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + + react-native-is-edge-to-edge@1.1.7(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0): + dependencies: + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + + react-native-reanimated@3.19.5(@babel/core@7.29.7)(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0): + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + convert-source-map: 2.0.0 + invariant: 2.2.4 + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + react-native-is-edge-to-edge: 1.1.7(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0) + transitivePeerDependencies: + - supports-color + + react-native-safe-area-context@4.14.1(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0): + dependencies: + react: 18.2.0 + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + + react-native-screens@3.37.0(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0))(react@18.2.0): + dependencies: + react: 18.2.0 + react-freeze: 1.0.4(react@18.2.0) + react-native: 0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0) + warn-once: 0.1.1 + + react-native-web@0.19.13(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + dependencies: + '@babel/runtime': 7.29.7 + '@react-native/normalize-colors': 0.74.89 + fbjs: 3.0.5 + inline-style-prefixer: 6.0.4 + memoize-one: 6.0.0 + nullthrows: 1.1.1 + postcss-value-parser: 4.2.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styleq: 0.1.3 + transitivePeerDependencies: + - encoding + + react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0): + dependencies: + '@jest/create-cache-key-function': 29.7.0 + '@react-native-community/cli': 12.3.6 + '@react-native-community/cli-platform-android': 12.3.6 + '@react-native-community/cli-platform-ios': 12.3.6 + '@react-native/assets-registry': 0.73.1 + '@react-native/codegen': 0.73.3(@babel/preset-env@7.29.7(@babel/core@7.29.7)) + '@react-native/community-cli-plugin': 0.73.17(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7)) + '@react-native/gradle-plugin': 0.73.4 + '@react-native/js-polyfills': 0.73.1 + '@react-native/normalize-colors': 0.73.2 + '@react-native/virtualized-lists': 0.73.4(react-native@0.73.6(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react@18.2.0)) + abort-controller: 3.0.0 + anser: 1.4.10 + ansi-regex: 5.0.1 + base64-js: 1.5.1 + chalk: 4.1.2 + deprecated-react-native-prop-types: 5.0.0 + event-target-shim: 5.0.1 + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + jest-environment-node: 29.7.0 + jsc-android: 250231.0.0 + memoize-one: 5.2.1 + metro-runtime: 0.80.12 + metro-source-map: 0.80.12 + mkdirp: 0.5.6 + nullthrows: 1.1.1 + pretty-format: 26.6.2 + promise: 8.3.0 + react: 18.2.0 + react-devtools-core: 4.28.5 + react-refresh: 0.14.2 + react-shallow-renderer: 16.15.0(react@18.2.0) + regenerator-runtime: 0.13.11 + scheduler: 0.24.0-canary-efb381bbf-20230505 + stacktrace-parser: 0.1.11 + whatwg-fetch: 3.6.20 + ws: 6.2.6 + yargs: 17.7.3 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + react-navigation@5.0.0: {} + + react-refresh@0.14.0: {} + + react-refresh@0.14.2: {} + + react-shallow-renderer@16.15.0(react@18.2.0): + dependencies: + object-assign: 4.1.1 + react: 18.2.0 + react-is: 18.3.1 + + react-test-renderer@19.2.8(react@18.2.0): + dependencies: + react: 18.2.0 + react-is: 19.2.8 + scheduler: 0.27.0 + + react@18.2.0: + dependencies: + loose-envify: 1.4.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readline@1.3.0: {} + + recast@0.21.5: + dependencies: + ast-types: 0.15.2 + esprima: 4.0.1 + source-map: 0.6.1 + tslib: 2.8.1 + + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regenerate-unicode-properties@10.2.2: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.13.11: {} + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + regexpu-core@6.4.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.13.2 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 + + regjsgen@0.8.0: {} + + regjsparser@0.13.2: + dependencies: + jsesc: 3.1.0 + + remove-trailing-slash@0.1.1: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + require-main-filename@2.0.0: {} + + requireg@0.2.2: + dependencies: + nested-error-stacks: 2.0.1 + rc: 1.2.8 + resolve: 1.7.1 + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@3.0.0: {} + + resolve-from@5.0.0: {} + + resolve-workspace-root@2.0.1: {} + + resolve.exports@2.0.3: {} + + resolve@1.22.12: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.2 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@1.7.1: + dependencies: + path-parse: 1.0.7 + + restore-cursor@2.0.0: + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.7 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + reusify@1.1.0: {} + + rimraf@2.6.3: + dependencies: + glob: 7.2.3 + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rn-fetch-blob@0.12.0: + dependencies: + base-64: 0.1.0 + glob: 7.0.6 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.4: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + sax@1.6.0: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + scheduler@0.24.0-canary-efb381bbf-20230505: + dependencies: + loose-envify: 1.4.0 + + scheduler@0.27.0: {} + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.3.2: {} + + semver@7.5.3: + dependencies: + lru-cache: 6.0.0 + + semver@7.8.5: {} + + send@0.18.0: + 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 + transitivePeerDependencies: + - supports-color + + send@0.19.2: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + serialize-error@2.1.0: {} + + serve-static@1.16.3: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.2 + transitivePeerDependencies: + - supports-color + + set-blocking@2.0.0: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + + setimmediate@1.0.5: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@1.0.0: {} + + shebang-regex@3.0.0: {} + + shell-quote@1.10.0: {} + + side-channel-list@1.0.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.1 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + simple-plist@1.3.1: + dependencies: + bplist-creator: 0.1.0 + bplist-parser: 0.3.1 + plist: 3.1.1 + + simple-swizzle@0.2.4: + dependencies: + is-arrayish: 0.3.4 + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + slice-ansi@2.1.0: + dependencies: + ansi-styles: 3.2.1 + astral-regex: 1.0.0 + is-fullwidth-code-point: 2.0.0 + + slugify@1.6.9: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + split-on-first@1.1.0: {} + + sprintf-js@1.0.3: {} + + ssri@8.0.1: + dependencies: + minipass: 3.3.6 + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + stackframe@1.3.4: {} + + stacktrace-parser@0.1.11: + dependencies: + type-fest: 0.7.1 + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + statuses@2.0.2: {} + + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + + stream-buffers@2.2.0: {} + + strict-uri-encode@2.0.0: {} + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string.prototype.trim@1.2.11: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + has-property-descriptors: 1.0.2 + safe-regex-test: 1.1.0 + + string.prototype.trimend@1.0.10: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@5.2.0: + dependencies: + ansi-regex: 4.1.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-bom@4.0.0: {} + + strip-eof@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + strnum@1.1.2: {} + + structured-headers@0.4.1: {} + + styleq@0.1.3: {} + + sucrase@3.34.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + + sudo-prompt@9.2.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-hyperlinks@2.3.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + temp-dir@1.0.0: {} + + temp-dir@2.0.0: {} + + temp@0.8.4: + dependencies: + rimraf: 2.6.3 + + tempy@0.3.0: + dependencies: + temp-dir: 1.0.0 + type-fest: 0.3.1 + unique-string: 1.0.0 + + tempy@0.7.1: + dependencies: + del: 6.1.1 + is-stream: 2.0.1 + temp-dir: 2.0.0 + type-fest: 0.16.0 + unique-string: 2.0.0 + + terminal-link@2.1.1: + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + + terser@5.49.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.17.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.6 + glob: 7.2.3 + minimatch: 3.1.5 + + text-table@0.2.0: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + throat@5.0.0: {} + + through2@2.0.5: + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + + tmpl@1.0.5: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + tr46@0.0.3: {} + + traverse@0.6.11: + dependencies: + gopd: 1.2.0 + typedarray.prototype.slice: 1.0.5 + which-typed-array: 1.1.22 + + ts-interface-checker@0.1.13: {} + + tslib@1.14.1: {} + + tslib@2.8.1: {} + + type-detect@4.0.8: {} + + type-fest@0.16.0: {} + + type-fest@0.21.3: {} + + type-fest@0.3.1: {} + + type-fest@0.7.1: {} + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.8: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typedarray.prototype.slice@1.0.5: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + get-proto: 1.0.1 + math-intrinsics: 1.1.0 + typed-array-buffer: 1.0.3 + typed-array-byte-offset: 1.0.4 + + typescript@5.9.3: {} + + ua-parser-js@1.0.41: {} + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + undici-types@8.3.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.2.0 + + unicode-match-property-value-ecmascript@2.2.1: {} + + unicode-property-aliases-ecmascript@2.2.0: {} + + unique-filename@1.1.1: + dependencies: + unique-slug: 2.0.2 + + unique-slug@2.0.2: + dependencies: + imurmurhash: 0.1.4 + + unique-string@1.0.0: + dependencies: + crypto-random-string: 1.0.0 + + unique-string@2.0.0: + dependencies: + crypto-random-string: 2.0.0 + + universalify@0.1.2: {} + + universalify@1.0.0: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.2.3(browserslist@4.28.7): + dependencies: + browserslist: 4.28.7 + escalade: 3.2.0 + picocolors: 1.1.1 + + url-join@4.0.0: {} + + use-latest-callback@0.2.6(react@18.2.0): + dependencies: + react: 18.2.0 + + utf8@3.0.0: {} + + util-deprecate@1.0.2: {} + + utils-merge@1.0.1: {} + + uuid@7.0.3: {} + + uuid@8.3.2: {} + + v8-to-istanbul@9.3.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + + valid-url@1.0.9: {} + + validate-npm-package-name@3.0.0: + dependencies: + builtins: 1.0.3 + + validate-npm-package-name@5.0.1: {} + + vary@1.1.2: {} + + vlq@1.0.1: {} + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + warn-once@0.1.1: {} + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + webidl-conversions@3.0.1: {} + + webidl-conversions@5.0.0: {} + + webidl-conversions@7.0.0: {} + + whatwg-fetch@3.6.20: {} + + whatwg-url-without-unicode@8.0.0-3: + dependencies: + buffer: 5.7.1 + punycode: 2.3.1 + webidl-conversions: 5.0.0 + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.2.0 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.22 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-module@2.0.1: {} + + which-typed-array@1.1.22: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wonka@4.0.15: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrappy@1.0.2: {} + + write-file-atomic@2.4.3: + dependencies: + graceful-fs: 4.2.11 + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + ws@6.2.6: + dependencies: + async-limiter: 1.0.1 + + ws@7.5.13: {} + + ws@8.21.1: {} + + xcode@3.0.1: + dependencies: + simple-plist: 1.3.1 + uuid: 7.0.3 + + xml2js@0.6.0: + dependencies: + sax: 1.6.0 + xmlbuilder: 11.0.1 + + xmlbuilder@11.0.1: {} + + xmlbuilder@14.0.0: {} + + xmlbuilder@15.1.1: {} + + xtend@4.0.2: {} + + y18n@4.0.3: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yaml@2.9.0: {} + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs-parser@21.1.1: {} + + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + + yargs@17.7.3: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} diff --git a/fe/mobile/tsconfig.json b/fe/mobile/tsconfig.json index b9567f6..e22f4e1 100644 --- a/fe/mobile/tsconfig.json +++ b/fe/mobile/tsconfig.json @@ -3,4 +3,4 @@ "compilerOptions": { "strict": true } -} +} \ No newline at end of file diff --git a/fe/web/admin-app/index.html b/fe/web/admin-app/index.html index 3dd3c0f..feed1e4 100644 --- a/fe/web/admin-app/index.html +++ b/fe/web/admin-app/index.html @@ -1,14 +1,17 @@ - - - - - - BBQMS Admin App - - -
- - - + + + + + + + MyKOPKB QMS-Admin App + + + +
+ + + + \ No newline at end of file diff --git a/fe/web/admin-app/package.json b/fe/web/admin-app/package.json index 5a62352..5bb5ec6 100644 --- a/fe/web/admin-app/package.json +++ b/fe/web/admin-app/package.json @@ -14,6 +14,7 @@ "bootstrap": "^5.3.3", "bootstrap-icons": "^1.11.3", "formik": "^2.4.5", + "qrcode": "^1.5.4", "react": "^18.2.0", "react-bootstrap": "^2.10.2", "react-dom": "^18.2.0", @@ -24,6 +25,7 @@ "yup": "^1.4.0" }, "devDependencies": { + "@types/qrcode": "^1.5.6", "@types/react": "^18.2.64", "@types/react-dom": "^18.2.21", "@vitejs/plugin-react": "^4.2.1", diff --git a/fe/web/admin-app/pnpm-lock.yaml b/fe/web/admin-app/pnpm-lock.yaml index 8603fad..31555d9 100644 --- a/fe/web/admin-app/pnpm-lock.yaml +++ b/fe/web/admin-app/pnpm-lock.yaml @@ -20,6 +20,9 @@ importers: formik: specifier: ^2.4.5 version: 2.4.9(@types/react@18.3.31)(react@18.3.1) + qrcode: + specifier: ^1.5.4 + version: 1.5.4 react: specifier: ^18.2.0 version: 18.3.1 @@ -45,6 +48,9 @@ importers: specifier: ^1.4.0 version: 1.7.1 devDependencies: + '@types/qrcode': + specifier: ^1.5.6 + version: 1.5.6 '@types/react': specifier: ^18.2.64 version: 18.3.31 @@ -53,7 +59,7 @@ importers: version: 18.3.7(@types/react@18.3.31) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.7.0(vite@5.4.21) + version: 4.7.0(vite@5.4.21(@types/node@26.1.1)) eslint: specifier: ^8.57.0 version: 8.57.1 @@ -68,7 +74,7 @@ importers: version: 0.4.26(eslint@8.57.1) vite: specifier: ^5.1.6 - version: 5.4.21 + version: 5.4.21(@types/node@26.1.1) packages: @@ -572,9 +578,15 @@ packages: '@types/lodash@4.17.24': resolution: {integrity: sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==} + '@types/node@26.1.1': + resolution: {integrity: sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==} + '@types/prop-types@15.7.15': resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + '@types/qrcode@1.5.6': + resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==} + '@types/react-dom@18.3.7': resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} peerDependencies: @@ -707,6 +719,10 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + caniuse-lite@1.0.30001806: resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} @@ -717,6 +733,9 @@ packages: classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} @@ -766,6 +785,10 @@ packages: supports-color: optional: true + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -785,6 +808,9 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -806,6 +832,9 @@ packages: electron-to-chromium@1.5.393: resolution: {integrity: sha512-kiDJdIUawuEIcp9XoICKp1iTYDEbgguIPq526N1Q7jIQDeQ3CqoMx71025PI/7E48Ddtw2HuWsVjY7afEgNxmg==} + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + es-abstract-get@1.0.0: resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} engines: {node: '>= 0.4'} @@ -922,6 +951,10 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -968,6 +1001,10 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -1103,6 +1140,10 @@ packages: resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} engines: {node: '>= 0.4'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-generator-function@1.1.2: resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} @@ -1210,6 +1251,10 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1298,14 +1343,26 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -1328,6 +1385,10 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -1355,6 +1416,11 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + qrcode@1.5.4: + resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} + engines: {node: '>=10.13.0'} + hasBin: true + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -1445,6 +1511,13 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -1505,6 +1578,9 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -1549,6 +1625,10 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + string.prototype.matchall@4.0.12: resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} engines: {node: '>= 0.4'} @@ -1641,6 +1721,9 @@ packages: peerDependencies: react: '>=16.14.0' + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + update-browserslist-db@1.2.3: resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true @@ -1705,6 +1788,9 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + which-typed-array@1.1.22: resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} engines: {node: '>= 0.4'} @@ -1718,12 +1804,27 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -2160,8 +2261,16 @@ snapshots: '@types/lodash@4.17.24': {} + '@types/node@26.1.1': + dependencies: + undici-types: 8.3.0 + '@types/prop-types@15.7.15': {} + '@types/qrcode@1.5.6': + dependencies: + '@types/node': 26.1.1 + '@types/react-dom@18.3.7(@types/react@18.3.31)': dependencies: '@types/react': 18.3.31 @@ -2183,7 +2292,7 @@ snapshots: '@ungap/structured-clone@1.3.3': {} - '@vitejs/plugin-react@4.7.0(vite@5.4.21)': + '@vitejs/plugin-react@4.7.0(vite@5.4.21(@types/node@26.1.1))': dependencies: '@babel/core': 7.29.7 '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.7) @@ -2191,7 +2300,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 5.4.21 + vite: 5.4.21(@types/node@26.1.1) transitivePeerDependencies: - supports-color @@ -2325,6 +2434,8 @@ snapshots: callsites@3.1.0: {} + camelcase@5.3.1: {} + caniuse-lite@1.0.30001806: {} chalk@4.1.2: @@ -2334,6 +2445,12 @@ snapshots: classnames@2.5.1: {} + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + clsx@2.1.1: {} color-convert@2.0.1: @@ -2380,6 +2497,8 @@ snapshots: dependencies: ms: 2.1.3 + decamelize@1.2.0: {} + deep-is@0.1.4: {} deepmerge@2.2.1: {} @@ -2398,6 +2517,8 @@ snapshots: dequal@2.0.3: {} + dijkstrajs@1.0.3: {} + doctrine@2.1.0: dependencies: esutils: 2.0.3 @@ -2423,6 +2544,8 @@ snapshots: electron-to-chromium@1.5.393: {} + emoji-regex@8.0.0: {} + es-abstract-get@1.0.0: dependencies: es-errors: 1.3.0 @@ -2676,6 +2799,11 @@ snapshots: dependencies: flat-cache: 3.2.0 + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -2732,6 +2860,8 @@ snapshots: gensync@1.0.0-beta.2: {} + get-caller-file@2.0.5: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -2884,6 +3014,8 @@ snapshots: dependencies: call-bound: 1.0.4 + is-fullwidth-code-point@3.0.0: {} + is-generator-function@1.1.2: dependencies: call-bound: 1.0.4 @@ -2991,6 +3123,10 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -3087,14 +3223,24 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + p-locate@5.0.0: dependencies: p-limit: 3.1.0 + p-try@2.2.0: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -3109,6 +3255,8 @@ snapshots: picocolors@1.1.1: {} + pngjs@5.0.0: {} + possible-typed-array-names@1.1.0: {} postcss@8.5.20: @@ -3135,6 +3283,12 @@ snapshots: punycode@2.3.1: {} + qrcode@1.5.4: + dependencies: + dijkstrajs: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + queue-microtask@1.2.3: {} react-aria@3.50.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): @@ -3255,6 +3409,10 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 + require-directory@2.1.1: {} + + require-main-filename@2.0.0: {} + resolve-from@4.0.0: {} resolve@2.0.0-next.7: @@ -3366,6 +3524,8 @@ snapshots: semver@6.3.1: {} + set-blocking@2.0.0: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -3429,6 +3589,12 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + string.prototype.matchall@4.0.12: dependencies: call-bind: 1.0.9 @@ -3556,6 +3722,8 @@ snapshots: dependencies: react: 18.3.1 + undici-types@8.3.0: {} + update-browserslist-db@1.2.3(browserslist@4.28.6): dependencies: browserslist: 4.28.6 @@ -3572,12 +3740,13 @@ snapshots: validator@13.15.35: {} - vite@5.4.21: + vite@5.4.21(@types/node@26.1.1): dependencies: esbuild: 0.21.5 postcss: 8.5.20 rollup: 4.62.2 optionalDependencies: + '@types/node': 26.1.1 fsevents: 2.3.3 warning@4.0.3: @@ -3615,6 +3784,8 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.4 + which-module@2.0.1: {} + which-typed-array@1.1.22: dependencies: available-typed-arrays: 1.0.7 @@ -3631,10 +3802,37 @@ snapshots: word-wrap@1.2.5: {} + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrappy@1.0.2: {} + y18n@4.0.3: {} + yallist@3.1.1: {} + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + yocto-queue@0.1.0: {} yup@1.7.1: diff --git a/fe/web/admin-app/public/android-chrome-192x192.png b/fe/web/admin-app/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..f9779335ae57fad1bf8dd8c64771b6987af19d13 GIT binary patch literal 25858 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
DVAc`ijaXO4nBho(JP?54k$+e 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≀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 literal 0 HcmV?d00001 diff --git a/fe/web/admin-app/public/favicon-16x16.png b/fe/web/admin-app/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..5b68bd2a78264e8fe6069f424411edd881ff0809 GIT binary patch literal 998 zcmVwproDE5C&s|Ib)1~I*HCLQRHV81Hsg`VEfv>cYUY-nRt_L&b#+~&iCDW zb1sEvj8%4*&QN}`R&Q@VYjCs=8|-a^2HQ6W3?)r(DELz~iAh&iSAo~--QU{Us?+Ug z%ooX;|3RhsmJkwQF|jTPE8h*C+xum(r*5>fvol3uN8E0AqhbaL1FcqjP_0%sB&Vd5 zQH{|Jgv(%3q$=q7*cm#v_Y(Z-kPt>iqtVqo&%e%b+-97k0bN>JY7|AWsqv4+MWCvD zkfpxRncY7lfEqAc){mQVs%|}>Tfe2D>9xht>qUOQ|9#BS(Y2YD%F4lp{%?9Io zTqKnJhVk+Xd4&_E?7u9rz#Sut|FA}m9WhGMFV?P8z2=5y3o?f3p~w%^8YZd}9Ahi8rLearXHz=W0^M-^x%I2Cj)opw0Va!# zf$-s`s$0h@_Vo5t?~c4`sTHjSJ2z&}jt^$d+}XFFB32cECNI2PLzUa1D|uFo2L7R= z0p9Dj*Y&~s{jo-uhw23QS59wD5%L17YHh^jgmz*-t+>~9Ke^GuexPDw(bZ~r93 zmrf6i1^(-}xG>al$v^Pbg}^l;#V-Km@(eqUVKc$YQ@3x6MCGGnzNx+_V>gljj?QJ8 z2WB(Z?Yw#I`^Bp_+q2#M&AHy+PgD*MAAd6~9ux5gOwhcA5fveHkU9XQK%A9C0mgU& z+qH!JxPn4|GBCHY_4k$~sV)EBbcBmTz*~i}$BT5SBq@!>A^b&*SkN>F(~feKh&czX=1Sm0MC%Q~Pfm`XXH^ z`pGmqb*6A`!iNPYV_Dk=0CX2HY5vnfep2D<1wlBBxr9L^66uY_V&|21zKV;e4Eu3y za%syu2FG`&WsW}!AT59xDuLyN^Wku~R$*(9OBgtvPEToRX>oOR^V;c&E9R8(9>gC_t00RR8~;re3$000I_L_t&o0Iafm U&#)Dku>b%707*qoM6N<$g7;b7RsaA1 literal 0 HcmV?d00001 diff --git a/fe/web/admin-app/public/favicon-32x32.png b/fe/web/admin-app/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..f76ef3142d365d29fd8851a6b7d66349efe7896b GIT binary patch literal 2617 zcmV-93dZ$`P)irGVbu09cb@+}-}k-e`_BLU=ROGh zAHU$}7gee`c{4Th-d(4e|K7XW=eKWX&^%XEpqaBJM?Gijg22QrlR?57+1;AIrvy}q zZ^dYniVoVM;<`E2sIQ~_QqkB^7IGH73oXN zhcY(xAA0%YffH~1gZeorz}~%kGY=j-_+?pHSz&5wDtiZ`fiHnIYu3mP95_(9dGls# zMMcGxl9G~W(E|Xa)h3id)v!NO)$1<+!Lgm#JM`wtHOnnW*BDC$9Lwzyxw{vWAcQ_Ixm@o3xS<{(gh+fIRG~@mAU0KrYq4d`!gZ+}}iI%+OJ{0PR0 z5Ikk(BiU7=eh-OfB<{k63(=L8 zm0?*~S>F%||Cra2Nx@-$kI7#`?u6-vZ^I|Q+F+P)^ooA`)t?Me{q=^Z-WGl2g>!}p zrNfHLMlM^n?46X9loS5(VgmUi!yad3d3m{zlauq){{8#S%qG|q!XyLL+XlYKInQ)| zltw-jf7USJM5?`~G0J1x7KGjN0*DYX3VXD{*b|^2WMU|GuSgUue?M)Qcp_`;v|#^u zF#)|4&hjURbSTy{8zOX(NiViVOo==<_WmytU47q-!R}c+AwFNPkH3V3fN<=bwUSs) zW=1{e`!JNF3k%djZkoTdPlu8lUL69|4+ei#hKXql+~)J61b3nh!e%q%4x1&?t-X+6 zXC^SiPRQzhfY$dxZjTM1w!tt_gkWd*a;KvLBqwu>K=BGZj)yRu8FxT%UGj146GCE@ z??+94Z8XH=nt1sOb0ZR-hg5fE|?TD?ennKrX7(jSMtXhFQ;Tr zi!n5DvV{(STD@%2Ej3=72!b4#>TFq;{+<8W zgDKnR#jFasGHjw*;5dhCcyOX_!3Q&$uViF&X5drnbxdbq^J-f2#qt`tc8UeSI>s^R zvHKM!5e7s-w+J}ijba($56joNr-|TdzsW&yIR+#Z=mjA8-AiGOdkg2PH-7MJVAh6JoNC_@Y6wr|Wzraz)Ago8F5i$b`Nj``lk{S@#{+oPQuXY& zlf*c`Vp-#lT}BMoG716$rXt}H#-yolGQH0yrQA02X^Zp7UmN|E^Cz zuY3m++yvMUve`<`(j9b+X4L3(M%@PNBuLx|1&BgWjl4_jsK4IZ2ix< zt-x)+Lc4eb@Q@iz9o?TI1lI-!2d8Q^+Bq33UfSn!x{qs9N=V5oag;thlA4$I@e$Rr}#oxt-X$mqU!FBcZ#r=p>ii ze%&;yr>FBnG#AW_m(r{KFc5~sDTFKL|e?x-vPs$$MRP8YU zLQY!`XVpi8U=@%^JH5f2T=%S3_m=_$bqEtPV&rM3b&m^xE~ZlgjpVqGTE>J|*4-C& z%hI%bv8kX(=!Dj)jotLdvtw;VX2s#!H?N*QQzWVXt|;wHh<;CYFi;`H53sgGApQ|i z-d4B)Y9Ii#()R)I5*>z4kC252ogkG829~$eAAeS zL#D8Zy0ozH{>hyDoD!iA`higYrOEh*Wu2W}fVh3*4iOwjn`2E+Hsi)U=uuwgi> z`{?TFhT2QDmRl0ow{PE*^k%g0$-KOETjCx%7SYJ9qA67a+poeF<#awrz4? zVBiUQZC+0CMq*-O0du$)XyzA=hrC?eH3#Deu=VVsFMdI(R7Nt6=Xo`~aj#=KgD(Mk zZ=X)D@&QZoyQ+aOLnf9{q9{42b=t>(kC)?*vqcK2R+4LdA3 zz%}qP@HjIWh|`in20D{)*VRep^7Ijw%B+>Ps=Ob(u}t0#{{;X5|Nl^pK&1cx00v1! bK~w_(7bq9(;mtYK00000NkvXXu0mjf%JU6# literal 0 HcmV?d00001 diff --git a/fe/web/admin-app/public/favicon.ico b/fe/web/admin-app/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b395cc00304747a9bb4a2e532d01ccc5f49967c6 GIT binary patch literal 15406 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 } /> + + + } /> @@ -121,6 +126,12 @@ export default function App() { buttonColor="var(--light-blue)" url={`/${user.tenantCode}/manage/displays`} /> +
-

BBQMS

+

+ MyKOPKB QMS-Admin +

- { !!user && ( - - ) } -
- -
navigate('/profile') }> - Profile image + )}
- { showBackButton && ( - - ) } + )} - ); -} +} \ No newline at end of file diff --git a/fe/web/admin-app/src/constants.js b/fe/web/admin-app/src/constants.js index 20ade13..7b6387b 100644 --- a/fe/web/admin-app/src/constants.js +++ b/fe/web/admin-app/src/constants.js @@ -1,5 +1,8 @@ export const SERVER_URL = 'http://localhost:8080'; +export const CUSTOMER_APP_URL = + import.meta.env.VITE_CUSTOMER_APP_URL ?? 'http://localhost:3000'; + export const ROLES = { ROLE_SUPER_ADMIN : "ROLE_SUPER_ADMIN", ROLE_BRANCH_ADMIN : "ROLE_BRANCH_ADMIN" diff --git a/fe/web/admin-app/src/fetching/uploadFormData.js b/fe/web/admin-app/src/fetching/uploadFormData.js new file mode 100644 index 0000000..c47df4b --- /dev/null +++ b/fe/web/admin-app/src/fetching/uploadFormData.js @@ -0,0 +1,35 @@ +import { getToken, setToken } from '../utils/session.js'; + +/** + * Multipart upload helper. Do not set Content-Type manually — the browser + * must add the multipart boundary. + */ +export async function uploadFormData(url, formData, method = 'POST') { + const headers = new Headers(); + const token = getToken(); + if (token) { + headers.append('Authorization', `Bearer ${token}`); + } + + const res = await fetch(url, { + method, + headers, + body: formData, + }); + + let data = null; + try { + data = await res.json(); + } catch { + data = null; + } + + if (res.ok) { + const newToken = res.headers.get('Auth-Token'); + if (newToken) { + setToken(newToken); + } + } + + return { data, success: res.ok }; +} diff --git a/fe/web/admin-app/src/pages/AdminProfile/AdminProfile.jsx b/fe/web/admin-app/src/pages/AdminProfile/AdminProfile.jsx index cfa7365..05b3b84 100644 --- a/fe/web/admin-app/src/pages/AdminProfile/AdminProfile.jsx +++ b/fe/web/admin-app/src/pages/AdminProfile/AdminProfile.jsx @@ -4,7 +4,7 @@ import { SERVER_URL } from '../../constants'; import { getIsTfa, getUserData, setIsTfa } from '../../utils/session.js'; import "./AdminProfile.css" -export default function AdminProfile(){ +export default function AdminProfile() { const [isChecked, setIsChecked] = useState(false); const [isQRCodeEnabled, setIsQRCodeEnabled] = useState(false); const [qrCodeSrc, setQrCodeSrc] = useState(''); @@ -18,40 +18,40 @@ export default function AdminProfile(){ setIsQRCodeEnabled(isTfa); }, []); - const handleSaveChanges = async () =>{ - const url = `${ SERVER_URL }/api/v1/auth/tfa`; + const handleSaveChanges = async () => { + const url = `${SERVER_URL}/api/v1/auth/tfa`; const { data, success } = await fetchData(url, 'PUT', { isTfa: isChecked }); setIsTfa(isChecked); setIsQRCodeEnabled(isChecked); - if(!isChecked){ + if (!isChecked) { setQrCodeSrc(''); } - if(success){ + if (success) { let message = 'Success: Your changes have been successfully submitted.'; - if(isChecked){ + if (isChecked) { message = message + '\nPlease scan QR code.'; } alert(message); - }else{ + } else { alert('An error occurred. Please try again.'); } } - const handleCheckBoxChange = () =>{ + const handleCheckBoxChange = () => { setIsChecked(!isChecked); } - const handleGenerateQRCode = () =>{ - if(isQRCodeEnabled){ - const url = `${ SERVER_URL }/api/v1/auth/tfa?email=${userData.email}`; + const handleGenerateQRCode = () => { + if (isQRCodeEnabled) { + const url = `${SERVER_URL}/api/v1/auth/tfa?email=${userData.email}`; fetchData(url, 'GET') - .then(({ data, success }) => { - if (success) { - setQrCodeSrc(data.qrCode); - } - }); + .then(({ data, success }) => { + if (success) { + setQrCodeSrc(data.qrCode); + } + }); } } @@ -59,17 +59,17 @@ export default function AdminProfile(){

Account settings

-
+ {/* -
+ */}
-
- + {/*
+ -
+
*/}
- +
); diff --git a/fe/web/admin-app/src/pages/ManageAdsScreen/ManageAdsScreen.css b/fe/web/admin-app/src/pages/ManageAdsScreen/ManageAdsScreen.css new file mode 100644 index 0000000..8fd7132 --- /dev/null +++ b/fe/web/admin-app/src/pages/ManageAdsScreen/ManageAdsScreen.css @@ -0,0 +1,62 @@ +.ad-tv-preview { + text-align: left; + border-radius: 0.75rem; + border: 1px solid #334155; + background: #0f172a; + color: #f8fafc; + padding: 0.85rem; +} + +.ad-tv-preview__chrome { + display: flex; + justify-content: space-between; + align-items: baseline; + gap: 0.75rem; + margin-bottom: 0.65rem; +} + +.ad-tv-preview__label { + font-size: 0.75rem; + letter-spacing: 0.1em; + text-transform: uppercase; + color: #94a3b8; +} + +.ad-tv-preview__ratio { + font-size: 0.8rem; + color: #cbd5e1; +} + +.ad-tv-preview__stage { + width: 100%; + aspect-ratio: 16 / 10; + border-radius: 0.5rem; + overflow: hidden; + background: #1e293b; + display: flex; + align-items: center; + justify-content: center; +} + +.ad-tv-preview__media { + display: block; + width: 100%; + height: 100%; + object-fit: contain; + background: #0f172a; +} + +.ad-tv-preview__empty { + margin: 0; + padding: 1rem; + color: #94a3b8; + font-size: 0.95rem; + text-align: center; +} + +.ad-tv-preview__caption { + margin: 0.65rem 0 0; + text-align: center; + font-size: 0.95rem; + color: #cbd5e1; +} diff --git a/fe/web/admin-app/src/pages/ManageAdsScreen/ManageAdsScreen.jsx b/fe/web/admin-app/src/pages/ManageAdsScreen/ManageAdsScreen.jsx new file mode 100644 index 0000000..4093327 --- /dev/null +++ b/fe/web/admin-app/src/pages/ManageAdsScreen/ManageAdsScreen.jsx @@ -0,0 +1,597 @@ +import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import { useParams } from 'react-router-dom'; +import { Button, Form, Modal, Table } from 'react-bootstrap'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import { fetchData } from '../../fetching/Fetch.js'; +import { uploadFormData } from '../../fetching/uploadFormData.js'; +import { SERVER_URL } from '../../constants.js'; +import './ManageAdsScreen.css'; + +const styles = { + primaryButton: { + backgroundColor: '#548CA8', + borderColor: '#548CA8', + }, + infoButton: { + backgroundColor: '#548CA8', + color: 'white', + borderColor: '#548CA8', + }, + modalHeader: { + backgroundColor: '#334257', + color: 'white', + }, +}; + +const ACCEPTED_TYPES = 'image/jpeg,image/png,image/webp,image/gif,video/mp4,video/webm'; + +/** Matches branch TV ad box (see BranchDisplayPage `.branch-display__ad-stage`). */ +const AD_DISPLAY_SPEC = { + aspectRatio: '16:10', + recommendedSize: '1920 × 1200 px', + minSize: '1280 × 800 px', +}; + +function AdDisplayGuidelines() { + return ( +
+ TV display size guide +
    +
  • + Aspect ratio: {AD_DISPLAY_SPEC.aspectRatio} (width : height) +
  • +
  • + Recommended resolution: {AD_DISPLAY_SPEC.recommendedSize} +
  • +
  • + Minimum for clear TV: {AD_DISPLAY_SPEC.minSize} +
  • +
  • + Use landscape media that fills the frame. Other ratios will show empty bars + or look cropped on the branch display. +
  • +
+
+ ); +} + +function mediaUrlFromAd(ad) { + if (!ad?.mediaUrl) return null; + return ad.mediaUrl.startsWith('http') + ? ad.mediaUrl + : `${SERVER_URL}${ad.mediaUrl}`; +} + +function isVideoFile(file) { + return Boolean(file?.type?.startsWith('video/')); +} + +/** + * Mimics the branch TV advertisement panel (16:10 stage). + */ +function AdTvPreview({ src, isVideo, title, emptyLabel = 'Select a file to preview' }) { + return ( +
+
+ Branch TV preview + {AD_DISPLAY_SPEC.aspectRatio} +
+
+ {!src ? ( +

{emptyLabel}

+ ) : isVideo ? ( +
+ {title ?

{title}

: null} +
+ ); +} + +export default function ManageAdsScreen() { + const { tenantCode } = useParams(); + const [ads, setAds] = useState([]); + const [errorMessage, setErrorMessage] = useState(''); + const [loading, setLoading] = useState(false); + + const [showUpload, setShowUpload] = useState(false); + const [showEdit, setShowEdit] = useState(false); + const [showDelete, setShowDelete] = useState(false); + const [showPreview, setShowPreview] = useState(false); + const [selectedAd, setSelectedAd] = useState(null); + + const [file, setFile] = useState(null); + const [title, setTitle] = useState(''); + const [durationSeconds, setDurationSeconds] = useState(10); + const [sortOrder, setSortOrder] = useState(''); + const [active, setActive] = useState(true); + + const url = `${SERVER_URL}/api/v1/ads/${encodeURIComponent(tenantCode)}`; + + const uploadObjectUrl = useMemo(() => { + if (!file) return null; + return URL.createObjectURL(file); + }, [file]); + + useEffect(() => { + return () => { + if (uploadObjectUrl) { + URL.revokeObjectURL(uploadObjectUrl); + } + }; + }, [uploadObjectUrl]); + + const loadAds = useCallback(async () => { + try { + const response = await fetchData(url, 'GET'); + if (!response.success) { + setErrorMessage('Failed to load advertisements.'); + return; + } + setAds(Array.isArray(response.data) ? response.data : []); + } catch (error) { + console.error(error); + setErrorMessage('Failed to load advertisements.'); + } + }, [url]); + + useEffect(() => { + loadAds(); + }, [loadAds]); + + function resetUploadForm() { + setFile(null); + setTitle(''); + setDurationSeconds(10); + setSortOrder(''); + setActive(true); + } + + function openEdit(ad) { + setSelectedAd(ad); + setTitle(ad.title ?? ''); + setDurationSeconds(ad.durationSeconds ?? 10); + setSortOrder(String(ad.sortOrder ?? 0)); + setActive(Boolean(ad.active)); + setShowEdit(true); + } + + function openPreview(ad) { + setSelectedAd(ad); + setShowPreview(true); + } + + async function handleUpload(event) { + event.preventDefault(); + if (!file) { + setErrorMessage('Choose an image or video file to upload.'); + return; + } + + setLoading(true); + try { + const formData = new FormData(); + formData.append('file', file); + if (title.trim()) { + formData.append('title', title.trim()); + } + formData.append('durationSeconds', String(durationSeconds || 10)); + formData.append('active', String(active)); + if (sortOrder !== '' && !Number.isNaN(Number(sortOrder))) { + formData.append('sortOrder', String(Number(sortOrder))); + } + + const response = await uploadFormData(url, formData, 'POST'); + if (!response.success) { + setErrorMessage(response.data?.message || 'Failed to upload advertisement.'); + return; + } + + setShowUpload(false); + resetUploadForm(); + await loadAds(); + } catch (error) { + console.error(error); + setErrorMessage('Failed to upload advertisement.'); + } finally { + setLoading(false); + } + } + + async function handleEdit(event) { + event.preventDefault(); + if (!selectedAd) return; + + setLoading(true); + try { + const response = await fetchData(`${url}/${selectedAd.id}`, 'PUT', { + title: title.trim() || null, + durationSeconds: Number(durationSeconds) || 10, + sortOrder: sortOrder === '' ? null : Number(sortOrder), + active, + }); + if (!response.success) { + setErrorMessage(response.data?.message || 'Failed to update advertisement.'); + return; + } + setShowEdit(false); + setSelectedAd(null); + await loadAds(); + } catch (error) { + console.error(error); + setErrorMessage('Failed to update advertisement.'); + } finally { + setLoading(false); + } + } + + async function handleDelete() { + if (!selectedAd) return; + + setLoading(true); + try { + const response = await fetchData(`${url}/${selectedAd.id}`, 'DELETE'); + if (!response.success) { + setErrorMessage(response.data?.message || 'Failed to delete advertisement.'); + return; + } + setShowDelete(false); + setSelectedAd(null); + await loadAds(); + } catch (error) { + console.error(error); + setErrorMessage('Failed to delete advertisement.'); + } finally { + setLoading(false); + } + } + + return ( +
+

Manage Advertisements

+

+ Ads are shared across all branches for this company. +

+
+ +
+ + + + + + + + + + + + + + + + {ads.length === 0 ? ( + + + + ) : ( + ads.map((ad) => ( + + + + + + + + + + )) + )} + +
PreviewTitleTypeOrderDuration (s)ActiveActions
+ No advertisements yet. +
+ {ad.mediaType === 'IMAGE' ? ( + {ad.title openPreview(ad)} + /> + ) : ( + + )} + {ad.title || ad.fileName}{ad.mediaType}{ad.sortOrder}{ad.durationSeconds}{ad.active ? 'Yes' : 'No'} + {' '} + {' '} + +
+ + { + setShowUpload(false); + resetUploadForm(); + }} + size="lg" + > + + UPLOAD ADVERTISEMENT + +
+ + + + + File (image or video) + setFile(event.target.files?.[0] ?? null)} + required + /> + + Best fit: {AD_DISPLAY_SPEC.aspectRatio},{' '} + {AD_DISPLAY_SPEC.recommendedSize} + + + + Title + setTitle(event.target.value)} + placeholder="Optional" + /> + + + Duration seconds (images) + setDurationSeconds(event.target.value)} + /> + + + Sort order + setSortOrder(event.target.value)} + placeholder="Auto if empty" + /> + + setActive(event.target.checked)} + /> + + + + + +
+
+ + setShowEdit(false)} size="lg"> + + EDIT ADVERTISEMENT + +
+ + {selectedAd ? ( + + ) : null} + + Title + setTitle(event.target.value)} + /> + + + Duration seconds (images) + setDurationSeconds(event.target.value)} + /> + + + Sort order + setSortOrder(event.target.value)} + /> + + setActive(event.target.checked)} + /> + + + + + +
+
+ + { + setShowPreview(false); + setSelectedAd(null); + }} + size="lg" + centered + > + + TV DISPLAY PREVIEW + + + {selectedAd ? ( + + ) : null} +

+ This matches the advertisement panel on the branch waiting-area TV + ({AD_DISPLAY_SPEC.aspectRatio}). +

+
+ + + +
+ + setShowDelete(false)}> + + CONFIRMATION + + +

+ Delete advertisement{' '} + {selectedAd?.title || selectedAd?.fileName}? +

+
+ + + + +
+ + setErrorMessage('')} + backdrop="static" + keyboard={false} + > + + ERROR + + +

{errorMessage}

+
+ + + +
+
+ ); +} diff --git a/fe/web/admin-app/src/pages/ManageBranchesScreen/ManageBranchesScreen.jsx b/fe/web/admin-app/src/pages/ManageBranchesScreen/ManageBranchesScreen.jsx index b48bcb0..c399a2c 100644 --- a/fe/web/admin-app/src/pages/ManageBranchesScreen/ManageBranchesScreen.jsx +++ b/fe/web/admin-app/src/pages/ManageBranchesScreen/ManageBranchesScreen.jsx @@ -4,6 +4,11 @@ import 'bootstrap/dist/css/bootstrap.min.css'; import { fetchData } from '../../fetching/Fetch.js'; import { useParams } from 'react-router-dom'; import { SERVER_URL } from '../../constants.js'; +import { + downloadBranchQr, + generateBranchQrDataUrl, + getBranchTicketUrl, +} from '../../utils/branchQr.js'; const styles = { primaryButton: { @@ -30,6 +35,9 @@ const ManageBranchesScreen = () => { const [newStationName, setNewStationName] = useState(''); const [deleteConfirmation, setDeleteConfirmation] = useState(false); const [errorMessage, setErrorMessage] = useState(''); + const [qrModalBranch, setQrModalBranch] = useState(null); + const [qrDataUrl, setQrDataUrl] = useState(''); + const [qrLoading, setQrLoading] = useState(false); const { tenantCode } = useParams(); const url = `${SERVER_URL}/api/v1/branches/${tenantCode}`; @@ -154,6 +162,42 @@ const ManageBranchesScreen = () => { setSelectedBranchIndex(index); }; + const handleShowQr = async (branch) => { + setQrModalBranch(branch); + setQrDataUrl(''); + setQrLoading(true); + try { + const dataUrl = await generateBranchQrDataUrl(tenantCode, branch.id); + setQrDataUrl(dataUrl); + } catch (error) { + console.error('Error:', error); + setQrModalBranch(null); + setErrorMessage('Failed to generate branch QR code.'); + } finally { + setQrLoading(false); + } + }; + + const handleDownloadQr = async () => { + if (!qrModalBranch) return; + try { + await downloadBranchQr({ + tenantCode, + branchId: qrModalBranch.id, + branchName: qrModalBranch.name, + }); + } catch (error) { + console.error('Error:', error); + setErrorMessage('Failed to download branch QR code.'); + } + }; + + const handleCloseQrModal = () => { + setQrModalBranch(null); + setQrDataUrl(''); + setQrLoading(false); + }; + const confirmDeleteBranch = async () => { const branchId = manageBranches[selectedBranchIndex].id; const urlToDelete = `${url}/${branchId}`; @@ -221,6 +265,7 @@ const ManageBranchesScreen = () => { {branch.tellerStations ? branch.tellerStations.map(station => station.name).join(', ') : '-'} {' '} + {' '} @@ -270,6 +315,46 @@ const ManageBranchesScreen = () => { + + + + BRANCH QR{qrModalBranch ? ` — ${qrModalBranch.name}` : ''} + + + + {qrLoading ? ( +

Generating QR…

+ ) : qrDataUrl ? ( + <> + {`QR +

+ {qrModalBranch + ? getBranchTicketUrl(tenantCode, qrModalBranch.id) + : ''} +

+

+ Print this QR and place it at the branch. Customers scan it to choose a service. +

+ + ) : null} +
+ + + + +
+ setDeleteConfirmation(false)}> CONFIRMATION diff --git a/fe/web/admin-app/src/utils/branchQr.js b/fe/web/admin-app/src/utils/branchQr.js new file mode 100644 index 0000000..31fd35c --- /dev/null +++ b/fe/web/admin-app/src/utils/branchQr.js @@ -0,0 +1,93 @@ +import QRCode from 'qrcode'; +import { CUSTOMER_APP_URL } from '../constants.js'; + +const DEFAULT_QR_SECRET = 'qms-branch-qr-v1'; + +function getQrSecret() { + return import.meta.env.VITE_QR_TOKEN_SECRET || DEFAULT_QR_SECRET; +} + +function toBase64Url(bytes) { + let binary = ''; + bytes.forEach((byte) => { + binary += String.fromCharCode(byte); + }); + return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, ''); +} + +function fromBase64Url(token) { + const padded = token.replace(/-/g, '+').replace(/_/g, '/'); + const padLength = (4 - (padded.length % 4)) % 4; + const base64 = padded + '='.repeat(padLength); + const binary = atob(base64); + const bytes = new Uint8Array(binary.length); + for (let i = 0; i < binary.length; i += 1) { + bytes[i] = binary.charCodeAt(i); + } + return bytes; +} + +function xorBytes(bytes, secret) { + const key = new TextEncoder().encode(secret); + return bytes.map((byte, index) => byte ^ key[index % key.length]); +} + +/** Opaque token so QR URLs don't expose tenant code / branch id. */ +export function encodeBranchQrToken(tenantCode, branchId, secret = getQrSecret()) { + const plain = `v1:${String(tenantCode).trim().toUpperCase()}:${Number(branchId)}`; + const plainBytes = new TextEncoder().encode(plain); + return toBase64Url(xorBytes(plainBytes, secret)); +} + +export function decodeBranchQrToken(token, secret = getQrSecret()) { + try { + const plain = new TextDecoder().decode(xorBytes(fromBase64Url(token), secret)); + const match = /^v1:([^:]+):(\d+)$/.exec(plain); + if (!match) return null; + return { + tenantCode: match[1], + branchId: Number(match[2]), + }; + } catch { + return null; + } +} + +export function getBranchTicketUrl(tenantCode, branchId) { + const base = CUSTOMER_APP_URL.replace(/\/$/, ''); + const token = encodeBranchQrToken(tenantCode, branchId); + return `${base}/q/${token}`; +} + +export async function generateBranchQrDataUrl(tenantCode, branchId) { + return QRCode.toDataURL(getBranchTicketUrl(tenantCode, branchId), { + errorCorrectionLevel: 'M', + margin: 2, + width: 1024, + color: { + dark: '#000000', + light: '#ffffff', + }, + }); +} + +function slugify(value) { + return String(value) + .trim() + .toLowerCase() + .replace(/[^a-z0-9]+/g, '-') + .replace(/^-|-$/g, '') || 'branch'; +} + +export function downloadDataUrl(dataUrl, filename) { + const link = document.createElement('a'); + link.href = dataUrl; + link.download = filename; + link.click(); +} + +export async function downloadBranchQr({ tenantCode, branchId, branchName }) { + const dataUrl = await generateBranchQrDataUrl(tenantCode, branchId); + downloadDataUrl(dataUrl, `qr-${slugify(branchName)}-${branchId}.png`); + return dataUrl; +} diff --git a/fe/web/customer-app/.gitignore b/fe/web/customer-app/.gitignore index 5ef6a52..5340dd9 100644 --- a/fe/web/customer-app/.gitignore +++ b/fe/web/customer-app/.gitignore @@ -30,9 +30,6 @@ yarn-debug.log* yarn-error.log* .pnpm-debug.log* -# env files (can opt-in for committing if needed) -.env* - # vercel .vercel diff --git a/fe/web/customer-app/app/favicon.ico b/fe/web/customer-app/app/favicon.ico index 718d6fea4835ec2d246af9800eddb7ffb276240c..b395cc00304747a9bb4a2e532d01ccc5f49967c6 100644 GIT binary patch literal 15406 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 LrJugUA?W`A8`#=m diff --git a/fe/web/customer-app/app/layout.tsx b/fe/web/customer-app/app/layout.tsx index 8b24dc8..d23bc58 100644 --- a/fe/web/customer-app/app/layout.tsx +++ b/fe/web/customer-app/app/layout.tsx @@ -13,8 +13,8 @@ const geistMono = Geist_Mono({ }); export const metadata: Metadata = { - title: "Customer Queue", - description: "Take a queue ticket for your branch and service", + title: "MyKOPKB QMS-Customer App", + description: "MyKOPKB QMS-Customer App", }; export default function RootLayout({ diff --git a/fe/web/customer-app/app/q/[token]/page.tsx b/fe/web/customer-app/app/q/[token]/page.tsx new file mode 100644 index 0000000..419d4d6 --- /dev/null +++ b/fe/web/customer-app/app/q/[token]/page.tsx @@ -0,0 +1,42 @@ +import Link from "next/link"; +import CustomerTicketFlow from "@/components/CustomerTicketFlow"; +import { decodeBranchQrToken } from "@/lib/branchToken"; + +type PageProps = { + params: Promise<{ + token: string; + }>; +}; + +export default async function BranchQrPage({ params }: PageProps) { + const { token } = await params; + const payload = decodeBranchQrToken(token); + + if (!payload) { + return ( +
+
+

Invalid link

+

+ This branch QR link is not valid. Scan again or enter a company code. +

+ + Enter company code + +
+
+ ); + } + + return ( +
+ +
+ ); +} diff --git a/fe/web/customer-app/app/t/[tenantCode]/b/[branchId]/page.tsx b/fe/web/customer-app/app/t/[tenantCode]/b/[branchId]/page.tsx new file mode 100644 index 0000000..c5be1e3 --- /dev/null +++ b/fe/web/customer-app/app/t/[tenantCode]/b/[branchId]/page.tsx @@ -0,0 +1,42 @@ +import Link from "next/link"; +import CustomerTicketFlow from "@/components/CustomerTicketFlow"; + +type PageProps = { + params: Promise<{ + tenantCode: string; + branchId: string; + }>; +}; + +export default async function BranchTicketPage({ params }: PageProps) { + const { tenantCode, branchId: branchIdParam } = await params; + const branchId = Number(branchIdParam); + + if (!Number.isFinite(branchId)) { + return ( +
+
+

Invalid link

+

+ This branch QR link is not valid. Scan again or enter a company code. +

+ + Enter company code + +
+
+ ); + } + + return ( +
+ +
+ ); +} diff --git a/fe/web/customer-app/components/CustomerTicketFlow.tsx b/fe/web/customer-app/components/CustomerTicketFlow.tsx index 5788514..7d13cc4 100644 --- a/fe/web/customer-app/components/CustomerTicketFlow.tsx +++ b/fe/web/customer-app/components/CustomerTicketFlow.tsx @@ -1,6 +1,7 @@ "use client"; -import { FormEvent, useState } from "react"; +import Link from "next/link"; +import { FormEvent, useEffect, useRef, useState } from "react"; import { Branch, Service, @@ -10,21 +11,134 @@ import { getBranchServices, getBranches, getTenant, + getTicketsForDevice, } from "@/lib/api"; import { getDeviceToken } from "@/lib/device"; type Step = "tenant" | "branch" | "service" | "ticket"; -export default function CustomerTicketFlow() { - const [step, setStep] = useState("tenant"); - const [tenantCode, setTenantCode] = useState("DFLT"); +type Props = { + initialTenantCode?: string; + initialBranchId?: number; +}; + +function pickLatestTicket( + tickets: Ticket[], + branchId?: number +): Ticket | null { + const scoped = + branchId != null + ? tickets.filter((item) => item.branch.id === branchId) + : tickets; + if (scoped.length === 0) { + return null; + } + + return [...scoped].sort( + (a, b) => + new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime() + )[0]; +} + +export default function CustomerTicketFlow({ + initialTenantCode, + initialBranchId, +}: Props) { + const fromQr = + initialTenantCode != null && + initialTenantCode !== "" && + initialBranchId != null && + Number.isFinite(initialBranchId); + + const [step, setStep] = useState(fromQr ? "service" : "tenant"); + const [tenantCode, setTenantCode] = useState( + initialTenantCode?.trim().toUpperCase() ?? "" + ); const [tenant, setTenant] = useState(null); const [branches, setBranches] = useState([]); const [services, setServices] = useState([]); const [selectedBranch, setSelectedBranch] = useState(null); const [ticket, setTicket] = useState(null); - const [loading, setLoading] = useState(false); + const [loading, setLoading] = useState(true); const [error, setError] = useState(null); + const bootstrapped = useRef(false); + + useEffect(() => { + if (bootstrapped.current) return; + bootstrapped.current = true; + + async function bootstrap() { + setLoading(true); + setError(null); + + try { + const deviceToken = getDeviceToken(); + if (deviceToken) { + const responses = await getTicketsForDevice(deviceToken); + const latest = pickLatestTicket( + responses.map((response) => response.ticket), + fromQr ? initialBranchId : undefined + ); + if (latest) { + setTicket(latest); + setSelectedBranch({ + id: latest.branch.id, + name: latest.branch.name, + tellerStations: latest.branch.tellerStations ?? [], + }); + setStep("ticket"); + setLoading(false); + return; + } + } + } catch { + // No saved ticket — continue into the normal flow. + } + + if (!fromQr) { + setLoading(false); + return; + } + + const code = initialTenantCode!.trim().toUpperCase(); + const branchId = initialBranchId!; + + try { + const [tenantData, branchData] = await Promise.all([ + getTenant(code), + getBranches(code), + ]); + const branch = branchData.find((item) => item.id === branchId); + if (!branch) { + setError( + "This branch was not found. Scan the QR again or enter a company code." + ); + setTenant(tenantData); + setBranches(branchData); + setTenantCode(code); + setStep("branch"); + return; + } + + const branchServices = await getBranchServices(code, branch.id); + setTenant(tenantData); + setBranches(branchData); + setTenantCode(code); + setSelectedBranch(branch); + setServices(branchServices); + setStep("service"); + } catch { + setError( + "Could not open this branch link. Scan the QR again or enter a company code." + ); + setStep("tenant"); + } finally { + setLoading(false); + } + } + + void bootstrap(); + }, [fromQr, initialTenantCode, initialBranchId]); async function handleTenantSubmit(event: FormEvent) { event.preventDefault(); @@ -84,6 +198,7 @@ export default function CustomerTicketFlow() { deviceToken: getDeviceToken(), }); setTicket(response.ticket); + setSelectedBranch(response.ticket.branch); setStep("ticket"); } catch { setError( @@ -94,16 +209,66 @@ export default function CustomerTicketFlow() { } } - function resetFlow() { - setStep(tenant ? "branch" : "tenant"); - setSelectedBranch(null); - setServices([]); + async function resetFlow() { setTicket(null); setError(null); + + if (fromQr && initialTenantCode && initialBranchId != null) { + setLoading(true); + try { + const code = initialTenantCode.trim().toUpperCase(); + const [tenantData, branchData] = await Promise.all([ + getTenant(code), + getBranches(code), + ]); + const branch = branchData.find((item) => item.id === initialBranchId); + if (!branch) { + setTenant(tenantData); + setBranches(branchData); + setTenantCode(code); + setStep("branch"); + return; + } + const branchServices = await getBranchServices(code, branch.id); + setTenant(tenantData); + setBranches(branchData); + setTenantCode(code); + setSelectedBranch(branch); + setServices(branchServices); + setStep("service"); + } catch { + setError("Could not reload services. Try scanning the QR again."); + setStep("tenant"); + } finally { + setLoading(false); + } + return; + } + + if (selectedBranch && tenant) { + setLoading(true); + try { + const branchServices = await getBranchServices( + tenant.code, + selectedBranch.id + ); + setServices(branchServices); + setStep("service"); + } catch { + setError("Could not load services for this branch."); + setStep("branch"); + } finally { + setLoading(false); + } + return; + } + + setStep(tenant ? "branch" : "tenant"); } function startOver() { setStep("tenant"); + setTenantCode(""); setTenant(null); setBranches([]); setSelectedBranch(null); @@ -112,18 +277,21 @@ export default function CustomerTicketFlow() { setError(null); } + const welcomeCopy = fromQr + ? "Pilih perkhidmatan untuk mendapatkan nombor." + : "Imbas QR code di branch anda, atau masukkan kod syarikat di bawah."; + return (

- Queue Management + Sistem Nombor Giliran

- {tenant?.name ?? "Get a ticket"} + {tenant?.name ?? "Dapatkan tiket"}

- {tenant?.welcomeMessage ?? - "Enter your company code, pick a branch and service, then take a number."} + {tenant?.welcomeMessage ?? welcomeCopy}

@@ -133,27 +301,31 @@ export default function CustomerTicketFlow() {

) : null} + {fromQr && loading && step === "service" && !selectedBranch ? ( +

Loading perkhidmatan branch…

+ ) : null} + {step === "tenant" ? (
) : null} @@ -196,25 +368,35 @@ export default function CustomerTicketFlow() {

- Service at {selectedBranch.name} + Perkhidmatan di Cawangan {selectedBranch.name}

- + {fromQr ? ( + + Masukkan kod perkhidmatan + + ) : ( + + )}
{services.length === 0 ? (

- No services are assigned to this branch yet. Link services via a - branch group in the admin app, then try again. + Tiada perkhidmatan yang ditugaskan kepada branch ini. Hubungkan + perkhidmatan melalui grup branch dalam aplikasi admin, kemudian + cuba lagi.

) : (
    @@ -228,7 +410,7 @@ export default function CustomerTicketFlow() { > {service.name} - {loading ? "…" : "Get number"} + {loading ? "…" : "Dapatkan nombor"} @@ -241,7 +423,7 @@ export default function CustomerTicketFlow() { {step === "ticket" && ticket ? (

    - Your ticket number + Nombor tiket anda

    {ticket.number} @@ -255,7 +437,7 @@ export default function CustomerTicketFlow() { onClick={resetFlow} className="w-full rounded-md bg-zinc-900 px-4 py-3 text-sm font-medium text-white" > - Get another ticket + Dapatkan tiket lain

    ) : null} diff --git a/fe/web/customer-app/lib/api.ts b/fe/web/customer-app/lib/api.ts index 916a1f5..d4d75e0 100644 --- a/fe/web/customer-app/lib/api.ts +++ b/fe/web/customer-app/lib/api.ts @@ -80,3 +80,9 @@ export function createTicket(input: { export function getTicketById(ticketId: number | string) { return request(`/api/v1/tickets/${ticketId}`); } + +export function getTicketsForDevice(deviceToken: string) { + return request( + `/api/v1/tickets/devices/${encodeURIComponent(deviceToken)}` + ); +} diff --git a/fe/web/customer-app/lib/branchToken.ts b/fe/web/customer-app/lib/branchToken.ts new file mode 100644 index 0000000..2b26447 --- /dev/null +++ b/fe/web/customer-app/lib/branchToken.ts @@ -0,0 +1,67 @@ +const DEFAULT_QR_SECRET = "qms-branch-qr-v1"; + +function getQrSecret() { + return process.env.QR_TOKEN_SECRET || DEFAULT_QR_SECRET; +} + +function toBase64Url(bytes: Uint8Array) { + let binary = ""; + bytes.forEach((byte) => { + binary += String.fromCharCode(byte); + }); + return btoa(binary) + .replace(/\+/g, "-") + .replace(/\//g, "_") + .replace(/=+$/g, ""); +} + +function fromBase64Url(token: string) { + const padded = token.replace(/-/g, "+").replace(/_/g, "/"); + const padLength = (4 - (padded.length % 4)) % 4; + const base64 = padded + "=".repeat(padLength); + const binary = atob(base64); + const bytes = new Uint8Array(binary.length); + for (let i = 0; i < binary.length; i += 1) { + bytes[i] = binary.charCodeAt(i); + } + return bytes; +} + +function xorBytes(bytes: Uint8Array, secret: string) { + const key = new TextEncoder().encode(secret); + return bytes.map((byte, index) => byte ^ key[index % key.length]); +} + +export type BranchQrPayload = { + tenantCode: string; + branchId: number; +}; + +export function encodeBranchQrToken( + tenantCode: string, + branchId: number, + secret = getQrSecret() +) { + const plain = `v1:${tenantCode.trim().toUpperCase()}:${Number(branchId)}`; + const plainBytes = new TextEncoder().encode(plain); + return toBase64Url(xorBytes(plainBytes, secret)); +} + +export function decodeBranchQrToken( + token: string, + secret = getQrSecret() +): BranchQrPayload | null { + try { + const plain = new TextDecoder().decode( + xorBytes(fromBase64Url(token), secret) + ); + const match = /^v1:([^:]+):(\d+)$/.exec(plain); + if (!match) return null; + return { + tenantCode: match[1], + branchId: Number(match[2]), + }; + } catch { + return null; + } +} diff --git a/fe/web/customer-app/lib/constants.ts b/fe/web/customer-app/lib/constants.ts index 6acd1d4..1478579 100644 --- a/fe/web/customer-app/lib/constants.ts +++ b/fe/web/customer-app/lib/constants.ts @@ -1,4 +1,3 @@ -export const SERVER_URL = - process.env.NEXT_PUBLIC_API_URL ?? "http://localhost:8080"; +export const SERVER_URL = process.env.NEXT_PUBLIC_API_URL; export const DEVICE_TOKEN_KEY = "qms_device_token"; diff --git a/fe/web/customer-app/next.config.ts b/fe/web/customer-app/next.config.ts index e9ffa30..ca6c939 100644 --- a/fe/web/customer-app/next.config.ts +++ b/fe/web/customer-app/next.config.ts @@ -1,7 +1,7 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { - /* config options here */ + devIndicators: false, }; export default nextConfig; diff --git a/fe/web/customer-app/public/android-chrome-192x192.png b/fe/web/customer-app/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..f9779335ae57fad1bf8dd8c64771b6987af19d13 GIT binary patch literal 25858 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
    DVAc`ijaXO4nBho(JP?54k$+e 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≀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 literal 0 HcmV?d00001 diff --git a/fe/web/customer-app/public/favicon-16x16.png b/fe/web/customer-app/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..5b68bd2a78264e8fe6069f424411edd881ff0809 GIT binary patch literal 998 zcmVwproDE5C&s|Ib)1~I*HCLQRHV81Hsg`VEfv>cYUY-nRt_L&b#+~&iCDW zb1sEvj8%4*&QN}`R&Q@VYjCs=8|-a^2HQ6W3?)r(DELz~iAh&iSAo~--QU{Us?+Ug z%ooX;|3RhsmJkwQF|jTPE8h*C+xum(r*5>fvol3uN8E0AqhbaL1FcqjP_0%sB&Vd5 zQH{|Jgv(%3q$=q7*cm#v_Y(Z-kPt>iqtVqo&%e%b+-97k0bN>JY7|AWsqv4+MWCvD zkfpxRncY7lfEqAc){mQVs%|}>Tfe2D>9xht>qUOQ|9#BS(Y2YD%F4lp{%?9Io zTqKnJhVk+Xd4&_E?7u9rz#Sut|FA}m9WhGMFV?P8z2=5y3o?f3p~w%^8YZd}9Ahi8rLearXHz=W0^M-^x%I2Cj)opw0Va!# zf$-s`s$0h@_Vo5t?~c4`sTHjSJ2z&}jt^$d+}XFFB32cECNI2PLzUa1D|uFo2L7R= z0p9Dj*Y&~s{jo-uhw23QS59wD5%L17YHh^jgmz*-t+>~9Ke^GuexPDw(bZ~r93 zmrf6i1^(-}xG>al$v^Pbg}^l;#V-Km@(eqUVKc$YQ@3x6MCGGnzNx+_V>gljj?QJ8 z2WB(Z?Yw#I`^Bp_+q2#M&AHy+PgD*MAAd6~9ux5gOwhcA5fveHkU9XQK%A9C0mgU& z+qH!JxPn4|GBCHY_4k$~sV)EBbcBmTz*~i}$BT5SBq@!>A^b&*SkN>F(~feKh&czX=1Sm0MC%Q~Pfm`XXH^ z`pGmqb*6A`!iNPYV_Dk=0CX2HY5vnfep2D<1wlBBxr9L^66uY_V&|21zKV;e4Eu3y za%syu2FG`&WsW}!AT59xDuLyN^Wku~R$*(9OBgtvPEToRX>oOR^V;c&E9R8(9>gC_t00RR8~;re3$000I_L_t&o0Iafm U&#)Dku>b%707*qoM6N<$g7;b7RsaA1 literal 0 HcmV?d00001 diff --git a/fe/web/customer-app/public/favicon-32x32.png b/fe/web/customer-app/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..f76ef3142d365d29fd8851a6b7d66349efe7896b GIT binary patch literal 2617 zcmV-93dZ$`P)irGVbu09cb@+}-}k-e`_BLU=ROGh zAHU$}7gee`c{4Th-d(4e|K7XW=eKWX&^%XEpqaBJM?Gijg22QrlR?57+1;AIrvy}q zZ^dYniVoVM;<`E2sIQ~_QqkB^7IGH73oXN zhcY(xAA0%YffH~1gZeorz}~%kGY=j-_+?pHSz&5wDtiZ`fiHnIYu3mP95_(9dGls# zMMcGxl9G~W(E|Xa)h3id)v!NO)$1<+!Lgm#JM`wtHOnnW*BDC$9Lwzyxw{vWAcQ_Ixm@o3xS<{(gh+fIRG~@mAU0KrYq4d`!gZ+}}iI%+OJ{0PR0 z5Ikk(BiU7=eh-OfB<{k63(=L8 zm0?*~S>F%||Cra2Nx@-$kI7#`?u6-vZ^I|Q+F+P)^ooA`)t?Me{q=^Z-WGl2g>!}p zrNfHLMlM^n?46X9loS5(VgmUi!yad3d3m{zlauq){{8#S%qG|q!XyLL+XlYKInQ)| zltw-jf7USJM5?`~G0J1x7KGjN0*DYX3VXD{*b|^2WMU|GuSgUue?M)Qcp_`;v|#^u zF#)|4&hjURbSTy{8zOX(NiViVOo==<_WmytU47q-!R}c+AwFNPkH3V3fN<=bwUSs) zW=1{e`!JNF3k%djZkoTdPlu8lUL69|4+ei#hKXql+~)J61b3nh!e%q%4x1&?t-X+6 zXC^SiPRQzhfY$dxZjTM1w!tt_gkWd*a;KvLBqwu>K=BGZj)yRu8FxT%UGj146GCE@ z??+94Z8XH=nt1sOb0ZR-hg5fE|?TD?ennKrX7(jSMtXhFQ;Tr zi!n5DvV{(STD@%2Ej3=72!b4#>TFq;{+<8W zgDKnR#jFasGHjw*;5dhCcyOX_!3Q&$uViF&X5drnbxdbq^J-f2#qt`tc8UeSI>s^R zvHKM!5e7s-w+J}ijba($56joNr-|TdzsW&yIR+#Z=mjA8-AiGOdkg2PH-7MJVAh6JoNC_@Y6wr|Wzraz)Ago8F5i$b`Nj``lk{S@#{+oPQuXY& zlf*c`Vp-#lT}BMoG716$rXt}H#-yolGQH0yrQA02X^Zp7UmN|E^Cz zuY3m++yvMUve`<`(j9b+X4L3(M%@PNBuLx|1&BgWjl4_jsK4IZ2ix< zt-x)+Lc4eb@Q@iz9o?TI1lI-!2d8Q^+Bq33UfSn!x{qs9N=V5oag;thlA4$I@e$Rr}#oxt-X$mqU!FBcZ#r=p>ii ze%&;yr>FBnG#AW_m(r{KFc5~sDTFKL|e?x-vPs$$MRP8YU zLQY!`XVpi8U=@%^JH5f2T=%S3_m=_$bqEtPV&rM3b&m^xE~ZlgjpVqGTE>J|*4-C& z%hI%bv8kX(=!Dj)jotLdvtw;VX2s#!H?N*QQzWVXt|;wHh<;CYFi;`H53sgGApQ|i z-d4B)Y9Ii#()R)I5*>z4kC252ogkG829~$eAAeS zL#D8Zy0ozH{>hyDoD!iA`higYrOEh*Wu2W}fVh3*4iOwjn`2E+Hsi)U=uuwgi> z`{?TFhT2QDmRl0ow{PE*^k%g0$-KOETjCx%7SYJ9qA67a+poeF<#awrz4? zVBiUQZC+0CMq*-O0du$)XyzA=hrC?eH3#Deu=VVsFMdI(R7Nt6=Xo`~aj#=KgD(Mk zZ=X)D@&QZoyQ+aOLnf9{q9{42b=t>(kC)?*vqcK2R+4LdA3 zz%}qP@HjIWh|`in20D{)*VRep^7Ijw%B+>Ps=Ob(u}t0#{{;X5|Nl^pK&1cx00v1! bK~w_(7bq9(;mtYK00000NkvXXu0mjf%JU6# literal 0 HcmV?d00001 diff --git a/fe/web/customer-app/public/site.webmanifest b/fe/web/customer-app/public/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/fe/web/customer-app/public/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/fe/web/teller-app/index.html b/fe/web/teller-app/index.html index 10911d4..cc29588 100644 --- a/fe/web/teller-app/index.html +++ b/fe/web/teller-app/index.html @@ -1,13 +1,16 @@ - - - - - BBQMS Teller App - - -
    - - - + + + + + + MyKOPKB QMS-Teller App + + + +
    + + + + \ No newline at end of file diff --git a/fe/web/teller-app/public/android-chrome-192x192.png b/fe/web/teller-app/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..f9779335ae57fad1bf8dd8c64771b6987af19d13 GIT binary patch literal 25858 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
    DVAc`ijaXO4nBho(JP?54k$+e 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≀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 literal 0 HcmV?d00001 diff --git a/fe/web/teller-app/public/favicon-16x16.png b/fe/web/teller-app/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..5b68bd2a78264e8fe6069f424411edd881ff0809 GIT binary patch literal 998 zcmVwproDE5C&s|Ib)1~I*HCLQRHV81Hsg`VEfv>cYUY-nRt_L&b#+~&iCDW zb1sEvj8%4*&QN}`R&Q@VYjCs=8|-a^2HQ6W3?)r(DELz~iAh&iSAo~--QU{Us?+Ug z%ooX;|3RhsmJkwQF|jTPE8h*C+xum(r*5>fvol3uN8E0AqhbaL1FcqjP_0%sB&Vd5 zQH{|Jgv(%3q$=q7*cm#v_Y(Z-kPt>iqtVqo&%e%b+-97k0bN>JY7|AWsqv4+MWCvD zkfpxRncY7lfEqAc){mQVs%|}>Tfe2D>9xht>qUOQ|9#BS(Y2YD%F4lp{%?9Io zTqKnJhVk+Xd4&_E?7u9rz#Sut|FA}m9WhGMFV?P8z2=5y3o?f3p~w%^8YZd}9Ahi8rLearXHz=W0^M-^x%I2Cj)opw0Va!# zf$-s`s$0h@_Vo5t?~c4`sTHjSJ2z&}jt^$d+}XFFB32cECNI2PLzUa1D|uFo2L7R= z0p9Dj*Y&~s{jo-uhw23QS59wD5%L17YHh^jgmz*-t+>~9Ke^GuexPDw(bZ~r93 zmrf6i1^(-}xG>al$v^Pbg}^l;#V-Km@(eqUVKc$YQ@3x6MCGGnzNx+_V>gljj?QJ8 z2WB(Z?Yw#I`^Bp_+q2#M&AHy+PgD*MAAd6~9ux5gOwhcA5fveHkU9XQK%A9C0mgU& z+qH!JxPn4|GBCHY_4k$~sV)EBbcBmTz*~i}$BT5SBq@!>A^b&*SkN>F(~feKh&czX=1Sm0MC%Q~Pfm`XXH^ z`pGmqb*6A`!iNPYV_Dk=0CX2HY5vnfep2D<1wlBBxr9L^66uY_V&|21zKV;e4Eu3y za%syu2FG`&WsW}!AT59xDuLyN^Wku~R$*(9OBgtvPEToRX>oOR^V;c&E9R8(9>gC_t00RR8~;re3$000I_L_t&o0Iafm U&#)Dku>b%707*qoM6N<$g7;b7RsaA1 literal 0 HcmV?d00001 diff --git a/fe/web/teller-app/public/favicon-32x32.png b/fe/web/teller-app/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..f76ef3142d365d29fd8851a6b7d66349efe7896b GIT binary patch literal 2617 zcmV-93dZ$`P)irGVbu09cb@+}-}k-e`_BLU=ROGh zAHU$}7gee`c{4Th-d(4e|K7XW=eKWX&^%XEpqaBJM?Gijg22QrlR?57+1;AIrvy}q zZ^dYniVoVM;<`E2sIQ~_QqkB^7IGH73oXN zhcY(xAA0%YffH~1gZeorz}~%kGY=j-_+?pHSz&5wDtiZ`fiHnIYu3mP95_(9dGls# zMMcGxl9G~W(E|Xa)h3id)v!NO)$1<+!Lgm#JM`wtHOnnW*BDC$9Lwzyxw{vWAcQ_Ixm@o3xS<{(gh+fIRG~@mAU0KrYq4d`!gZ+}}iI%+OJ{0PR0 z5Ikk(BiU7=eh-OfB<{k63(=L8 zm0?*~S>F%||Cra2Nx@-$kI7#`?u6-vZ^I|Q+F+P)^ooA`)t?Me{q=^Z-WGl2g>!}p zrNfHLMlM^n?46X9loS5(VgmUi!yad3d3m{zlauq){{8#S%qG|q!XyLL+XlYKInQ)| zltw-jf7USJM5?`~G0J1x7KGjN0*DYX3VXD{*b|^2WMU|GuSgUue?M)Qcp_`;v|#^u zF#)|4&hjURbSTy{8zOX(NiViVOo==<_WmytU47q-!R}c+AwFNPkH3V3fN<=bwUSs) zW=1{e`!JNF3k%djZkoTdPlu8lUL69|4+ei#hKXql+~)J61b3nh!e%q%4x1&?t-X+6 zXC^SiPRQzhfY$dxZjTM1w!tt_gkWd*a;KvLBqwu>K=BGZj)yRu8FxT%UGj146GCE@ z??+94Z8XH=nt1sOb0ZR-hg5fE|?TD?ennKrX7(jSMtXhFQ;Tr zi!n5DvV{(STD@%2Ej3=72!b4#>TFq;{+<8W zgDKnR#jFasGHjw*;5dhCcyOX_!3Q&$uViF&X5drnbxdbq^J-f2#qt`tc8UeSI>s^R zvHKM!5e7s-w+J}ijba($56joNr-|TdzsW&yIR+#Z=mjA8-AiGOdkg2PH-7MJVAh6JoNC_@Y6wr|Wzraz)Ago8F5i$b`Nj``lk{S@#{+oPQuXY& zlf*c`Vp-#lT}BMoG716$rXt}H#-yolGQH0yrQA02X^Zp7UmN|E^Cz zuY3m++yvMUve`<`(j9b+X4L3(M%@PNBuLx|1&BgWjl4_jsK4IZ2ix< zt-x)+Lc4eb@Q@iz9o?TI1lI-!2d8Q^+Bq33UfSn!x{qs9N=V5oag;thlA4$I@e$Rr}#oxt-X$mqU!FBcZ#r=p>ii ze%&;yr>FBnG#AW_m(r{KFc5~sDTFKL|e?x-vPs$$MRP8YU zLQY!`XVpi8U=@%^JH5f2T=%S3_m=_$bqEtPV&rM3b&m^xE~ZlgjpVqGTE>J|*4-C& z%hI%bv8kX(=!Dj)jotLdvtw;VX2s#!H?N*QQzWVXt|;wHh<;CYFi;`H53sgGApQ|i z-d4B)Y9Ii#()R)I5*>z4kC252ogkG829~$eAAeS zL#D8Zy0ozH{>hyDoD!iA`higYrOEh*Wu2W}fVh3*4iOwjn`2E+Hsi)U=uuwgi> z`{?TFhT2QDmRl0ow{PE*^k%g0$-KOETjCx%7SYJ9qA67a+poeF<#awrz4? zVBiUQZC+0CMq*-O0du$)XyzA=hrC?eH3#Deu=VVsFMdI(R7Nt6=Xo`~aj#=KgD(Mk zZ=X)D@&QZoyQ+aOLnf9{q9{42b=t>(kC)?*vqcK2R+4LdA3 zz%}qP@HjIWh|`in20D{)*VRep^7Ijw%B+>Ps=Ob(u}t0#{{;X5|Nl^pK&1cx00v1! bK~w_(7bq9(;mtYK00000NkvXXu0mjf%JU6# literal 0 HcmV?d00001 diff --git a/fe/web/teller-app/public/favicon.ico b/fe/web/teller-app/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b395cc00304747a9bb4a2e532d01ccc5f49967c6 GIT binary patch literal 15406 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%0DvrRsqKVc{tqj0@ka01nrw!mmCy^ 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 KiN(d;>Hh%|NsNI2 literal 0 HcmV?d00001 diff --git a/fe/web/teller-app/public/site.webmanifest b/fe/web/teller-app/public/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/fe/web/teller-app/public/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/fe/web/teller-app/public/sounds/header-sound.mp3 b/fe/web/teller-app/public/sounds/header-sound.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..8c737909003fb3f020eb2ba1d4f65780f57d0254 GIT binary patch literal 104832 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

    ~Z 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 TzaIbRzn_Zz|9AiI-@tzWSTB&O literal 0 HcmV?d00001 diff --git a/fe/web/teller-app/src/App.jsx b/fe/web/teller-app/src/App.jsx index c98db86..7a765fa 100644 --- a/fe/web/teller-app/src/App.jsx +++ b/fe/web/teller-app/src/App.jsx @@ -1,9 +1,10 @@ import React, { useEffect, useState } from 'react'; -import { Route, Routes } from 'react-router-dom'; +import { Route, Routes, useLocation } from 'react-router-dom'; import StationIntroPage from './pages/StationIntroPage/StationIntroPage.jsx'; import ShowQueuesForTellerPage from './pages/ShowQueuesForTellerPage/ShowQueuesForTellerPage'; import Header from './components/Header/Header.jsx'; import CurrentTicketPage from './pages/CurrentTicketPage/CurrentTicketPage.jsx'; +import BranchDisplayPage from './pages/BranchDisplayPage/BranchDisplayPage.jsx'; import LoginPage from './pages/LoginPage/LoginPage.jsx'; import AuthGuard from './components/AuthGuard/AuthGuard.jsx'; import { UserContext } from './context/UserContext.jsx'; @@ -13,6 +14,13 @@ import { fetchData } from './fetching/Fetch.js'; export default function App() { const [user, setUser] = useState(() => getUserData()); + const location = useLocation(); + const isDisplayRoute = location.pathname.startsWith('/display'); + + useEffect(() => { + document.body.classList.toggle('display-mode', isDisplayRoute); + return () => document.body.classList.remove('display-mode'); + }, [isDisplayRoute]); useEffect(() => { const token = getToken(); @@ -32,7 +40,7 @@ export default function App() { return ( -

    + {isDisplayRoute ? null :
    } } /> } /> - {/* Public display board for waiting area screens */} + {/* Public display boards for waiting area screens */} + } + /> } /> diff --git a/fe/web/teller-app/src/components/Header/Header.jsx b/fe/web/teller-app/src/components/Header/Header.jsx index 13781bd..b9e075c 100644 --- a/fe/web/teller-app/src/components/Header/Header.jsx +++ b/fe/web/teller-app/src/components/Header/Header.jsx @@ -3,6 +3,7 @@ import { useContext } from 'react'; import { useNavigate } from 'react-router-dom'; import { UserContext } from '../../context/UserContext.jsx'; import { clearSession } from '../../utils/session.js'; +import { clearActiveStation } from '../../utils/activeStation.js'; export default function Header() { const navigate = useNavigate(); @@ -10,6 +11,7 @@ export default function Header() { function handleLogout() { clearSession(); + clearActiveStation(); setUser(null); navigate('/login', { replace: true }); } @@ -17,7 +19,7 @@ export default function Header() { return (

    navigate(user ? '/' : '/login')}> - BBQMS Teller + MyKOPKB QMS-Teller

    {user ? (
    diff --git a/fe/web/teller-app/src/constants.js b/fe/web/teller-app/src/constants.js index 3a16b00..e8863df 100644 --- a/fe/web/teller-app/src/constants.js +++ b/fe/web/teller-app/src/constants.js @@ -1,5 +1,9 @@ export const SERVER_URL = 'http://localhost:8080'; +export const GOLD_PRICE_URL = + import.meta.env.VITE_GOLD_PRICE_URL ?? + 'https://apiujrah.erahn.com.my/api/harga_emas'; + export const ROLES = { ROLE_USER: 'ROLE_USER', ROLE_SUPER_ADMIN: 'ROLE_SUPER_ADMIN', diff --git a/fe/web/teller-app/src/index.css b/fe/web/teller-app/src/index.css index 7f05461..501c251 100644 --- a/fe/web/teller-app/src/index.css +++ b/fe/web/teller-app/src/index.css @@ -14,6 +14,12 @@ body { background-color: ghostwhite; } +body.display-mode { + padding: 0; + background-color: #0f172a; + overflow-x: hidden; +} + :root { /* ovdje definisite konstante boje i sl. koje cete koristiti na vise mjesta */ --blue: #334257; diff --git a/fe/web/teller-app/src/pages/BranchDisplayPage/AdCarousel.jsx b/fe/web/teller-app/src/pages/BranchDisplayPage/AdCarousel.jsx new file mode 100644 index 0000000..be8ee24 --- /dev/null +++ b/fe/web/teller-app/src/pages/BranchDisplayPage/AdCarousel.jsx @@ -0,0 +1,148 @@ +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import { fetchData } from '../../fetching/Fetch.js'; +import { SERVER_URL } from '../../constants.js'; + +function resolveMediaUrl(mediaUrl) { + if (!mediaUrl) return null; + return mediaUrl.startsWith('http') ? mediaUrl : `${SERVER_URL}${mediaUrl}`; +} + +export default function AdCarousel({ tenantCode }) { + const [ads, setAds] = useState([]); + const [index, setIndex] = useState(0); + const [error, setError] = useState(null); + const timerRef = useRef(null); + const videoRef = useRef(null); + + const clearTimer = useCallback(() => { + if (timerRef.current) { + clearTimeout(timerRef.current); + timerRef.current = null; + } + }, []); + + const loadAds = useCallback(async () => { + if (!tenantCode) return; + try { + const response = await fetchData( + `${SERVER_URL}/api/v1/ads/${encodeURIComponent(tenantCode)}/active`, + 'GET' + ); + if (!response.success) { + setError('Could not load advertisements.'); + return; + } + const next = Array.isArray(response.data) ? response.data : []; + setAds(next); + setError(null); + setIndex((current) => (next.length === 0 ? 0 : current % next.length)); + } catch (err) { + console.error(err); + setError('Could not load advertisements.'); + } + }, [tenantCode]); + + useEffect(() => { + loadAds(); + const interval = setInterval(loadAds, 60 * 1000); + return () => clearInterval(interval); + }, [loadAds]); + + const goNext = useCallback(() => { + setIndex((current) => { + if (ads.length === 0) return 0; + return (current + 1) % ads.length; + }); + }, [ads.length]); + + const currentAd = ads[index] ?? null; + + useEffect(() => { + clearTimer(); + if (!currentAd) return undefined; + + if (currentAd.mediaType === 'IMAGE') { + const durationMs = Math.max(1, Number(currentAd.durationSeconds) || 10) * 1000; + timerRef.current = setTimeout(goNext, durationMs); + return clearTimer; + } + + // Videos advance on ended; fallback if play fails + timerRef.current = setTimeout(goNext, 5 * 60 * 1000); + return clearTimer; + }, [currentAd, goNext, clearTimer]); + + useEffect(() => { + const video = videoRef.current; + if (!video || currentAd?.mediaType !== 'VIDEO') return undefined; + + const onEnded = () => goNext(); + video.addEventListener('ended', onEnded); + video.muted = true; + video.playsInline = true; + const playPromise = video.play(); + if (playPromise?.catch) { + playPromise.catch(() => { + // Autoplay blocked — advance after durationSeconds fallback + clearTimer(); + const durationMs = Math.max(5, Number(currentAd.durationSeconds) || 15) * 1000; + timerRef.current = setTimeout(goNext, durationMs); + }); + } + + return () => { + video.removeEventListener('ended', onEnded); + }; + }, [currentAd, goNext, clearTimer]); + + if (error) { + return ( +
    +

    Pengiklanan

    +

    {error}

    +
    + ); + } + + if (ads.length === 0) { + return ( +
    +

    Pengiklanan

    +

    Tiada pengiklanan aktif.

    +
    + ); + } + + const src = resolveMediaUrl(currentAd.mediaUrl); + + return ( +
    +
    +

    Pengiklanan

    +
    +
    + {currentAd.mediaType === 'VIDEO' ? ( +
    + {currentAd.title ? ( +

    {currentAd.title}

    + ) : null} +
    + ); +} diff --git a/fe/web/teller-app/src/pages/BranchDisplayPage/BranchDisplayPage.css b/fe/web/teller-app/src/pages/BranchDisplayPage/BranchDisplayPage.css new file mode 100644 index 0000000..44aa694 --- /dev/null +++ b/fe/web/teller-app/src/pages/BranchDisplayPage/BranchDisplayPage.css @@ -0,0 +1,397 @@ +.branch-display { + --bd-bg: #071a10; + --bd-bg-soft: #0c2416; + --bd-surface: #12301f; + --bd-surface-raised: #183c28; + --bd-border: #245537; + --bd-border-strong: #2f6b45; + --bd-text: #f3faf5; + --bd-muted: #9bc4a8; + --bd-muted-strong: #c5e0cf; + --bd-accent: #f0d060; + --bd-accent-bright: #ffe566; + --bd-accent-deep: #d4a017; + --bd-green: #3ecf7a; + --bd-error-bg: #5c1a1a; + --bd-error-text: #fecaca; + + position: relative; + height: 100vh; + width: 100%; + box-sizing: border-box; + padding: 1rem 1.5rem 1rem; + background: + radial-gradient(ellipse 80% 50% at 10% -10%, rgba(62, 207, 122, 0.12), transparent 55%), + radial-gradient(ellipse 60% 40% at 95% 5%, rgba(240, 208, 96, 0.1), transparent 50%), + linear-gradient(165deg, var(--bd-bg-soft) 0%, var(--bd-bg) 55%, #05140c 100%); + color: var(--bd-text); + font-family: system-ui, -apple-system, Segoe UI, sans-serif; + display: grid; + grid-template-rows: auto minmax(0, 1fr); + gap: 0.75rem; + overflow: hidden; +} + +.branch-display__sound-enable { + position: absolute; + top: 0.75rem; + left: 50%; + transform: translateX(-50%); + z-index: 20; + border: 1px solid var(--bd-accent-deep); + background: linear-gradient(180deg, var(--bd-accent-bright) 0%, var(--bd-accent) 100%); + color: #1a2e14; + border-radius: 999px; + padding: 0.45rem 1rem; + font-size: 0.85rem; + font-weight: 600; + cursor: pointer; + box-shadow: 0 2px 12px rgba(240, 208, 96, 0.35); +} + +.branch-display__header { + margin: 0; + display: flex; + align-items: center; + justify-content: space-between; + gap: 1rem; +} + +.branch-display__brand { + display: flex; + align-items: center; + gap: 0.85rem; + min-width: 0; +} + +.branch-display__logo { + height: clamp(2.5rem, 4.5vw, 3.5rem); + width: auto; + flex-shrink: 0; + border-radius: 0.35rem; + object-fit: contain; + background: #fff; +} + +.branch-display__eyebrow { + margin: 0; + font-size: 0.75rem; + letter-spacing: 0.12em; + text-transform: uppercase; + color: var(--bd-accent); + flex-shrink: 0; +} + +.branch-display__title { + margin: 0; + font-size: clamp(1.4rem, 2.2vw, 2rem); + font-weight: 700; + letter-spacing: -0.02em; + color: var(--bd-text); + line-height: 1.2; +} + +.branch-display__error { + margin: 0; + padding: 0.5rem 0.75rem; + border-radius: 0.4rem; + background: var(--bd-error-bg); + color: var(--bd-error-text); + font-size: 0.9rem; +} + +.branch-display__main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(340px, 1.05fr); + gap: 0.85rem; + min-height: 0; + overflow: hidden; +} + +@media (max-width: 960px) { + .branch-display { + height: auto; + min-height: 100vh; + overflow: auto; + grid-template-rows: auto; + } + + .branch-display__main { + grid-template-columns: 1fr; + overflow: visible; + } + + .branch-display__section--waiting { + max-height: none; + } + + .branch-display__section--gold { + flex: none; + min-height: 16rem; + } +} + +.branch-display__queue-column { + min-width: 0; + min-height: 0; + display: flex; + flex-direction: column; + gap: 0.65rem; + overflow: hidden; +} + +.branch-display__section { + margin: 0; + min-height: 0; +} + +.branch-display__section--waiting { + flex: 0 1 auto; + max-height: 28%; + display: flex; + flex-direction: column; + min-height: 0; +} + +.branch-display__section--gold { + flex: 1 1 auto; + display: flex; + flex-direction: column; + min-height: 0; +} + +.branch-display__section-title { + margin: 0 0 0.45rem; + font-size: 0.85rem; + font-weight: 600; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--bd-muted-strong); +} + +.branch-display__stations { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); + gap: 0.55rem; +} + +.branch-display__station-card { + display: flex; + flex-direction: column; + gap: 0.2rem; + padding: 0.65rem 0.5rem; + border-radius: 0.5rem; + background: linear-gradient(160deg, var(--bd-surface-raised) 0%, var(--bd-surface) 100%); + border: 1px solid var(--bd-border); + box-shadow: inset 0 1px 0 rgba(62, 207, 122, 0.08); + text-align: center; +} + +.branch-display__station-name { + margin: 0; + font-size: 0.8rem; + color: var(--bd-muted); +} + +.branch-display__ticket-number { + margin: 0; + font-size: clamp(1.75rem, 3.2vw, 2.75rem); + font-weight: 700; + line-height: 1; + letter-spacing: -0.03em; + color: var(--bd-accent-bright); + text-shadow: 0 0 24px rgba(255, 229, 102, 0.25); +} + +.branch-display__ticket-number--idle { + color: #4a7a5c; + text-shadow: none; +} + +.branch-display__station-service { + margin: 0; + font-size: 0.75rem; + color: var(--bd-muted-strong); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.branch-display__waiting-header { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 0.75rem; + margin-bottom: 0.4rem; + flex-shrink: 0; +} + +.branch-display__waiting-header .branch-display__section-title { + margin-bottom: 0; +} + +.branch-display__waiting-count { + margin: 0; + font-size: 0.85rem; + color: var(--bd-accent); +} + +.branch-display__empty { + margin: 0; + color: var(--bd-muted); + font-size: 0.9rem; +} + +.branch-display__waiting-list { + list-style: none; + margin: 0; + padding: 0; + display: flex; + flex-direction: column; + gap: 0.35rem; + flex: 1; + min-height: 0; + overflow: auto; +} + +.branch-display__waiting-item { + display: flex; + align-items: center; + justify-content: space-between; + gap: 0.75rem; + padding: 0.4rem 0.7rem; + border-radius: 0.4rem; + background: var(--bd-surface); + border: 1px solid var(--bd-border); + border-left: 3px solid var(--bd-green); + flex-shrink: 0; +} + +.branch-display__waiting-number { + font-size: clamp(1.1rem, 1.8vw, 1.5rem); + font-weight: 700; + letter-spacing: -0.02em; + color: var(--bd-accent); +} + +.branch-display__waiting-service { + font-size: 0.85rem; + color: var(--bd-muted-strong); +} + +.branch-display__ad-panel { + min-width: 0; + min-height: 0; + height: 100%; + padding: 0.65rem; + border-radius: 0.6rem; + background: linear-gradient(160deg, var(--bd-surface-raised) 0%, var(--bd-surface) 100%); + border: 1px solid var(--bd-border); + box-shadow: inset 0 1px 0 rgba(240, 208, 96, 0.06); + display: flex; + flex-direction: column; + overflow: hidden; +} + +.branch-display__ad-header { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 0.75rem; + margin-bottom: 0.4rem; + flex-shrink: 0; +} + +.branch-display__ad-header .branch-display__section-title { + margin-bottom: 0; +} + +.branch-display__ad-stage { + position: relative; + flex: 1; + min-height: 0; + width: 100%; + border-radius: 0.4rem; + overflow: hidden; + background: var(--bd-bg); + border: 1px solid var(--bd-border); +} + +.branch-display__ad-media { + display: block; + width: 100%; + height: 100%; + object-fit: contain; + background: var(--bd-bg); +} + +.branch-display__ad-caption { + margin: 0.35rem 0 0; + font-size: 0.8rem; + color: var(--bd-muted-strong); + text-align: center; + flex-shrink: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.branch-display__section--gold .branch-display__waiting-header { + margin-bottom: 0.35rem; +} + +.branch-display__gold-table-wrap { + flex: 1; + min-height: 0; + overflow-y: auto; + overflow-x: hidden; + border-radius: 0.5rem; + border: 1px solid var(--bd-border); + background: var(--bd-surface); + scrollbar-width: none; +} + +.branch-display__gold-table-wrap::-webkit-scrollbar { + display: none; +} + +.branch-display__gold-table { + width: 100%; + border-collapse: collapse; + font-size: 0.9rem; +} + +.branch-display__gold-table th, +.branch-display__gold-table td { + padding: 0.45rem 0.65rem; + text-align: left; + border-bottom: 1px solid var(--bd-border); + line-height: 1.3; +} + +.branch-display__gold-table th { + font-size: 0.7rem; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--bd-accent); + font-weight: 600; + background: var(--bd-bg-soft); + position: sticky; + top: 0; + z-index: 1; +} + +.branch-display__gold-table td:nth-child(3) { + font-variant-numeric: tabular-nums; + font-weight: 600; + color: var(--bd-accent-bright); + white-space: nowrap; +} + +.branch-display__gold-table tbody tr:last-child td { + border-bottom: none; +} + +.branch-display__gold-table tbody tr:hover td { + background: rgba(62, 207, 122, 0.06); +} diff --git a/fe/web/teller-app/src/pages/BranchDisplayPage/BranchDisplayPage.jsx b/fe/web/teller-app/src/pages/BranchDisplayPage/BranchDisplayPage.jsx new file mode 100644 index 0000000..44e7b0d --- /dev/null +++ b/fe/web/teller-app/src/pages/BranchDisplayPage/BranchDisplayPage.jsx @@ -0,0 +1,345 @@ +import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import { useParams } from 'react-router-dom'; +import { fetchData } from '../../fetching/Fetch.js'; +import { GOLD_PRICE_URL, SERVER_URL } from '../../constants.js'; +import { + hasNewServingCall, + playQueueCallSound, + servingSnapshot, + unlockQueueCallSound, +} from '../../utils/queueCallSound.js'; +import AdCarousel from './AdCarousel.jsx'; +import './BranchDisplayPage.css'; + +function formatGoldPrice(value) { + const amount = Number(value); + if (!Number.isFinite(amount)) return value ?? '—'; + return amount.toLocaleString('en-MY', { + minimumFractionDigits: 2, + maximumFractionDigits: 2, + }); +} + +export default function BranchDisplayPage() { + const { tenantCode, branchId } = useParams(); + const [branchName, setBranchName] = useState(''); + const [stations, setStations] = useState([]); + const [tickets, setTickets] = useState([]); + const [goldPrices, setGoldPrices] = useState([]); + const [goldUpdatedAt, setGoldUpdatedAt] = useState(null); + const [goldError, setGoldError] = useState(null); + const [error, setError] = useState(null); + const [soundReady, setSoundReady] = useState(false); + const goldTableWrapRef = useRef(null); + const previousServingRef = useRef(null); + + const loadDisplay = useCallback(async () => { + if (!tenantCode || !branchId) return; + + try { + const [stationsRes, queueRes, branchesRes] = await Promise.all([ + fetchData( + `${SERVER_URL}/api/v1/stations/${encodeURIComponent(tenantCode)}/${branchId}`, + 'GET' + ), + fetchData( + `${SERVER_URL}/api/v1/branches/${encodeURIComponent(tenantCode)}/${branchId}/queue?activeOnly=true&sort=createdAt,asc`, + 'GET' + ), + fetchData( + `${SERVER_URL}/api/v1/branches/${encodeURIComponent(tenantCode)}`, + 'GET' + ), + ]); + + if (!stationsRes.success || !queueRes.success) { + setError('Could not load branch display.'); + return; + } + + setError(null); + setStations(Array.isArray(stationsRes.data) ? stationsRes.data : []); + setTickets(Array.isArray(queueRes.data) ? queueRes.data : []); + + if (branchesRes.success && Array.isArray(branchesRes.data)) { + const branch = branchesRes.data.find( + (item) => Number(item.id) === Number(branchId) + ); + if (branch?.name) { + setBranchName(branch.name); + } + } else if (queueRes.data?.[0]?.branch?.name) { + setBranchName(queueRes.data[0].branch.name); + } + } catch (err) { + console.error(err); + setError('Could not load branch display.'); + } + }, [tenantCode, branchId]); + + const loadGoldPrices = useCallback(async () => { + try { + const response = await fetch(GOLD_PRICE_URL); + if (!response.ok) { + throw new Error(`Gold price request failed (${response.status})`); + } + const data = await response.json(); + const rows = Array.isArray(data) ? data : []; + setGoldPrices(rows); + setGoldUpdatedAt(rows[0]?.tarikhupdate ?? null); + setGoldError(null); + } catch (err) { + console.error(err); + setGoldError('Could not load gold prices.'); + } + }, []); + + useEffect(() => { + loadDisplay(); + const interval = setInterval(loadDisplay, 3000); + return () => clearInterval(interval); + }, [loadDisplay]); + + useEffect(() => { + loadGoldPrices(); + const interval = setInterval(loadGoldPrices, 5 * 60 * 1000); + return () => clearInterval(interval); + }, [loadGoldPrices]); + + useEffect(() => { + const wrap = goldTableWrapRef.current; + if (!wrap || goldPrices.length === 0) return undefined; + + let rafId = 0; + let pauseUntil = 0; + let direction = 1; + const speedPxPerSec = 28; + const pauseMs = 1600; + let lastTs = 0; + + const step = (now) => { + if (!lastTs) lastTs = now; + const dt = Math.min(now - lastTs, 50); + lastTs = now; + + const maxScroll = wrap.scrollHeight - wrap.clientHeight; + if (maxScroll <= 2) { + rafId = requestAnimationFrame(step); + return; + } + + if (now < pauseUntil) { + rafId = requestAnimationFrame(step); + return; + } + + wrap.scrollTop += (speedPxPerSec * dt * direction) / 1000; + + if (direction > 0 && wrap.scrollTop >= maxScroll - 1) { + wrap.scrollTop = maxScroll; + direction = -1; + pauseUntil = now + pauseMs; + } else if (direction < 0 && wrap.scrollTop <= 1) { + wrap.scrollTop = 0; + direction = 1; + pauseUntil = now + pauseMs; + } + + rafId = requestAnimationFrame(step); + }; + + const startId = requestAnimationFrame(() => { + wrap.scrollTop = 0; + lastTs = 0; + rafId = requestAnimationFrame(step); + }); + + return () => { + cancelAnimationFrame(startId); + cancelAnimationFrame(rafId); + }; + }, [goldPrices]); + + const servingByStationId = useMemo(() => { + const map = new Map(); + for (const ticket of tickets) { + if (ticket.station?.id != null) { + map.set(Number(ticket.station.id), ticket); + } + } + return map; + }, [tickets]); + + useEffect(() => { + const next = servingSnapshot(tickets); + const previous = previousServingRef.current; + + if (hasNewServingCall(previous, next)) { + playQueueCallSound(); + } + + previousServingRef.current = next; + }, [tickets]); + + const waiting = useMemo( + () => tickets.filter((ticket) => ticket.station == null), + [tickets] + ); + + const sortedStations = useMemo( + () => [...stations].sort((a, b) => String(a.name).localeCompare(String(b.name))), + [stations] + ); + + return ( +
    { + if (!soundReady) { + unlockQueueCallSound(); + setSoundReady(true); + } + }} + > + {!soundReady ? ( + + ) : null} + +
    +
    + ar-rahn +

    + Selamat Datang ke Cawangan {branchName} +

    +
    +

    Sistem Nombor Giliran

    +
    + + {error ?

    {error}

    : null} + +
    +
    +
    +

    Sedang Diproses

    + {sortedStations.length === 0 ? ( +

    Tiada Stesen di Branch ini.

    + ) : ( +
    + {sortedStations.map((station) => { + const ticket = servingByStationId.get(Number(station.id)); + return ( +
    +

    + {station.name} +

    +

    + {ticket ? ticket.number : '—'} +

    +

    + {ticket?.service?.name ?? 'Waiting for next'} +

    +
    + ); + })} +
    + )} +
    + +
    +
    +

    Giliran

    +

    + {waiting.length} dalam giliran +

    +
    + {waiting.length === 0 ? ( +

    Tiada nombor dalam giliran.

    + ) : ( +
      + {waiting.map((ticket) => ( +
    • + + {ticket.number} + +
    • + ))} +
    + )} +
    + +
    +
    +

    Harga Emas

    + {goldUpdatedAt ? ( +

    + Dikemas kini pada {goldUpdatedAt} +

    + ) : null} +
    + {goldError ? ( +

    {goldError}

    + ) : null} + {!goldError && goldPrices.length === 0 ? ( +

    Loading harga emas…

    + ) : null} + {goldPrices.length > 0 ? ( +
    + + + + + + + + + + {goldPrices.map((row) => ( + + + + + + ))} + +
    KaratMutuRM/g
    {row.karat}{row.keterangan}{formatGoldPrice(row.harga)}
    +
    + ) : null} +
    +
    + + +
    +
    + ); +} diff --git a/fe/web/teller-app/src/pages/ShowQueuesForTellerPage/ShowQueuesForTellerPage.jsx b/fe/web/teller-app/src/pages/ShowQueuesForTellerPage/ShowQueuesForTellerPage.jsx index 0a29b62..e7f671e 100644 --- a/fe/web/teller-app/src/pages/ShowQueuesForTellerPage/ShowQueuesForTellerPage.jsx +++ b/fe/web/teller-app/src/pages/ShowQueuesForTellerPage/ShowQueuesForTellerPage.jsx @@ -1,107 +1,203 @@ -import React, { useState, useEffect } from 'react'; +import React, { useContext, useEffect, useState } from 'react'; import { Button, Table } from 'react-bootstrap'; import 'bootstrap/dist/css/bootstrap.min.css'; import { useInterval } from '../../hooks/hooks.jsx'; -import { fetchData } from '../../fetching/Fetch.js' +import { fetchData } from '../../fetching/Fetch.js'; import { SERVER_URL } from '../../constants.js'; -import { Link, useParams } from 'react-router-dom'; +import { Link, useLocation, useParams } from 'react-router-dom'; +import { UserContext } from '../../context/UserContext.jsx'; +import { getActiveStation, saveActiveStation } from '../../utils/activeStation.js'; const styles = { stationRow: { - backgroundColor: "#ADD8E6", - } + backgroundColor: '#ADD8E6', + }, }; export default function ShowQueuesForTellerPage() { - const url = `${ SERVER_URL }/api/v1/`; - const [ tickets, setTickets ] = useState([]); - const [ usedUndo, setUsedUndo ] = useState(false) - const [ timedOut, setTimedOut ] = useState(false) + const url = `${SERVER_URL}/api/v1/`; + const [tickets, setTickets] = useState([]); + const [usedUndo, setUsedUndo] = useState(false); + const [timedOut, setTimedOut] = useState(false); + const [stationLabel, setStationLabel] = useState(null); + + const { stationId } = useParams(); + const location = useLocation(); + const { user } = useContext(UserContext); + const tenantCode = user?.tenantCode; - const { stationId} = useParams() - useEffect(() => { fetchTicketsForTellerStation(); - }, [ stationId ]); + }, [stationId]); - useInterval(fetchTicketsForTellerStation, 10000) + useEffect(() => { + const fromNav = location.state; + if (fromNav?.station?.name) { + const next = { + stationId: Number(stationId), + stationName: fromNav.station.name, + branchId: fromNav.branch?.id ?? null, + branchName: fromNav.branch?.name ?? null, + }; + saveActiveStation(next); + setStationLabel(next); + return; + } + + const fromSession = getActiveStation(stationId); + if (fromSession?.stationName) { + setStationLabel(fromSession); + return; + } + + if (!tenantCode) { + setStationLabel({ stationId: Number(stationId), stationName: `Station ${stationId}` }); + return; + } + + fetchData(`${url}branches/${encodeURIComponent(tenantCode)}`, 'GET') + .then(({ data, success }) => { + if (!success || !Array.isArray(data)) { + setStationLabel({ + stationId: Number(stationId), + stationName: `Station ${stationId}`, + }); + return; + } + + for (const branch of data) { + const station = branch.tellerStations?.find( + (item) => Number(item.id) === Number(stationId) + ); + if (station) { + const next = { + stationId: Number(stationId), + stationName: station.name, + branchId: branch.id, + branchName: branch.name, + }; + saveActiveStation(next); + setStationLabel(next); + return; + } + } + + setStationLabel({ + stationId: Number(stationId), + stationName: `Station ${stationId}`, + }); + }) + .catch(() => { + setStationLabel({ + stationId: Number(stationId), + stationName: `Station ${stationId}`, + }); + }); + }, [stationId, tenantCode, location.state, url]); + + useInterval(fetchTicketsForTellerStation, 10000); function fetchTicketsForTellerStation() { - fetchData(`${ url }stations/${ stationId }/tickets`, 'GET') - .then(response => response.data) + fetchData(`${url}stations/${stationId}/tickets`, 'GET') + .then((response) => response.data) .then(setTickets) - .catch(console.error) + .catch(console.error); } function advanceQueue() { - fetchData(`${ url }teller/advance-queue/${ stationId }`, 'POST') + fetchData(`${url}teller/advance-queue/${stationId}`, 'POST') .then(fetchTicketsForTellerStation) .then(() => setUsedUndo(false)) .then(timeOutTeller) - .catch(console.error) + .catch(console.error); } function undoQueue() { - fetchData(`${ url }teller/undo-queue/${ stationId }`, 'POST') + fetchData(`${url}teller/undo-queue/${stationId}`, 'POST') .then(fetchTicketsForTellerStation) .then(() => setUsedUndo(true)) - .catch(console.error) + .catch(console.error); } function timeOutTeller() { - setTimedOut(true) - setTimeout(() => setTimedOut(false), 5000) + setTimedOut(true); + setTimeout(() => setTimedOut(false), 5000); // Can't advance more often than every 5 seconds. } - const hasAssignedTicket = tickets.some(ticket => ticket.station?.id == stationId) + const hasAssignedTicket = tickets.some((ticket) => ticket.station?.id == stationId); return (

    Queues

    -
    + {stationLabel ? ( +

    + {stationLabel.stationName} + {stationLabel.branchName ? ( + · {stationLabel.branchName} + ) : null} +

    + ) : null} +
    - - - + + {tenantCode && stationLabel?.branchId ? ( + + + + ) : null}
    -
    +
    - - - + + + - {tickets.map((ticket, index) => { + {tickets.map((ticket, index) => { const createdAt = new Date(ticket.createdAt); return ( - + @@ -111,5 +207,5 @@ export default function ShowQueuesForTellerPage() {
    Ticket numberServiceCreation atNombor tiketPerkhidmatanDibuat pada
    {ticket.number} + {ticket.number} + {ticket.service.name} {createdAt.toLocaleString()}
    - ) + ); } diff --git a/fe/web/teller-app/src/pages/StationIntroPage/StationIntroPage.jsx b/fe/web/teller-app/src/pages/StationIntroPage/StationIntroPage.jsx index b12843b..f9fa728 100644 --- a/fe/web/teller-app/src/pages/StationIntroPage/StationIntroPage.jsx +++ b/fe/web/teller-app/src/pages/StationIntroPage/StationIntroPage.jsx @@ -5,6 +5,7 @@ import 'bootstrap/dist/css/bootstrap.min.css'; import { SERVER_URL } from '../../constants.js'; import { useNavigate } from 'react-router-dom'; import { UserContext } from '../../context/UserContext.jsx'; +import { saveActiveStation } from '../../utils/activeStation.js'; const StationIntroPage = () => { const navigate = useNavigate(); @@ -77,15 +78,26 @@ const StationIntroPage = () => { function handleStationSelect(station) { setSelectedStation(station); - navigate(`/teller-queue/${station.id}`); + saveActiveStation({ + stationId: station.id, + stationName: station.name, + branchId: selectedBranch?.id, + branchName: selectedBranch?.name, + }); + navigate(`/teller-queue/${station.id}`, { + state: { + station, + branch: selectedBranch, + }, + }); } return (
    -

    Select Branch and Station

    +

    Pilih Cawangan dan Kaunter

    {tenantCode ? ( -

    Tenant: {tenantCode}

    +

    Syarikat: {tenantCode}

    ) : null} {error ?

    {error}

    : null} @@ -98,10 +110,10 @@ const StationIntroPage = () => { disabled={loadingBranches || branches.length === 0} > {loadingBranches - ? 'Loading branches…' + ? 'Loading cawangan…' : selectedBranch - ? selectedBranch.name - : 'Select Branch'} + ? selectedBranch.name + : 'Pilih Cawangan'} {branches.map((branch) => ( @@ -125,10 +137,10 @@ const StationIntroPage = () => { disabled={loadingStations || stations.length === 0} > {loadingStations - ? 'Loading stations…' + ? 'Loading kaunter…' : selectedStation - ? selectedStation.name - : 'Select Station'} + ? selectedStation.name + : 'Pilih Kaunter'} {stations.map((station) => ( diff --git a/fe/web/teller-app/src/utils/activeStation.js b/fe/web/teller-app/src/utils/activeStation.js new file mode 100644 index 0000000..ec14cd4 --- /dev/null +++ b/fe/web/teller-app/src/utils/activeStation.js @@ -0,0 +1,31 @@ +const ACTIVE_STATION_KEY = 'qms_teller_active_station'; + +export function saveActiveStation({ stationId, stationName, branchId, branchName }) { + sessionStorage.setItem( + ACTIVE_STATION_KEY, + JSON.stringify({ + stationId: Number(stationId), + stationName, + branchId: branchId != null ? Number(branchId) : null, + branchName: branchName ?? null, + }) + ); +} + +export function getActiveStation(stationId) { + try { + const raw = sessionStorage.getItem(ACTIVE_STATION_KEY); + if (!raw) return null; + const parsed = JSON.parse(raw); + if (stationId != null && Number(parsed.stationId) !== Number(stationId)) { + return null; + } + return parsed; + } catch { + return null; + } +} + +export function clearActiveStation() { + sessionStorage.removeItem(ACTIVE_STATION_KEY); +} diff --git a/fe/web/teller-app/src/utils/queueCallSound.js b/fe/web/teller-app/src/utils/queueCallSound.js new file mode 100644 index 0000000..aff413a --- /dev/null +++ b/fe/web/teller-app/src/utils/queueCallSound.js @@ -0,0 +1,89 @@ +const CALL_SOUND_URL = '/sounds/header-sound.mp3'; + +let sharedAudio = null; +let unlocked = false; + +function getCallAudio() { + if (!sharedAudio) { + sharedAudio = new Audio(CALL_SOUND_URL); + sharedAudio.preload = 'auto'; + } + return sharedAudio; +} + +/** + * Call once after a user gesture (click/tap) so later plays are allowed. + */ +export function unlockQueueCallSound() { + if (unlocked) return; + try { + const audio = getCallAudio(); + audio.muted = true; + const playPromise = audio.play(); + if (playPromise?.then) { + playPromise + .then(() => { + audio.pause(); + audio.currentTime = 0; + audio.muted = false; + unlocked = true; + }) + .catch(() => { + // Still mark unlocked so we keep trying on real calls. + audio.muted = false; + unlocked = true; + }); + } else { + audio.muted = false; + unlocked = true; + } + } catch { + unlocked = true; + } +} + +/** + * Play the queue-call notification chime. + * Safe to call repeatedly; restarts from the beginning each time. + */ +export function playQueueCallSound() { + try { + const audio = getCallAudio(); + audio.muted = false; + audio.currentTime = 0; + const playPromise = audio.play(); + if (playPromise?.catch) { + playPromise.catch((error) => { + console.warn('Could not play queue call sound:', error); + }); + } + } catch (error) { + console.warn('Could not play queue call sound:', error); + } +} + +/** + * Build a stable map of stationId -> ticket number for currently serving tickets. + */ +export function servingSnapshot(tickets) { + const map = {}; + for (const ticket of tickets) { + if (ticket?.station?.id != null && ticket?.number != null) { + map[String(ticket.station.id)] = String(ticket.number); + } + } + return map; +} + +/** + * Returns true if any station got a new/different ticket number vs the previous snapshot. + */ +export function hasNewServingCall(previous, next) { + if (!previous) return false; + for (const [stationId, number] of Object.entries(next)) { + if (previous[stationId] !== number) { + return true; + } + } + return false; +}