diff --git a/dist/index.html b/dist/index.html
index cb62388f..25914378 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -48,6 +48,7 @@
Maps JSAPI Samples
deckgl-kml
deckgl-kml-updated
deckgl-polygon
+ js-api-loader-map
layer-data-quakes-red
layer-data-quakes-simple
layer-data-simple
diff --git a/dist/samples/place-autocomplete-data-session/app/index.html b/dist/samples/place-autocomplete-data-session/app/index.html
index c84980e9..02babac7 100644
--- a/dist/samples/place-autocomplete-data-session/app/index.html
+++ b/dist/samples/place-autocomplete-data-session/app/index.html
@@ -6,35 +6,34 @@
-->
-
- Place Autocomplete Data API Session
+
+ Place Autocomplete Data API Session
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/samples/place-autocomplete-data-session/app/index.ts b/dist/samples/place-autocomplete-data-session/app/index.ts
index c9f7ab53..cb688153 100644
--- a/dist/samples/place-autocomplete-data-session/app/index.ts
+++ b/dist/samples/place-autocomplete-data-session/app/index.ts
@@ -5,52 +5,69 @@
*/
// [START maps_place_autocomplete_data_session]
-let titleElement;
-let resultsContainerElement;
-let inputElement;
-
+const mapElement = document.querySelector('gmp-map') as google.maps.MapElement;
+let innerMap: google.maps.Map;
+let marker: google.maps.marker.AdvancedMarkerElement;
+let titleElement = document.querySelector('.title') as HTMLElement;
+let resultsContainerElement = document.querySelector('.results') as HTMLElement;
+let inputElement = document.querySelector('input') as HTMLInputElement;
+let tokenStatusElement = document.querySelector('.token-status') as HTMLElement;
let newestRequestId = 0;
+let tokenCount = 0;
-// Add an initial request body.
-const request = {
+// Create an initial request body.
+const request: google.maps.places.AutocompleteRequest = {
input: '',
- locationRestriction: { west: -122.44, north: 37.8, east: -122.39, south: 37.78 },
- origin: { lat: 37.7893, lng: -122.4039 },
- includedPrimaryTypes: ['restaurant'],
- language: 'en-US',
- region: 'us',
-};
-
-function init() {
- titleElement = document.getElementById('title');
- resultsContainerElement = document.getElementById('results');
- inputElement = document.querySelector('input');
+ includedPrimaryTypes: [
+ 'restaurant',
+ 'cafe',
+ 'museum',
+ 'park',
+ 'botanical_garden',
+ ],
+}
+
+async function init() {
+ await google.maps.importLibrary('maps');
+ innerMap = mapElement.innerMap;
+ innerMap.setOptions({
+ mapTypeControl: false,
+ });
+
+ // Update request center and bounds when the map bounds change.
+ google.maps.event.addListener(innerMap, 'bounds_changed', async () => {
+ request.locationRestriction = innerMap.getBounds();
+ request.origin = innerMap.getCenter();
+ });
+
inputElement.addEventListener('input', makeAutocompleteRequest);
- refreshToken(request);
}
async function makeAutocompleteRequest(inputEvent) {
- // Reset elements and exit if an empty string is received.
- if (inputEvent.target.value == '') {
- titleElement.innerText = '';
+ // To avoid race conditions, store the request ID and compare after the request.
+ const requestId = ++newestRequestId;
+
+ const { AutocompleteSuggestion } = (await google.maps.importLibrary(
+ 'places'
+ )) as google.maps.PlacesLibrary;
+
+ if (!inputEvent.target?.value) {
+ titleElement.textContent = '';
resultsContainerElement.replaceChildren();
return;
}
// Add the latest char sequence to the request.
- request.input = inputEvent.target.value;
-
- // To avoid race conditions, store the request ID and compare after the request.
- const requestId = ++newestRequestId;
+ request.input = (inputEvent.target as HTMLInputElement).value;
// Fetch autocomplete suggestions and show them in a list.
- // @ts-ignore
- const { suggestions } = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
+ const { suggestions } =
+ await AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
// If the request has been superseded by a newer request, do not render the output.
if (requestId !== newestRequestId) return;
- titleElement.innerText = `Query predictions for "${request.input}"`;
+ titleElement.innerText = `Place predictions for "${request.input}"`;
// Clear the list first.
resultsContainerElement.replaceChildren();
@@ -58,44 +75,74 @@ async function makeAutocompleteRequest(inputEvent) {
for (const suggestion of suggestions) {
const placePrediction = suggestion.placePrediction;
+ if (!placePrediction) {
+ continue;
+ }
+
// Create a link for the place, add an event handler to fetch the place.
- const a = document.createElement('a');
- a.addEventListener('click', () => {
- onPlaceSelected(placePrediction!.toPlace());
+ // We are using a button element to take advantage of its a11y capabilities.
+ const placeButton = document.createElement('button');
+ placeButton.addEventListener('click', () => {
+ onPlaceSelected(placePrediction.toPlace());
});
- a.innerText = placePrediction!.text.toString();
+ placeButton.textContent = placePrediction.text.toString();
+ placeButton.classList.add('place-button');
// Create a new list item element.
const li = document.createElement('li');
- li.appendChild(a);
+ li.appendChild(placeButton);
resultsContainerElement.appendChild(li);
}
}
// Event handler for clicking on a suggested place.
-async function onPlaceSelected(place) {
+async function onPlaceSelected(place: google.maps.places.Place) {
+ const { AdvancedMarkerElement } = (await google.maps.importLibrary(
+ 'marker'
+ )) as google.maps.MarkerLibrary;
+
await place.fetchFields({
- fields: ['displayName', 'formattedAddress'],
+ fields: ['displayName', 'formattedAddress', 'location'],
});
- const placeText = document.createTextNode(`${place.displayName}: ${place.formattedAddress}`);
- resultsContainerElement.replaceChildren(placeText);
- titleElement.innerText = 'Selected Place:';
+
+ resultsContainerElement.textContent = `${place.displayName}: ${place.formattedAddress}`;
+ titleElement.textContent = 'Selected Place:';
inputElement.value = '';
- refreshToken(request);
+
+ await refreshToken();
+
+ // Remove the previous marker, if it exists.
+ if (marker) {
+ marker.remove();
+ }
+
+ // Create a new marker.
+ marker = new AdvancedMarkerElement({
+ map: innerMap,
+ position: place.location,
+ title: place.displayName,
+ })
+
+ // Center the map on the selected place.
+ if (place.location) {
+ innerMap.setCenter(place.location);
+ innerMap.setZoom(15);
+ }
}
// Helper function to refresh the session token.
-function refreshToken(request) {
+async function refreshToken() {
+ const { AutocompleteSessionToken } = (await google.maps.importLibrary(
+ 'places'
+ )) as google.maps.PlacesLibrary;
+
+ // Increment the token counter.
+ tokenCount++;
+
// Create a new session token and add it to the request.
- request.sessionToken = new google.maps.places.AutocompleteSessionToken();
+ request.sessionToken = new AutocompleteSessionToken();
+ tokenStatusElement.textContent = `Session token count: ${tokenCount}`;
}
-declare global {
- interface Window {
- init: () => void;
- }
- }
- window.init = init;
+init();
// [END maps_place_autocomplete_data_session]
-void 0; // No-op to preserve the last region tag comment.
-export { };
diff --git a/dist/samples/place-autocomplete-data-session/app/style.css b/dist/samples/place-autocomplete-data-session/app/style.css
index dd36896d..dfff1a9d 100644
--- a/dist/samples/place-autocomplete-data-session/app/style.css
+++ b/dist/samples/place-autocomplete-data-session/app/style.css
@@ -22,14 +22,55 @@ body {
padding: 0;
}
-a {
+.place-button {
+ height: 3rem;
+ width: 100%;
+ background-color: transparent;
+ text-align: left;
+ border: none;
cursor: pointer;
- text-decoration: underline;
- color: blue;
}
-input {
+.place-button:focus-visible {
+ outline: 2px solid #0056b3;
+ border-radius: 2px;
+}
+
+.input {
width: 300px;
+ font-size: small;
+ margin-bottom: 1rem;
+}
+
+/* Styles for the floating panel */
+.controls {
+ background-color: #fff;
+ border-radius: 8px;
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
+ font-family: sans-serif;
+ font-size: small;
+ margin: 12px;
+ padding: 1rem;
+}
+
+.title {
+ font-weight: bold;
+ margin-top: 1rem;
+ margin-bottom: 0.5rem;
+}
+
+.results {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+.results li:not(:last-child) {
+ border-bottom: 1px solid #ddd;
+}
+
+.results li:hover {
+ background-color: #eee;
}
-/* [END maps_place_autocomplete_data_session] */
\ No newline at end of file
+/* [END maps_place_autocomplete_data_session] */
diff --git a/dist/samples/place-autocomplete-data-session/dist/assets/index-3eHdSf6r.js b/dist/samples/place-autocomplete-data-session/dist/assets/index-3eHdSf6r.js
deleted file mode 100644
index 92efb9e8..00000000
--- a/dist/samples/place-autocomplete-data-session/dist/assets/index-3eHdSf6r.js
+++ /dev/null
@@ -1,5 +0,0 @@
-(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))c(e);new MutationObserver(e=>{for(const t of e)if(t.type==="childList")for(const r of t.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&c(r)}).observe(document,{childList:!0,subtree:!0});function u(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?t.credentials="include":e.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function c(e){if(e.ep)return;e.ep=!0;const t=u(e);fetch(e.href,t)}})();/**
- * @license
- * Copyright 2025 Google LLC. All Rights Reserved.
- * SPDX-License-Identifier: Apache-2.0
- */let l,i,a,d=0;const s={input:"",locationRestriction:{west:-122.44,north:37.8,east:-122.39,south:37.78},origin:{lat:37.7893,lng:-122.4039},includedPrimaryTypes:["restaurant"],language:"en-US",region:"us"};function p(){l=document.getElementById("title"),i=document.getElementById("results"),a=document.querySelector("input"),a.addEventListener("input",m),f(s)}async function m(n){if(n.target.value==""){l.innerText="",i.replaceChildren();return}s.input=n.target.value;const o=++d,{suggestions:u}=await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(s);if(o===d){l.innerText=`Query predictions for "${s.input}"`,i.replaceChildren();for(const c of u){const e=c.placePrediction,t=document.createElement("a");t.addEventListener("click",()=>{g(e.toPlace())}),t.innerText=e.text.toString();const r=document.createElement("li");r.appendChild(t),i.appendChild(r)}}}async function g(n){await n.fetchFields({fields:["displayName","formattedAddress"]});const o=document.createTextNode(`${n.displayName}: ${n.formattedAddress}`);i.replaceChildren(o),l.innerText="Selected Place:",a.value="",f(s)}function f(n){n.sessionToken=new google.maps.places.AutocompleteSessionToken}window.init=p;
diff --git a/dist/samples/place-autocomplete-data-session/dist/assets/index-BxJ1uS2o.js b/dist/samples/place-autocomplete-data-session/dist/assets/index-BxJ1uS2o.js
new file mode 100644
index 00000000..6bd436ed
--- /dev/null
+++ b/dist/samples/place-autocomplete-data-session/dist/assets/index-BxJ1uS2o.js
@@ -0,0 +1,5 @@
+(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))a(e);new MutationObserver(e=>{for(const t of e)if(t.type==="childList")for(const o of t.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function l(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?t.credentials="include":e.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function a(e){if(e.ep)return;e.ep=!0;const t=l(e);fetch(e.href,t)}})();/**
+ * @license
+ * Copyright 2025 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */const y=document.querySelector("gmp-map");let r,u,d=document.querySelector(".title"),c=document.querySelector(".results"),g=document.querySelector("input"),h=document.querySelector(".token-status"),p=0,f=0;const s={input:"",includedPrimaryTypes:["restaurant","cafe","museum","park","botanical_garden"]};async function C(){await google.maps.importLibrary("maps"),r=y.innerMap,r.setOptions({mapTypeControl:!1}),google.maps.event.addListener(r,"bounds_changed",async()=>{s.locationRestriction=r.getBounds(),s.origin=r.getCenter()}),g.addEventListener("input",S)}async function S(n){const i=++p,{AutocompleteSuggestion:l}=await google.maps.importLibrary("places");if(!n.target?.value){d.textContent="",c.replaceChildren();return}s.input=n.target.value;const{suggestions:a}=await l.fetchAutocompleteSuggestions(s);if(i===p){d.innerText=`Place predictions for "${s.input}"`,c.replaceChildren();for(const e of a){const t=e.placePrediction;if(!t)continue;const o=document.createElement("button");o.addEventListener("click",()=>{L(t.toPlace())}),o.textContent=t.text.toString(),o.classList.add("place-button");const m=document.createElement("li");m.appendChild(o),c.appendChild(m)}}}async function L(n){const{AdvancedMarkerElement:i}=await google.maps.importLibrary("marker");await n.fetchFields({fields:["displayName","formattedAddress","location"]}),c.textContent=`${n.displayName}: ${n.formattedAddress}`,d.textContent="Selected Place:",g.value="",await b(),u&&u.remove(),u=new i({map:r,position:n.location,title:n.displayName}),n.location&&(r.setCenter(n.location),r.setZoom(15))}async function b(){const{AutocompleteSessionToken:n}=await google.maps.importLibrary("places");f++,s.sessionToken=new n,h.textContent=`Session token count: ${f}`}C();
diff --git a/dist/samples/place-autocomplete-data-session/dist/assets/index-C0onLGmW.css b/dist/samples/place-autocomplete-data-session/dist/assets/index-C0onLGmW.css
new file mode 100644
index 00000000..c118ef51
--- /dev/null
+++ b/dist/samples/place-autocomplete-data-session/dist/assets/index-C0onLGmW.css
@@ -0,0 +1,5 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */#map{height:100%}html,body{height:100%;margin:0;padding:0}.place-button{height:3rem;width:100%;background-color:transparent;text-align:left;border:none;cursor:pointer}.place-button:focus-visible{outline:2px solid #0056b3;border-radius:2px}.input{width:300px;font-size:small;margin-bottom:1rem}.controls{background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000004d;font-family:sans-serif;font-size:small;margin:12px;padding:1rem}.title{font-weight:700;margin-top:1rem;margin-bottom:.5rem}.results{list-style-type:none;margin:0;padding:0}.results li:not(:last-child){border-bottom:1px solid #ddd}.results li:hover{background-color:#eee}
diff --git a/dist/samples/place-autocomplete-data-session/dist/assets/index-Ncf0q1_8.css b/dist/samples/place-autocomplete-data-session/dist/assets/index-Ncf0q1_8.css
deleted file mode 100644
index a2516adf..00000000
--- a/dist/samples/place-autocomplete-data-session/dist/assets/index-Ncf0q1_8.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/**
- * @license
- * Copyright 2025 Google LLC. All Rights Reserved.
- * SPDX-License-Identifier: Apache-2.0
- */#map{height:100%}html,body{height:100%;margin:0;padding:0}a{cursor:pointer;text-decoration:underline;color:#00f}input{width:300px}
diff --git a/dist/samples/place-autocomplete-data-session/dist/index.html b/dist/samples/place-autocomplete-data-session/dist/index.html
index 8c4ee965..cd378d64 100644
--- a/dist/samples/place-autocomplete-data-session/dist/index.html
+++ b/dist/samples/place-autocomplete-data-session/dist/index.html
@@ -6,35 +6,34 @@
-->
-
- Place Autocomplete Data API Session
+
+ Place Autocomplete Data API Session
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/samples/place-autocomplete-data-session/docs/index.html b/dist/samples/place-autocomplete-data-session/docs/index.html
index c84980e9..02babac7 100644
--- a/dist/samples/place-autocomplete-data-session/docs/index.html
+++ b/dist/samples/place-autocomplete-data-session/docs/index.html
@@ -6,35 +6,34 @@
-->
-
- Place Autocomplete Data API Session
+
+ Place Autocomplete Data API Session
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/samples/place-autocomplete-data-session/docs/index.js b/dist/samples/place-autocomplete-data-session/docs/index.js
index dbdddc25..51a5dde7 100644
--- a/dist/samples/place-autocomplete-data-session/docs/index.js
+++ b/dist/samples/place-autocomplete-data-session/docs/index.js
@@ -1,80 +1,115 @@
+"use strict";
/**
* @license
* Copyright 2025 Google LLC. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0
*/
// [START maps_place_autocomplete_data_session]
-let titleElement;
-let resultsContainerElement;
-let inputElement;
+const mapElement = document.querySelector('gmp-map');
+let innerMap;
+let marker;
+let titleElement = document.querySelector('.title');
+let resultsContainerElement = document.querySelector('.results');
+let inputElement = document.querySelector('input');
+let tokenStatusElement = document.querySelector('.token-status');
let newestRequestId = 0;
-// Add an initial request body.
+let tokenCount = 0;
+// Create an initial request body.
const request = {
input: '',
- locationRestriction: { west: -122.44, north: 37.8, east: -122.39, south: 37.78 },
- origin: { lat: 37.7893, lng: -122.4039 },
- includedPrimaryTypes: ['restaurant'],
- language: 'en-US',
- region: 'us',
+ includedPrimaryTypes: [
+ 'restaurant',
+ 'cafe',
+ 'museum',
+ 'park',
+ 'botanical_garden',
+ ],
};
-function init() {
- titleElement = document.getElementById('title');
- resultsContainerElement = document.getElementById('results');
- inputElement = document.querySelector('input');
+async function init() {
+ await google.maps.importLibrary('maps');
+ innerMap = mapElement.innerMap;
+ innerMap.setOptions({
+ mapTypeControl: false,
+ });
+ // Update request center and bounds when the map bounds change.
+ google.maps.event.addListener(innerMap, 'bounds_changed', async () => {
+ request.locationRestriction = innerMap.getBounds();
+ request.origin = innerMap.getCenter();
+ });
inputElement.addEventListener('input', makeAutocompleteRequest);
- refreshToken(request);
}
async function makeAutocompleteRequest(inputEvent) {
- // Reset elements and exit if an empty string is received.
- if (inputEvent.target.value == '') {
- titleElement.innerText = '';
+ // To avoid race conditions, store the request ID and compare after the request.
+ const requestId = ++newestRequestId;
+ const { AutocompleteSuggestion } = (await google.maps.importLibrary('places'));
+ if (!inputEvent.target?.value) {
+ titleElement.textContent = '';
resultsContainerElement.replaceChildren();
return;
}
// Add the latest char sequence to the request.
request.input = inputEvent.target.value;
- // To avoid race conditions, store the request ID and compare after the request.
- const requestId = ++newestRequestId;
// Fetch autocomplete suggestions and show them in a list.
- // @ts-ignore
- const { suggestions } = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
+ const { suggestions } = await AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
// If the request has been superseded by a newer request, do not render the output.
if (requestId !== newestRequestId)
return;
- titleElement.innerText = `Query predictions for "${request.input}"`;
+ titleElement.innerText = `Place predictions for "${request.input}"`;
// Clear the list first.
resultsContainerElement.replaceChildren();
for (const suggestion of suggestions) {
const placePrediction = suggestion.placePrediction;
+ if (!placePrediction) {
+ continue;
+ }
// Create a link for the place, add an event handler to fetch the place.
- const a = document.createElement('a');
- a.addEventListener('click', () => {
+ // We are using a button element to take advantage of its a11y capabilities.
+ const placeButton = document.createElement('button');
+ placeButton.addEventListener('click', () => {
onPlaceSelected(placePrediction.toPlace());
});
- a.innerText = placePrediction.text.toString();
+ placeButton.textContent = placePrediction.text.toString();
+ placeButton.classList.add('place-button');
// Create a new list item element.
const li = document.createElement('li');
- li.appendChild(a);
+ li.appendChild(placeButton);
resultsContainerElement.appendChild(li);
}
}
// Event handler for clicking on a suggested place.
async function onPlaceSelected(place) {
+ const { AdvancedMarkerElement } = (await google.maps.importLibrary('marker'));
await place.fetchFields({
- fields: ['displayName', 'formattedAddress'],
+ fields: ['displayName', 'formattedAddress', 'location'],
});
- const placeText = document.createTextNode(`${place.displayName}: ${place.formattedAddress}`);
- resultsContainerElement.replaceChildren(placeText);
- titleElement.innerText = 'Selected Place:';
+ resultsContainerElement.textContent = `${place.displayName}: ${place.formattedAddress}`;
+ titleElement.textContent = 'Selected Place:';
inputElement.value = '';
- refreshToken(request);
+ await refreshToken();
+ // Remove the previous marker, if it exists.
+ if (marker) {
+ marker.remove();
+ }
+ // Create a new marker.
+ marker = new AdvancedMarkerElement({
+ map: innerMap,
+ position: place.location,
+ title: place.displayName,
+ });
+ // Center the map on the selected place.
+ if (place.location) {
+ innerMap.setCenter(place.location);
+ innerMap.setZoom(15);
+ }
}
// Helper function to refresh the session token.
-function refreshToken(request) {
+async function refreshToken() {
+ const { AutocompleteSessionToken } = (await google.maps.importLibrary('places'));
+ // Increment the token counter.
+ tokenCount++;
// Create a new session token and add it to the request.
- request.sessionToken = new google.maps.places.AutocompleteSessionToken();
+ request.sessionToken = new AutocompleteSessionToken();
+ tokenStatusElement.textContent = `Session token count: ${tokenCount}`;
}
-window.init = init;
+init();
// [END maps_place_autocomplete_data_session]
-void 0; // No-op to preserve the last region tag comment.
-export {};
diff --git a/dist/samples/place-autocomplete-data-session/docs/index.ts b/dist/samples/place-autocomplete-data-session/docs/index.ts
index c9f7ab53..cb688153 100644
--- a/dist/samples/place-autocomplete-data-session/docs/index.ts
+++ b/dist/samples/place-autocomplete-data-session/docs/index.ts
@@ -5,52 +5,69 @@
*/
// [START maps_place_autocomplete_data_session]
-let titleElement;
-let resultsContainerElement;
-let inputElement;
-
+const mapElement = document.querySelector('gmp-map') as google.maps.MapElement;
+let innerMap: google.maps.Map;
+let marker: google.maps.marker.AdvancedMarkerElement;
+let titleElement = document.querySelector('.title') as HTMLElement;
+let resultsContainerElement = document.querySelector('.results') as HTMLElement;
+let inputElement = document.querySelector('input') as HTMLInputElement;
+let tokenStatusElement = document.querySelector('.token-status') as HTMLElement;
let newestRequestId = 0;
+let tokenCount = 0;
-// Add an initial request body.
-const request = {
+// Create an initial request body.
+const request: google.maps.places.AutocompleteRequest = {
input: '',
- locationRestriction: { west: -122.44, north: 37.8, east: -122.39, south: 37.78 },
- origin: { lat: 37.7893, lng: -122.4039 },
- includedPrimaryTypes: ['restaurant'],
- language: 'en-US',
- region: 'us',
-};
-
-function init() {
- titleElement = document.getElementById('title');
- resultsContainerElement = document.getElementById('results');
- inputElement = document.querySelector('input');
+ includedPrimaryTypes: [
+ 'restaurant',
+ 'cafe',
+ 'museum',
+ 'park',
+ 'botanical_garden',
+ ],
+}
+
+async function init() {
+ await google.maps.importLibrary('maps');
+ innerMap = mapElement.innerMap;
+ innerMap.setOptions({
+ mapTypeControl: false,
+ });
+
+ // Update request center and bounds when the map bounds change.
+ google.maps.event.addListener(innerMap, 'bounds_changed', async () => {
+ request.locationRestriction = innerMap.getBounds();
+ request.origin = innerMap.getCenter();
+ });
+
inputElement.addEventListener('input', makeAutocompleteRequest);
- refreshToken(request);
}
async function makeAutocompleteRequest(inputEvent) {
- // Reset elements and exit if an empty string is received.
- if (inputEvent.target.value == '') {
- titleElement.innerText = '';
+ // To avoid race conditions, store the request ID and compare after the request.
+ const requestId = ++newestRequestId;
+
+ const { AutocompleteSuggestion } = (await google.maps.importLibrary(
+ 'places'
+ )) as google.maps.PlacesLibrary;
+
+ if (!inputEvent.target?.value) {
+ titleElement.textContent = '';
resultsContainerElement.replaceChildren();
return;
}
// Add the latest char sequence to the request.
- request.input = inputEvent.target.value;
-
- // To avoid race conditions, store the request ID and compare after the request.
- const requestId = ++newestRequestId;
+ request.input = (inputEvent.target as HTMLInputElement).value;
// Fetch autocomplete suggestions and show them in a list.
- // @ts-ignore
- const { suggestions } = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
+ const { suggestions } =
+ await AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
// If the request has been superseded by a newer request, do not render the output.
if (requestId !== newestRequestId) return;
- titleElement.innerText = `Query predictions for "${request.input}"`;
+ titleElement.innerText = `Place predictions for "${request.input}"`;
// Clear the list first.
resultsContainerElement.replaceChildren();
@@ -58,44 +75,74 @@ async function makeAutocompleteRequest(inputEvent) {
for (const suggestion of suggestions) {
const placePrediction = suggestion.placePrediction;
+ if (!placePrediction) {
+ continue;
+ }
+
// Create a link for the place, add an event handler to fetch the place.
- const a = document.createElement('a');
- a.addEventListener('click', () => {
- onPlaceSelected(placePrediction!.toPlace());
+ // We are using a button element to take advantage of its a11y capabilities.
+ const placeButton = document.createElement('button');
+ placeButton.addEventListener('click', () => {
+ onPlaceSelected(placePrediction.toPlace());
});
- a.innerText = placePrediction!.text.toString();
+ placeButton.textContent = placePrediction.text.toString();
+ placeButton.classList.add('place-button');
// Create a new list item element.
const li = document.createElement('li');
- li.appendChild(a);
+ li.appendChild(placeButton);
resultsContainerElement.appendChild(li);
}
}
// Event handler for clicking on a suggested place.
-async function onPlaceSelected(place) {
+async function onPlaceSelected(place: google.maps.places.Place) {
+ const { AdvancedMarkerElement } = (await google.maps.importLibrary(
+ 'marker'
+ )) as google.maps.MarkerLibrary;
+
await place.fetchFields({
- fields: ['displayName', 'formattedAddress'],
+ fields: ['displayName', 'formattedAddress', 'location'],
});
- const placeText = document.createTextNode(`${place.displayName}: ${place.formattedAddress}`);
- resultsContainerElement.replaceChildren(placeText);
- titleElement.innerText = 'Selected Place:';
+
+ resultsContainerElement.textContent = `${place.displayName}: ${place.formattedAddress}`;
+ titleElement.textContent = 'Selected Place:';
inputElement.value = '';
- refreshToken(request);
+
+ await refreshToken();
+
+ // Remove the previous marker, if it exists.
+ if (marker) {
+ marker.remove();
+ }
+
+ // Create a new marker.
+ marker = new AdvancedMarkerElement({
+ map: innerMap,
+ position: place.location,
+ title: place.displayName,
+ })
+
+ // Center the map on the selected place.
+ if (place.location) {
+ innerMap.setCenter(place.location);
+ innerMap.setZoom(15);
+ }
}
// Helper function to refresh the session token.
-function refreshToken(request) {
+async function refreshToken() {
+ const { AutocompleteSessionToken } = (await google.maps.importLibrary(
+ 'places'
+ )) as google.maps.PlacesLibrary;
+
+ // Increment the token counter.
+ tokenCount++;
+
// Create a new session token and add it to the request.
- request.sessionToken = new google.maps.places.AutocompleteSessionToken();
+ request.sessionToken = new AutocompleteSessionToken();
+ tokenStatusElement.textContent = `Session token count: ${tokenCount}`;
}
-declare global {
- interface Window {
- init: () => void;
- }
- }
- window.init = init;
+init();
// [END maps_place_autocomplete_data_session]
-void 0; // No-op to preserve the last region tag comment.
-export { };
diff --git a/dist/samples/place-autocomplete-data-session/docs/style.css b/dist/samples/place-autocomplete-data-session/docs/style.css
index dd36896d..dfff1a9d 100644
--- a/dist/samples/place-autocomplete-data-session/docs/style.css
+++ b/dist/samples/place-autocomplete-data-session/docs/style.css
@@ -22,14 +22,55 @@ body {
padding: 0;
}
-a {
+.place-button {
+ height: 3rem;
+ width: 100%;
+ background-color: transparent;
+ text-align: left;
+ border: none;
cursor: pointer;
- text-decoration: underline;
- color: blue;
}
-input {
+.place-button:focus-visible {
+ outline: 2px solid #0056b3;
+ border-radius: 2px;
+}
+
+.input {
width: 300px;
+ font-size: small;
+ margin-bottom: 1rem;
+}
+
+/* Styles for the floating panel */
+.controls {
+ background-color: #fff;
+ border-radius: 8px;
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
+ font-family: sans-serif;
+ font-size: small;
+ margin: 12px;
+ padding: 1rem;
+}
+
+.title {
+ font-weight: bold;
+ margin-top: 1rem;
+ margin-bottom: 0.5rem;
+}
+
+.results {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+.results li:not(:last-child) {
+ border-bottom: 1px solid #ddd;
+}
+
+.results li:hover {
+ background-color: #eee;
}
-/* [END maps_place_autocomplete_data_session] */
\ No newline at end of file
+/* [END maps_place_autocomplete_data_session] */
diff --git a/dist/samples/place-autocomplete-data-session/jsfiddle/demo.css b/dist/samples/place-autocomplete-data-session/jsfiddle/demo.css
index eb8b3a95..dcfdb8c2 100644
--- a/dist/samples/place-autocomplete-data-session/jsfiddle/demo.css
+++ b/dist/samples/place-autocomplete-data-session/jsfiddle/demo.css
@@ -22,13 +22,55 @@ body {
padding: 0;
}
-a {
+.place-button {
+ height: 3rem;
+ width: 100%;
+ background-color: transparent;
+ text-align: left;
+ border: none;
cursor: pointer;
- text-decoration: underline;
- color: blue;
}
-input {
+.place-button:focus-visible {
+ outline: 2px solid #0056b3;
+ border-radius: 2px;
+}
+
+.input {
width: 300px;
+ font-size: small;
+ margin-bottom: 1rem;
+}
+
+/* Styles for the floating panel */
+.controls {
+ background-color: #fff;
+ border-radius: 8px;
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
+ font-family: sans-serif;
+ font-size: small;
+ margin: 12px;
+ padding: 1rem;
}
+.title {
+ font-weight: bold;
+ margin-top: 1rem;
+ margin-bottom: 0.5rem;
+}
+
+.results {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+.results li:not(:last-child) {
+ border-bottom: 1px solid #ddd;
+}
+
+.results li:hover {
+ background-color: #eee;
+}
+
+
diff --git a/dist/samples/place-autocomplete-data-session/jsfiddle/demo.html b/dist/samples/place-autocomplete-data-session/jsfiddle/demo.html
index f57be9fc..9aedfc24 100644
--- a/dist/samples/place-autocomplete-data-session/jsfiddle/demo.html
+++ b/dist/samples/place-autocomplete-data-session/jsfiddle/demo.html
@@ -6,35 +6,34 @@
-->
-
- Place Autocomplete Data API Session
+
+ Place Autocomplete Data API Session
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/samples/place-autocomplete-data-session/jsfiddle/demo.js b/dist/samples/place-autocomplete-data-session/jsfiddle/demo.js
index a21ad7e8..82599474 100644
--- a/dist/samples/place-autocomplete-data-session/jsfiddle/demo.js
+++ b/dist/samples/place-autocomplete-data-session/jsfiddle/demo.js
@@ -1,80 +1,115 @@
+"use strict";
/**
* @license
* Copyright 2025 Google LLC. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0
*/
-let titleElement;
-let resultsContainerElement;
-let inputElement;
+const mapElement = document.querySelector('gmp-map');
+let innerMap;
+let marker;
+let titleElement = document.querySelector('.title');
+let resultsContainerElement = document.querySelector('.results');
+let inputElement = document.querySelector('input');
+let tokenStatusElement = document.querySelector('.token-status');
let newestRequestId = 0;
-// Add an initial request body.
+let tokenCount = 0;
+// Create an initial request body.
const request = {
input: '',
- locationRestriction: { west: -122.44, north: 37.8, east: -122.39, south: 37.78 },
- origin: { lat: 37.7893, lng: -122.4039 },
- includedPrimaryTypes: ['restaurant'],
- language: 'en-US',
- region: 'us',
+ includedPrimaryTypes: [
+ 'restaurant',
+ 'cafe',
+ 'museum',
+ 'park',
+ 'botanical_garden',
+ ],
};
-function init() {
- titleElement = document.getElementById('title');
- resultsContainerElement = document.getElementById('results');
- inputElement = document.querySelector('input');
+async function init() {
+ await google.maps.importLibrary('maps');
+ innerMap = mapElement.innerMap;
+ innerMap.setOptions({
+ mapTypeControl: false,
+ });
+ // Update request center and bounds when the map bounds change.
+ google.maps.event.addListener(innerMap, 'bounds_changed', async () => {
+ request.locationRestriction = innerMap.getBounds();
+ request.origin = innerMap.getCenter();
+ });
inputElement.addEventListener('input', makeAutocompleteRequest);
- refreshToken(request);
}
async function makeAutocompleteRequest(inputEvent) {
- // Reset elements and exit if an empty string is received.
- if (inputEvent.target.value == '') {
- titleElement.innerText = '';
+ // To avoid race conditions, store the request ID and compare after the request.
+ const requestId = ++newestRequestId;
+ const { AutocompleteSuggestion } = (await google.maps.importLibrary('places'));
+ if (!inputEvent.target?.value) {
+ titleElement.textContent = '';
resultsContainerElement.replaceChildren();
return;
}
// Add the latest char sequence to the request.
request.input = inputEvent.target.value;
- // To avoid race conditions, store the request ID and compare after the request.
- const requestId = ++newestRequestId;
// Fetch autocomplete suggestions and show them in a list.
- // @ts-ignore
- const { suggestions } = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
+ const { suggestions } = await AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
// If the request has been superseded by a newer request, do not render the output.
if (requestId !== newestRequestId)
return;
- titleElement.innerText = `Query predictions for "${request.input}"`;
+ titleElement.innerText = `Place predictions for "${request.input}"`;
// Clear the list first.
resultsContainerElement.replaceChildren();
for (const suggestion of suggestions) {
const placePrediction = suggestion.placePrediction;
+ if (!placePrediction) {
+ continue;
+ }
// Create a link for the place, add an event handler to fetch the place.
- const a = document.createElement('a');
- a.addEventListener('click', () => {
+ // We are using a button element to take advantage of its a11y capabilities.
+ const placeButton = document.createElement('button');
+ placeButton.addEventListener('click', () => {
onPlaceSelected(placePrediction.toPlace());
});
- a.innerText = placePrediction.text.toString();
+ placeButton.textContent = placePrediction.text.toString();
+ placeButton.classList.add('place-button');
// Create a new list item element.
const li = document.createElement('li');
- li.appendChild(a);
+ li.appendChild(placeButton);
resultsContainerElement.appendChild(li);
}
}
// Event handler for clicking on a suggested place.
async function onPlaceSelected(place) {
+ const { AdvancedMarkerElement } = (await google.maps.importLibrary('marker'));
await place.fetchFields({
- fields: ['displayName', 'formattedAddress'],
+ fields: ['displayName', 'formattedAddress', 'location'],
});
- const placeText = document.createTextNode(`${place.displayName}: ${place.formattedAddress}`);
- resultsContainerElement.replaceChildren(placeText);
- titleElement.innerText = 'Selected Place:';
+ resultsContainerElement.textContent = `${place.displayName}: ${place.formattedAddress}`;
+ titleElement.textContent = 'Selected Place:';
inputElement.value = '';
- refreshToken(request);
+ await refreshToken();
+ // Remove the previous marker, if it exists.
+ if (marker) {
+ marker.remove();
+ }
+ // Create a new marker.
+ marker = new AdvancedMarkerElement({
+ map: innerMap,
+ position: place.location,
+ title: place.displayName,
+ });
+ // Center the map on the selected place.
+ if (place.location) {
+ innerMap.setCenter(place.location);
+ innerMap.setZoom(15);
+ }
}
// Helper function to refresh the session token.
-function refreshToken(request) {
+async function refreshToken() {
+ const { AutocompleteSessionToken } = (await google.maps.importLibrary('places'));
+ // Increment the token counter.
+ tokenCount++;
// Create a new session token and add it to the request.
- request.sessionToken = new google.maps.places.AutocompleteSessionToken();
+ request.sessionToken = new AutocompleteSessionToken();
+ tokenStatusElement.textContent = `Session token count: ${tokenCount}`;
}
-window.init = init;
+init();
-void 0; // No-op to preserve the last region tag comment.
-export {};
diff --git a/index.html b/index.html
index cb62388f..25914378 100644
--- a/index.html
+++ b/index.html
@@ -48,6 +48,7 @@ Maps JSAPI Samples
deckgl-kml
deckgl-kml-updated
deckgl-polygon
+ js-api-loader-map
layer-data-quakes-red
layer-data-quakes-simple
layer-data-simple
diff --git a/package-lock.json b/package-lock.json
index b5fe74d2..c438048b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1350,6 +1350,10 @@
"resolved": "samples/deckgl-polygon",
"link": true
},
+ "node_modules/@js-api-samples/js-api-loader-map": {
+ "resolved": "samples/js-api-loader-map",
+ "link": true
+ },
"node_modules/@js-api-samples/layer-data-quakes-red": {
"resolved": "samples/layer-data-quakes-red",
"link": true
@@ -1482,6 +1486,107 @@
"resolved": "samples/weather-api-current-compact",
"link": true
},
+ "node_modules/@lezer/common": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz",
+ "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@lezer/lr": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz",
+ "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@lmdb/lmdb-darwin-arm64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz",
+ "integrity": "sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-darwin-x64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz",
+ "integrity": "sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-linux-arm": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz",
+ "integrity": "sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-linux-arm64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz",
+ "integrity": "sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-linux-x64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz",
+ "integrity": "sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-win32-x64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz",
+ "integrity": "sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
"node_modules/@loaders.gl/core": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/@loaders.gl/core/-/core-4.3.4.tgz",
@@ -1578,55 +1683,1866 @@
"@math.gl/types": "4.1.0"
}
},
- "node_modules/@math.gl/polygon": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@math.gl/polygon/-/polygon-4.1.0.tgz",
- "integrity": "sha512-YA/9PzaCRHbIP5/0E9uTYrqe+jsYTQoqoDWhf6/b0Ixz8bPZBaGDEafLg3z7ffBomZLacUty9U3TlPjqMtzPjA==",
- "dependencies": {
- "@math.gl/core": "4.1.0"
+ "node_modules/@math.gl/polygon": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@math.gl/polygon/-/polygon-4.1.0.tgz",
+ "integrity": "sha512-YA/9PzaCRHbIP5/0E9uTYrqe+jsYTQoqoDWhf6/b0Ixz8bPZBaGDEafLg3z7ffBomZLacUty9U3TlPjqMtzPjA==",
+ "dependencies": {
+ "@math.gl/core": "4.1.0"
+ }
+ },
+ "node_modules/@math.gl/types": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@math.gl/types/-/types-4.1.0.tgz",
+ "integrity": "sha512-clYZdHcmRvMzVK5fjeDkQlHUzXQSNdZ7s4xOqC3nJPgz4C/TZkUecTo9YS4PruZqtDda/ag4erndP0MIn40dGA=="
+ },
+ "node_modules/@mischnic/json-sourcemap": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz",
+ "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@lezer/common": "^1.0.0",
+ "@lezer/lr": "^1.0.0",
+ "json5": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
+ "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
+ "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
+ "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
+ "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
+ "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
+ "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@parcel/bundler-default": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.16.0.tgz",
+ "integrity": "sha512-8kY+TUhir7qm+TgSMeMd8CP2PVoZjXamiZ8+mbXws4jKw6IrIVDQf8TkBZKGk7ncKJEteiX4ybbmiPjho8cHuA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/graph": "3.6.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/cache": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.16.0.tgz",
+ "integrity": "sha512-stBGOio+z2qjnSJNl1vJTNqjgLyzDFp+tUOKgaLJ8Vmn67jYccoGLTNApw2mhB3HtQuoz/5eudGHSvhqMpMyTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/fs": "2.16.0",
+ "@parcel/logger": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "lmdb": "2.8.5"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.16.0"
+ }
+ },
+ "node_modules/@parcel/codeframe": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.16.0.tgz",
+ "integrity": "sha512-wXpHOOE5o0c55AiUMCwkIrVCFeJzBfZpjhn07WQUUk57gGts5R67bMsoeoizvBhI748l6iSU7rPZSSrXc8NoRg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/compressor-raw": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.16.0.tgz",
+ "integrity": "sha512-tl8/iCPlInfD3YLo1s/kA9/o7XdrYNBuGsAj4VOFqplH+2FINb48XPzp7Z4VGOB2q8qokt2gohTGfuNPGIX2pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/config-default": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.16.0.tgz",
+ "integrity": "sha512-az5gWXyztHekV1Dpz3nNT3iz5SqHh2924XCb2w+VyNDtnLhLNQ+X7NJd0na+EbWd9KBJYEdVYDPVDy1bEei0lQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/bundler-default": "2.16.0",
+ "@parcel/compressor-raw": "2.16.0",
+ "@parcel/namer-default": "2.16.0",
+ "@parcel/optimizer-css": "2.16.0",
+ "@parcel/optimizer-html": "2.16.0",
+ "@parcel/optimizer-image": "2.16.0",
+ "@parcel/optimizer-svg": "2.16.0",
+ "@parcel/optimizer-swc": "2.16.0",
+ "@parcel/packager-css": "2.16.0",
+ "@parcel/packager-html": "2.16.0",
+ "@parcel/packager-js": "2.16.0",
+ "@parcel/packager-raw": "2.16.0",
+ "@parcel/packager-svg": "2.16.0",
+ "@parcel/packager-wasm": "2.16.0",
+ "@parcel/reporter-dev-server": "2.16.0",
+ "@parcel/resolver-default": "2.16.0",
+ "@parcel/runtime-browser-hmr": "2.16.0",
+ "@parcel/runtime-js": "2.16.0",
+ "@parcel/runtime-rsc": "2.16.0",
+ "@parcel/runtime-service-worker": "2.16.0",
+ "@parcel/transformer-babel": "2.16.0",
+ "@parcel/transformer-css": "2.16.0",
+ "@parcel/transformer-html": "2.16.0",
+ "@parcel/transformer-image": "2.16.0",
+ "@parcel/transformer-js": "2.16.0",
+ "@parcel/transformer-json": "2.16.0",
+ "@parcel/transformer-node": "2.16.0",
+ "@parcel/transformer-postcss": "2.16.0",
+ "@parcel/transformer-posthtml": "2.16.0",
+ "@parcel/transformer-raw": "2.16.0",
+ "@parcel/transformer-react-refresh-wrap": "2.16.0",
+ "@parcel/transformer-svg": "2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.16.0"
+ }
+ },
+ "node_modules/@parcel/core": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.16.0.tgz",
+ "integrity": "sha512-erH9GdLe8Boie0mCO8hXn8Qt/pCACsOFlKp8UHNMlPaizUtCDkCOQqwmSi+VyrJ3dMMCOc/qBwTSGAJaJE8/Kw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@mischnic/json-sourcemap": "^0.1.1",
+ "@parcel/cache": "2.16.0",
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/events": "2.16.0",
+ "@parcel/feature-flags": "2.16.0",
+ "@parcel/fs": "2.16.0",
+ "@parcel/graph": "3.6.0",
+ "@parcel/logger": "2.16.0",
+ "@parcel/package-manager": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/profiler": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/types": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "@parcel/workers": "2.16.0",
+ "base-x": "^3.0.11",
+ "browserslist": "^4.24.5",
+ "clone": "^2.1.2",
+ "dotenv": "^16.5.0",
+ "dotenv-expand": "^11.0.7",
+ "json5": "^2.2.3",
+ "msgpackr": "^1.11.2",
+ "nullthrows": "^1.1.1",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/core/node_modules/dotenv": {
+ "version": "16.6.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
+ "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/@parcel/diagnostic": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.16.0.tgz",
+ "integrity": "sha512-z5MeMwFegaA23wseltLykVV9OxsKkY3BiEje/Dt7ttVivwNWFKHDuXB8vbZTDArUooixUH3s/RJhTFI46VJc2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@mischnic/json-sourcemap": "^0.1.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/error-overlay": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/error-overlay/-/error-overlay-2.16.0.tgz",
+ "integrity": "sha512-ZcXOZc548Tjms0z7uaE4iUKHul32CpX5dCnEdum9PExxCLNCCxm4JgoO+dWeZXjNQDi8Opz9N3GU4wnF7WVzhg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/events": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.16.0.tgz",
+ "integrity": "sha512-PI7dryJLPYCe4jNzo7XWAzbUPUuD50Nd76GTdzaHhmcQfZnPrtWAu73UmP3yYqpbv97TtWSiCJyrJWPTDU/REA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/feature-flags": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/feature-flags/-/feature-flags-2.16.0.tgz",
+ "integrity": "sha512-GiRpLx0x8dZdWCpftk6OE0lp0Cc8oUyBssPiobigpSA8vgxrCz/zLbs83R/K70p+wPBb+ye4eEiR67+KCwcSXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/fs": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.16.0.tgz",
+ "integrity": "sha512-nRp4BhJm1V8tPu68WjRvu5kbBjTwWXYzqwpGoWwHFmZQQ2J1/Ye28x1NY3awxSVGyXsEy2sEO4s7rLyd0EW2pA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/feature-flags": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/types-internal": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "@parcel/watcher": "^2.0.7",
+ "@parcel/workers": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.16.0"
+ }
+ },
+ "node_modules/@parcel/graph": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.6.0.tgz",
+ "integrity": "sha512-ShxOzS0FdyXJ7gwit7CSPuQCbU0bXkB+kZyrXgj0UmgIDYDMYO02T+UIlH4AReEzqcZq3An+sDOx+UKRM8j8Uw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/feature-flags": "2.16.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/logger": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.16.0.tgz",
+ "integrity": "sha512-/K6UVVCtS1KOkH9xxuH9u2xV3348mb+Fb33K/OUs5wnpfmo0TtrzodjLyMpQG6KrofmYKSNzA5petp7+cf3aug==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/events": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/markdown-ansi": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.16.0.tgz",
+ "integrity": "sha512-NxlmF/JAmsq9Yf/8q2+WEHFkcQ/cDoVOUx6ETDM8icDaQ8kXJbZSKAMOWnsB1EF0757UST77kX9zw/V6tyXqnw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/namer-default": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.16.0.tgz",
+ "integrity": "sha512-pRb6Bz32Xl65CZ1LzKAa8ADGyPyrJ724tq2IToqH5JQ8bFGNXF7Tg/qrv582CjHS5dJb/HB7LizfWaliHiG5DA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/node-resolver-core": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.7.0.tgz",
+ "integrity": "sha512-YIK7wtjO7biRoXNRdFR0uSYPY0FwvCA77xlJCOTX1+jeACj8BPwLKOMFJKCA89pBr7iHyTNzZ3ppVGsX8flMag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@mischnic/json-sourcemap": "^0.1.1",
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/fs": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "nullthrows": "^1.1.1",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-css": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.16.0.tgz",
+ "integrity": "sha512-QTrMOVknU4DmKzmnTxQx69ZZxoDYyTIWhpflDLSvUaLSXk2yi0SMBMcsEdA0W4bhORn6nj8toGwi04vbGVuQtA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.16.0",
+ "browserslist": "^4.24.5",
+ "lightningcss": "^1.30.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-html": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-html/-/optimizer-html-2.16.0.tgz",
+ "integrity": "sha512-T8VvsdCwLb/l3a/eHF2lJfeGO6Z4znKjvnBAvtyLwtFVVNnJasJLo9Cuan4bcnVM8etzbxjg1Qs/9c1hzWsBYg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/utils": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-image": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.16.0.tgz",
+ "integrity": "sha512-CVAitXbtKfVxxmOjieeI/YSwSFKx+In3MjP4jFpuYwgDT0TsgsyweBkADQMfEcBjeIPiCXLzzf/GSVIDY7hgwA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "@parcel/workers": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.16.0"
+ }
+ },
+ "node_modules/@parcel/optimizer-svg": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-svg/-/optimizer-svg-2.16.0.tgz",
+ "integrity": "sha512-fx9VK28bXaFz0dWs3rIOQM0t8nAWXE62o4JIcIAZND5/6ij1y4/Fap791agvH4SKxNPFu/a/KEmF50SRfcSwkw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/utils": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-swc": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.16.0.tgz",
+ "integrity": "sha512-AwakRkMBzDWNrXbm5eJtuBvjCSyp6J730MCltZtiSWLtFbvkXMCt1BQ6Ug91NHq/zA2HTo3RYh96wTMRSRQa2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.16.0",
+ "@swc/core": "^1.11.24",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/package-manager": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.16.0.tgz",
+ "integrity": "sha512-YDOLTcDFYJn3VeEYktO8Yrpw+kaWsLGHOUhPPrw3uaQsqNPi4wIRMsuhcFa9fAL5OlFX56I9iD/yciUiULOFXw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/fs": "2.16.0",
+ "@parcel/logger": "2.16.0",
+ "@parcel/node-resolver-core": "3.7.0",
+ "@parcel/types": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "@parcel/workers": "2.16.0",
+ "@swc/core": "^1.11.24",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.16.0"
+ }
+ },
+ "node_modules/@parcel/packager-css": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.16.0.tgz",
+ "integrity": "sha512-T36uCm/RUZ6h33O8NsjOoTH0if/FWyXuBWenVeQgQZrlYR+wZBsZSV8CElBMCmrFJ5BdSG1RybXPwvkATpJeig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.16.0",
+ "lightningcss": "^1.30.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-html": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.16.0.tgz",
+ "integrity": "sha512-d9NBtvJAGM8shnLfwDwF0VMP5P2F5Euvjbrv4FaqbivypzDBhjalE+EnC6eGtLNTCTg9o1CxxZmsTC/FVdu2yQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/types": "2.16.0",
+ "@parcel/utils": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-js": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.16.0.tgz",
+ "integrity": "sha512-2YHeFFFsh8KSqlfMfGVlAsDjwHZkGp99GRN+WnGAHlYzmDODve92yb94d5Zs22cDRzP6v/E5NMTYWu1dlUg/Wg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/types": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "globals": "^13.24.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-js/node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@parcel/packager-raw": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.16.0.tgz",
+ "integrity": "sha512-jY/t/PXpNTK6EwLBSTJPGTB8FYmhqHtj4Am/JVQkJkxgB8h8diivxsReZYNfDt9J9pVxSk+lcZCdOZXf1ZtmWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-svg": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.16.0.tgz",
+ "integrity": "sha512-NVmpVjRe2Lr7htrxsscy4ExSRUN+YiMvPmxp9ZxoDnrGerqa66B5/Rh7HOhx7Vo9wuH5LCpFAWYhgkhXH6qrqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/types": "2.16.0",
+ "@parcel/utils": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-wasm": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.16.0.tgz",
+ "integrity": "sha512-r+oCqaFfUB1f6CEQyWbkAjwfGrt2flNA3JguBJ8zCyDrx3fWI+isYufg2CP92ZJyOBTIU63iCi88YgcMLynL1g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/plugin": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.16.0.tgz",
+ "integrity": "sha512-Rdk5e/VGmMp6s2DmC0AbjWYmea3Vv8Tx1SC5ln+lf+qRlhndrbFV9o5QKirTY9C8GWd20qH1ZqOxPDEzK/YSGA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/types": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/profiler": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.16.0.tgz",
+ "integrity": "sha512-xm6fVTA1V/Co7JuJfkNtZJsKsvq0RSpoE7JjiNtKLCMh+Lim6w7dxc6CEBqGImhR/9YbwteY6/gVFwkvCdLvLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/events": "2.16.0",
+ "@parcel/types-internal": "2.16.0",
+ "chrome-trace-event": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/reporter-cli": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.16.0.tgz",
+ "integrity": "sha512-76U06/aSGTO8UTEBJb+tIvNAH/2aOfWVTsP4QQym//Lf8fmXJnLaCDsJmiNAXjW44rnzjNQ7qzRrbwH7W5u7FA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/types": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "chalk": "^4.1.2",
+ "term-size": "^2.2.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/reporter-dev-server": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.16.0.tgz",
+ "integrity": "sha512-n5XXh1S/oMQ8ItSm/nG5sPFb+1WBZPGtvDUd8gxvmO8lfZ7fo53l0TS5KshMvNqx0F208Erwi+/II78piqCrYA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/codeframe": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/reporter-tracer": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.16.0.tgz",
+ "integrity": "sha512-OHNQiz9c2F7nak8ztkuK+9ui9e5f9Qz5uEYPNHssyEIj4zLeenhnFEVSzUVXJdrqY0A3+xE8bFuQLi+PS+nbFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "chrome-trace-event": "^1.0.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/resolver-default": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.16.0.tgz",
+ "integrity": "sha512-HvzVXPn8j/ElbNkqAHa7wHOzqCWTwAEv4pWJVnguuqL9m7ZC2INDsp3XJR1LOA5UqBYRhkBrvWK69v4sA21a9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/node-resolver-core": "3.7.0",
+ "@parcel/plugin": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-browser-hmr": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.16.0.tgz",
+ "integrity": "sha512-tRPoFwUVtzE7ufOtIr1CHdh8SH3772FI1JlFCV0//tEWbj9iSk1bcK0g05Yj4dW4hW2SjqTcVo59Kw50Zeh7/Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/utils": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-js": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.16.0.tgz",
+ "integrity": "sha512-othbtwC7AG3SnDkzGpRXEwsY2/+INydJXSORogTEN/GSUQyci606pTfuU/eF9D22wVDdaVSYUhhJPTDdxksu9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-rsc": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-rsc/-/runtime-rsc-2.16.0.tgz",
+ "integrity": "sha512-5T+mNRrsA9zxkbdaV4rxqRc7CJP77/oNpajDPWcBWDELM8q42be0Sr5zYoAG28jcnQBf88u2rqPVpNtNxoM/ZA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-service-worker": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.16.0.tgz",
+ "integrity": "sha512-YOkWJbY08IiUXUSudPwJXJKn7CycTCSzsfbhdG+bhvVdPWGv7DpMoPDSq3IL9/99JZe7iXcOnibxCmoJqZA6WQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.16.0.tgz",
+ "integrity": "sha512-9ZBiwCCm9OYa2f1rjkXtPUIa0qbKPmpdTqtNHC+5ieRxClvk+m/mxsO1Ag+GbNJrJ8qFYliL3Ha0ZK4d1BrVKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/rust-darwin-arm64": "2.16.0",
+ "@parcel/rust-darwin-x64": "2.16.0",
+ "@parcel/rust-linux-arm-gnueabihf": "2.16.0",
+ "@parcel/rust-linux-arm64-gnu": "2.16.0",
+ "@parcel/rust-linux-arm64-musl": "2.16.0",
+ "@parcel/rust-linux-x64-gnu": "2.16.0",
+ "@parcel/rust-linux-x64-musl": "2.16.0",
+ "@parcel/rust-win32-x64-msvc": "2.16.0"
+ },
+ "peerDependencies": {
+ "napi-wasm": "^1.1.2"
+ },
+ "peerDependenciesMeta": {
+ "napi-wasm": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@parcel/rust-darwin-arm64": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-darwin-arm64/-/rust-darwin-arm64-2.16.0.tgz",
+ "integrity": "sha512-rdNl1jq34VflBzduQjcOH9SBJPW+Dy1w5XL7hQ5OEAOkRTP1/3mvh98iVYeB3e+RMjRNE/Ipn/rz2KXXku6e6g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-darwin-x64": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-darwin-x64/-/rust-darwin-x64-2.16.0.tgz",
+ "integrity": "sha512-tozUnjBPfnCjk6HVZCUKNdgFWw4WsLRTJdnsTYBIERrfj858VN0rdOGlVesLFYNSUquoAO+aHtRdT/JqYW7ozA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-arm-gnueabihf": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-arm-gnueabihf/-/rust-linux-arm-gnueabihf-2.16.0.tgz",
+ "integrity": "sha512-FX/XrQm5BkLfHHBsUA1t7tYGTkNN4vr/t9ZuADUQCWng+m8g7BB78zWxkjoqayn5zTJAfjjQp42lSZzahtT59A==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-arm64-gnu": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-arm64-gnu/-/rust-linux-arm64-gnu-2.16.0.tgz",
+ "integrity": "sha512-zmnWuclEQDQMhbB8jQw9f1VbnSs6EB2RApg16qs5Co/dhZVozMwJngdkZ6mq5aW8ut+PKYrxIPcVsm7WtVOOfg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-arm64-musl": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-arm64-musl/-/rust-linux-arm64-musl-2.16.0.tgz",
+ "integrity": "sha512-bL3PzFEg0azmdFaf34yHAXukk2MjNSuiITPVOj9Cq65qAk7lb4+9nuGIwrCMr1+R1yCamrL31GgG61qp0X97xg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-x64-gnu": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-x64-gnu/-/rust-linux-x64-gnu-2.16.0.tgz",
+ "integrity": "sha512-yvuDTyuhMtwZjB1xGFmCC/UsZjEpMTAanJHAVX9b+tJnn7ArG7Q75Az/JpZsru6KAXiTo1krI54vTE87zzwkIg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-linux-x64-musl": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-linux-x64-musl/-/rust-linux-x64-musl-2.16.0.tgz",
+ "integrity": "sha512-0q6ESCVe9uHVuQWuEGGDMJwjezliTsEWMcqn7oeQoKXaZJZQpW0UAuzNcNmpiHmeJdifYT9XuxVOo/a8IgOXhg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust-win32-x64-msvc": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/rust-win32-x64-msvc/-/rust-win32-x64-msvc-2.16.0.tgz",
+ "integrity": "sha512-IVWpXF1VY+Xgi6ylXaZttAF5+WjazPyxRJUZlC31taYwpfZ4LzmsV8NYlj5ehjTL8d28SKDBoAnOQJwDRe8z8Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/source-map": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz",
+ "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-libc": "^1.0.3"
+ },
+ "engines": {
+ "node": "^12.18.3 || >=14"
+ }
+ },
+ "node_modules/@parcel/transformer-babel": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.16.0.tgz",
+ "integrity": "sha512-jlaFyGlRKFbAI8370bcuEzmsZENqdw9ATCowpB/XkKgUlYe6iplMlKLy4EquqSR6axqfxBRMoSCcKFkROuLI9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.16.0",
+ "browserslist": "^4.24.5",
+ "json5": "^2.2.3",
+ "nullthrows": "^1.1.1",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-css": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.16.0.tgz",
+ "integrity": "sha512-WSUITzJl2/2uU04WnCLAwhZJ8RAaRvNQ64fMr4LauWa72gzqXgh3+1egddBiAT7e5IndVJ0AYFywLBVegwKOOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.16.0",
+ "browserslist": "^4.24.5",
+ "lightningcss": "^1.30.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-html": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.16.0.tgz",
+ "integrity": "sha512-CKAoB5yOovL3GyZlnm7lRUa3IfaSS/bEjjTy6F6RU7G4sMRgJu16AQfI4/uTJAA6iuW1ugNyza2DhWQ9xfbhaw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-image": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.16.0.tgz",
+ "integrity": "sha512-sW4CM6P2YMUyAICCMocTLvVVqnxmlBwkP+SrIZvNElDUu0CygOa92cA3rdepHi+tF1GN6ZvNwNyQbZGAIKVxgw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "@parcel/workers": "2.16.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.16.0"
+ }
+ },
+ "node_modules/@parcel/transformer-js": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.16.0.tgz",
+ "integrity": "sha512-VRTFEJ/N13MFvwJPwilPET6gHJ0ZdFbCK26uO7uyL1eMGMvWStTXEQXvhLqtMfvDcQPnwkF5XGJL5JsGpcBFFA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.16.0",
+ "@parcel/workers": "2.16.0",
+ "@swc/helpers": "^0.5.0",
+ "browserslist": "^4.24.5",
+ "nullthrows": "^1.1.1",
+ "regenerator-runtime": "^0.14.1",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.16.0"
+ }
+ },
+ "node_modules/@parcel/transformer-json": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.16.0.tgz",
+ "integrity": "sha512-qX6Zg+j7HezY+W2TNjJ+VPUsIviNdTuMn39W9M0YEd0WLKh0x7XD4oprVivvgD0Vbm04FUcTQEN1jAF3CAVeGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "json5": "^2.2.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-node": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-node/-/transformer-node-2.16.0.tgz",
+ "integrity": "sha512-Mavmjj6SfP0Lhu751G47EFtExZIJyD+V2C5PzdATTaT+cw0MzQgfLH8s4p0CI27MAuyFesm8WTA0lgUtcfzMSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-postcss": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.16.0.tgz",
+ "integrity": "sha512-h+Qnn49UE5RywpuXMHN8Iufjvc7MMqHQc0sPNvwoLBXJXJcb3ul7WEY+DGXs90KsUY1B6JAqKtz9+pzqXZMwIg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "clone": "^2.1.2",
+ "nullthrows": "^1.1.1",
+ "postcss-value-parser": "^4.2.0",
+ "semver": "^7.7.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-posthtml": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.16.0.tgz",
+ "integrity": "sha512-mvHQNzFO1xPq+/7McjxF7+Zb2zAgksNbSXKi8/OuMRiNO3eDD/r1jWRWKNQZHWUkSx/vS7JJ5Y1ACI5INLxWww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0",
+ "@parcel/utils": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-raw": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.16.0.tgz",
+ "integrity": "sha512-LJXwH2rQAo6mOU6uG0IGQIN7KLC2sS8bl6aqf1YMcKk6ZEvylQkP0hUvRYja2IRzPoxjpdcAP5WC4e/Z8S1Vzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/plugin": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-react-refresh-wrap": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.16.0.tgz",
+ "integrity": "sha512-s6O5oJ0pUtZey6unI0mz2WIOpAVLCn5+hlou4YH7FXOiMvSJ2PU2rakk+EZk6K/R+TStYM0hQKSwJkiiN0m7Rg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/error-overlay": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "react-refresh": "^0.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-react-refresh-wrap/node_modules/react-refresh": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.16.0.tgz",
+ "integrity": "sha512-FPvF2XxTSikpJxcr+bHut2H4gJ17+18Uy20D5/F+SKzFap62R3cM5wH6b8WN3LyGSYeQilLEcJcR1fjBSI2S1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@parcel/transformer-svg": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.16.0.tgz",
+ "integrity": "sha512-c4KpIqqbsvsh/ZxLTo0d7/IEVa/jR/+LZ1kFzBWXKvMBzbvqo63J6s3VGk61gPFV9JkSW3UI5LAMbJn/HDXycw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/plugin": "2.16.0",
+ "@parcel/rust": "2.16.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/types": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.16.0.tgz",
+ "integrity": "sha512-EKsMTqqfiutQIiYKHEJHHeugIymPqM+D+CphhyewAIjxVLk6PTjEQW0ytIbbdOXGAgnK60OFiIKqZAxZ5Hf2dw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/types-internal": "2.16.0",
+ "@parcel/workers": "2.16.0"
+ }
+ },
+ "node_modules/@parcel/types-internal": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/types-internal/-/types-internal-2.16.0.tgz",
+ "integrity": "sha512-tibAjOY8iyMDzFp5B9jEZPfHYlNvXpw7/msUVebAE6gZ7A8ymWXG8YzMvin6gvWIVTCsYoOkkRsZARvpRcSspQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/feature-flags": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "utility-types": "^3.11.0"
+ }
+ },
+ "node_modules/@parcel/utils": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.16.0.tgz",
+ "integrity": "sha512-Jc5npvJ5T45goEIbDwsQKX3AtfhLIF2t6G496XhbjcH3aeFLrnIbg1iaitQWvgxdjrt73h8PPNphDkREZ/H7WA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/codeframe": "2.16.0",
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/logger": "2.16.0",
+ "@parcel/markdown-ansi": "2.16.0",
+ "@parcel/rust": "2.16.0",
+ "@parcel/source-map": "^2.1.1",
+ "chalk": "^4.1.2",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
+ "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-libc": "^1.0.3",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.5",
+ "node-addon-api": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.1",
+ "@parcel/watcher-darwin-arm64": "2.5.1",
+ "@parcel/watcher-darwin-x64": "2.5.1",
+ "@parcel/watcher-freebsd-x64": "2.5.1",
+ "@parcel/watcher-linux-arm-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm-musl": "2.5.1",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm64-musl": "2.5.1",
+ "@parcel/watcher-linux-x64-glibc": "2.5.1",
+ "@parcel/watcher-linux-x64-musl": "2.5.1",
+ "@parcel/watcher-win32-arm64": "2.5.1",
+ "@parcel/watcher-win32-ia32": "2.5.1",
+ "@parcel/watcher-win32-x64": "2.5.1"
+ }
+ },
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
+ "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
+ "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
+ "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
+ "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
+ "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
+ "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
+ "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
+ "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
+ "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
+ "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
+ "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@math.gl/types": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@math.gl/types/-/types-4.1.0.tgz",
- "integrity": "sha512-clYZdHcmRvMzVK5fjeDkQlHUzXQSNdZ7s4xOqC3nJPgz4C/TZkUecTo9YS4PruZqtDda/ag4erndP0MIn40dGA=="
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
+ "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">= 8"
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
+ "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">= 8"
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "node_modules/@parcel/workers": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.16.0.tgz",
+ "integrity": "sha512-JVdAtTWRONbP4X8Me1qRE5sMGIkSKAcUb8fZdjCUPJxsBwcJwzYicYFuahxVVGj2sYzjLi0TzlvmXMK7tVvffA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/logger": "2.16.0",
+ "@parcel/profiler": "2.16.0",
+ "@parcel/types-internal": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "nullthrows": "^1.1.1"
},
"engines": {
- "node": ">= 8"
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.16.0"
}
},
"node_modules/@playwright/test": {
@@ -1950,6 +3866,222 @@
"win32"
]
},
+ "node_modules/@swc/core": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.5.tgz",
+ "integrity": "sha512-WezcBo8a0Dg2rnR82zhwoR6aRNxeTGfK5QCD6TQ+kg3xx/zNT02s/0o+81h/3zhvFSB24NtqEr8FTw88O5W/JQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/counter": "^0.1.3",
+ "@swc/types": "^0.1.24"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/swc"
+ },
+ "optionalDependencies": {
+ "@swc/core-darwin-arm64": "1.13.5",
+ "@swc/core-darwin-x64": "1.13.5",
+ "@swc/core-linux-arm-gnueabihf": "1.13.5",
+ "@swc/core-linux-arm64-gnu": "1.13.5",
+ "@swc/core-linux-arm64-musl": "1.13.5",
+ "@swc/core-linux-x64-gnu": "1.13.5",
+ "@swc/core-linux-x64-musl": "1.13.5",
+ "@swc/core-win32-arm64-msvc": "1.13.5",
+ "@swc/core-win32-ia32-msvc": "1.13.5",
+ "@swc/core-win32-x64-msvc": "1.13.5"
+ },
+ "peerDependencies": {
+ "@swc/helpers": ">=0.5.17"
+ },
+ "peerDependenciesMeta": {
+ "@swc/helpers": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@swc/core-darwin-arm64": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.13.5.tgz",
+ "integrity": "sha512-lKNv7SujeXvKn16gvQqUQI5DdyY8v7xcoO3k06/FJbHJS90zEwZdQiMNRiqpYw/orU543tPaWgz7cIYWhbopiQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-darwin-x64": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.13.5.tgz",
+ "integrity": "sha512-ILd38Fg/w23vHb0yVjlWvQBoE37ZJTdlLHa8LRCFDdX4WKfnVBiblsCU9ar4QTMNdeTBEX9iUF4IrbNWhaF1Ng==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm-gnueabihf": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.13.5.tgz",
+ "integrity": "sha512-Q6eS3Pt8GLkXxqz9TAw+AUk9HpVJt8Uzm54MvPsqp2yuGmY0/sNaPPNVqctCX9fu/Nu8eaWUen0si6iEiCsazQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-gnu": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.13.5.tgz",
+ "integrity": "sha512-aNDfeN+9af+y+M2MYfxCzCy/VDq7Z5YIbMqRI739o8Ganz6ST+27kjQFd8Y/57JN/hcnUEa9xqdS3XY7WaVtSw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-musl": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.13.5.tgz",
+ "integrity": "sha512-9+ZxFN5GJag4CnYnq6apKTnnezpfJhCumyz0504/JbHLo+Ue+ZtJnf3RhyA9W9TINtLE0bC4hKpWi8ZKoETyOQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-gnu": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.13.5.tgz",
+ "integrity": "sha512-WD530qvHrki8Ywt/PloKUjaRKgstQqNGvmZl54g06kA+hqtSE2FTG9gngXr3UJxYu/cNAjJYiBifm7+w4nbHbA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-musl": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.13.5.tgz",
+ "integrity": "sha512-Luj8y4OFYx4DHNQTWjdIuKTq2f5k6uSXICqx+FSabnXptaOBAbJHNbHT/06JZh6NRUouaf0mYXN0mcsqvkhd7Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-arm64-msvc": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.13.5.tgz",
+ "integrity": "sha512-cZ6UpumhF9SDJvv4DA2fo9WIzlNFuKSkZpZmPG1c+4PFSEMy5DFOjBSllCvnqihCabzXzpn6ykCwBmHpy31vQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-ia32-msvc": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.13.5.tgz",
+ "integrity": "sha512-C5Yi/xIikrFUzZcyGj9L3RpKljFvKiDMtyDzPKzlsDrKIw2EYY+bF88gB6oGY5RGmv4DAX8dbnpRAqgFD0FMEw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-x64-msvc": {
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.13.5.tgz",
+ "integrity": "sha512-YrKdMVxbYmlfybCSbRtrilc6UA8GF5aPmGKBdPvjrarvsmf4i7ZHGCEnLtfOMd3Lwbs2WUZq3WdMbozYeLU93Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/counter": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
+ "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
"node_modules/@swc/helpers": {
"version": "0.5.17",
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz",
@@ -1960,6 +4092,16 @@
"tslib": "^2.8.0"
}
},
+ "node_modules/@swc/types": {
+ "version": "0.1.25",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz",
+ "integrity": "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/counter": "^0.1.3"
+ }
+ },
"node_modules/@tmcw/togeojson": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@tmcw/togeojson/-/togeojson-4.7.0.tgz",
@@ -2512,6 +4654,16 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/base-x": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz",
+ "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
"node_modules/brace-expansion": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
@@ -2668,6 +4820,26 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -2728,6 +4900,16 @@
"node": ">=12.20.0"
}
},
+ "node_modules/commander": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+ "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -2808,7 +4990,20 @@
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=6"
+ "node": ">=6"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
+ "engines": {
+ "node": ">=0.10"
}
},
"node_modules/devlop": {
@@ -2837,6 +5032,35 @@
"url": "https://dotenvx.com"
}
},
+ "node_modules/dotenv-expand": {
+ "version": "11.0.7",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz",
+ "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dotenv": "^16.4.5"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/dotenv-expand/node_modules/dotenv": {
+ "version": "16.6.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
+ "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -3331,6 +5555,16 @@
"node": ">=6.9.0"
}
},
+ "node_modules/get-port": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz",
+ "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/github-slugger": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
@@ -3521,108 +5755,423 @@
"@isaacs/cliui": "^8.0.2"
},
"engines": {
- "node": "20 || >=22"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/json-bignum": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/json-bignum/-/json-bignum-0.0.3.tgz",
+ "integrity": "sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lightningcss": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz",
+ "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "dependencies": {
+ "detect-libc": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "lightningcss-android-arm64": "1.30.2",
+ "lightningcss-darwin-arm64": "1.30.2",
+ "lightningcss-darwin-x64": "1.30.2",
+ "lightningcss-freebsd-x64": "1.30.2",
+ "lightningcss-linux-arm-gnueabihf": "1.30.2",
+ "lightningcss-linux-arm64-gnu": "1.30.2",
+ "lightningcss-linux-arm64-musl": "1.30.2",
+ "lightningcss-linux-x64-gnu": "1.30.2",
+ "lightningcss-linux-x64-musl": "1.30.2",
+ "lightningcss-win32-arm64-msvc": "1.30.2",
+ "lightningcss-win32-x64-msvc": "1.30.2"
+ }
+ },
+ "node_modules/lightningcss-android-arm64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz",
+ "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-arm64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz",
+ "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-x64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz",
+ "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-freebsd-x64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz",
+ "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz",
+ "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-gnu": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz",
+ "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-musl": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz",
+ "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-gnu": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz",
+ "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "node_modules/lightningcss-linux-x64-musl": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz",
+ "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
},
- "bin": {
- "js-yaml": "bin/js-yaml.js"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/jsesc": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "node_modules/lightningcss-win32-arm64-msvc": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz",
+ "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- },
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "peer": true,
"engines": {
- "node": ">=6"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/json-bignum": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/json-bignum/-/json-bignum-0.0.3.tgz",
- "integrity": "sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==",
+ "node_modules/lightningcss-win32-x64-msvc": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz",
+ "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "peer": true,
"engines": {
- "node": ">=0.8"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "node_modules/lightningcss/node_modules/detect-libc": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz",
+ "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==",
"dev": true,
- "bin": {
- "json5": "lib/cli.js"
- },
+ "license": "Apache-2.0",
"engines": {
- "node": ">=6"
+ "node": ">=8"
}
},
- "node_modules/keyv": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "node_modules/lmdb": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz",
+ "integrity": "sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==",
"dev": true,
+ "hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "json-buffer": "3.0.1"
+ "msgpackr": "^1.9.5",
+ "node-addon-api": "^6.1.0",
+ "node-gyp-build-optional-packages": "5.1.1",
+ "ordered-binary": "^1.4.1",
+ "weak-lru-cache": "^1.2.2"
+ },
+ "bin": {
+ "download-lmdb-prebuilds": "bin/download-prebuilds.js"
+ },
+ "optionalDependencies": {
+ "@lmdb/lmdb-darwin-arm64": "2.8.5",
+ "@lmdb/lmdb-darwin-x64": "2.8.5",
+ "@lmdb/lmdb-linux-arm": "2.8.5",
+ "@lmdb/lmdb-linux-arm64": "2.8.5",
+ "@lmdb/lmdb-linux-x64": "2.8.5",
+ "@lmdb/lmdb-win32-x64": "2.8.5"
}
},
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "node_modules/lmdb/node_modules/node-addon-api": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
+ "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
+ "license": "MIT"
},
"node_modules/locate-path": {
"version": "6.0.0",
@@ -4616,6 +7165,66 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/msgpackr": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz",
+ "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==",
+ "dev": true,
+ "license": "MIT",
+ "optionalDependencies": {
+ "msgpackr-extract": "^3.0.2"
+ }
+ },
+ "node_modules/msgpackr-extract": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
+ "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "node-gyp-build-optional-packages": "5.2.2"
+ },
+ "bin": {
+ "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
+ },
+ "optionalDependencies": {
+ "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
+ }
+ },
+ "node_modules/msgpackr-extract/node_modules/detect-libc": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz",
+ "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
+ "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "detect-libc": "^2.0.1"
+ },
+ "bin": {
+ "node-gyp-build-optional-packages": "bin.js",
+ "node-gyp-build-optional-packages-optional": "optional.js",
+ "node-gyp-build-optional-packages-test": "build-test.js"
+ }
+ },
"node_modules/nanoid": {
"version": "3.3.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
@@ -4641,12 +7250,51 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/node-addon-api": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-gyp-build-optional-packages": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz",
+ "integrity": "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-libc": "^2.0.1"
+ },
+ "bin": {
+ "node-gyp-build-optional-packages": "bin.js",
+ "node-gyp-build-optional-packages-optional": "optional.js",
+ "node-gyp-build-optional-packages-test": "build-test.js"
+ }
+ },
+ "node_modules/node-gyp-build-optional-packages/node_modules/detect-libc": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz",
+ "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/node-releases": {
"version": "2.0.19",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
"integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
"dev": true
},
+ "node_modules/nullthrows": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz",
+ "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/optionator": {
"version": "0.9.4",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
@@ -4665,6 +7313,13 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/ordered-binary": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz",
+ "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -4704,6 +7359,40 @@
"dev": true,
"license": "BlueOak-1.0.0"
},
+ "node_modules/parcel": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.16.0.tgz",
+ "integrity": "sha512-4sgnoYixTR6Qq6265tjmufXQj7wxvZo4VJHrYfbnfWQWfW5CgF80IiM+dy050pYgtBAMvh+8vJDDYiSto1YPUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@parcel/config-default": "2.16.0",
+ "@parcel/core": "2.16.0",
+ "@parcel/diagnostic": "2.16.0",
+ "@parcel/events": "2.16.0",
+ "@parcel/feature-flags": "2.16.0",
+ "@parcel/fs": "2.16.0",
+ "@parcel/logger": "2.16.0",
+ "@parcel/package-manager": "2.16.0",
+ "@parcel/reporter-cli": "2.16.0",
+ "@parcel/reporter-dev-server": "2.16.0",
+ "@parcel/reporter-tracer": "2.16.0",
+ "@parcel/utils": "2.16.0",
+ "chalk": "^4.1.2",
+ "commander": "^12.1.0",
+ "get-port": "^4.2.0"
+ },
+ "bin": {
+ "parcel": "lib/bin.js"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -4845,6 +7534,13 @@
"node": "^10 || ^12 || >=14"
}
},
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -4919,6 +7615,13 @@
"node": ">=0.10.0"
}
},
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -5032,6 +7735,27 @@
"queue-microtask": "^1.2.2"
}
},
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/scheduler": {
"version": "0.26.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
@@ -5239,6 +7963,19 @@
"node": ">=12.17"
}
},
+ "node_modules/term-size": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
+ "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/terra-draw": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/terra-draw/-/terra-draw-1.15.0.tgz",
@@ -5318,6 +8055,19 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/typescript": {
"version": "5.9.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
@@ -5472,6 +8222,16 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/utility-types": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz",
+ "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/vite": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.7.tgz",
@@ -5562,6 +8322,13 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
+ "node_modules/weak-lru-cache": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz",
+ "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -5905,6 +8672,39 @@
"name": "@js-api-samples/deckgl-polygon",
"version": "1.0.0"
},
+ "samples/js-api-loader-map": {
+ "name": "@js-api-samples/js-api-loader-map",
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@googlemaps/js-api-loader": "^1.0.0"
+ },
+ "devDependencies": {
+ "@types/google.maps": "^3.49.2",
+ "parcel": "^2.8.3",
+ "typescript": "^4.9.5"
+ }
+ },
+ "samples/js-api-loader-map/node_modules/@googlemaps/js-api-loader": {
+ "version": "1.16.10",
+ "resolved": "https://registry.npmjs.org/@googlemaps/js-api-loader/-/js-api-loader-1.16.10.tgz",
+ "integrity": "sha512-c2erv2k7P2ilYzMmtYcMgAR21AULosQuUHJbStnrvRk2dG93k5cqptDrh9A8p+ZNlyhiqEOgHW7N9PAizdUM7Q==",
+ "license": "Apache-2.0"
+ },
+ "samples/js-api-loader-map/node_modules/typescript": {
+ "version": "4.9.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
"samples/layer-data-quakes-red": {
"name": "@js-api-samples/layer-data-quakes-red",
"version": "1.0.0"