diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 10a6b2a73c7a09deca88f9caff4637739518fffb..b26191907b5c42e60c6324efc4882a5a5f968906 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,8 +12,8 @@ variables: # job templates .deploy: - image: - name: 'hashicorp/terraform:1.1.9' + image: + name: "hashicorp/terraform:1.1.9" # default entrypoint is terraform command, but we want to run shell scripts entrypoint: ["/bin/sh", "-c"] variables: @@ -34,7 +34,7 @@ variables: interruptible: false .e2e: - image: 'archlinux:latest' + image: "archlinux:latest" script: - API_DOMAIN=`cat $API_DOMAIN_PATH` - echo "e2e tests against $CI_ENVIRONMENT_SLUG environment go here and against $API_DOMAIN" @@ -47,10 +47,10 @@ variables: ## common steps cache_lint_test: - image: 'denoland/deno:alpine-1.28.1' - stage: 'test' + image: "denoland/deno:alpine-1.36.1" + stage: "test" script: - - deno cache --lock=deno.lock app/deps.ts app/dev_deps.ts + - deno cache --reload --lock=deno.lock app/deps.ts app/dev_deps.ts - deno fmt --check - deno lint - deno test @@ -63,13 +63,13 @@ cache_lint_test: # Note that environment variables can be set in several places # See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence sast: - needs: ['cache_lint_test'] + needs: ["cache_lint_test"] stage: test include: -- template: Security/SAST.gitlab-ci.yml + - template: Security/SAST.gitlab-ci.yml build_docker: - needs: ['cache_lint_test'] + needs: ["cache_lint_test"] image: docker:20.10 services: - docker:20.10-dind @@ -84,11 +84,11 @@ build_docker: - docker push $GCR_IMAGE:$CI_COMMIT_SHA # this is the tag that is used for deployment - docker push $GCR_IMAGE:$CI_COMMIT_REF_SLUG # just for easyly knowing which is the last image for a branch -## review environments +## review environments review_deploy: extends: .deploy - needs: ['build_docker'] + needs: ["build_docker"] environment: name: review/$CI_COMMIT_REF_SLUG url: https://$CI_ENVIRONMENT_SLUG.volunteering.apis.holi.social @@ -101,16 +101,16 @@ review_deploy: review_e2e: extends: .e2e - needs: ['review_deploy'] + needs: ["review_deploy"] except: - main - production - /^noenv\/.*/ review_destroy: - needs: ['review_deploy'] + needs: ["review_deploy"] image: - name: 'hashicorp/terraform:1.1.9' + name: "hashicorp/terraform:1.1.9" # default entrypoint is terraform command, but we want to run shell scripts entrypoint: ["/bin/sh", "-c"] variables: @@ -141,7 +141,7 @@ review_destroy: staging_deploy: extends: .deploy - needs: ['build_docker'] + needs: ["build_docker"] environment: name: staging deployment_tier: staging @@ -152,10 +152,10 @@ staging_deploy: - main staging_trigger_unified-api_redeployment: - needs: ['staging_deploy'] + needs: ["staging_deploy"] trigger: - project: 'app/holi-unified-api' - branch: 'main' + project: "app/holi-unified-api" + branch: "main" only: - main @@ -163,7 +163,7 @@ staging_e2e: extends: .e2e # if staging_e2e would actually run tests (other than ensuring SSL works), we'd have to # wait for the unified-api pipeline to finish. - needs: ['staging_deploy'] + needs: ["staging_deploy"] only: - main @@ -171,7 +171,7 @@ staging_e2e: production_deploy: extends: .deploy - needs: ['build_docker'] + needs: ["build_docker"] allow_failure: false environment: name: production @@ -183,9 +183,9 @@ production_deploy: - production production_trigger_unified-api_redeployment: - needs: ['production_deploy'] + needs: ["production_deploy"] trigger: - project: 'app/holi-unified-api' - branch: 'production' + project: "app/holi-unified-api" + branch: "production" only: - production diff --git a/Dockerfile b/Dockerfile index 580d002c32d4feb5f8f131e632a6ae5969217291..7aac5adcaac304541aad80fd93277df8bfe1118a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM denoland/deno:alpine-1.28.1 +FROM denoland/deno:alpine-1.36.1 # The port that your application listens to. EXPOSE 8004 diff --git a/README.md b/README.md index d4e382ea1d09e24600d3cfeef0984dfb968192a0..2e121a956994dedd043ded9f173f6afe0fa067d1 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ The backend for handling Volunteering projects, including a GraphQL API for ### Setup -Install [`deno`](https://github.com/denoland/deno_install) in version 1.28.3. +Install [`deno`](https://github.com/denoland/deno_install) in version 1.36.1. as well as [`Velociraptor`](https://velociraptor.run/docs/installation/). diff --git a/app/api_types.ts b/app/api_types.ts index 2a8d996a9fd3eee3525995b99740fa430ec5a95f..5c4d1b0787d0e891701767979301ad232983d1bd 100644 --- a/app/api_types.ts +++ b/app/api_types.ts @@ -25,8 +25,6 @@ export type ApiSearchEngagementsResponse = } | { success: boolean }; -export type ApiCitiesResponse = string[]; - export type ApiCategoriesResponse = string[]; export enum ApiRoutes { @@ -39,4 +37,6 @@ export enum ApiRoutes { export enum ApiDefaults { CITY = "ALL_CITIES", + MIN_RADIUS = 5, + MAX_RADIUS = 50, // The largest radius in kilometers that the Voltastics API is capable of handling. } diff --git a/app/deps.ts b/app/deps.ts index 517f57e4873fdc5ce3fa815bd381960773ccfa38..f6cdb957a4fd460ac42ced7b506cb1fca9b4a158 100644 --- a/app/deps.ts +++ b/app/deps.ts @@ -4,3 +4,4 @@ export { createYoga, } from "https://cdn.skypack.dev/graphql-yoga@3.0.0-next.4"; export { useResponseCache } from "https://cdn.skypack.dev/@graphql-yoga/plugin-response-cache@1.0.0-next.4"; +export * as turf from "https://esm.sh/@turf/turf@6.5.0"; diff --git a/app/server.ts b/app/server.ts index a6ed58a1d622a3691e353da09374a5b15d960d42..0a8cb04b9db6f9e91935516203a3e1a0e79f5a27 100644 --- a/app/server.ts +++ b/app/server.ts @@ -6,7 +6,6 @@ import { import { createSchema, createYoga, serve, useResponseCache } from "./deps.ts"; import { fetchCategories, - fetchCities, fetchEngagement, fetchEngagements, trackEngagementView, @@ -38,19 +37,11 @@ const typeDefs = ` longitude: Float } - type City { - name: String! - } type Category { name: String! } - - type CitiesResponse { - data: [City]! - } - type CategoriesResponse { data: [Category!]! } @@ -59,13 +50,14 @@ const typeDefs = ` totalResults: Int! data: [Engagement]! } + + scalar GeoJSON type Query { # uses offset-based pagination as described in https://www.apollographql.com/docs/react/pagination/offset-based - engagements(offset: Int!, limit: Int!, location: String, category: String, longitude: Float, latitude: Float, radiusKm: Float): EngagementsResponse! + engagements(offset: Int!, limit: Int!, location: GeoJSON, category: String): EngagementsResponse! engagement(id: String!): Engagement categories: CategoriesResponse! - cities: CitiesResponse! } type Mutation { @@ -85,10 +77,6 @@ const createResolvers = (config: ServerConfig) => ({ _parent: any, parameters: EngagementParameters, ) => fetchEngagement(config)(parameters), - cities: ( - // deno-lint-ignore no-explicit-any - _parent: any, - ) => fetchCities(config.voltastics), categories: ( // deno-lint-ignore no-explicit-any _parent: any, @@ -129,8 +117,6 @@ export const createGraphQLServer = (config: ServerConfig): GraphQLServer => { DEFAULT_CACHE_TTL_MS_VOLTASTICS, "Query.engagement": config.cacheTtlMsVoltastics || DEFAULT_CACHE_TTL_MS_VOLTASTICS, - "Query.cities": config.cacheTtlMsVoltastics || - DEFAULT_CACHE_TTL_MS_VOLTASTICS, "Query.categories": config.cacheTtlMsVoltastics || DEFAULT_CACHE_TTL_MS_VOLTASTICS, }, diff --git a/app/types.ts b/app/types.ts index 6ba47a577524b631b1a3fd3a21b3e3ddd4a300b0..908dc41b968fa381d9a05acd03e1b757dc26d934 100644 --- a/app/types.ts +++ b/app/types.ts @@ -21,10 +21,6 @@ export type Engagement = { longitude?: number | null; }; -export type City = { - name: string; -}; - export type Category = { name: string; }; @@ -39,15 +35,10 @@ export type EngagementsResponse = { export type EngagementsParameters = { limit: number; offset: number; - latitude?: number; - longitude?: number; - radiusKm?: number; - location?: string; + location?: PlaceDetails; category?: string; }; -export type CitiesResponse = { data: City[] }; - export type CategoriesResponse = { data: Category[] }; export type EngagementParameters = { @@ -61,3 +52,23 @@ export type TrackEngagementViewParameters = { export type TrackEngagementViewResponse = { id: string; }; + +export type PlaceDetails = { + name: string; + geolocation: GeolocationGeoJSON; +}; + +export type GeolocationGeometry = { + type: string; + coordinates: number[] | number[][] | number[][][] | number[][][][]; +}; + +export type Place = { + lon: number; + lat: number; +}; + +export type GeolocationGeoJSON = { + properties: Place; + geometry: GeolocationGeometry; +}; diff --git a/app/utils.ts b/app/utils.ts new file mode 100644 index 0000000000000000000000000000000000000000..f07889d1d667fa36bbf9eb19083afb2c99f54f1a --- /dev/null +++ b/app/utils.ts @@ -0,0 +1,38 @@ +import { GeolocationGeometry } from "./types.ts"; +import { turf } from "./deps.ts"; +import { ApiDefaults } from "./api_types.ts"; + +/** + * Calculates the radius of a given polygon or multi-polygon geometry. + * + * @param {GeolocationGeometry} geometry - The input geometry to calculate the radius for. + * @returns {number} The calculated radius in kilometers. + */ +export function calculateRadius(geometry: GeolocationGeometry) { + if (geometry.type !== "Polygon" && geometry.type !== "MultiPolygon") { + return ApiDefaults.MIN_RADIUS; + } + + const center = turf.center(geometry); + const vertices = turf.explode(geometry); + + let maxDistance: number = ApiDefaults.MIN_RADIUS; + + turf.coordEach(vertices, (vertice) => { + const distance = turf.distance(center, turf.point(vertice), { + units: "kilometers", + }); + + if (distance > maxDistance) { + maxDistance = distance; + } + }); + + const radius = Math.ceil(maxDistance); + + if (radius >= ApiDefaults.MAX_RADIUS) { + return ApiDefaults.MAX_RADIUS; + } + + return radius; +} diff --git a/app/voltastics.ts b/app/voltastics.ts index 0cf9186878209989109974e39b8259d148407a3d..e225900a0e5c63b6dc503d32b4787208540ad577 100644 --- a/app/voltastics.ts +++ b/app/voltastics.ts @@ -1,8 +1,16 @@ +import { + ApiCategoriesResponse, + ApiDefaults, + ApiEngagementResponse, + ApiRoutes, + ApiSearchEngagement, + ApiSearchEngagementsResponse, +} from "./api_types.ts"; +import { logger } from "./logging.ts"; +import { ServerConfig, VoltasticsConfig } from "./server.ts"; import { CategoriesResponse, Category, - CitiesResponse, - City, Engagement, EngagementParameters, EngagementResponse, @@ -12,19 +20,7 @@ import { TrackEngagementViewParameters, TrackEngagementViewResponse, } from "./types.ts"; - -import { - ApiCategoriesResponse, - ApiCitiesResponse, - ApiDefaults, - ApiEngagementResponse, - ApiRoutes, - ApiSearchEngagement, - ApiSearchEngagementsResponse, -} from "./api_types.ts"; -import { ServerConfig, VoltasticsConfig } from "./server.ts"; -import { logger } from "./logging.ts"; -import { sortCitiesAlphabetically } from "./helpers.ts"; +import { calculateRadius } from "./utils.ts"; const transformOrganizer = ( engagement: ApiSearchEngagement, @@ -87,20 +83,6 @@ const transformEngagementsResponse = (imageProxyBaseUrl: string) => }; }; -const transformCity = (city: string): City => { - return { - name: city, - }; -}; - -const transformCitiesResponse = ( - citiesResponse: ApiCitiesResponse, -): CitiesResponse => { - return { - data: citiesResponse.sort(sortCitiesAlphabetically).map(transformCity), - }; -}; - const transformCategory = (category: string): Category => { return { name: category, @@ -134,27 +116,23 @@ const fetchFromVoltasticsApi = ( const buildVoltasticsEngagementsSearchParams = ({ limit = 5, offset = 0, - location = ApiDefaults.CITY, + location, category, - latitude, - longitude, - radiusKm, }: EngagementsParameters) => { const params = new URLSearchParams(); params.append("limit", limit.toString()); params.append("offset", offset.toString()); - params.append("city", location); - if (latitude) { - params.append("lat", latitude.toString()); - } + if (location) { + const { geolocation: { geometry, properties: { lat, lon } } } = location; - if (longitude) { - params.append("lon", longitude.toString()); - } + const radius = calculateRadius(geometry); - if (radiusKm) { - params.append("radius", radiusKm.toString()); + params.append("lat", lat.toString()); + params.append("lon", lon.toString()); + params.append("radius", radius.toString()); + } else { + params.append("city", ApiDefaults.CITY); } if (category) { @@ -251,30 +229,6 @@ export const fetchEngagement = }); }; -export const fetchCities = ( - voltasticsConfig: VoltasticsConfig, -): Promise<CitiesResponse> => { - const start = Date.now(); - logger.info(`fetching cities from ${voltasticsConfig.baseUrl}`); - - return fetchFromVoltasticsApi(voltasticsConfig, ApiRoutes.CITIES) - .then((result) => result.json()) - .then(transformCitiesResponse) - .then((result) => { - const duration = Date.now() - start; - logger.debug(`fetching cities took ${duration} ms`); - return result; - }) - .catch((e) => { - const duration = Date.now() - start; - logger.error( - `Error performing request to ${voltasticsConfig.baseUrl} after ${duration} ms: ${e.message}`, - { duration }, - ); - throw e; - }); -}; - export const fetchCategories = ( voltasticsConfig: VoltasticsConfig, ): Promise<CategoriesResponse> => { diff --git a/app/voltastics_test.ts b/app/voltastics_test.ts index 7d180c823fbbe709a4647b5e52b113b1dc01c5be..ef22f169f6431652a52fa89de041832a41da82a5 100644 --- a/app/voltastics_test.ts +++ b/app/voltastics_test.ts @@ -13,7 +13,6 @@ import { processGqlRequest, stubFetch } from "./common_test.ts"; import { CategoriesResponse, - CitiesResponse, Engagement, EngagementsResponse, } from "./types.ts"; @@ -26,17 +25,15 @@ import { import { apiCategoriesResponse, - apiCitiesResponse, apiSearchEngagement1, apiSearchEngagementsResponse, categories, - cities, engagement1, engagementsResponse, + Munich, } from "./voltastics_test_data.ts"; import { fetchCategories, - fetchCities, fetchEngagement, fetchEngagements, } from "./voltastics.ts"; @@ -65,10 +62,6 @@ latitude longitude `; -const cityFragment = ` -name -`; - const categoryFragment = ` name `; @@ -79,7 +72,7 @@ const queryEngagements = async ( const promise = processGqlRequest( graphQLServer, ` - query engagements($limit:Int!, $offset: Int!, $location: String!) { + query engagements($limit:Int!, $offset: Int!, $location: GeoJSON) { engagements(limit: $limit, offset: $offset, location: $location) { totalResults data { @@ -87,7 +80,7 @@ const queryEngagements = async ( } } }`, - { limit: 10, offset: 20, location: "Hamburg" }, + { limit: 10, offset: 20, lat: 48.1371079, lon: 11.5753822, radius: 14 }, ); return (await promise)?.engagements as EngagementsResponse; @@ -110,25 +103,6 @@ const queryEngagement = async ( return (await promise)?.engagement as Engagement; }; -const queryCities = async ( - graphQLServer: GraphQLServer, -): Promise<CitiesResponse> => { - const promise = processGqlRequest( - graphQLServer, - ` - query cities { - cities { - data { - ${cityFragment} - } - } - }`, - {}, - ); - - return (await promise)?.cities as CitiesResponse; -}; - const queryCategories = async ( graphQLServer: GraphQLServer, ): Promise<CategoriesResponse> => { @@ -174,11 +148,11 @@ describe("voltastics", () => { await fetchEngagements(serverConfigMock)({ limit: 10, offset: 20, - location: "Hamburg", + location: Munich, }); const expectedUrl = new URL( - "https://test.com/api/searchengagement?limit=10&offset=20&city=Hamburg", + "https://test.com/api/searchengagement?limit=10&offset=20&lat=48.1371079&lon=11.5753822&radius=14", ); const expectedHeaders = { headers: { "x-voltastics-token": "ABC123" } }; @@ -209,7 +183,7 @@ describe("voltastics", () => { const result = await fetchEngagements(serverConfigMock)({ limit: 0, offset: 0, - location: "Munich", + location: Munich, }); assertEquals(result, { totalResults: 0, data: [] }); @@ -240,7 +214,7 @@ describe("voltastics", () => { fetchEngagements(serverConfigMock)({ limit: 0, offset: 0, - location: "Hamburg", + location: Munich, }) ); }); @@ -303,32 +277,6 @@ describe("voltastics", () => { }); }); - describe("querying cities", () => { - it("correctly parses cities list", async () => { - fetchStub = stubFetch(apiCitiesResponse); - - const graphQLServer = createGraphQLServer({ - cacheEnabled: false, - voltastics: voltasticsConfigMock, - imageProxyBaseUrl: serverConfigMock.imageProxyBaseUrl, - }); - - const result = await queryCities(graphQLServer); - - assertEquals(result, cities); - }); - - it("throws error for invalid cities response", async () => { - fetchStub = stub( - globalThis, - "fetch", - returnsNext([Promise.resolve(new Response("foobar"))]), - ); - - await assertRejects(() => fetchCities(voltasticsConfigMock)); - }); - }); - describe("querying categorie", () => { it("correctly parses category list", async () => { fetchStub = stubFetch(apiCategoriesResponse); diff --git a/app/voltastics_test_data.ts b/app/voltastics_test_data.ts index 3b71c15d19c45f9729f453aaff7572f32ae6ad8b..e8ec1eb5e6538c2935809ef2e4c4688d11654b1f 100644 --- a/app/voltastics_test_data.ts +++ b/app/voltastics_test_data.ts @@ -1,13 +1,9 @@ import { - ApiCitiesResponse, + ApiCategoriesResponse, ApiSearchEngagement, ApiSearchEngagementsResponse, } from "./api_types.ts"; -import { - CategoriesResponse, - CitiesResponse, - EngagementsResponse, -} from "./types.ts"; +import { CategoriesResponse, EngagementsResponse } from "./types.ts"; import { transformEngagement } from "./voltastics.ts"; export const apiSearchEngagement1: ApiSearchEngagement = { @@ -25,10 +21,10 @@ export const apiSearchEngagement1: ApiSearchEngagement = { title: "Ehrenamtliche Reisebegleiter:innen für Menschen mit Beeinträchtigungen gesucht", hashTags: [ - "Hamburg", + "Munich", "Aktion Mensch", ], - location: "Hamburg", + location: "Munich", uses: [ "Chancengleichheit & Vielfalt", ], @@ -45,14 +41,14 @@ export const apiSearchEngagement2: ApiSearchEngagement = { "https://www.aktion-mensch.de/was-du-tun-kannst/ehrenamt/engagement-plattform#/lokale-angebote/f55690cd-e982-4f28-afa6-a9f1b87d8c11?utm_source=voltastics", orga: "Aktion Mensch", description: - "<p>Sie können sich vorstellen, als Ehrenamtliche:r eine Familie zu unterstützen, in der ein Kind lebensverkürzend erkrankt ist? Dann engagieren Sie sich im ambulanten Kinderhospizdienst HHanseStrolche.<br /><br /><strong>Was sind die HHanseStrolche?</strong><br />\nHHanseStrolche heißt unser ambulanter Kinderhospizdienst. Der Träger ist das Theodorus Kinder-Tageshospiz gGmbH in Hamburg-Eidelstedt. Dabei unterstützen ehrenamtliche Helfer:innen betroffene Familien Zuhause, in ihrem Alltag. Die Hilfe durch die „HHanseStrolche“ ist für die Familien kostenlos. <br /><br /><strong>Warum brauchen die Familien Hilfe?</strong><br />\nDie Diagnose einer unheilbaren Erkrankung eines Kindes ist für Familien sehr belastend. Der Alltag muss neu organisiert werden. Meist muss das Kind rund um die Uhr betreut werden. Mit ihren Sorgen fühlen sich Eltern dabei häufig alleingelassen. In dieser belastenden Situation kommen oft auch die Bedürfnisse der gesunden Geschwisterkinder zu kurz. <br /><br /><strong>Wie können Sie helfen?</strong><br />\nIndem Sie uns als „EhrenStrolch“ durch ihre ehrenamtliche Arbeit unterstützen. Sie gehen in die Familien, entlasten sie in ihrem Alltag und geben ihnen die Möglichkeit, Kraftreserven aufzufüllen und neue Energie zu schöpfen.<br /><br /><strong>Was können Sie konkret tun?</strong><br />\nSie helfen Familien, ihren Alltag besser zu bewältigen. Sie schenken den Eltern, dem erkrankten Kind oder dessen Geschwisterkind Ihre Zeit. Sie werden für die Familie ein Freund und Helfer. Dabei orientieren Sie sich an den konkreten Bedürfnissen der Familie oder der Kinder. Vielleicht lesen Sie dem erkrankten Kind etwas vor. Vielleicht spielen Sie mit dem gesunden Geschwisterkind oder machen einen Ausflug. Vielleicht brauchen die Eltern einfach mal zwei Stunden Zeit für ein ungestörtes Gespräch. Die Familie wird Ihnen zeigen, was sie gerade braucht. <br /><br /><strong>Wo unterstützen und begleiten Sie die Familie?</strong><br />\nSie unterstützen die betroffene Familie in Hamburg in deren eigenen vier Wänden. Idealerweise ist die Familie für Sie innerhalb von 30 Minuten erreichbar.</p>\n<p><strong>Wie viel Zeit sollten Sie als Helfer:in einbringen?</strong><br />\nDamit die Familien von Ihrer Begleitung wirklich profitieren, ist eine regelmäßige Unterstützung notwendig. So kann die Familie ihren Alltag besser planen. Sie sollten deshalb einmal pro Woche mindestens drei Stunden Zeit für die Familie erübrigen können. Außerdem sollten Sie vor Beginn Ihrer ehrenamtlichen Tätigkeit ausreichend Zeit für die Schulung haben.</p>\n<p><strong>Wie lange dauert die Schulung?</strong><br />\nDie Schulung zum Kinderhospizhelfer dauert insgesamt 120 Stunden und schließt auch eine Hospitanz im Kinder-Tageshospiz ein. Sie findet über einen Zeitraum von vier Monaten statt – alle zwei Wochen an Donnerstag- und Freitagnachmittagen, sowie samstags.<br /><br /><strong>Was sind Inhalte dieser Schulung?</strong><br />\nSie lernen die verschiedenen Krankheitsbilder kennen und die Auswirkungen auf das System Familie. Sie sprechen über den Umgang mit Sterben, Tod und Trauer. Sie beschäftigen sich mit Selbstpflege und Selbstfürsorge. </p><p>\n<strong>Wie können Sie die HHanseStrolche noch unterstützen?</strong></p>\n<p>Wir freuen uns, wenn Sie uns als „HHanseStrolch“ Ihre Zeit spenden. Natürlich können Sie sich im Theodorus Kinder-Tageshospiz auch anderweitig engagieren. Wenn Sie sich für dieses Engagement interessieren, können Sie sich jederzeit bei uns melden.</p>", + "<p>Sie können sich vorstellen, als Ehrenamtliche:r eine Familie zu unterstützen, in der ein Kind lebensverkürzend erkrankt ist? Dann engagieren Sie sich im ambulanten Kinderhospizdienst HHanseStrolche.<br /><br /><strong>Was sind die HHanseStrolche?</strong><br />\nHHanseStrolche heißt unser ambulanter Kinderhospizdienst. Der Träger ist das Theodorus Kinder-Tageshospiz gGmbH in Munich-Eidelstedt. Dabei unterstützen ehrenamtliche Helfer:innen betroffene Familien Zuhause, in ihrem Alltag. Die Hilfe durch die „HHanseStrolche“ ist für die Familien kostenlos. <br /><br /><strong>Warum brauchen die Familien Hilfe?</strong><br />\nDie Diagnose einer unheilbaren Erkrankung eines Kindes ist für Familien sehr belastend. Der Alltag muss neu organisiert werden. Meist muss das Kind rund um die Uhr betreut werden. Mit ihren Sorgen fühlen sich Eltern dabei häufig alleingelassen. In dieser belastenden Situation kommen oft auch die Bedürfnisse der gesunden Geschwisterkinder zu kurz. <br /><br /><strong>Wie können Sie helfen?</strong><br />\nIndem Sie uns als „EhrenStrolch“ durch ihre ehrenamtliche Arbeit unterstützen. Sie gehen in die Familien, entlasten sie in ihrem Alltag und geben ihnen die Möglichkeit, Kraftreserven aufzufüllen und neue Energie zu schöpfen.<br /><br /><strong>Was können Sie konkret tun?</strong><br />\nSie helfen Familien, ihren Alltag besser zu bewältigen. Sie schenken den Eltern, dem erkrankten Kind oder dessen Geschwisterkind Ihre Zeit. Sie werden für die Familie ein Freund und Helfer. Dabei orientieren Sie sich an den konkreten Bedürfnissen der Familie oder der Kinder. Vielleicht lesen Sie dem erkrankten Kind etwas vor. Vielleicht spielen Sie mit dem gesunden Geschwisterkind oder machen einen Ausflug. Vielleicht brauchen die Eltern einfach mal zwei Stunden Zeit für ein ungestörtes Gespräch. Die Familie wird Ihnen zeigen, was sie gerade braucht. <br /><br /><strong>Wo unterstützen und begleiten Sie die Familie?</strong><br />\nSie unterstützen die betroffene Familie in Munich in deren eigenen vier Wänden. Idealerweise ist die Familie für Sie innerhalb von 30 Minuten erreichbar.</p>\n<p><strong>Wie viel Zeit sollten Sie als Helfer:in einbringen?</strong><br />\nDamit die Familien von Ihrer Begleitung wirklich profitieren, ist eine regelmäßige Unterstützung notwendig. So kann die Familie ihren Alltag besser planen. Sie sollten deshalb einmal pro Woche mindestens drei Stunden Zeit für die Familie erübrigen können. Außerdem sollten Sie vor Beginn Ihrer ehrenamtlichen Tätigkeit ausreichend Zeit für die Schulung haben.</p>\n<p><strong>Wie lange dauert die Schulung?</strong><br />\nDie Schulung zum Kinderhospizhelfer dauert insgesamt 120 Stunden und schließt auch eine Hospitanz im Kinder-Tageshospiz ein. Sie findet über einen Zeitraum von vier Monaten statt – alle zwei Wochen an Donnerstag- und Freitagnachmittagen, sowie samstags.<br /><br /><strong>Was sind Inhalte dieser Schulung?</strong><br />\nSie lernen die verschiedenen Krankheitsbilder kennen und die Auswirkungen auf das System Familie. Sie sprechen über den Umgang mit Sterben, Tod und Trauer. Sie beschäftigen sich mit Selbstpflege und Selbstfürsorge. </p><p>\n<strong>Wie können Sie die HHanseStrolche noch unterstützen?</strong></p>\n<p>Wir freuen uns, wenn Sie uns als „HHanseStrolch“ Ihre Zeit spenden. Natürlich können Sie sich im Theodorus Kinder-Tageshospiz auch anderweitig engagieren. Wenn Sie sich für dieses Engagement interessieren, können Sie sich jederzeit bei uns melden.</p>", "source": "Aktion Mensch", title: "Ehrenamt im Ambulanten Kinderhospizdienst HHanseStrolche", hashTags: [ - "Hamburg", + "Munich", "Aktion Mensch", ], - location: "Hamburg", + location: "Munich", uses: [ "Familien", "Kinder", @@ -82,35 +78,7 @@ export const engagementsResponse: EngagementsResponse = { data: [engagement1, engagement2], }; -export const apiCitiesResponse: ApiCitiesResponse = [ - '"/"Köln', - "30851", - "Aalen", - "Adelsdorf", - "Adenbüttel", - "Adendorf", - "Aerzen", - "Aham", - "Ahlen", - "Altötting", -]; - -export const cities: CitiesResponse = { - data: [ - { name: "Aalen" }, - { name: "Adelsdorf" }, - { name: "Adenbüttel" }, - { name: "Adendorf" }, - { name: "Aerzen" }, - { name: "Aham" }, - { name: "Ahlen" }, - { name: "Altötting" }, - { name: '"/"Köln' }, - { name: "30851" }, - ], -}; - -export const apiCategoriesResponse: ApiCitiesResponse = [ +export const apiCategoriesResponse: ApiCategoriesResponse = [ "Einkaufshilfen", "Kinder", "Kommunikation", @@ -127,3 +95,2341 @@ export const categories: CategoriesResponse = { { name: "Chancengleichheit & Vielfalt" }, ], }; + +export const Munich = { + "__typename": "Geo_PlaceDetails", + "name": "München, Munich, Bavaria, Germany", + "geolocation": { + "type": "Feature", + "properties": { + "feature_type": "details", + "website": "https://www.muenchen.de/", + "website_other": [ + "https://www.muenchen.de", + ], + "name": "München", + "name_international": { + "bs": "Minhen", + "ca": "Munic", + "cs": "Mnichov", + "de": "München", + "el": "Μόναχο", + "en": "Munich", + "es": "Múnich", + "fa": "مونیخ", + "fr": "Munich", + "fy": "München", + "it": "Monaco", + "ko": "뮌헨", + "mk": "Минхен", + "nl": "München", + "ru": "Мюнхен", + "sk": "Mníchov", + "ta": "மியூனிக்", + "tr": "Münih", + "uk": "Мюнхен", + "ur": "میونخ", + }, + "contact": { + "phone": "+49 89 115", + }, + "wiki_and_media": { + "wikidata": "Q1726", + "wikipedia": "de:München", + }, + "categories": [ + "administrative", + "administrative.county_level", + ], + "datasource": { + "sourcename": "openstreetmap", + "attribution": "© OpenStreetMap contributors", + "license": "Open Database Licence", + "url": "https://www.openstreetmap.org/copyright", + "raw": { + "ele": 519, + "name": "München", + "type": "boundary", + "phone": "+49 89 115", + "osm_id": 62428, + "capital": 4, + "name:bs": "Minhen", + "name:ca": "Munic", + "name:cs": "Mnichov", + "name:de": "München", + "name:el": "Μόναχο", + "name:en": "Munich", + "name:es": "Múnich", + "name:fa": "مونیخ", + "name:fr": "Munich", + "name:fy": "München", + "name:it": "Monaco", + "name:ko": "뮌헨", + "name:mk": "Минхен", + "name:nl": "München", + "name:ru": "Мюнхен", + "name:sk": "Mníchov", + "name:ta": "மியூனிக்", + "name:tr": "Münih", + "name:uk": "Мюнхен", + "name:ur": "میونخ", + "website": "https://www.muenchen.de/", + "boundary": "administrative", + "de:place": "city", + "name:lld": "Minca", + "name:tzl": "Müntsch", + "osm_type": "r", + "wikidata": "Q1726", + "wikipedia": "de:München", + "population": 1484226, + "ref:LOCODE": "DEMUC", + "ref:nuts:3": "DE212", + "admin_level": 6, + "attribution": "Open Data LH München 2017", + "name:prefix": "Landeshauptstadt", + "old_name:sl": "Monakovo", + "country_code": "de", + "linked_place": "city", + "contact:phone": "+49 89 115", + "_place_name:ar": "ميونخ", + "_place_name:az": "Münhen", + "_place_name:be": "Мюнхен", + "_place_name:bg": "Мюнхен", + "_place_name:br": "München", + "_place_name:da": "München", + "_place_name:eo": "Munkeno", + "_place_name:eu": "Munich", + "_place_name:fi": "München", + "_place_name:gl": "Múnic", + "_place_name:he": "מינכן", + "_place_name:hi": "म्यूनिख", + "_place_name:hr": "München", + "_place_name:hy": "Մյունխեն", + "_place_name:it": "Monaco di Baviera", + "_place_name:ja": "ミュンヘン", + "_place_name:ka": "მიუნხენი", + "_place_name:kk": "Мюнхен", + "_place_name:kn": "ಮುನಿಕ್", + "_place_name:la": "Monacum", + "_place_name:lt": "Miunchenas", + "_place_name:lv": "Minhene", + "_place_name:oc": "Munic", + "_place_name:pl": "Monachium", + "_place_name:pt": "Munique", + "_place_name:sh": "München", + "_place_name:sr": "Минхен", + "_place_name:tt": "Мүнхен", + "_place_name:uz": "Munhen", + "_place_name:vi": "München", + "_place_name:zh": "慕尼黑", + "openGeoDB:type": "Landeshauptstadt", + "_place_int_name": "Munich", + "_place_name:als": "Münche", + "_place_name:bar": "Minga", + "_place_name:dsb": "München", + "_place_name:hsb": "Mnichow", + "contact:website": "https://www.muenchen.de", + "openGeoDB:loc_id": 212, + "_place_alt_name:la": "Monachium;Monachum", + "license_plate_code": "M", + "_place_name:zh-Hant": "慕尼黑", + "_place_name:be-tarask": "Мюнхэн", + "de:regionalschluessel": "091620000000", + "TMC:cid_58:tabcd_1:Class": "Area", + "openGeoDB:license_plate_code": "M", + "TMC:cid_58:tabcd_1:LCLversion": 8, + "openGeoDB:telephone_area_code": "089", + "TMC:cid_58:tabcd_1:LocationCode": 1956, + "de:amtlicher_gemeindeschluessel": "09162000", + "openGeoDB:community_identification_number": "09162", + }, + }, + "city": "Munich", + "state": "Bavaria", + "country": "Germany", + "country_code": "de", + "formatted": "München, Munich, Bavaria, Germany", + "address_line1": "München", + "address_line2": "Munich, Bavaria, Germany", + "lat": 48.1371079, + "lon": 11.5753822, + "timezone": { + "name": "Europe/Berlin", + "offset_STD": "+01:00", + "offset_STD_seconds": 3600, + "offset_DST": "+02:00", + "offset_DST_seconds": 7200, + "abbreviation_STD": "CET", + "abbreviation_DST": "CEST", + }, + "place_id": + "51c69eecf83f18274059dd3ad3f89a134840f00101f901dcf3000000000000c002099203084dc3bc6e6368656e", + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + 11.5560672, + 48.0799449, + ], + [ + 11.5563954, + 48.0804318, + ], + [ + 11.5577562, + 48.0795803, + ], + [ + 11.5569527, + 48.0793801, + ], + [ + 11.5560672, + 48.0799449, + ], + ], + ], + [ + [ + [ + 11.4902263, + 48.073821, + ], + [ + 11.490724, + 48.0742575, + ], + [ + 11.4909805, + 48.0741023, + ], + [ + 11.4903024, + 48.0737742, + ], + [ + 11.4902263, + 48.073821, + ], + ], + ], + [ + [ + [ + 11.360777, + 48.1580704, + ], + [ + 11.3617953, + 48.1598761, + ], + [ + 11.36277, + 48.163048, + ], + [ + 11.3643432, + 48.1635874, + ], + [ + 11.3654224, + 48.1643455, + ], + [ + 11.3678431, + 48.1684747, + ], + [ + 11.3683799, + 48.1696775, + ], + [ + 11.3688606, + 48.1726736, + ], + [ + 11.3696669, + 48.174332, + ], + [ + 11.369049, + 48.1764125, + ], + [ + 11.3711004, + 48.1782815, + ], + [ + 11.3736819, + 48.1784768, + ], + [ + 11.3750821, + 48.1790691, + ], + [ + 11.3774025, + 48.1789277, + ], + [ + 11.3810841, + 48.1793421, + ], + [ + 11.3831458, + 48.1780236, + ], + [ + 11.3853011, + 48.177571, + ], + [ + 11.38744, + 48.1788823, + ], + [ + 11.3883609, + 48.1801284, + ], + [ + 11.3908722, + 48.181389, + ], + [ + 11.3932585, + 48.1844601, + ], + [ + 11.3912683, + 48.1855524, + ], + [ + 11.3920119, + 48.1867844, + ], + [ + 11.3922842, + 48.1895554, + ], + [ + 11.3905496, + 48.1902715, + ], + [ + 11.3907007, + 48.1905799, + ], + [ + 11.3885404, + 48.1908446, + ], + [ + 11.3908298, + 48.2004624, + ], + [ + 11.4015412, + 48.2009487, + ], + [ + 11.4024401, + 48.2013933, + ], + [ + 11.4028239, + 48.2011354, + ], + [ + 11.4046319, + 48.2013522, + ], + [ + 11.4168667, + 48.2031454, + ], + [ + 11.4188322, + 48.2027723, + ], + [ + 11.4194546, + 48.2035059, + ], + [ + 11.4324192, + 48.2052394, + ], + [ + 11.4323665, + 48.2057585, + ], + [ + 11.4383679, + 48.2058276, + ], + [ + 11.4384262, + 48.2061977, + ], + [ + 11.4435089, + 48.2063668, + ], + [ + 11.4440659, + 48.2069387, + ], + [ + 11.4576008, + 48.2087996, + ], + [ + 11.4587546, + 48.2104817, + ], + [ + 11.4590604, + 48.2115776, + ], + [ + 11.4605009, + 48.2120246, + ], + [ + 11.4604103, + 48.2131961, + ], + [ + 11.4617916, + 48.214465, + ], + [ + 11.4634522, + 48.215499, + ], + [ + 11.4702641, + 48.2184986, + ], + [ + 11.473032, + 48.2193732, + ], + [ + 11.4770563, + 48.2195538, + ], + [ + 11.4774679, + 48.2197313, + ], + [ + 11.4774271, + 48.2199989, + ], + [ + 11.4910806, + 48.2230962, + ], + [ + 11.4888895, + 48.2234665, + ], + [ + 11.4889809, + 48.2240063, + ], + [ + 11.488066, + 48.226256, + ], + [ + 11.4885583, + 48.229337, + ], + [ + 11.4877521, + 48.2320807, + ], + [ + 11.4886374, + 48.2334869, + ], + [ + 11.4900386, + 48.234826, + ], + [ + 11.4902024, + 48.2354487, + ], + [ + 11.4895372, + 48.2379692, + ], + [ + 11.490802, + 48.2379814, + ], + [ + 11.4915039, + 48.2382047, + ], + [ + 11.4919203, + 48.2397346, + ], + [ + 11.4908786, + 48.240872, + ], + [ + 11.4915749, + 48.2418609, + ], + [ + 11.4906009, + 48.2434475, + ], + [ + 11.4906903, + 48.2454237, + ], + [ + 11.490981, + 48.2457752, + ], + [ + 11.491617, + 48.2459324, + ], + [ + 11.4983881, + 48.247344, + ], + [ + 11.4999247, + 48.2474575, + ], + [ + 11.4998422, + 48.2480984, + ], + [ + 11.5011968, + 48.2481162, + ], + [ + 11.5061828, + 48.2473326, + ], + [ + 11.5132717, + 48.2457287, + ], + [ + 11.5253855, + 48.2413177, + ], + [ + 11.5296105, + 48.2328517, + ], + [ + 11.5311184, + 48.2313437, + ], + [ + 11.5340096, + 48.2314164, + ], + [ + 11.5339469, + 48.2304904, + ], + [ + 11.5377331, + 48.2299955, + ], + [ + 11.5417649, + 48.2291812, + ], + [ + 11.5416825, + 48.2288405, + ], + [ + 11.5432765, + 48.2287567, + ], + [ + 11.5435745, + 48.2294385, + ], + [ + 11.5437386, + 48.2291371, + ], + [ + 11.5442711, + 48.229276, + ], + [ + 11.5441915, + 48.2287072, + ], + [ + 11.5450185, + 48.2278923, + ], + [ + 11.5468314, + 48.227114, + ], + [ + 11.5493764, + 48.2268791, + ], + [ + 11.5605832, + 48.2270424, + ], + [ + 11.570792, + 48.2275558, + ], + [ + 11.5823007, + 48.2285636, + ], + [ + 11.583046, + 48.2276449, + ], + [ + 11.5866848, + 48.2247135, + ], + [ + 11.587159, + 48.2240011, + ], + [ + 11.5874962, + 48.222137, + ], + [ + 11.5874666, + 48.2134767, + ], + [ + 11.5921987, + 48.2135653, + ], + [ + 11.6018342, + 48.2133525, + ], + [ + 11.6015143, + 48.2149446, + ], + [ + 11.6020336, + 48.215108, + ], + [ + 11.6018313, + 48.2168632, + ], + [ + 11.6049988, + 48.2174771, + ], + [ + 11.604813, + 48.2183323, + ], + [ + 11.606269, + 48.218402, + ], + [ + 11.6061897, + 48.2191897, + ], + [ + 11.6108532, + 48.2189434, + ], + [ + 11.6109421, + 48.2192164, + ], + [ + 11.6115803, + 48.2191392, + ], + [ + 11.6092356, + 48.2225798, + ], + [ + 11.606306, + 48.2263477, + ], + [ + 11.6057154, + 48.2267704, + ], + [ + 11.6075009, + 48.2273276, + ], + [ + 11.6070763, + 48.2281597, + ], + [ + 11.6088775, + 48.228416, + ], + [ + 11.6090824, + 48.2276135, + ], + [ + 11.6075414, + 48.2273, + ], + [ + 11.6081407, + 48.2256627, + ], + [ + 11.609395, + 48.2255504, + ], + [ + 11.6129485, + 48.2255761, + ], + [ + 11.6141709, + 48.2279305, + ], + [ + 11.6181431, + 48.2275868, + ], + [ + 11.6224909, + 48.2275567, + ], + [ + 11.6223607, + 48.2287395, + ], + [ + 11.6241083, + 48.2287003, + ], + [ + 11.624613, + 48.2292444, + ], + [ + 11.6329046, + 48.2270696, + ], + [ + 11.633034, + 48.2272244, + ], + [ + 11.6366599, + 48.2262756, + ], + [ + 11.6389922, + 48.2259624, + ], + [ + 11.6394583, + 48.225636, + ], + [ + 11.6383027, + 48.2247514, + ], + [ + 11.63826, + 48.2241538, + ], + [ + 11.6391535, + 48.221753, + ], + [ + 11.6430175, + 48.2206437, + ], + [ + 11.6424356, + 48.2202328, + ], + [ + 11.6428052, + 48.219879, + ], + [ + 11.6505051, + 48.2170076, + ], + [ + 11.6507277, + 48.2151315, + ], + [ + 11.6504917, + 48.2133803, + ], + [ + 11.6497562, + 48.2117561, + ], + [ + 11.6480642, + 48.2097556, + ], + [ + 11.645815, + 48.2083158, + ], + [ + 11.64129, + 48.2060798, + ], + [ + 11.6398525, + 48.2047959, + ], + [ + 11.6391181, + 48.2037657, + ], + [ + 11.6385425, + 48.2020515, + ], + [ + 11.6383474, + 48.1992745, + ], + [ + 11.6377992, + 48.1978661, + ], + [ + 11.6327349, + 48.1890134, + ], + [ + 11.6292562, + 48.1843291, + ], + [ + 11.6295999, + 48.1842016, + ], + [ + 11.6294552, + 48.1840213, + ], + [ + 11.6312303, + 48.1834969, + ], + [ + 11.6310359, + 48.1833379, + ], + [ + 11.6315335, + 48.1830639, + ], + [ + 11.630186, + 48.1820887, + ], + [ + 11.6290368, + 48.1807207, + ], + [ + 11.6280539, + 48.1787193, + ], + [ + 11.627706, + 48.1773044, + ], + [ + 11.6304297, + 48.1771078, + ], + [ + 11.6307066, + 48.1776555, + ], + [ + 11.6313289, + 48.1775033, + ], + [ + 11.6314677, + 48.1778549, + ], + [ + 11.6372115, + 48.1764448, + ], + [ + 11.6364458, + 48.1751439, + ], + [ + 11.6358903, + 48.174917, + ], + [ + 11.6375913, + 48.1742731, + ], + [ + 11.6410058, + 48.1733964, + ], + [ + 11.6413408, + 48.1739388, + ], + [ + 11.6458544, + 48.1736881, + ], + [ + 11.6457021, + 48.1739785, + ], + [ + 11.6482684, + 48.1741321, + ], + [ + 11.6482604, + 48.1745236, + ], + [ + 11.6509888, + 48.1745453, + ], + [ + 11.6509408, + 48.1749964, + ], + [ + 11.6655252, + 48.1761816, + ], + [ + 11.6657165, + 48.1767065, + ], + [ + 11.6655143, + 48.1770181, + ], + [ + 11.6649376, + 48.177376, + ], + [ + 11.6644839, + 48.1773975, + ], + [ + 11.6610541, + 48.1797005, + ], + [ + 11.6610123, + 48.1816876, + ], + [ + 11.6612058, + 48.1819001, + ], + [ + 11.6616288, + 48.1818785, + ], + [ + 11.6622045, + 48.1828884, + ], + [ + 11.6785744, + 48.1815952, + ], + [ + 11.6868297, + 48.180373, + ], + [ + 11.6890044, + 48.1818191, + ], + [ + 11.6889679, + 48.1827884, + ], + [ + 11.6919782, + 48.1825288, + ], + [ + 11.6955543, + 48.1799813, + ], + [ + 11.6907035, + 48.1781596, + ], + [ + 11.6935138, + 48.1765041, + ], + [ + 11.6932409, + 48.1764234, + ], + [ + 11.6960995, + 48.1742858, + ], + [ + 11.6932605, + 48.1705663, + ], + [ + 11.6887835, + 48.1715231, + ], + [ + 11.6857938, + 48.1717565, + ], + [ + 11.6859487, + 48.170847, + ], + [ + 11.6867422, + 48.1697065, + ], + [ + 11.6864455, + 48.1688082, + ], + [ + 11.685728, + 48.1683237, + ], + [ + 11.6856558, + 48.1674893, + ], + [ + 11.6784996, + 48.1604538, + ], + [ + 11.673925, + 48.15647, + ], + [ + 11.6798009, + 48.1532533, + ], + [ + 11.6781624, + 48.144285, + ], + [ + 11.6830616, + 48.1449132, + ], + [ + 11.6837275, + 48.1447925, + ], + [ + 11.6915437, + 48.1457975, + ], + [ + 11.6914785, + 48.1459701, + ], + [ + 11.6916723, + 48.1458121, + ], + [ + 11.6984962, + 48.1466823, + ], + [ + 11.698403, + 48.1468928, + ], + [ + 11.6986205, + 48.1466975, + ], + [ + 11.7027845, + 48.1472332, + ], + [ + 11.702654, + 48.1474726, + ], + [ + 11.7029382, + 48.147252, + ], + [ + 11.710117, + 48.14818, + ], + [ + 11.7134632, + 48.1455237, + ], + [ + 11.7109481, + 48.1446123, + ], + [ + 11.7127796, + 48.1431936, + ], + [ + 11.7101299, + 48.141854, + ], + [ + 11.7141843, + 48.1386774, + ], + [ + 11.7179981, + 48.1377062, + ], + [ + 11.720463, + 48.1390675, + ], + [ + 11.722903, + 48.1370622, + ], + [ + 11.7196799, + 48.1355406, + ], + [ + 11.7204373, + 48.134335, + ], + [ + 11.7152706, + 48.1327982, + ], + [ + 11.7144568, + 48.1340328, + ], + [ + 11.7122674, + 48.1333845, + ], + [ + 11.7143702, + 48.1313657, + ], + [ + 11.7117067, + 48.1300689, + ], + [ + 11.7133971, + 48.1291073, + ], + [ + 11.7145197, + 48.1296081, + ], + [ + 11.7153862, + 48.1289385, + ], + [ + 11.7151701, + 48.1287789, + ], + [ + 11.7161672, + 48.1281741, + ], + [ + 11.7139429, + 48.124264, + ], + [ + 11.7119885, + 48.1229767, + ], + [ + 11.7107359, + 48.1240348, + ], + [ + 11.70885, + 48.1226348, + ], + [ + 11.7086252, + 48.1229634, + ], + [ + 11.7074155, + 48.1223731, + ], + [ + 11.7070999, + 48.1225171, + ], + [ + 11.7060649, + 48.1223646, + ], + [ + 11.7042695, + 48.1214437, + ], + [ + 11.6977398, + 48.1253464, + ], + [ + 11.6964272, + 48.1243881, + ], + [ + 11.6959275, + 48.1243863, + ], + [ + 11.6941881, + 48.1231033, + ], + [ + 11.6975662, + 48.12118, + ], + [ + 11.6960577, + 48.1198625, + ], + [ + 11.6951246, + 48.1203408, + ], + [ + 11.6940418, + 48.1193471, + ], + [ + 11.6984629, + 48.1179705, + ], + [ + 11.6997477, + 48.1179185, + ], + [ + 11.710668, + 48.1155572, + ], + [ + 11.708916, + 48.1142371, + ], + [ + 11.7129604, + 48.1115152, + ], + [ + 11.7139366, + 48.1110192, + ], + [ + 11.714605, + 48.111119, + ], + [ + 11.7145946, + 48.1108471, + ], + [ + 11.7127047, + 48.1048692, + ], + [ + 11.7093428, + 48.1025744, + ], + [ + 11.7043694, + 48.1004612, + ], + [ + 11.7033248, + 48.1003102, + ], + [ + 11.7001631, + 48.0991648, + ], + [ + 11.6966424, + 48.0974342, + ], + [ + 11.6942302, + 48.0971188, + ], + [ + 11.6888833, + 48.0949278, + ], + [ + 11.6890564, + 48.0940088, + ], + [ + 11.6871126, + 48.0935434, + ], + [ + 11.6887349, + 48.0922119, + ], + [ + 11.6878519, + 48.0921369, + ], + [ + 11.6859668, + 48.0924856, + ], + [ + 11.684497, + 48.0924806, + ], + [ + 11.6833458, + 48.0922506, + ], + [ + 11.6827716, + 48.0918035, + ], + [ + 11.6824127, + 48.0884471, + ], + [ + 11.6809575, + 48.0838042, + ], + [ + 11.681313, + 48.0829658, + ], + [ + 11.6835162, + 48.0814904, + ], + [ + 11.6835818, + 48.0802574, + ], + [ + 11.6840698, + 48.079155, + ], + [ + 11.6847024, + 48.0781947, + ], + [ + 11.685651, + 48.0774915, + ], + [ + 11.6793467, + 48.0781985, + ], + [ + 11.6793833, + 48.0783844, + ], + [ + 11.6786688, + 48.0784527, + ], + [ + 11.67862, + 48.0782739, + ], + [ + 11.6737148, + 48.0787812, + ], + [ + 11.6734504, + 48.0782127, + ], + [ + 11.6717534, + 48.0780549, + ], + [ + 11.6678188, + 48.0779646, + ], + [ + 11.6655716, + 48.0782116, + ], + [ + 11.665644, + 48.0784041, + ], + [ + 11.664332, + 48.0786148, + ], + [ + 11.6634758, + 48.0789937, + ], + [ + 11.6633645, + 48.0788111, + ], + [ + 11.6468164, + 48.0820207, + ], + [ + 11.6373747, + 48.0836363, + ], + [ + 11.6382475, + 48.0836693, + ], + [ + 11.6330367, + 48.0842769, + ], + [ + 11.633041, + 48.0859672, + ], + [ + 11.629625, + 48.0862576, + ], + [ + 11.6296264, + 48.086547, + ], + [ + 11.6265793, + 48.0868019, + ], + [ + 11.6270317, + 48.0870844, + ], + [ + 11.6237095, + 48.0873266, + ], + [ + 11.6237531, + 48.08811, + ], + [ + 11.6167533, + 48.0886253, + ], + [ + 11.616744, + 48.0884262, + ], + [ + 11.615151, + 48.0884248, + ], + [ + 11.6151817, + 48.0880168, + ], + [ + 11.6116855, + 48.0881107, + ], + [ + 11.6119796, + 48.0870427, + ], + [ + 11.6064974, + 48.086808, + ], + [ + 11.6035253, + 48.0850642, + ], + [ + 11.6017741, + 48.0873456, + ], + [ + 11.5983569, + 48.0865858, + ], + [ + 11.5976965, + 48.0858711, + ], + [ + 11.5964285, + 48.0857868, + ], + [ + 11.5950305, + 48.0854296, + ], + [ + 11.5947192, + 48.0858191, + ], + [ + 11.5943263, + 48.0855192, + ], + [ + 11.5945095, + 48.0852642, + ], + [ + 11.5936151, + 48.0849751, + ], + [ + 11.5926218, + 48.0850713, + ], + [ + 11.5918167, + 48.0875241, + ], + [ + 11.588558, + 48.0934318, + ], + [ + 11.5875022, + 48.0935005, + ], + [ + 11.5869189, + 48.0938795, + ], + [ + 11.5860873, + 48.0934961, + ], + [ + 11.5854243, + 48.0935285, + ], + [ + 11.5744301, + 48.0893368, + ], + [ + 11.5743819, + 48.0888153, + ], + [ + 11.5732319, + 48.0888993, + ], + [ + 11.5629144, + 48.0851799, + ], + [ + 11.5624875, + 48.0836047, + ], + [ + 11.5605688, + 48.0839426, + ], + [ + 11.5605373, + 48.0841634, + ], + [ + 11.5539743, + 48.0850231, + ], + [ + 11.5491556, + 48.0748689, + ], + [ + 11.5499136, + 48.0746572, + ], + [ + 11.549757, + 48.0744612, + ], + [ + 11.5490322, + 48.0746059, + ], + [ + 11.5454241, + 48.0681278, + ], + [ + 11.5440667, + 48.0683123, + ], + [ + 11.5440071, + 48.0696331, + ], + [ + 11.5442887, + 48.0702448, + ], + [ + 11.5439683, + 48.0719453, + ], + [ + 11.5431318, + 48.0730499, + ], + [ + 11.5436028, + 48.0735282, + ], + [ + 11.5426646, + 48.0745128, + ], + [ + 11.5417552, + 48.0745914, + ], + [ + 11.541585, + 48.0755009, + ], + [ + 11.5422018, + 48.0767898, + ], + [ + 11.5423719, + 48.0778567, + ], + [ + 11.53686, + 48.0780039, + ], + [ + 11.5334768, + 48.0776817, + ], + [ + 11.5321329, + 48.076834, + ], + [ + 11.5315304, + 48.0761553, + ], + [ + 11.5310844, + 48.0749435, + ], + [ + 11.5290508, + 48.07194, + ], + [ + 11.5282499, + 48.0689844, + ], + [ + 11.5262944, + 48.0689891, + ], + [ + 11.5262498, + 48.0683357, + ], + [ + 11.5238869, + 48.0683743, + ], + [ + 11.5230971, + 48.0676607, + ], + [ + 11.5229583, + 48.0664605, + ], + [ + 11.5221, + 48.0665384, + ], + [ + 11.5221162, + 48.0673467, + ], + [ + 11.5188177, + 48.0673262, + ], + [ + 11.5190033, + 48.0670298, + ], + [ + 11.5182103, + 48.0669313, + ], + [ + 11.5182312, + 48.0666233, + ], + [ + 11.5176967, + 48.0666003, + ], + [ + 11.517575, + 48.066269, + ], + [ + 11.5170141, + 48.0663671, + ], + [ + 11.5166094, + 48.065377, + ], + [ + 11.5163096, + 48.0654374, + ], + [ + 11.5156035, + 48.0633629, + ], + [ + 11.5115038, + 48.0643994, + ], + [ + 11.5087578, + 48.0616244, + ], + [ + 11.5042105, + 48.0623947, + ], + [ + 11.5036726, + 48.0654734, + ], + [ + 11.5030423, + 48.065703, + ], + [ + 11.5025769, + 48.0669437, + ], + [ + 11.5030212, + 48.0669886, + ], + [ + 11.5027329, + 48.0681078, + ], + [ + 11.5028817, + 48.0686153, + ], + [ + 11.503558, + 48.0692942, + ], + [ + 11.4872351, + 48.0762576, + ], + [ + 11.4866484, + 48.0753802, + ], + [ + 11.488005, + 48.074964, + ], + [ + 11.4871308, + 48.0737735, + ], + [ + 11.4857966, + 48.0742165, + ], + [ + 11.4870344, + 48.0763511, + ], + [ + 11.4733659, + 48.0821506, + ], + [ + 11.4730197, + 48.0818192, + ], + [ + 11.4733979, + 48.081628, + ], + [ + 11.4729244, + 48.0812229, + ], + [ + 11.4719421, + 48.0818083, + ], + [ + 11.472374, + 48.0822666, + ], + [ + 11.4729241, + 48.0819643, + ], + [ + 11.4732555, + 48.0821942, + ], + [ + 11.4709217, + 48.0831868, + ], + [ + 11.4736262, + 48.0866661, + ], + [ + 11.4747255, + 48.0869866, + ], + [ + 11.476342, + 48.0887657, + ], + [ + 11.4747322, + 48.0888762, + ], + [ + 11.4720742, + 48.0901146, + ], + [ + 11.4734694, + 48.092711, + ], + [ + 11.4741079, + 48.0953762, + ], + [ + 11.470851, + 48.0993754, + ], + [ + 11.4746327, + 48.1038646, + ], + [ + 11.4748504, + 48.1046058, + ], + [ + 11.4720881, + 48.1050848, + ], + [ + 11.4696902, + 48.1058319, + ], + [ + 11.4696285, + 48.1052066, + ], + [ + 11.4629691, + 48.1052549, + ], + [ + 11.4636007, + 48.1086455, + ], + [ + 11.4631838, + 48.1111136, + ], + [ + 11.4635178, + 48.1123065, + ], + [ + 11.4632473, + 48.1135427, + ], + [ + 11.4633954, + 48.1145011, + ], + [ + 11.4650608, + 48.1147058, + ], + [ + 11.4656651, + 48.1185145, + ], + [ + 11.4655645, + 48.120325, + ], + [ + 11.4647654, + 48.1230888, + ], + [ + 11.4647395, + 48.1248029, + ], + [ + 11.4651283, + 48.126992, + ], + [ + 11.4649715, + 48.1282282, + ], + [ + 11.4645429, + 48.129238, + ], + [ + 11.4637916, + 48.1294828, + ], + [ + 11.4636931, + 48.129926, + ], + [ + 11.4620216, + 48.1300002, + ], + [ + 11.4621018, + 48.1302968, + ], + [ + 11.4594724, + 48.1308994, + ], + [ + 11.4601384, + 48.1320449, + ], + [ + 11.4578847, + 48.1324797, + ], + [ + 11.4578446, + 48.1322561, + ], + [ + 11.4547026, + 48.1326279, + ], + [ + 11.4548798, + 48.1329687, + ], + [ + 11.4533677, + 48.1331361, + ], + [ + 11.4513653, + 48.1332754, + ], + [ + 11.4511498, + 48.1324851, + ], + [ + 11.4497754, + 48.1329213, + ], + [ + 11.4481179, + 48.1311538, + ], + [ + 11.4479757, + 48.1317725, + ], + [ + 11.447041, + 48.1330838, + ], + [ + 11.4476451, + 48.1334827, + ], + [ + 11.4474667, + 48.1335873, + ], + [ + 11.4473328, + 48.1334886, + ], + [ + 11.4450237, + 48.1340895, + ], + [ + 11.44229, + 48.1339226, + ], + [ + 11.4401533, + 48.1344226, + ], + [ + 11.4381326, + 48.1346137, + ], + [ + 11.4385662, + 48.135373, + ], + [ + 11.4363741, + 48.1366581, + ], + [ + 11.4360395, + 48.1361104, + ], + [ + 11.4346193, + 48.1368894, + ], + [ + 11.4330624, + 48.1369342, + ], + [ + 11.4299801, + 48.1375559, + ], + [ + 11.4262618, + 48.136538, + ], + [ + 11.4247077, + 48.1353412, + ], + [ + 11.4240461, + 48.1345771, + ], + [ + 11.4233438, + 48.1330177, + ], + [ + 11.4226466, + 48.1324989, + ], + [ + 11.4188182, + 48.1306139, + ], + [ + 11.4155118, + 48.1286784, + ], + [ + 11.4128816, + 48.127491, + ], + [ + 11.4120802, + 48.1273715, + ], + [ + 11.4089641, + 48.1261967, + ], + [ + 11.4038308, + 48.1256149, + ], + [ + 11.4022976, + 48.1253264, + ], + [ + 11.4022722, + 48.1251677, + ], + [ + 11.3944236, + 48.1255105, + ], + [ + 11.3930053, + 48.1285263, + ], + [ + 11.3896186, + 48.1278656, + ], + [ + 11.388724, + 48.1297424, + ], + [ + 11.3894088, + 48.1316766, + ], + [ + 11.388975, + 48.1329001, + ], + [ + 11.3887205, + 48.1328491, + ], + [ + 11.3881907, + 48.1345772, + ], + [ + 11.3901684, + 48.1354416, + ], + [ + 11.3899751, + 48.1359786, + ], + [ + 11.3921849, + 48.1366638, + ], + [ + 11.3895295, + 48.1412227, + ], + [ + 11.3912725, + 48.1418913, + ], + [ + 11.390152, + 48.143654, + ], + [ + 11.3906327, + 48.1438677, + ], + [ + 11.3894055, + 48.1457461, + ], + [ + 11.3902615, + 48.1459832, + ], + [ + 11.389144, + 48.1479327, + ], + [ + 11.3872366, + 48.1473301, + ], + [ + 11.3855294, + 48.1496533, + ], + [ + 11.3840216, + 48.1490191, + ], + [ + 11.3840156, + 48.1497672, + ], + [ + 11.3831771, + 48.1496722, + ], + [ + 11.3828857, + 48.1530762, + ], + [ + 11.3795025, + 48.1535352, + ], + [ + 11.3795223, + 48.1538312, + ], + [ + 11.3780394, + 48.1538371, + ], + [ + 11.3780223, + 48.1532215, + ], + [ + 11.3739109, + 48.1535523, + ], + [ + 11.3735834, + 48.1541884, + ], + [ + 11.3744215, + 48.1540883, + ], + [ + 11.3738626, + 48.1555401, + ], + [ + 11.3751552, + 48.1554886, + ], + [ + 11.3749147, + 48.155983, + ], + [ + 11.3719407, + 48.1562949, + ], + [ + 11.3698222, + 48.15683, + ], + [ + 11.3702468, + 48.157973, + ], + [ + 11.3711086, + 48.1581782, + ], + [ + 11.3711951, + 48.1584195, + ], + [ + 11.3666368, + 48.1586617, + ], + [ + 11.3636336, + 48.1584867, + ], + [ + 11.360777, + 48.1580704, + ], + ], + ], + ], + }, + }, + "label": "München, Munich, Bavaria, Germany", +}; diff --git a/deno.lock b/deno.lock index 2716156ac0597617917f0e8ac9fb65de14076ab2..d10c0cda46ab82f992494953bf76131349607826 100644 --- a/deno.lock +++ b/deno.lock @@ -152,18 +152,9 @@ "https://cdn.skypack.dev/-/graphql@v16.6.0-LSwlwUw61uFtjUF6PMr3/dist=es2019,mode=imports/optimized/graphql/validation/ValidationContext.js": "df1174ea45a6916151e6fc18c1a36db664ae5787371d8ac3cbf29cff395ba59c", "https://cdn.skypack.dev/-/graphql@v16.6.0-LSwlwUw61uFtjUF6PMr3/dist=es2019,mode=imports/optimized/graphql/validation/validate.js": "bc92da257086730791e571470034f3097023131592f53754c618079aa17a47e6", "https://cdn.skypack.dev/-/lru-cache@v6.0.0-IF3dXOIuVvZ6NoDdLuhR/dist=es2019,mode=imports/optimized/lru-cache.js": "9f317410d01919ed5e8979525691dbfffd87ce4e42be8b9c3ed9cd6fbc95236c", - "https://cdn.skypack.dev/-/wretch@v2.3.1-AzNfHJQBY2tVhQzsbP4c/dist=es2019,mode=imports/optimized/wretch.js": "357795406c27dfccce8a2556641c1f390197467cc2184a03cd8b71db64ef206f", - "https://cdn.skypack.dev/-/wretch@v2.3.1-AzNfHJQBY2tVhQzsbP4c/dist=es2019,mode=imports/optimized/wretch/config.js": "d26666a2cdf83260798e88483793d60c7c4626311f7ef0b173c3b3f1fb41ac68", - "https://cdn.skypack.dev/-/wretch@v2.3.1-AzNfHJQBY2tVhQzsbP4c/dist=es2019,mode=imports/optimized/wretch/constants.js": "793f25c68ebf3848f1989704dfa8b88b3a5c868acbc35fd7972bfbd449fad236", - "https://cdn.skypack.dev/-/wretch@v2.3.1-AzNfHJQBY2tVhQzsbP4c/dist=es2019,mode=imports/optimized/wretch/core.js": "3b6281d345d7ef3281b75b1261617786edaf03ed613176b295cc3fef7c0687dd", - "https://cdn.skypack.dev/-/wretch@v2.3.1-AzNfHJQBY2tVhQzsbP4c/dist=es2019,mode=imports/optimized/wretch/middleware.js": "65e27b7ca0a74524496bbeea518ad3294e5fcc6feff76fd21d7fe8519802059a", - "https://cdn.skypack.dev/-/wretch@v2.3.1-AzNfHJQBY2tVhQzsbP4c/dist=es2019,mode=imports/optimized/wretch/resolver.js": "5e22303658962eea79f56dc7ed430e3fb39fc57fa8c8beada43c9247518ef822", - "https://cdn.skypack.dev/-/wretch@v2.3.1-AzNfHJQBY2tVhQzsbP4c/dist=es2019,mode=imports/optimized/wretch/utils.js": "39880dc5e984b1a97c46bd884345a259366307f928cdf09622f1f5e9aab22a84", "https://cdn.skypack.dev/-/yallist@v4.0.0-zGx9utyhIe9lDU5JvFtt/dist=es2019,mode=imports/optimized/yallist.js": "4854561a2ed352e797634de4d204325dcd352d25fd70a1a5780f355347d9ee53", "https://cdn.skypack.dev/@graphql-yoga/plugin-response-cache@1.0.0-next.4": "d746233dde59e90310fc593a1484c21e8c909a7847de449ee69c90e4605e9ef9", "https://cdn.skypack.dev/graphql-yoga@3.0.0-next.4": "adab60aa717f20ea0d1c9e70a3175fc6f06dc5e0711928fdcdff61787dc4745f", - "https://cdn.skypack.dev/wretch": "0daee981a08d780cc32b52b9b95c4a3567dac9b3d08aca058eb0d6aad59c9f00", - "https://deno.land/std@0.155.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74", "https://deno.land/std@0.155.0/async/abortable.ts": "87aa7230be8360c24ad437212311c9e8d4328854baec27b4c7abb26e85515c06", "https://deno.land/std@0.155.0/async/deadline.ts": "48ac998d7564969f3e6ec6b6f9bf0217ebd00239b1b2292feba61272d5dd58d0", "https://deno.land/std@0.155.0/async/debounce.ts": "de5433bff08a2bb61416fc53b3bd2d5867090c8a815465e5b4a10a77495b1051", @@ -173,23 +164,161 @@ "https://deno.land/std@0.155.0/async/mux_async_iterator.ts": "3447b28a2a582224a3d4d3596bccbba6e85040da3b97ed64012f7decce98d093", "https://deno.land/std@0.155.0/async/pool.ts": "ef9eb97b388543acbf0ac32647121e4dbe629236899586c4d4311a8770fbb239", "https://deno.land/std@0.155.0/async/tee.ts": "d27680d911816fcb3d231e16d690e7588079e66a9b2e5ce8cc354db94fdce95f", - "https://deno.land/std@0.155.0/bytes/bytes_list.ts": "aba5e2369e77d426b10af1de0dcc4531acecec27f9b9056f4f7bfbf8ac147ab4", - "https://deno.land/std@0.155.0/bytes/equals.ts": "3c3558c3ae85526f84510aa2b48ab2ad7bdd899e2e0f5b7a8ffc85acb3a6043a", - "https://deno.land/std@0.155.0/bytes/mod.ts": "763f97d33051cc3f28af1a688dfe2830841192a9fea0cbaa55f927b49d49d0bf", "https://deno.land/std@0.155.0/fmt/colors.ts": "ff7dc9c9f33a72bd48bc24b21bbc1b4545d8494a431f17894dbc5fe92a938fc4", - "https://deno.land/std@0.155.0/fs/exists.ts": "cb734d872f8554ea40b8bff77ad33d4143c1187eac621a55bf37781a43c56f6d", "https://deno.land/std@0.155.0/http/server.ts": "e2e16f0b124ffef022ad04797d4250d6e4fc0d9579780999091949b17789dd1a", - "https://deno.land/std@0.155.0/io/buffer.ts": "fae02290f52301c4e0188670e730cd902f9307fb732d79c4aa14ebdc82497289", - "https://deno.land/std@0.155.0/io/types.d.ts": "0cae3a62da7a37043661746c65c021058bae020b54e50c0e774916e5d4baee43", - "https://deno.land/std@0.155.0/log/handlers.ts": "1d73169d25607a3b62b83f39bd83743d61e49aff1481e12f4e078af9ee9f60ce", - "https://deno.land/std@0.155.0/log/levels.ts": "82c965b90f763b5313e7595d4ba78d5095a13646d18430ebaf547526131604d1", - "https://deno.land/std@0.155.0/log/logger.ts": "b545159727b023825ee6814d9178fb2a7472f8d95d704c253b771b95c658cf8c", - "https://deno.land/std@0.155.0/log/mod.ts": "62d56c28e8fbaa0f6c8b6df41cb31e47c51ae8a93e78559612ecb5a4f76d7424", "https://deno.land/std@0.155.0/testing/_diff.ts": "a23e7fc2b4d8daa3e158fa06856bedf5334ce2a2831e8bf9e509717f455adb2c", "https://deno.land/std@0.155.0/testing/_format.ts": "cd11136e1797791045e639e9f0f4640d5b4166148796cad37e6ef75f7d7f3832", "https://deno.land/std@0.155.0/testing/_test_suite.ts": "2d07073d5460a4e3ec50c55ae822cd9bd136926d7363091379947fef9c73c3e4", "https://deno.land/std@0.155.0/testing/asserts.ts": "ac295f7fd22a7af107580e2475402a8c386cb1bf18bf837ae266ac0665786026", "https://deno.land/std@0.155.0/testing/bdd.ts": "35060cefd9cc21b414f4d89453b3551a3d52ec50aeff25db432503c5485b2f72", - "https://deno.land/std@0.155.0/testing/mock.ts": "d7ad40139cda87476c4dc1efeffe406bbfb4a5f82b688e0b85bffe9e911526a2" + "https://deno.land/std@0.155.0/testing/mock.ts": "d7ad40139cda87476c4dc1efeffe406bbfb4a5f82b688e0b85bffe9e911526a2", + "https://esm.sh/@turf/turf@6.5.0": "0feaef127dbec6e12e27eee03e481f795fef567500d2eb5efb1079459c2f2d86", + "https://esm.sh/v131/@turf/along@6.5.0/denonext/along.mjs": "6b75598ef1b6aaa039625cf2466bcc7c6431db2212ef9f47a59d0e0ab72268a9", + "https://esm.sh/v131/@turf/angle@6.5.0/denonext/angle.mjs": "8afc0d5c2202cef74f72f3e6ce85456b518961e1d3c929d7fa0eb2af5c2cfe23", + "https://esm.sh/v131/@turf/area@6.5.0/denonext/area.mjs": "14b9e4f26bc8a11d50b6bca36dc587047d11edcfd6b5ef0550725345e2c9a3fd", + "https://esm.sh/v131/@turf/bbox-clip@6.5.0/denonext/bbox-clip.mjs": "dcc9ccef7c21c88d7c5be9f1966148fe1d950e212df20315101e9688b11e50c5", + "https://esm.sh/v131/@turf/bbox-polygon@6.5.0/denonext/bbox-polygon.mjs": "8e0dad1e972050154d2b3545e32a43da3c2157bacac2778cfad276ed2139f729", + "https://esm.sh/v131/@turf/bbox@6.5.0/denonext/bbox.mjs": "9df91b76fc71f0660b81a5fdf84175d02286fda9113927caaef0ddb0c829880e", + "https://esm.sh/v131/@turf/bearing@6.5.0/denonext/bearing.mjs": "a470f2725b1524f4033ec578284fa2dae55c11b1384a971f3434d0bec4f1e631", + "https://esm.sh/v131/@turf/bezier-spline@6.5.0/denonext/bezier-spline.mjs": "a4a0552788189c8a906ae9fc1970def288ddc28a0aa0b01f089ef47dd83b9903", + "https://esm.sh/v131/@turf/boolean-clockwise@6.5.0/denonext/boolean-clockwise.mjs": "3b9c2bff824f4df8a51e7be69e902de68260a037fb6811772a1f3f596a64f4c8", + "https://esm.sh/v131/@turf/boolean-contains@6.5.0/denonext/boolean-contains.mjs": "14f9149b6aeb59b7ee5d57ce9b342e44bf53440d5522cf28a3d6a71237a465d3", + "https://esm.sh/v131/@turf/boolean-crosses@6.5.0/denonext/boolean-crosses.mjs": "bd8cba739c36124edfc020ee38b63d365c960827c9ade7daee14e6522fb094cf", + "https://esm.sh/v131/@turf/boolean-disjoint@6.5.0/denonext/boolean-disjoint.mjs": "3dd2f3a264b22c376c4a744dd3bc91bf31d9ef782ea8f78354475c9cd41ae911", + "https://esm.sh/v131/@turf/boolean-equal@6.5.0/denonext/boolean-equal.mjs": "1bb6461428f8be2bea0272bd0de43ff45283331f6d568b62cd87e1e33584ecf8", + "https://esm.sh/v131/@turf/boolean-intersects@6.5.0/denonext/boolean-intersects.mjs": "db2bd653354c158894a9e2b8e5d9fd960d840d4e44e6d258f70b715cfa51f459", + "https://esm.sh/v131/@turf/boolean-overlap@6.5.0/denonext/boolean-overlap.mjs": "023e71b131a5f0c3e8134da44d0ad73ff0674b3ca957e3a8cffef53476c403ed", + "https://esm.sh/v131/@turf/boolean-parallel@6.5.0/denonext/boolean-parallel.mjs": "84a7333c521978b0d7302235a092dc7d96de3255cb8bad23c12070c0e3dfbb11", + "https://esm.sh/v131/@turf/boolean-point-in-polygon@6.5.0/denonext/boolean-point-in-polygon.mjs": "ff41ca94492da0dec1b47c049f31610c5be073edd0064a13d4795ea1ef034328", + "https://esm.sh/v131/@turf/boolean-point-on-line@6.5.0/denonext/boolean-point-on-line.mjs": "a71c082c422a6027bae52b6ab1f6a5f68ef6bcfbe107703c5ed19949fdb97cc1", + "https://esm.sh/v131/@turf/boolean-within@6.5.0/denonext/boolean-within.mjs": "f87596dc3f09e5bf2291834daf4a4588f6b36e3ccbec14572ccae3a07e9d4b75", + "https://esm.sh/v131/@turf/buffer@6.5.0/denonext/buffer.mjs": "635f09078bad6917e5288dddbc1cefbc0e9c1a3215c5e5a4e29e02b98c621d5d", + "https://esm.sh/v131/@turf/center-mean@6.5.0/denonext/center-mean.mjs": "5e5e2c8be3e4c46724d5e6049627f3a6daab14ecbc7e0d197165a7496793fd7b", + "https://esm.sh/v131/@turf/center-median@6.5.0/denonext/center-median.mjs": "a5cca9b1a30ac7bc9b42cd28b61ee3be657a4a64be654e7dbfe1fdd910f9e3f0", + "https://esm.sh/v131/@turf/center-of-mass@6.5.0/denonext/center-of-mass.mjs": "28d70b5f3b5ca0fce4df9302a5e2aba9ae1420eec73f4a0ad08a044ecadd2c7e", + "https://esm.sh/v131/@turf/center@6.5.0/denonext/center.mjs": "f4a24b06f5e8d73a7ccd2fda98061c1910c4b540fa816728b86de6998c361681", + "https://esm.sh/v131/@turf/centroid@6.5.0/denonext/centroid.mjs": "0bb08b3a0c98a7ae0e9532ff568c11c1d5c8998049b3c9d6f6dc5228bfe345cd", + "https://esm.sh/v131/@turf/circle@6.5.0/denonext/circle.mjs": "45da150fabf9eb9b4381c49037953b707ffe2f8b591fc6439355a84dd82bf998", + "https://esm.sh/v131/@turf/clean-coords@6.5.0/denonext/clean-coords.mjs": "09360245d84ce76b7f73dbcc26c4f30b9ed214fe1f6ce2095ac26568edf67a2c", + "https://esm.sh/v131/@turf/clone@6.5.0/denonext/clone.mjs": "f9dcf99c95e00476bb006f9ac2aaa5ebaa3c2360002869c1dbae9ba708a08071", + "https://esm.sh/v131/@turf/clusters-dbscan@6.5.0/denonext/clusters-dbscan.mjs": "85fcfd4a1baf49bd8451c725c389b407d46d6f72f354728bb5747ce2a99516d0", + "https://esm.sh/v131/@turf/clusters-kmeans@6.5.0/denonext/clusters-kmeans.mjs": "454705bcc4fa2557d8d483677872dcba4e073ab0dee68a52facd3046ea7d776f", + "https://esm.sh/v131/@turf/clusters@6.5.0/denonext/clusters.mjs": "9a889be28d728bffb9cadbffae93efe21e3863ba1e5090b0b467b6d419394bc0", + "https://esm.sh/v131/@turf/collect@6.5.0/denonext/collect.mjs": "29e444290c182b25f397476249b202549e960a6be675b6c6756f3248e9edb27f", + "https://esm.sh/v131/@turf/combine@6.5.0/denonext/combine.mjs": "fb21cba60aaf4636a0ae7c135b514f3aaea28c231d8271380fb106b24bfd7b3d", + "https://esm.sh/v131/@turf/concave@6.5.0/denonext/concave.mjs": "e024124f2a5c5a61e5284d66368bbe2a3d208f7c87182b8ec13501be142bfced", + "https://esm.sh/v131/@turf/convex@6.5.0/denonext/convex.mjs": "010da459bd047ca0a181a1b466c515834365bd50024590bd972c19a32b3bc58d", + "https://esm.sh/v131/@turf/destination@6.5.0/denonext/destination.mjs": "5334ac95e8a37329cc77cd82e49a27cdf4679ce46ec1ee96b6b820ee59f03f7a", + "https://esm.sh/v131/@turf/difference@6.5.0/denonext/difference.mjs": "bad7fe4e26f2e3da8d582b1764340ca416acde6dfd859699a3298526fcc8b55d", + "https://esm.sh/v131/@turf/dissolve@6.5.0/denonext/dissolve.mjs": "c36d5210f742e8274987b17e1ed0785d3260f9f0c53fffecb2a56782de29a2a7", + "https://esm.sh/v131/@turf/distance-weight@6.5.0/denonext/distance-weight.mjs": "1f3bf41d9fd645254a1787add572fc26e119b0ccb5ff5d95e68ec1fc322f2cf9", + "https://esm.sh/v131/@turf/distance@6.5.0/denonext/distance.mjs": "cfa34090b13e1496cb477f5f018047eb4350388fac041f0d5b8d6ba9e09a1aa5", + "https://esm.sh/v131/@turf/ellipse@6.5.0/denonext/ellipse.mjs": "d1639f0cf150d888b4ca0d00dd267c88eaf3674590864377c3fa40d0bc2d4d45", + "https://esm.sh/v131/@turf/envelope@6.5.0/denonext/envelope.mjs": "91b0b2d855401074d7ccd16923ca0f7678b1aee475e66e03b14edb387f90c7a2", + "https://esm.sh/v131/@turf/explode@6.5.0/denonext/explode.mjs": "9f4f031dfd1adb69531518e5a055925a6a7578b117362a935525ae96178c6d57", + "https://esm.sh/v131/@turf/flatten@6.5.0/denonext/flatten.mjs": "2bcc3becb734f02dfcfb2368eca5d47cf332aa67dc6753a88c8d3e28a4c5881a", + "https://esm.sh/v131/@turf/flip@6.5.0/denonext/flip.mjs": "20633aee4e8123cf53de48f4c8c56b7427ade2c4f958082d5520150debe350aa", + "https://esm.sh/v131/@turf/great-circle@6.5.0/denonext/great-circle.mjs": "50f15d1ee369cf583927d3d989241bf94cba035d4fe3b82f8b97fd2ddb563876", + "https://esm.sh/v131/@turf/helpers@6.5.0/denonext/helpers.mjs": "3fdabda7695d541fd0715ed5930ff747f9b2149c917b4530665ac8cc0c769d5c", + "https://esm.sh/v131/@turf/hex-grid@6.5.0/denonext/hex-grid.mjs": "b771239cf704ed7d5d0e1dce6f224f96e7918d018cf437b5f4daaf43765e7750", + "https://esm.sh/v131/@turf/interpolate@6.5.0/denonext/interpolate.mjs": "eabdfa4f391a6b0c6737ca6f016973a639f8e61c37b911cabc03dae8dc9389c9", + "https://esm.sh/v131/@turf/intersect@6.5.0/denonext/intersect.mjs": "fba9911b7a711339a5b123d89e71a8ae27999a71c0cc2b4a79b64ef2f1accfd5", + "https://esm.sh/v131/@turf/invariant@6.5.0/denonext/invariant.mjs": "8373c05f001798051e4c9142f48c1f689112e1aaa9ca47a7dcb41d2ee25965bd", + "https://esm.sh/v131/@turf/isobands@6.5.0/denonext/isobands.mjs": "f124a3ea601c0c47de3b4a325545c58e6af040439ed47580d33027c15842f2ff", + "https://esm.sh/v131/@turf/isolines@6.5.0/denonext/isolines.mjs": "b11e467b02159593187140e49f6d6bc9970287761b28d2d71a1dbed1633f36b4", + "https://esm.sh/v131/@turf/kinks@6.5.0/denonext/kinks.mjs": "7ab12c905ea417afab167f960b25af3e95227a22cf294f29f1383b720a0aaf76", + "https://esm.sh/v131/@turf/length@6.5.0/denonext/length.mjs": "fe9c03b35ad3862d908267125433b8b91b38ff94fff3d1fe28810827211c796c", + "https://esm.sh/v131/@turf/line-arc@6.5.0/denonext/line-arc.mjs": "5e66488c41e95bb6c4e5c35138636e28f4fba13960f59b96df1ee9a6c68092ce", + "https://esm.sh/v131/@turf/line-chunk@6.5.0/denonext/line-chunk.mjs": "8b41a51749ec9c9e3b04b73ff88b8a720d57f72faaec9b89fbc05c829449a99d", + "https://esm.sh/v131/@turf/line-intersect@6.5.0/denonext/line-intersect.mjs": "00d185393c4c826a08faf056261d7f62857683d9b2d16915559f05d25fe3f391", + "https://esm.sh/v131/@turf/line-offset@6.5.0/denonext/line-offset.mjs": "67534da3f6c68699717f92a2c5382705b2827f8ce6ff247b58fb82ca06f84d44", + "https://esm.sh/v131/@turf/line-overlap@6.5.0/denonext/line-overlap.mjs": "7ddd30804c32520aba178199ed8b94f147078ca91ece9d95d3d940cdacb3d95a", + "https://esm.sh/v131/@turf/line-segment@6.5.0/denonext/line-segment.mjs": "8c1beb5f7b449319c00e229b4874c755eebd7cc744b73a3118c2877e5d4b9e86", + "https://esm.sh/v131/@turf/line-slice-along@6.5.0/denonext/line-slice-along.mjs": "af2d5c0f9220ff85c71e4e46781d8b78b471b2641189256bec712d3e2ccefa9a", + "https://esm.sh/v131/@turf/line-slice@6.5.0/denonext/line-slice.mjs": "c6c0061b4a23d7d6d45b9ae2ab55683a79c89da9e371febf10da62e6c5206b0c", + "https://esm.sh/v131/@turf/line-split@6.5.0/denonext/line-split.mjs": "5a4836c264dada6fa4ede40278e9257e3d6c2ff672464af6427a032eb67758fc", + "https://esm.sh/v131/@turf/line-to-polygon@6.5.0/denonext/line-to-polygon.mjs": "16a844e96b3c674942c9eb1011d6b0693e95d15dc9f2621d0647e9545a5e295a", + "https://esm.sh/v131/@turf/mask@6.5.0/denonext/mask.mjs": "9d0375facf13c65750c324114276651f0b831e7e654e2565c34da13b15921a07", + "https://esm.sh/v131/@turf/meta@6.5.0/denonext/meta.mjs": "c58672fa2d5695c86b09f6f54ec5ac4d7a8aa74c42f1ed2db7ccc7952827e6b8", + "https://esm.sh/v131/@turf/midpoint@6.5.0/denonext/midpoint.mjs": "9fd0cdd422736ff1b9e25a610377d5fcfef549d432aaa8a045beab2e82fa0da1", + "https://esm.sh/v131/@turf/moran-index@6.5.0/denonext/moran-index.mjs": "99f150c7634ab79df6489e5bda4060bb5f474b2e47d5501a9ad0e1bdbfe28993", + "https://esm.sh/v131/@turf/nearest-point-on-line@6.5.0/denonext/nearest-point-on-line.mjs": "3403eb61fb1f6442ca323f2c829fc194623a06bc52d48fb5452956fdf9c7d088", + "https://esm.sh/v131/@turf/nearest-point-to-line@6.5.0/denonext/nearest-point-to-line.mjs": "3d3f6556a003b5aa629b13c31fae6799a784a9f1927b05e654c51acbc171d304", + "https://esm.sh/v131/@turf/nearest-point@6.5.0/denonext/nearest-point.mjs": "aa79e84896d06628d3c8cb3dc65db369cfada4dc6d101822766a4d62d1182485", + "https://esm.sh/v131/@turf/planepoint@6.5.0/denonext/planepoint.mjs": "5f620367dcb4c80bbee021605a98b8ae4d74df2009f3de5c19ad16783a340aa1", + "https://esm.sh/v131/@turf/point-grid@6.5.0/denonext/point-grid.mjs": "303d2f00c2a527c124ac3efc599ae3dd85f887eaef407d7af007ee548e3bf4d6", + "https://esm.sh/v131/@turf/point-on-feature@6.5.0/denonext/point-on-feature.mjs": "f0979571421e84e820c0e49c36e6083b67d3915a430106f14206ae06f447f441", + "https://esm.sh/v131/@turf/point-to-line-distance@6.5.0/denonext/point-to-line-distance.mjs": "473ec24b128fb6d2b1a0c0f0430f6b72d7c0a528b8cd3450fc8a27e529b7e935", + "https://esm.sh/v131/@turf/points-within-polygon@6.5.0/denonext/points-within-polygon.mjs": "a9ca36b920b5eff723abc4197f0feb1a5c34f54995109c7d89ee05bfac3869df", + "https://esm.sh/v131/@turf/polygon-smooth@6.5.0/denonext/polygon-smooth.mjs": "ba64f04a9b6c16602108769981a203e6da982ff4c5afd8f23c9387fd83d87a5e", + "https://esm.sh/v131/@turf/polygon-tangents@6.5.0/denonext/polygon-tangents.mjs": "fdecb2ff5b7db1806793d79015fbd658ac7ca0d182b6fee9587724f295fdd9b8", + "https://esm.sh/v131/@turf/polygon-to-line@6.5.0/denonext/polygon-to-line.mjs": "97e07a7c3e750626a002fdb802dd56746ab473c43b789c0b4a38d981ccf67551", + "https://esm.sh/v131/@turf/polygonize@6.5.0/denonext/polygonize.mjs": "6d5ab782f2065a65ca2af1969c528f5d3e8c5ba4ec4c14220125d08110c4aa6c", + "https://esm.sh/v131/@turf/projection@6.5.0/denonext/projection.mjs": "66db1490995fb86c8a5ccb87e36d1ce73bcfe0b807a61bd1369b4c086923e64d", + "https://esm.sh/v131/@turf/random@6.5.0/denonext/random.mjs": "97a39e9ae806701a05c071f6df1e71b9293dd55e95408a8b9a8d54e2a8f62152", + "https://esm.sh/v131/@turf/rectangle-grid@6.5.0/denonext/rectangle-grid.mjs": "af9db60cda140c91e594d87f6dd7e1958a7bbf578b8c035738e435ad272a8ae4", + "https://esm.sh/v131/@turf/rewind@6.5.0/denonext/rewind.mjs": "1a33abcb6010d64b6a33df56d0ac2ed8785a2ca0013cd4b9efe87acebcda9819", + "https://esm.sh/v131/@turf/rhumb-bearing@6.5.0/denonext/rhumb-bearing.mjs": "66ce2653fd87419223b4bbc67f70caa9e098861f1b2ff9d25d3e6513a102199b", + "https://esm.sh/v131/@turf/rhumb-destination@6.5.0/denonext/rhumb-destination.mjs": "86d00ee6177fd7a4e15b2ff837965c0ecb7df828dada0d942f40fc3b89d2327c", + "https://esm.sh/v131/@turf/rhumb-distance@6.5.0/denonext/rhumb-distance.mjs": "7c8fa2706ac59cd37d15d8bf148eebf64f6ab0238586ec9b0980ba2bfecfde51", + "https://esm.sh/v131/@turf/sample@6.5.0/denonext/sample.mjs": "dcfcc554a52af6d9e488af236cf0c6bfa482f4661d1cf0c5698c10eb72348583", + "https://esm.sh/v131/@turf/sector@6.5.0/denonext/sector.mjs": "0234006a7f5aff9cc2c3416096fca60d83a13471d8eac8f18ff3710af70174dd", + "https://esm.sh/v131/@turf/shortest-path@6.5.0/denonext/shortest-path.mjs": "7704281648f40c15d8a79843a1dff77d7aca1a3e169f411b1280dbc582c6eebd", + "https://esm.sh/v131/@turf/simplify@6.5.0/denonext/simplify.mjs": "fb6340b7488e9b9bb8ecd2d08608ab555c7bc8f484cdb9c274ed24e8a134eaea", + "https://esm.sh/v131/@turf/square-grid@6.5.0/denonext/square-grid.mjs": "ba4b3b87ef2d47e333dd54fb22b4ac37ceb28d2d783d6e709e0f6e2d4d427ade", + "https://esm.sh/v131/@turf/square@6.5.0/denonext/square.mjs": "7372550a188a9ea2b90777faa3a5825d62eacfe0d1ec8a128c8cf1a8f6f2af92", + "https://esm.sh/v131/@turf/standard-deviational-ellipse@6.5.0/denonext/standard-deviational-ellipse.mjs": "f4f20aa66970e589616446d562bc32b9e86be59d559cd9f4b9d733316d572cca", + "https://esm.sh/v131/@turf/tag@6.5.0/denonext/tag.mjs": "773909b7ad3ed196fd497077cb6889ba30502aa714878b647b41c57da4310817", + "https://esm.sh/v131/@turf/tesselate@6.5.0/denonext/tesselate.mjs": "59edbfaa8f24d03783b095acd4338bae13b1a8c648396028db19d04acd7ff0bd", + "https://esm.sh/v131/@turf/tin@6.5.0/denonext/tin.mjs": "2620516cf012279fc00eb5f171114d8ce6264d1821381ba76b1c8fe45768f390", + "https://esm.sh/v131/@turf/transform-rotate@6.5.0/denonext/transform-rotate.mjs": "321ed1179697eddc286dd857afd54295965d2d88fdfa53f8de1d75a009fcc2e0", + "https://esm.sh/v131/@turf/transform-scale@6.5.0/denonext/transform-scale.mjs": "64c97adf31c1d928214b466dea681b34d3aceae71ac6c156361d131fd0ff2ad9", + "https://esm.sh/v131/@turf/transform-translate@6.5.0/denonext/transform-translate.mjs": "15c780c4c06acdbb6ac297faf636092ee873284e7f84e3252c771103c6256304", + "https://esm.sh/v131/@turf/triangle-grid@6.5.0/denonext/triangle-grid.mjs": "e26699903a6007690f0a077c8b72356830c092701015ece70413662945542393", + "https://esm.sh/v131/@turf/truncate@6.5.0/denonext/truncate.mjs": "1f5910bde49a0b35c752b6c8d038abff610fc38ee810ccfee30008fa02db4fca", + "https://esm.sh/v131/@turf/turf@6.5.0/denonext/turf.mjs": "bcde32dab704dddd8bdcebaa13458d931233d7155a4db2fae51a8084d623cc9f", + "https://esm.sh/v131/@turf/union@6.5.0/denonext/union.mjs": "ec924f4936a630162597a62d7d2d6b1adfd6a236ad1291019b49da2d17a0b4ab", + "https://esm.sh/v131/@turf/unkink-polygon@6.5.0/denonext/unkink-polygon.mjs": "efb97f4ed08512f72f7fed39d4df68c4f3cc32e4af741c02febb3f761aef8e33", + "https://esm.sh/v131/@turf/voronoi@6.5.0/denonext/voronoi.mjs": "87ca0ae3566d8063e2c967156d99e85747c5bcde9c93001e504c2feef57ed3fc", + "https://esm.sh/v131/call-bind@1.0.2/denonext/call-bind.mjs": "55ab5311e5cc7ea2585ad0e1a7f046ff3cf5b44eda45dc4e9b08fa13500d7968", + "https://esm.sh/v131/call-bind@1.0.2/denonext/callBound.js": "76985b9cd6fb9691ff1747a704613501e96c2723735e3f13dee7dc345ef0817d", + "https://esm.sh/v131/concaveman@1.2.1/denonext/concaveman.mjs": "40abc5529bff719baf1f92f352a54a6a269192ffe149e4af19bf9bca2e9278fa", + "https://esm.sh/v131/d3-array@1.2.4/denonext/d3-array.mjs": "ee413c9d8dc04471c774e641ca8d616a00e4452c62d3126011ddb8e2e3fdf97d", + "https://esm.sh/v131/d3-geo@1.7.1/denonext/d3-geo.mjs": "5cfb84ed91c75c150018b8c2032c498c08c1fa1a482d8173dee78a3a0e1d3e1d", + "https://esm.sh/v131/d3-voronoi@1.1.2/denonext/d3-voronoi.mjs": "ced9affdd5f2d08f534856e4ebd1b6cef85d0bbf352a57a96758cd5e520932b3", + "https://esm.sh/v131/deep-equal@1.1.1/denonext/deep-equal.mjs": "b1aeff6a893ffae0bb291830cb042f5cbd872ce1bba9c943f8f5470edd374988", + "https://esm.sh/v131/define-properties@1.2.0/denonext/define-properties.mjs": "b99c355afc4d012183ad97b56385615dd489d84bcd78a8e612ba733d918c3ec0", + "https://esm.sh/v131/density-clustering@1.3.0/denonext/density-clustering.mjs": "e78d979f0ad641b6a8acecd76cc23a14a981a5878048cfa06f89e29274da7868", + "https://esm.sh/v131/earcut@2.2.4/denonext/earcut.mjs": "e119e9d83d550927aed5f7e2dbbf173436feed9553b2ae6113cf71b3e9e9180c", + "https://esm.sh/v131/function-bind@1.1.1/denonext/function-bind.mjs": "331f5d2a5830a67a767be946331716b1b9db05125891100a16e24114dba8ef87", + "https://esm.sh/v131/functions-have-names@1.2.3/denonext/functions-have-names.mjs": "c35b1012e1b731a55763a9da124a4be8c64a66e11cfb6837ccd17f8dace84de2", + "https://esm.sh/v131/geojson-equality@0.1.6/denonext/geojson-equality.mjs": "e44fe2364662b653e1c7a317e1474bd68239a99a2759cfb3f5efaf2c4c36635b", + "https://esm.sh/v131/geojson-rbush@3.2.0/denonext/geojson-rbush.mjs": "506f9393e737452a79a62fee322466119c5e9bd9a49bda12e39c24de2a3608c1", + "https://esm.sh/v131/get-intrinsic@1.2.1/denonext/get-intrinsic.mjs": "fbfbd089e0279caec14aaa38674f85913c6eeebc41628c861a8a43a5bb974f0e", + "https://esm.sh/v131/has-property-descriptors@1.0.0/denonext/has-property-descriptors.mjs": "0cf3516c40cf184833767630a11f03391cf018ecca673bd72e1f8a44fe290ae5", + "https://esm.sh/v131/has-proto@1.0.1/denonext/has-proto.mjs": "443f9773e464b39534dbecaee040e5de8384e8efaeea7a6d3e333df4069d1f85", + "https://esm.sh/v131/has-symbols@1.0.3/denonext/has-symbols.mjs": "452727b5dbec94d538c5e8e062ed82bee701c3b752eb21e6189978e92292b7c6", + "https://esm.sh/v131/has-symbols@1.0.3/denonext/shams.js": "c2cefbc68690dfe7e9590c7720b1ff22d5b09251e936019d27e1b8d319c8fa9d", + "https://esm.sh/v131/has-tostringtag@1.0.0/denonext/shams.js": "b3577a859e2ea748e2a9a514950cc2356f0a90b765b416a6331ecda00cfea4ea", + "https://esm.sh/v131/has@1.0.3/denonext/has.mjs": "863ea1c6778762af15a01d6b6cb050be483239a2394a1cbd48ad861cdcd1e5d8", + "https://esm.sh/v131/is-arguments@1.1.1/denonext/is-arguments.mjs": "868afeb93d97d67bc65a4836da3ba5f02ef806b2e4c0be42cab42c3ef9f9e4b7", + "https://esm.sh/v131/is-date-object@1.0.5/denonext/is-date-object.mjs": "266b725415c849bcafe5be821492e838133673d310eeb1544f38cfad02cd45ed", + "https://esm.sh/v131/is-regex@1.1.4/denonext/is-regex.mjs": "e467503f9b0f1cd4003d6c0caa20bc106f8a84087fe14d5dd3402d04bb5e5ba7", + "https://esm.sh/v131/object-is@1.1.5/denonext/object-is.mjs": "23f00a647d319996299b1cbd1f8e244cc566a97ee6856a94f5e49bb7d036ac60", + "https://esm.sh/v131/object-keys@1.1.1/denonext/object-keys.mjs": "9b1c41ea017ff80bc11f70885530199fbca620a7ac9b5b2bef20c8fb9829a4de", + "https://esm.sh/v131/point-in-polygon@1.1.0/denonext/point-in-polygon.mjs": "a123e6c7dbc3be3746b5b1f47e87e659ad6f26bcd02fff7611d5e4b83c9c324c", + "https://esm.sh/v131/polygon-clipping@0.15.3/denonext/polygon-clipping.mjs": "012467dca97408959b3713e4f8d8e32160b0a76911e40aebac0353b5570f876e", + "https://esm.sh/v131/quickselect@1.1.1/denonext/quickselect.mjs": "9c5b4f3f1de466e3e6ebf9ca4dd281a01b91ed259e449088dc26ad0e034fcaf1", + "https://esm.sh/v131/quickselect@2.0.0/denonext/quickselect.mjs": "e03ef0934526ae4bdadb9f90f89e766294739f11ea62a7b2afc2e53069e8619b", + "https://esm.sh/v131/rbush@2.0.2/denonext/rbush.mjs": "a37f1cf604d0e5f805d8114f2beb7606a77bab5f52b9fac59bdaad80737e11cf", + "https://esm.sh/v131/rbush@3.0.1/denonext/rbush.mjs": "86815843cd1f0eabc339f78e79ab7d57fe31d9f4c443a947d5935ec0570a111e", + "https://esm.sh/v131/regexp.prototype.flags@1.5.0/denonext/regexp.prototype.flags.mjs": "9a24cefa57abcd89ea2b4756d4f2e84a38337230ef88c9f7b724008f6457d30f", + "https://esm.sh/v131/robust-predicates@2.0.4/denonext/umd/orient2d.min.js": "890b58754301e6c6931cf93ce6c66eec71babae0d34e30d0d24e5037772102aa", + "https://esm.sh/v131/skmeans@0.9.7/denonext/skmeans.mjs": "496ed2a88b6cf00e67de70aa6d01ab0e9dcb532b2db275f52fc45881553461e9", + "https://esm.sh/v131/splaytree@3.1.2/denonext/splaytree.mjs": "0bb044d03031466d8c51fa8f7d54783659e486588665323b33a5120aecd3ba9d", + "https://esm.sh/v131/tinyqueue@2.0.3/denonext/tinyqueue.mjs": "923c24576a6f8f7a152117f311f83b97b6f5e4cc925312e6cc6a15a290b8ecea", + "https://esm.sh/v131/topojson-client@3.1.0/denonext/topojson-client.mjs": "be4dd835dee50439be15521a32978e851181d3a8b8b61b1c040a5981d04dab6f", + "https://esm.sh/v131/topojson-server@3.0.1/denonext/topojson-server.mjs": "7290cfe0abbf0b77b94224971d136370c25919c3dc6a7b36c49b552e1a4ed473", + "https://esm.sh/v131/turf-jsts@1.2.3/denonext/turf-jsts.mjs": "2239465c9e5f3efc2d45a3349206ee320f7c54f1e6a85145fee4e91735757995" } } diff --git a/lock.json b/lock.json index 86bc929376f1c06103dad695e137018c8bf3ee68..d10c0cda46ab82f992494953bf76131349607826 100644 --- a/lock.json +++ b/lock.json @@ -171,6 +171,154 @@ "https://deno.land/std@0.155.0/testing/_test_suite.ts": "2d07073d5460a4e3ec50c55ae822cd9bd136926d7363091379947fef9c73c3e4", "https://deno.land/std@0.155.0/testing/asserts.ts": "ac295f7fd22a7af107580e2475402a8c386cb1bf18bf837ae266ac0665786026", "https://deno.land/std@0.155.0/testing/bdd.ts": "35060cefd9cc21b414f4d89453b3551a3d52ec50aeff25db432503c5485b2f72", - "https://deno.land/std@0.155.0/testing/mock.ts": "d7ad40139cda87476c4dc1efeffe406bbfb4a5f82b688e0b85bffe9e911526a2" + "https://deno.land/std@0.155.0/testing/mock.ts": "d7ad40139cda87476c4dc1efeffe406bbfb4a5f82b688e0b85bffe9e911526a2", + "https://esm.sh/@turf/turf@6.5.0": "0feaef127dbec6e12e27eee03e481f795fef567500d2eb5efb1079459c2f2d86", + "https://esm.sh/v131/@turf/along@6.5.0/denonext/along.mjs": "6b75598ef1b6aaa039625cf2466bcc7c6431db2212ef9f47a59d0e0ab72268a9", + "https://esm.sh/v131/@turf/angle@6.5.0/denonext/angle.mjs": "8afc0d5c2202cef74f72f3e6ce85456b518961e1d3c929d7fa0eb2af5c2cfe23", + "https://esm.sh/v131/@turf/area@6.5.0/denonext/area.mjs": "14b9e4f26bc8a11d50b6bca36dc587047d11edcfd6b5ef0550725345e2c9a3fd", + "https://esm.sh/v131/@turf/bbox-clip@6.5.0/denonext/bbox-clip.mjs": "dcc9ccef7c21c88d7c5be9f1966148fe1d950e212df20315101e9688b11e50c5", + "https://esm.sh/v131/@turf/bbox-polygon@6.5.0/denonext/bbox-polygon.mjs": "8e0dad1e972050154d2b3545e32a43da3c2157bacac2778cfad276ed2139f729", + "https://esm.sh/v131/@turf/bbox@6.5.0/denonext/bbox.mjs": "9df91b76fc71f0660b81a5fdf84175d02286fda9113927caaef0ddb0c829880e", + "https://esm.sh/v131/@turf/bearing@6.5.0/denonext/bearing.mjs": "a470f2725b1524f4033ec578284fa2dae55c11b1384a971f3434d0bec4f1e631", + "https://esm.sh/v131/@turf/bezier-spline@6.5.0/denonext/bezier-spline.mjs": "a4a0552788189c8a906ae9fc1970def288ddc28a0aa0b01f089ef47dd83b9903", + "https://esm.sh/v131/@turf/boolean-clockwise@6.5.0/denonext/boolean-clockwise.mjs": "3b9c2bff824f4df8a51e7be69e902de68260a037fb6811772a1f3f596a64f4c8", + "https://esm.sh/v131/@turf/boolean-contains@6.5.0/denonext/boolean-contains.mjs": "14f9149b6aeb59b7ee5d57ce9b342e44bf53440d5522cf28a3d6a71237a465d3", + "https://esm.sh/v131/@turf/boolean-crosses@6.5.0/denonext/boolean-crosses.mjs": "bd8cba739c36124edfc020ee38b63d365c960827c9ade7daee14e6522fb094cf", + "https://esm.sh/v131/@turf/boolean-disjoint@6.5.0/denonext/boolean-disjoint.mjs": "3dd2f3a264b22c376c4a744dd3bc91bf31d9ef782ea8f78354475c9cd41ae911", + "https://esm.sh/v131/@turf/boolean-equal@6.5.0/denonext/boolean-equal.mjs": "1bb6461428f8be2bea0272bd0de43ff45283331f6d568b62cd87e1e33584ecf8", + "https://esm.sh/v131/@turf/boolean-intersects@6.5.0/denonext/boolean-intersects.mjs": "db2bd653354c158894a9e2b8e5d9fd960d840d4e44e6d258f70b715cfa51f459", + "https://esm.sh/v131/@turf/boolean-overlap@6.5.0/denonext/boolean-overlap.mjs": "023e71b131a5f0c3e8134da44d0ad73ff0674b3ca957e3a8cffef53476c403ed", + "https://esm.sh/v131/@turf/boolean-parallel@6.5.0/denonext/boolean-parallel.mjs": "84a7333c521978b0d7302235a092dc7d96de3255cb8bad23c12070c0e3dfbb11", + "https://esm.sh/v131/@turf/boolean-point-in-polygon@6.5.0/denonext/boolean-point-in-polygon.mjs": "ff41ca94492da0dec1b47c049f31610c5be073edd0064a13d4795ea1ef034328", + "https://esm.sh/v131/@turf/boolean-point-on-line@6.5.0/denonext/boolean-point-on-line.mjs": "a71c082c422a6027bae52b6ab1f6a5f68ef6bcfbe107703c5ed19949fdb97cc1", + "https://esm.sh/v131/@turf/boolean-within@6.5.0/denonext/boolean-within.mjs": "f87596dc3f09e5bf2291834daf4a4588f6b36e3ccbec14572ccae3a07e9d4b75", + "https://esm.sh/v131/@turf/buffer@6.5.0/denonext/buffer.mjs": "635f09078bad6917e5288dddbc1cefbc0e9c1a3215c5e5a4e29e02b98c621d5d", + "https://esm.sh/v131/@turf/center-mean@6.5.0/denonext/center-mean.mjs": "5e5e2c8be3e4c46724d5e6049627f3a6daab14ecbc7e0d197165a7496793fd7b", + "https://esm.sh/v131/@turf/center-median@6.5.0/denonext/center-median.mjs": "a5cca9b1a30ac7bc9b42cd28b61ee3be657a4a64be654e7dbfe1fdd910f9e3f0", + "https://esm.sh/v131/@turf/center-of-mass@6.5.0/denonext/center-of-mass.mjs": "28d70b5f3b5ca0fce4df9302a5e2aba9ae1420eec73f4a0ad08a044ecadd2c7e", + "https://esm.sh/v131/@turf/center@6.5.0/denonext/center.mjs": "f4a24b06f5e8d73a7ccd2fda98061c1910c4b540fa816728b86de6998c361681", + "https://esm.sh/v131/@turf/centroid@6.5.0/denonext/centroid.mjs": "0bb08b3a0c98a7ae0e9532ff568c11c1d5c8998049b3c9d6f6dc5228bfe345cd", + "https://esm.sh/v131/@turf/circle@6.5.0/denonext/circle.mjs": "45da150fabf9eb9b4381c49037953b707ffe2f8b591fc6439355a84dd82bf998", + "https://esm.sh/v131/@turf/clean-coords@6.5.0/denonext/clean-coords.mjs": "09360245d84ce76b7f73dbcc26c4f30b9ed214fe1f6ce2095ac26568edf67a2c", + "https://esm.sh/v131/@turf/clone@6.5.0/denonext/clone.mjs": "f9dcf99c95e00476bb006f9ac2aaa5ebaa3c2360002869c1dbae9ba708a08071", + "https://esm.sh/v131/@turf/clusters-dbscan@6.5.0/denonext/clusters-dbscan.mjs": "85fcfd4a1baf49bd8451c725c389b407d46d6f72f354728bb5747ce2a99516d0", + "https://esm.sh/v131/@turf/clusters-kmeans@6.5.0/denonext/clusters-kmeans.mjs": "454705bcc4fa2557d8d483677872dcba4e073ab0dee68a52facd3046ea7d776f", + "https://esm.sh/v131/@turf/clusters@6.5.0/denonext/clusters.mjs": "9a889be28d728bffb9cadbffae93efe21e3863ba1e5090b0b467b6d419394bc0", + "https://esm.sh/v131/@turf/collect@6.5.0/denonext/collect.mjs": "29e444290c182b25f397476249b202549e960a6be675b6c6756f3248e9edb27f", + "https://esm.sh/v131/@turf/combine@6.5.0/denonext/combine.mjs": "fb21cba60aaf4636a0ae7c135b514f3aaea28c231d8271380fb106b24bfd7b3d", + "https://esm.sh/v131/@turf/concave@6.5.0/denonext/concave.mjs": "e024124f2a5c5a61e5284d66368bbe2a3d208f7c87182b8ec13501be142bfced", + "https://esm.sh/v131/@turf/convex@6.5.0/denonext/convex.mjs": "010da459bd047ca0a181a1b466c515834365bd50024590bd972c19a32b3bc58d", + "https://esm.sh/v131/@turf/destination@6.5.0/denonext/destination.mjs": "5334ac95e8a37329cc77cd82e49a27cdf4679ce46ec1ee96b6b820ee59f03f7a", + "https://esm.sh/v131/@turf/difference@6.5.0/denonext/difference.mjs": "bad7fe4e26f2e3da8d582b1764340ca416acde6dfd859699a3298526fcc8b55d", + "https://esm.sh/v131/@turf/dissolve@6.5.0/denonext/dissolve.mjs": "c36d5210f742e8274987b17e1ed0785d3260f9f0c53fffecb2a56782de29a2a7", + "https://esm.sh/v131/@turf/distance-weight@6.5.0/denonext/distance-weight.mjs": "1f3bf41d9fd645254a1787add572fc26e119b0ccb5ff5d95e68ec1fc322f2cf9", + "https://esm.sh/v131/@turf/distance@6.5.0/denonext/distance.mjs": "cfa34090b13e1496cb477f5f018047eb4350388fac041f0d5b8d6ba9e09a1aa5", + "https://esm.sh/v131/@turf/ellipse@6.5.0/denonext/ellipse.mjs": "d1639f0cf150d888b4ca0d00dd267c88eaf3674590864377c3fa40d0bc2d4d45", + "https://esm.sh/v131/@turf/envelope@6.5.0/denonext/envelope.mjs": "91b0b2d855401074d7ccd16923ca0f7678b1aee475e66e03b14edb387f90c7a2", + "https://esm.sh/v131/@turf/explode@6.5.0/denonext/explode.mjs": "9f4f031dfd1adb69531518e5a055925a6a7578b117362a935525ae96178c6d57", + "https://esm.sh/v131/@turf/flatten@6.5.0/denonext/flatten.mjs": "2bcc3becb734f02dfcfb2368eca5d47cf332aa67dc6753a88c8d3e28a4c5881a", + "https://esm.sh/v131/@turf/flip@6.5.0/denonext/flip.mjs": "20633aee4e8123cf53de48f4c8c56b7427ade2c4f958082d5520150debe350aa", + "https://esm.sh/v131/@turf/great-circle@6.5.0/denonext/great-circle.mjs": "50f15d1ee369cf583927d3d989241bf94cba035d4fe3b82f8b97fd2ddb563876", + "https://esm.sh/v131/@turf/helpers@6.5.0/denonext/helpers.mjs": "3fdabda7695d541fd0715ed5930ff747f9b2149c917b4530665ac8cc0c769d5c", + "https://esm.sh/v131/@turf/hex-grid@6.5.0/denonext/hex-grid.mjs": "b771239cf704ed7d5d0e1dce6f224f96e7918d018cf437b5f4daaf43765e7750", + "https://esm.sh/v131/@turf/interpolate@6.5.0/denonext/interpolate.mjs": "eabdfa4f391a6b0c6737ca6f016973a639f8e61c37b911cabc03dae8dc9389c9", + "https://esm.sh/v131/@turf/intersect@6.5.0/denonext/intersect.mjs": "fba9911b7a711339a5b123d89e71a8ae27999a71c0cc2b4a79b64ef2f1accfd5", + "https://esm.sh/v131/@turf/invariant@6.5.0/denonext/invariant.mjs": "8373c05f001798051e4c9142f48c1f689112e1aaa9ca47a7dcb41d2ee25965bd", + "https://esm.sh/v131/@turf/isobands@6.5.0/denonext/isobands.mjs": "f124a3ea601c0c47de3b4a325545c58e6af040439ed47580d33027c15842f2ff", + "https://esm.sh/v131/@turf/isolines@6.5.0/denonext/isolines.mjs": "b11e467b02159593187140e49f6d6bc9970287761b28d2d71a1dbed1633f36b4", + "https://esm.sh/v131/@turf/kinks@6.5.0/denonext/kinks.mjs": "7ab12c905ea417afab167f960b25af3e95227a22cf294f29f1383b720a0aaf76", + "https://esm.sh/v131/@turf/length@6.5.0/denonext/length.mjs": "fe9c03b35ad3862d908267125433b8b91b38ff94fff3d1fe28810827211c796c", + "https://esm.sh/v131/@turf/line-arc@6.5.0/denonext/line-arc.mjs": "5e66488c41e95bb6c4e5c35138636e28f4fba13960f59b96df1ee9a6c68092ce", + "https://esm.sh/v131/@turf/line-chunk@6.5.0/denonext/line-chunk.mjs": "8b41a51749ec9c9e3b04b73ff88b8a720d57f72faaec9b89fbc05c829449a99d", + "https://esm.sh/v131/@turf/line-intersect@6.5.0/denonext/line-intersect.mjs": "00d185393c4c826a08faf056261d7f62857683d9b2d16915559f05d25fe3f391", + "https://esm.sh/v131/@turf/line-offset@6.5.0/denonext/line-offset.mjs": "67534da3f6c68699717f92a2c5382705b2827f8ce6ff247b58fb82ca06f84d44", + "https://esm.sh/v131/@turf/line-overlap@6.5.0/denonext/line-overlap.mjs": "7ddd30804c32520aba178199ed8b94f147078ca91ece9d95d3d940cdacb3d95a", + "https://esm.sh/v131/@turf/line-segment@6.5.0/denonext/line-segment.mjs": "8c1beb5f7b449319c00e229b4874c755eebd7cc744b73a3118c2877e5d4b9e86", + "https://esm.sh/v131/@turf/line-slice-along@6.5.0/denonext/line-slice-along.mjs": "af2d5c0f9220ff85c71e4e46781d8b78b471b2641189256bec712d3e2ccefa9a", + "https://esm.sh/v131/@turf/line-slice@6.5.0/denonext/line-slice.mjs": "c6c0061b4a23d7d6d45b9ae2ab55683a79c89da9e371febf10da62e6c5206b0c", + "https://esm.sh/v131/@turf/line-split@6.5.0/denonext/line-split.mjs": "5a4836c264dada6fa4ede40278e9257e3d6c2ff672464af6427a032eb67758fc", + "https://esm.sh/v131/@turf/line-to-polygon@6.5.0/denonext/line-to-polygon.mjs": "16a844e96b3c674942c9eb1011d6b0693e95d15dc9f2621d0647e9545a5e295a", + "https://esm.sh/v131/@turf/mask@6.5.0/denonext/mask.mjs": "9d0375facf13c65750c324114276651f0b831e7e654e2565c34da13b15921a07", + "https://esm.sh/v131/@turf/meta@6.5.0/denonext/meta.mjs": "c58672fa2d5695c86b09f6f54ec5ac4d7a8aa74c42f1ed2db7ccc7952827e6b8", + "https://esm.sh/v131/@turf/midpoint@6.5.0/denonext/midpoint.mjs": "9fd0cdd422736ff1b9e25a610377d5fcfef549d432aaa8a045beab2e82fa0da1", + "https://esm.sh/v131/@turf/moran-index@6.5.0/denonext/moran-index.mjs": "99f150c7634ab79df6489e5bda4060bb5f474b2e47d5501a9ad0e1bdbfe28993", + "https://esm.sh/v131/@turf/nearest-point-on-line@6.5.0/denonext/nearest-point-on-line.mjs": "3403eb61fb1f6442ca323f2c829fc194623a06bc52d48fb5452956fdf9c7d088", + "https://esm.sh/v131/@turf/nearest-point-to-line@6.5.0/denonext/nearest-point-to-line.mjs": "3d3f6556a003b5aa629b13c31fae6799a784a9f1927b05e654c51acbc171d304", + "https://esm.sh/v131/@turf/nearest-point@6.5.0/denonext/nearest-point.mjs": "aa79e84896d06628d3c8cb3dc65db369cfada4dc6d101822766a4d62d1182485", + "https://esm.sh/v131/@turf/planepoint@6.5.0/denonext/planepoint.mjs": "5f620367dcb4c80bbee021605a98b8ae4d74df2009f3de5c19ad16783a340aa1", + "https://esm.sh/v131/@turf/point-grid@6.5.0/denonext/point-grid.mjs": "303d2f00c2a527c124ac3efc599ae3dd85f887eaef407d7af007ee548e3bf4d6", + "https://esm.sh/v131/@turf/point-on-feature@6.5.0/denonext/point-on-feature.mjs": "f0979571421e84e820c0e49c36e6083b67d3915a430106f14206ae06f447f441", + "https://esm.sh/v131/@turf/point-to-line-distance@6.5.0/denonext/point-to-line-distance.mjs": "473ec24b128fb6d2b1a0c0f0430f6b72d7c0a528b8cd3450fc8a27e529b7e935", + "https://esm.sh/v131/@turf/points-within-polygon@6.5.0/denonext/points-within-polygon.mjs": "a9ca36b920b5eff723abc4197f0feb1a5c34f54995109c7d89ee05bfac3869df", + "https://esm.sh/v131/@turf/polygon-smooth@6.5.0/denonext/polygon-smooth.mjs": "ba64f04a9b6c16602108769981a203e6da982ff4c5afd8f23c9387fd83d87a5e", + "https://esm.sh/v131/@turf/polygon-tangents@6.5.0/denonext/polygon-tangents.mjs": "fdecb2ff5b7db1806793d79015fbd658ac7ca0d182b6fee9587724f295fdd9b8", + "https://esm.sh/v131/@turf/polygon-to-line@6.5.0/denonext/polygon-to-line.mjs": "97e07a7c3e750626a002fdb802dd56746ab473c43b789c0b4a38d981ccf67551", + "https://esm.sh/v131/@turf/polygonize@6.5.0/denonext/polygonize.mjs": "6d5ab782f2065a65ca2af1969c528f5d3e8c5ba4ec4c14220125d08110c4aa6c", + "https://esm.sh/v131/@turf/projection@6.5.0/denonext/projection.mjs": "66db1490995fb86c8a5ccb87e36d1ce73bcfe0b807a61bd1369b4c086923e64d", + "https://esm.sh/v131/@turf/random@6.5.0/denonext/random.mjs": "97a39e9ae806701a05c071f6df1e71b9293dd55e95408a8b9a8d54e2a8f62152", + "https://esm.sh/v131/@turf/rectangle-grid@6.5.0/denonext/rectangle-grid.mjs": "af9db60cda140c91e594d87f6dd7e1958a7bbf578b8c035738e435ad272a8ae4", + "https://esm.sh/v131/@turf/rewind@6.5.0/denonext/rewind.mjs": "1a33abcb6010d64b6a33df56d0ac2ed8785a2ca0013cd4b9efe87acebcda9819", + "https://esm.sh/v131/@turf/rhumb-bearing@6.5.0/denonext/rhumb-bearing.mjs": "66ce2653fd87419223b4bbc67f70caa9e098861f1b2ff9d25d3e6513a102199b", + "https://esm.sh/v131/@turf/rhumb-destination@6.5.0/denonext/rhumb-destination.mjs": "86d00ee6177fd7a4e15b2ff837965c0ecb7df828dada0d942f40fc3b89d2327c", + "https://esm.sh/v131/@turf/rhumb-distance@6.5.0/denonext/rhumb-distance.mjs": "7c8fa2706ac59cd37d15d8bf148eebf64f6ab0238586ec9b0980ba2bfecfde51", + "https://esm.sh/v131/@turf/sample@6.5.0/denonext/sample.mjs": "dcfcc554a52af6d9e488af236cf0c6bfa482f4661d1cf0c5698c10eb72348583", + "https://esm.sh/v131/@turf/sector@6.5.0/denonext/sector.mjs": "0234006a7f5aff9cc2c3416096fca60d83a13471d8eac8f18ff3710af70174dd", + "https://esm.sh/v131/@turf/shortest-path@6.5.0/denonext/shortest-path.mjs": "7704281648f40c15d8a79843a1dff77d7aca1a3e169f411b1280dbc582c6eebd", + "https://esm.sh/v131/@turf/simplify@6.5.0/denonext/simplify.mjs": "fb6340b7488e9b9bb8ecd2d08608ab555c7bc8f484cdb9c274ed24e8a134eaea", + "https://esm.sh/v131/@turf/square-grid@6.5.0/denonext/square-grid.mjs": "ba4b3b87ef2d47e333dd54fb22b4ac37ceb28d2d783d6e709e0f6e2d4d427ade", + "https://esm.sh/v131/@turf/square@6.5.0/denonext/square.mjs": "7372550a188a9ea2b90777faa3a5825d62eacfe0d1ec8a128c8cf1a8f6f2af92", + "https://esm.sh/v131/@turf/standard-deviational-ellipse@6.5.0/denonext/standard-deviational-ellipse.mjs": "f4f20aa66970e589616446d562bc32b9e86be59d559cd9f4b9d733316d572cca", + "https://esm.sh/v131/@turf/tag@6.5.0/denonext/tag.mjs": "773909b7ad3ed196fd497077cb6889ba30502aa714878b647b41c57da4310817", + "https://esm.sh/v131/@turf/tesselate@6.5.0/denonext/tesselate.mjs": "59edbfaa8f24d03783b095acd4338bae13b1a8c648396028db19d04acd7ff0bd", + "https://esm.sh/v131/@turf/tin@6.5.0/denonext/tin.mjs": "2620516cf012279fc00eb5f171114d8ce6264d1821381ba76b1c8fe45768f390", + "https://esm.sh/v131/@turf/transform-rotate@6.5.0/denonext/transform-rotate.mjs": "321ed1179697eddc286dd857afd54295965d2d88fdfa53f8de1d75a009fcc2e0", + "https://esm.sh/v131/@turf/transform-scale@6.5.0/denonext/transform-scale.mjs": "64c97adf31c1d928214b466dea681b34d3aceae71ac6c156361d131fd0ff2ad9", + "https://esm.sh/v131/@turf/transform-translate@6.5.0/denonext/transform-translate.mjs": "15c780c4c06acdbb6ac297faf636092ee873284e7f84e3252c771103c6256304", + "https://esm.sh/v131/@turf/triangle-grid@6.5.0/denonext/triangle-grid.mjs": "e26699903a6007690f0a077c8b72356830c092701015ece70413662945542393", + "https://esm.sh/v131/@turf/truncate@6.5.0/denonext/truncate.mjs": "1f5910bde49a0b35c752b6c8d038abff610fc38ee810ccfee30008fa02db4fca", + "https://esm.sh/v131/@turf/turf@6.5.0/denonext/turf.mjs": "bcde32dab704dddd8bdcebaa13458d931233d7155a4db2fae51a8084d623cc9f", + "https://esm.sh/v131/@turf/union@6.5.0/denonext/union.mjs": "ec924f4936a630162597a62d7d2d6b1adfd6a236ad1291019b49da2d17a0b4ab", + "https://esm.sh/v131/@turf/unkink-polygon@6.5.0/denonext/unkink-polygon.mjs": "efb97f4ed08512f72f7fed39d4df68c4f3cc32e4af741c02febb3f761aef8e33", + "https://esm.sh/v131/@turf/voronoi@6.5.0/denonext/voronoi.mjs": "87ca0ae3566d8063e2c967156d99e85747c5bcde9c93001e504c2feef57ed3fc", + "https://esm.sh/v131/call-bind@1.0.2/denonext/call-bind.mjs": "55ab5311e5cc7ea2585ad0e1a7f046ff3cf5b44eda45dc4e9b08fa13500d7968", + "https://esm.sh/v131/call-bind@1.0.2/denonext/callBound.js": "76985b9cd6fb9691ff1747a704613501e96c2723735e3f13dee7dc345ef0817d", + "https://esm.sh/v131/concaveman@1.2.1/denonext/concaveman.mjs": "40abc5529bff719baf1f92f352a54a6a269192ffe149e4af19bf9bca2e9278fa", + "https://esm.sh/v131/d3-array@1.2.4/denonext/d3-array.mjs": "ee413c9d8dc04471c774e641ca8d616a00e4452c62d3126011ddb8e2e3fdf97d", + "https://esm.sh/v131/d3-geo@1.7.1/denonext/d3-geo.mjs": "5cfb84ed91c75c150018b8c2032c498c08c1fa1a482d8173dee78a3a0e1d3e1d", + "https://esm.sh/v131/d3-voronoi@1.1.2/denonext/d3-voronoi.mjs": "ced9affdd5f2d08f534856e4ebd1b6cef85d0bbf352a57a96758cd5e520932b3", + "https://esm.sh/v131/deep-equal@1.1.1/denonext/deep-equal.mjs": "b1aeff6a893ffae0bb291830cb042f5cbd872ce1bba9c943f8f5470edd374988", + "https://esm.sh/v131/define-properties@1.2.0/denonext/define-properties.mjs": "b99c355afc4d012183ad97b56385615dd489d84bcd78a8e612ba733d918c3ec0", + "https://esm.sh/v131/density-clustering@1.3.0/denonext/density-clustering.mjs": "e78d979f0ad641b6a8acecd76cc23a14a981a5878048cfa06f89e29274da7868", + "https://esm.sh/v131/earcut@2.2.4/denonext/earcut.mjs": "e119e9d83d550927aed5f7e2dbbf173436feed9553b2ae6113cf71b3e9e9180c", + "https://esm.sh/v131/function-bind@1.1.1/denonext/function-bind.mjs": "331f5d2a5830a67a767be946331716b1b9db05125891100a16e24114dba8ef87", + "https://esm.sh/v131/functions-have-names@1.2.3/denonext/functions-have-names.mjs": "c35b1012e1b731a55763a9da124a4be8c64a66e11cfb6837ccd17f8dace84de2", + "https://esm.sh/v131/geojson-equality@0.1.6/denonext/geojson-equality.mjs": "e44fe2364662b653e1c7a317e1474bd68239a99a2759cfb3f5efaf2c4c36635b", + "https://esm.sh/v131/geojson-rbush@3.2.0/denonext/geojson-rbush.mjs": "506f9393e737452a79a62fee322466119c5e9bd9a49bda12e39c24de2a3608c1", + "https://esm.sh/v131/get-intrinsic@1.2.1/denonext/get-intrinsic.mjs": "fbfbd089e0279caec14aaa38674f85913c6eeebc41628c861a8a43a5bb974f0e", + "https://esm.sh/v131/has-property-descriptors@1.0.0/denonext/has-property-descriptors.mjs": "0cf3516c40cf184833767630a11f03391cf018ecca673bd72e1f8a44fe290ae5", + "https://esm.sh/v131/has-proto@1.0.1/denonext/has-proto.mjs": "443f9773e464b39534dbecaee040e5de8384e8efaeea7a6d3e333df4069d1f85", + "https://esm.sh/v131/has-symbols@1.0.3/denonext/has-symbols.mjs": "452727b5dbec94d538c5e8e062ed82bee701c3b752eb21e6189978e92292b7c6", + "https://esm.sh/v131/has-symbols@1.0.3/denonext/shams.js": "c2cefbc68690dfe7e9590c7720b1ff22d5b09251e936019d27e1b8d319c8fa9d", + "https://esm.sh/v131/has-tostringtag@1.0.0/denonext/shams.js": "b3577a859e2ea748e2a9a514950cc2356f0a90b765b416a6331ecda00cfea4ea", + "https://esm.sh/v131/has@1.0.3/denonext/has.mjs": "863ea1c6778762af15a01d6b6cb050be483239a2394a1cbd48ad861cdcd1e5d8", + "https://esm.sh/v131/is-arguments@1.1.1/denonext/is-arguments.mjs": "868afeb93d97d67bc65a4836da3ba5f02ef806b2e4c0be42cab42c3ef9f9e4b7", + "https://esm.sh/v131/is-date-object@1.0.5/denonext/is-date-object.mjs": "266b725415c849bcafe5be821492e838133673d310eeb1544f38cfad02cd45ed", + "https://esm.sh/v131/is-regex@1.1.4/denonext/is-regex.mjs": "e467503f9b0f1cd4003d6c0caa20bc106f8a84087fe14d5dd3402d04bb5e5ba7", + "https://esm.sh/v131/object-is@1.1.5/denonext/object-is.mjs": "23f00a647d319996299b1cbd1f8e244cc566a97ee6856a94f5e49bb7d036ac60", + "https://esm.sh/v131/object-keys@1.1.1/denonext/object-keys.mjs": "9b1c41ea017ff80bc11f70885530199fbca620a7ac9b5b2bef20c8fb9829a4de", + "https://esm.sh/v131/point-in-polygon@1.1.0/denonext/point-in-polygon.mjs": "a123e6c7dbc3be3746b5b1f47e87e659ad6f26bcd02fff7611d5e4b83c9c324c", + "https://esm.sh/v131/polygon-clipping@0.15.3/denonext/polygon-clipping.mjs": "012467dca97408959b3713e4f8d8e32160b0a76911e40aebac0353b5570f876e", + "https://esm.sh/v131/quickselect@1.1.1/denonext/quickselect.mjs": "9c5b4f3f1de466e3e6ebf9ca4dd281a01b91ed259e449088dc26ad0e034fcaf1", + "https://esm.sh/v131/quickselect@2.0.0/denonext/quickselect.mjs": "e03ef0934526ae4bdadb9f90f89e766294739f11ea62a7b2afc2e53069e8619b", + "https://esm.sh/v131/rbush@2.0.2/denonext/rbush.mjs": "a37f1cf604d0e5f805d8114f2beb7606a77bab5f52b9fac59bdaad80737e11cf", + "https://esm.sh/v131/rbush@3.0.1/denonext/rbush.mjs": "86815843cd1f0eabc339f78e79ab7d57fe31d9f4c443a947d5935ec0570a111e", + "https://esm.sh/v131/regexp.prototype.flags@1.5.0/denonext/regexp.prototype.flags.mjs": "9a24cefa57abcd89ea2b4756d4f2e84a38337230ef88c9f7b724008f6457d30f", + "https://esm.sh/v131/robust-predicates@2.0.4/denonext/umd/orient2d.min.js": "890b58754301e6c6931cf93ce6c66eec71babae0d34e30d0d24e5037772102aa", + "https://esm.sh/v131/skmeans@0.9.7/denonext/skmeans.mjs": "496ed2a88b6cf00e67de70aa6d01ab0e9dcb532b2db275f52fc45881553461e9", + "https://esm.sh/v131/splaytree@3.1.2/denonext/splaytree.mjs": "0bb044d03031466d8c51fa8f7d54783659e486588665323b33a5120aecd3ba9d", + "https://esm.sh/v131/tinyqueue@2.0.3/denonext/tinyqueue.mjs": "923c24576a6f8f7a152117f311f83b97b6f5e4cc925312e6cc6a15a290b8ecea", + "https://esm.sh/v131/topojson-client@3.1.0/denonext/topojson-client.mjs": "be4dd835dee50439be15521a32978e851181d3a8b8b61b1c040a5981d04dab6f", + "https://esm.sh/v131/topojson-server@3.0.1/denonext/topojson-server.mjs": "7290cfe0abbf0b77b94224971d136370c25919c3dc6a7b36c49b552e1a4ed473", + "https://esm.sh/v131/turf-jsts@1.2.3/denonext/turf-jsts.mjs": "2239465c9e5f3efc2d45a3349206ee320f7c54f1e6a85145fee4e91735757995" } }