From 10d75cd45ecb811a32b84e01344b27bb27a6c86c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Gonz=C3=A1lez=20Mu=C3=B1oz?= Date: Tue, 24 Oct 2023 19:59:08 +0200 Subject: [PATCH 1/6] layer API: EEZ layer implementation --- .../api/layer/content-types/layer/schema.json | 47 + cms/src/api/layer/controllers/layer.ts | 7 + .../api/layer/documentation/1.0.0/layer.json | 507 ++++ cms/src/api/layer/routes/layer.ts | 7 + cms/src/api/layer/services/layer.ts | 7 + cms/types/generated/contentTypes.d.ts | 37 + frontend/components.json | 4 +- frontend/orval.config.ts | 1 + frontend/package.json | 7 + frontend/src/components/active-link.tsx | 2 +- frontend/src/components/dashboard-table.tsx | 2 +- frontend/src/components/header.tsx | 2 +- frontend/src/components/layer-manager.tsx | 97 - frontend/src/components/map/index.tsx | 5 +- .../components/map/layers-dropdown/index.tsx | 53 +- .../map/layers/deck-json-layer/index.tsx | 30 + .../map/layers/deck-layer/index.tsx | 35 + .../map/layers/mapbox-layer/index.tsx | 46 + frontend/src/components/map/legend/index.tsx | 205 +- frontend/src/components/map/legend/items.tsx | 4 +- frontend/src/components/map/provider.tsx | 82 + frontend/src/components/ui/accordion.tsx | 2 +- frontend/src/components/ui/alert.tsx | 2 +- frontend/src/components/ui/button.tsx | 2 +- frontend/src/components/ui/command.tsx | 2 +- frontend/src/components/ui/dialog.tsx | 2 +- frontend/src/components/ui/input.tsx | 2 +- frontend/src/components/ui/label.tsx | 2 +- frontend/src/components/ui/loader.tsx | 37 + frontend/src/components/ui/popover.tsx | 2 +- frontend/src/components/ui/sheet.tsx | 2 +- frontend/src/components/ui/skeleton.tsx | 12 + frontend/src/components/ui/slider.tsx | 2 +- frontend/src/components/ui/switch.tsx | 2 +- frontend/src/components/ui/table.tsx | 2 +- frontend/src/components/ui/tooltip.tsx | 2 +- frontend/src/constants/map.ts | 219 -- .../containers/map/layer-manager/index.tsx | 51 + .../src/containers/map/layer-manager/item.tsx | 96 + .../src/containers/map/popup/eez/index.tsx | 133 ++ frontend/src/containers/map/popup/index.tsx | 41 + frontend/src/containers/map/popup/item.tsx | 45 + frontend/src/containers/map/sync-settings.ts | 17 +- .../src/lib/{utils.ts => classnames/index.ts} | 0 frontend/src/lib/json-converter/index.ts | 91 + frontend/src/lib/utils/formats.ts | 54 + frontend/src/lib/utils/index.ts | 9 + frontend/src/lib/utils/setters.ts | 34 + frontend/src/pages/dashboard/[locationId].tsx | 2 +- frontend/src/pages/map.tsx | 69 +- frontend/src/store/map.ts | 9 + frontend/src/styles/globals.css | 5 + frontend/src/types/generated/layer.ts | 331 +++ .../src/types/generated/strapi.schemas.ts | 2071 +++++++++++------ frontend/src/types/layer.ts | 58 - frontend/src/types/layers.ts | 57 + frontend/yarn.lock | 931 +++++++- 57 files changed, 4263 insertions(+), 1322 deletions(-) create mode 100644 cms/src/api/layer/content-types/layer/schema.json create mode 100644 cms/src/api/layer/controllers/layer.ts create mode 100644 cms/src/api/layer/documentation/1.0.0/layer.json create mode 100644 cms/src/api/layer/routes/layer.ts create mode 100644 cms/src/api/layer/services/layer.ts delete mode 100644 frontend/src/components/layer-manager.tsx create mode 100644 frontend/src/components/map/layers/deck-json-layer/index.tsx create mode 100644 frontend/src/components/map/layers/deck-layer/index.tsx create mode 100644 frontend/src/components/map/layers/mapbox-layer/index.tsx create mode 100644 frontend/src/components/map/provider.tsx create mode 100644 frontend/src/components/ui/loader.tsx create mode 100644 frontend/src/components/ui/skeleton.tsx delete mode 100644 frontend/src/constants/map.ts create mode 100644 frontend/src/containers/map/layer-manager/index.tsx create mode 100644 frontend/src/containers/map/layer-manager/item.tsx create mode 100644 frontend/src/containers/map/popup/eez/index.tsx create mode 100644 frontend/src/containers/map/popup/index.tsx create mode 100644 frontend/src/containers/map/popup/item.tsx rename frontend/src/lib/{utils.ts => classnames/index.ts} (100%) create mode 100644 frontend/src/lib/json-converter/index.ts create mode 100644 frontend/src/lib/utils/formats.ts create mode 100644 frontend/src/lib/utils/index.ts create mode 100644 frontend/src/lib/utils/setters.ts create mode 100644 frontend/src/types/generated/layer.ts delete mode 100644 frontend/src/types/layer.ts create mode 100644 frontend/src/types/layers.ts diff --git a/cms/src/api/layer/content-types/layer/schema.json b/cms/src/api/layer/content-types/layer/schema.json new file mode 100644 index 00000000..0a55c14a --- /dev/null +++ b/cms/src/api/layer/content-types/layer/schema.json @@ -0,0 +1,47 @@ +{ + "kind": "collectionType", + "collectionName": "layers", + "info": { + "singularName": "layer", + "pluralName": "layers", + "displayName": "Layer" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "title": { + "type": "string", + "required": true + }, + "type": { + "type": "enumeration", + "enum": [ + "mapbox", + "deckgl", + "carto" + ] + }, + "config": { + "type": "json", + "required": true + }, + "params_config": { + "type": "json", + "required": true + }, + "legend_config": { + "type": "json", + "required": true + }, + "interaction_config": { + "type": "json" + }, + "metadata": { + "type": "component", + "repeatable": false, + "component": "documentation.metadata" + } + } +} diff --git a/cms/src/api/layer/controllers/layer.ts b/cms/src/api/layer/controllers/layer.ts new file mode 100644 index 00000000..629cae6b --- /dev/null +++ b/cms/src/api/layer/controllers/layer.ts @@ -0,0 +1,7 @@ +/** + * layer controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::layer.layer'); diff --git a/cms/src/api/layer/documentation/1.0.0/layer.json b/cms/src/api/layer/documentation/1.0.0/layer.json new file mode 100644 index 00000000..39fdb729 --- /dev/null +++ b/cms/src/api/layer/documentation/1.0.0/layer.json @@ -0,0 +1,507 @@ +{ + "/layers": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "sort", + "in": "query", + "description": "Sort by attributes ascending (asc) or descending (desc)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pagination[withCount]", + "in": "query", + "description": "Return page/pageSize (default: true)", + "deprecated": false, + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "pagination[page]", + "in": "query", + "description": "Page number (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[pageSize]", + "in": "query", + "description": "Page size (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[start]", + "in": "query", + "description": "Offset value (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[limit]", + "in": "query", + "description": "Number of entities to return (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "fields", + "in": "query", + "description": "Fields to return (ex: title,author)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "populate", + "in": "query", + "description": "Relations to return", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "Filters to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "object" + }, + "style": "deepObject" + }, + { + "name": "locale", + "in": "query", + "description": "Locale to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + } + ], + "operationId": "get/layers" + }, + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [], + "operationId": "post/layers", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerRequest" + } + } + } + } + } + }, + "/layers/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/layers/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/layers/{id}", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerRequest" + } + } + } + } + }, + "delete": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/layers/{id}" + } + } +} diff --git a/cms/src/api/layer/routes/layer.ts b/cms/src/api/layer/routes/layer.ts new file mode 100644 index 00000000..634b99b8 --- /dev/null +++ b/cms/src/api/layer/routes/layer.ts @@ -0,0 +1,7 @@ +/** + * layer router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::layer.layer'); diff --git a/cms/src/api/layer/services/layer.ts b/cms/src/api/layer/services/layer.ts new file mode 100644 index 00000000..26e87eeb --- /dev/null +++ b/cms/src/api/layer/services/layer.ts @@ -0,0 +1,7 @@ +/** + * layer service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::layer.layer'); diff --git a/cms/types/generated/contentTypes.d.ts b/cms/types/generated/contentTypes.d.ts index 28773af9..a9e2971e 100644 --- a/cms/types/generated/contentTypes.d.ts +++ b/cms/types/generated/contentTypes.d.ts @@ -867,6 +867,42 @@ export interface ApiHabitatStatHabitatStat extends Schema.CollectionType { }; } +export interface ApiLayerLayer extends Schema.CollectionType { + collectionName: 'layers'; + info: { + singularName: 'layer'; + pluralName: 'layers'; + displayName: 'Layer'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + title: Attribute.String & Attribute.Required; + type: Attribute.Enumeration<['mapbox', 'deckgl', 'carto']>; + config: Attribute.JSON & Attribute.Required; + params_config: Attribute.JSON & Attribute.Required; + legend_config: Attribute.JSON & Attribute.Required; + interaction_config: Attribute.JSON; + metadata: Attribute.Component<'documentation.metadata'>; + createdAt: Attribute.DateTime; + updatedAt: Attribute.DateTime; + publishedAt: Attribute.DateTime; + createdBy: Attribute.Relation< + 'api::layer.layer', + 'oneToOne', + 'admin::user' + > & + Attribute.Private; + updatedBy: Attribute.Relation< + 'api::layer.layer', + 'oneToOne', + 'admin::user' + > & + Attribute.Private; + }; +} + export interface ApiLocationLocation extends Schema.CollectionType { collectionName: 'locations'; info: { @@ -1302,6 +1338,7 @@ declare module '@strapi/types' { 'api::fishing-protection-level-stat.fishing-protection-level-stat': ApiFishingProtectionLevelStatFishingProtectionLevelStat; 'api::habitat.habitat': ApiHabitatHabitat; 'api::habitat-stat.habitat-stat': ApiHabitatStatHabitatStat; + 'api::layer.layer': ApiLayerLayer; 'api::location.location': ApiLocationLocation; 'api::mpa.mpa': ApiMpaMpa; 'api::mpa-protection-coverage-stat.mpa-protection-coverage-stat': ApiMpaProtectionCoverageStatMpaProtectionCoverageStat; diff --git a/frontend/components.json b/frontend/components.json index 08bb45c2..6b6ae5b4 100644 --- a/frontend/components.json +++ b/frontend/components.json @@ -11,6 +11,6 @@ }, "aliases": { "components": "@/components", - "utils": "@/lib/utils" + "utils": "@/lib/classnames" } -} \ No newline at end of file +} diff --git a/frontend/orval.config.ts b/frontend/orval.config.ts index 3319eaed..cef2a953 100644 --- a/frontend/orval.config.ts +++ b/frontend/orval.config.ts @@ -37,6 +37,7 @@ module.exports = { 'Protection-status', 'Fishing-protection-level', 'Fishing-protection-level-stat', + 'Layer', ], }, }, diff --git a/frontend/package.json b/frontend/package.json index 2e924444..1641fb1d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -16,6 +16,12 @@ }, "packageManager": "yarn@3.5.0", "dependencies": { + "@deck.gl/aggregation-layers": "8.9.31", + "@deck.gl/core": "8.9.31", + "@deck.gl/geo-layers": "8.9.31", + "@deck.gl/json": "8.9.31", + "@deck.gl/layers": "8.9.31", + "@deck.gl/mapbox": "8.9.31", "@loaders.gl/core": "^3.4.14", "@loaders.gl/kml": "^3.4.14", "@loaders.gl/loader-utils": "^3.4.14", @@ -43,6 +49,7 @@ "cmdk": "^0.2.0", "d3-format": "^3.1.0", "date-fns": "^2.30.0", + "deck.gl": "8.9.31", "jotai": "2.4.3", "lodash-es": "^4.17.21", "lucide-react": "^0.274.0", diff --git a/frontend/src/components/active-link.tsx b/frontend/src/components/active-link.tsx index e4f11459..5f5ea498 100644 --- a/frontend/src/components/active-link.tsx +++ b/frontend/src/components/active-link.tsx @@ -7,7 +7,7 @@ import React, { useState, useEffect, PropsWithChildren } from 'react'; import Link, { LinkProps } from 'next/link'; import { useRouter } from 'next/router'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; export type ActiveLinkProps = PropsWithChildren< LinkProps & { diff --git a/frontend/src/components/dashboard-table.tsx b/frontend/src/components/dashboard-table.tsx index 879f83d7..c9a40319 100644 --- a/frontend/src/components/dashboard-table.tsx +++ b/frontend/src/components/dashboard-table.tsx @@ -7,7 +7,7 @@ import { ArrowDownAZ, ArrowDownUp, ArrowDownZA, MapPin } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { DataTable } from '@/components/ui/data-table'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; export interface DashboardTableItem { location: string; diff --git a/frontend/src/components/header.tsx b/frontend/src/components/header.tsx index bf32c14e..b24b73d9 100644 --- a/frontend/src/components/header.tsx +++ b/frontend/src/components/header.tsx @@ -13,7 +13,7 @@ import { SheetTitle, SheetTrigger, } from '@/components/ui/sheet'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; import ArrowRight from '@/styles/icons/arrow-right.svg?sprite'; const navigation = [ diff --git a/frontend/src/components/layer-manager.tsx b/frontend/src/components/layer-manager.tsx deleted file mode 100644 index 79ff424e..00000000 --- a/frontend/src/components/layer-manager.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import { FC } from 'react'; - -import { Layer, Source } from 'react-map-gl'; - -import { LAYERS } from '@/constants/map'; -import { useSyncMapSettings } from '@/containers/map/sync-settings'; - -const LayerManager: FC = () => { - const [{ layers = [] }] = useSyncMapSettings(); - - return ( - <> - {[...layers].reverse().map((layer, index, reverseLayers) => { - const layerDef = LAYERS.find(({ id }) => id === layer.id); - if (!layerDef) { - return null; - } - - switch (layerDef.type) { - case 'default': - return ( - - {layerDef.config.layers?.map((subLayer) => { - const visibility = layer.settings?.visibility === false ? 'none' : 'visible'; - const opacity = layer.settings?.opacity ?? 1; - - let opacityProperties: string[]; - switch (subLayer.type) { - case 'background': - opacityProperties = ['background-opacity']; - break; - case 'circle': - opacityProperties = ['circle-opacity', 'circle-stroke-opacity']; - break; - case 'fill': - opacityProperties = ['fill-opacity']; - break; - case 'fill-extrusion': - opacityProperties = ['fill-extrusion-opacity']; - break; - case 'heatmap': - opacityProperties = ['heatmap-opacity']; - break; - case 'hillshade': - break; - case 'line': - opacityProperties = ['line-opacity']; - break; - case 'raster': - opacityProperties = ['raster-opacity']; - break; - case 'symbol': - opacityProperties = ['icon-opacity', 'text-opacity']; - break; - } - - const opacityObj = opacityProperties - .map((property) => ({ [property]: opacity })) - .reduce((res, obj) => ({ ...res, ...obj }), {}); - - let nextLayerId: string = undefined; - if (index > 0) { - const nextLayerDef = LAYERS.find( - ({ id }) => id === reverseLayers[index - 1].id - ); - if (nextLayerDef?.config.layers?.length > 0) { - nextLayerId = nextLayerDef?.config.layers[0].id; - } - } - - return ( - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - - ); - })} - - ); - } - })} - - ); -}; - -export default LayerManager; diff --git a/frontend/src/components/map/index.tsx b/frontend/src/components/map/index.tsx index d32d92d0..87d07f3b 100644 --- a/frontend/src/components/map/index.tsx +++ b/frontend/src/components/map/index.tsx @@ -4,11 +4,12 @@ import ReactMapGL, { ViewState, ViewStateChangeEvent, MapEvent, useMap } from 'r import { useDebounce } from 'rooks'; +import { cn } from '@/lib/classnames'; + import { DEFAULT_VIEW_STATE } from './constants'; import type { CustomMapProps } from './types'; // import env from '@/env.mjs'; -import { cn } from '@/lib/utils'; export const Map: FC = ({ // * if no id is passed, react-map-gl will store the map reference in a 'default' key: @@ -131,7 +132,7 @@ export const Map: FC = ({ mapboxAccessToken={process.env.NEXT_PUBLIC_MAPBOX_API_TOKEN} onMove={handleMapMove} onLoad={handleMapLoad} - mapStyle="mapbox://styles/skytruth/clnud2d3100nr01pl3b4icpyw" + mapStyle="mapbox://styles/skytruth/clnud2d3100nr01pl3b4icpyw/draft" {...mapboxProps} {...localViewState} > diff --git a/frontend/src/components/map/layers-dropdown/index.tsx b/frontend/src/components/map/layers-dropdown/index.tsx index e849b684..07d7649e 100644 --- a/frontend/src/components/map/layers-dropdown/index.tsx +++ b/frontend/src/components/map/layers-dropdown/index.tsx @@ -6,28 +6,47 @@ import { Button } from '@/components/ui/button'; import { Label } from '@/components/ui/label'; import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { Switch } from '@/components/ui/switch'; -import { LAYERS } from '@/constants/map'; -import { useSyncMapSettings } from '@/containers/map/sync-settings'; -import { cn } from '@/lib/utils'; -import { Layer } from '@/types/layer'; - -const layers = [...LAYERS].sort((layerA, layerB) => layerA.name.localeCompare(layerB.name)); +import { useSyncMapLayers, useSyncMapLayerSettings } from '@/containers/map/sync-settings'; +import { cn } from '@/lib/classnames'; +import { useGetLayers } from '@/types/generated/layer'; +import { LayerResponseDataObject } from '@/types/generated/strapi.schemas'; const LayersDropdown: FC<{ className?: HTMLDivElement['className']; }> = ({ className }) => { const [opened, setOpened] = useState(false); - const [{ layers: activeLayers = [] }, setMapSettings] = useSyncMapSettings(); + const [activeLayers, setMapLayers] = useSyncMapLayers(); + const [, setLayerSettings] = useSyncMapLayerSettings(); + + const layersQuery = useGetLayers( + { + sort: 'title:asc', + }, + { + query: { + select: ({ data }) => data, + placeholderData: { data: [] }, + }, + } + ); const onToggleLayer = useCallback( - (layerId: Layer['id'], isActive: boolean) => - setMapSettings((prev) => ({ + (layerId: LayerResponseDataObject['id'], isActive: boolean) => { + setMapLayers( + isActive + ? [...activeLayers, Number(layerId)] + : activeLayers.filter((_layerId) => _layerId !== Number(layerId)) + ); + + setLayerSettings((prev) => ({ ...prev, - layers: isActive - ? [...activeLayers, { id: layerId, settings: { expanded: true } }] - : activeLayers.filter(({ id }) => id !== layerId), - })), - [activeLayers, setMapSettings] + [layerId]: { + ...prev[layerId], + expanded: true, + }, + })); + }, + [activeLayers, setLayerSettings, setMapLayers] ); return ( @@ -51,8 +70,8 @@ const LayersDropdown: FC<{
    - {layers.map((layer) => { - const isActive = activeLayers.findIndex(({ id }) => id === layer.id) !== -1; + {layersQuery.data.map((layer) => { + const isActive = activeLayers.findIndex((layerId) => layerId === layer.id) !== -1; const onCheckedChange = onToggleLayer.bind(null, layer.id) as ( isActive: boolean ) => void; @@ -65,7 +84,7 @@ const LayersDropdown: FC<{ onCheckedChange={onCheckedChange} /> ); diff --git a/frontend/src/components/map/layers/deck-json-layer/index.tsx b/frontend/src/components/map/layers/deck-json-layer/index.tsx new file mode 100644 index 00000000..1002fb00 --- /dev/null +++ b/frontend/src/components/map/layers/deck-json-layer/index.tsx @@ -0,0 +1,30 @@ +import { useEffect } from 'react'; + +import { useDeckMapboxOverlayContext } from '@/components/map/provider'; +import { LayerProps } from '@/types/layers'; + +export type DeckJsonLayerProps = LayerProps & + Partial & { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + config: any; + }; + +const DeckJsonLayer = ({ id, config }: DeckJsonLayerProps) => { + // Render deck config + const i = `${id}-deck`; + const { addLayer, removeLayer } = useDeckMapboxOverlayContext(); + + useEffect(() => { + addLayer(config.clone({ id: i, beforeId: id })); + }, [i, id, config, addLayer]); + + useEffect(() => { + return () => { + removeLayer(i); + }; + }, [i, removeLayer]); + + return null; +}; + +export default DeckJsonLayer; diff --git a/frontend/src/components/map/layers/deck-layer/index.tsx b/frontend/src/components/map/layers/deck-layer/index.tsx new file mode 100644 index 00000000..6d9fdadf --- /dev/null +++ b/frontend/src/components/map/layers/deck-layer/index.tsx @@ -0,0 +1,35 @@ +import { useEffect } from 'react'; + +import { useDeckMapboxOverlayContext } from '@/components/map/provider'; +import { LayerProps } from '@/types/layers'; + +export type DeckLayerProps = LayerProps & + T & { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + type: any; + }; + +const DeckLayer = ({ id, type, ...props }: DeckLayerProps) => { + // Render deck layer + const i = `${id}-deck`; + const { addLayer, removeLayer } = useDeckMapboxOverlayContext(); + + useEffect(() => { + const ly = new type({ + ...props, + id: i, + beforeId: id, + }); + addLayer(ly); + }, [i, id, type, props, addLayer]); + + useEffect(() => { + return () => { + removeLayer(i); + }; + }, [i, removeLayer]); + + return null; +}; + +export default DeckLayer; diff --git a/frontend/src/components/map/layers/mapbox-layer/index.tsx b/frontend/src/components/map/layers/mapbox-layer/index.tsx new file mode 100644 index 00000000..b1a92bb7 --- /dev/null +++ b/frontend/src/components/map/layers/mapbox-layer/index.tsx @@ -0,0 +1,46 @@ +import { useEffect } from 'react'; + +import { Source, Layer } from 'react-map-gl'; + +import { Config, LayerProps } from '@/types/layers'; + +export type MapboxLayerProps = LayerProps & { + config: Config; + beforeId?: string; +}; + +const MapboxLayer = ({ beforeId, config, onAdd, onRemove }: MapboxLayerProps) => { + const SOURCE = config.source; + const STYLES = config.styles; + + useEffect(() => { + if (SOURCE && STYLES && onAdd) { + onAdd({ + source: SOURCE, + styles: STYLES, + }); + } + + return () => { + if (SOURCE && STYLES && onRemove) { + onRemove({ + source: SOURCE, + styles: STYLES, + }); + } + }; + }, []); // eslint-disable-line react-hooks/exhaustive-deps + + if (!SOURCE || !STYLES) return null; + + return ( + + {STYLES.map((layer) => ( + + ))} + {!STYLES.length && SOURCE.type === 'raster' && } + + ); +}; + +export default MapboxLayer; diff --git a/frontend/src/components/map/legend/index.tsx b/frontend/src/components/map/legend/index.tsx index 0dd70156..a029cd55 100644 --- a/frontend/src/components/map/legend/index.tsx +++ b/frontend/src/components/map/legend/index.tsx @@ -1,4 +1,4 @@ -import { FC, useCallback, useEffect, useMemo, useState } from 'react'; +import { FC, useCallback, useEffect, useState } from 'react'; import { ChevronUp, CircleDashed, Eye, EyeOff, MoveUp, X } from 'lucide-react'; import { usePreviousDifferent } from 'rooks'; @@ -15,129 +15,122 @@ import { Label } from '@/components/ui/label'; import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { Slider } from '@/components/ui/slider'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; -import { LAYERS } from '@/constants/map'; -import { useSyncMapSettings } from '@/containers/map/sync-settings'; -import { cn } from '@/lib/utils'; -import { Layer } from '@/types/layer'; +import { useSyncMapLayerSettings, useSyncMapLayers } from '@/containers/map/sync-settings'; +import { cn } from '@/lib/classnames'; +import { useGetLayers } from '@/types/generated/layer'; +import { LayerResponseDataObject } from '@/types/generated/strapi.schemas'; +import { LayerTyped } from '@/types/layers'; import LegendItems from './items'; const Legend: FC = () => { const [opened, setOpened] = useState(false); - const [{ layers: activeLayers = [] }, setMapSettings] = useSyncMapSettings(); + const [activeLayers, setMapLayers] = useSyncMapLayers(); + const [layerSettings, setLayerSettings] = useSyncMapLayerSettings(); + const previousActiveLayers = usePreviousDifferent(activeLayers); - const activeLayersDef = useMemo( - () => activeLayers.map(({ id }) => LAYERS.find((layer) => id === layer.id)).reverse(), - [activeLayers] + const layersQuery = useGetLayers( + { + sort: 'title:asc', + }, + { + query: { + select: ({ data }) => + data + .filter(({ id }) => activeLayers.includes(id)) + .sort((a, b) => { + const indexA = activeLayers.indexOf(a.id); + const indexB = activeLayers.indexOf(b.id); + return indexA - indexB; + }), + placeholderData: { data: [] }, + queryKey: ['layers', activeLayers], + keepPreviousData: true, + }, + } ); const onRemoveLayer = useCallback( - (layerId: Layer['id']) => - setMapSettings((prev) => ({ - ...prev, - layers: activeLayers.filter(({ id }) => id !== layerId), - })), - [activeLayers, setMapSettings] + (layerId: LayerResponseDataObject['id']) => + setMapLayers((currentLayers) => { + return currentLayers.filter((_layerId) => _layerId !== layerId); + }), + [setMapLayers] ); const onToggleLayerVisibility = useCallback( - (layerId: Layer['id'], isVisible: boolean) => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - setMapSettings((prev) => ({ + (layerId: LayerResponseDataObject['id'], isVisible: boolean) => { + setLayerSettings((prev) => ({ ...prev, - layers: activeLayers.map((layer) => ({ - ...layer, - ...(layer.id === layerId - ? { - settings: { - ...(layer.settings ?? {}), - visibility: isVisible, - }, - } - : {}), - })), + [layerId]: { + ...prev[layerId], + visibility: isVisible, + }, })); }, - [activeLayers, setMapSettings] + [setLayerSettings] ); const onChangeLayerOpacity = useCallback( - (layerId: Layer['id'], opacity: number) => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - setMapSettings((prev) => ({ + (layerId: LayerResponseDataObject['id'], opacity: number) => { + setLayerSettings((prev) => ({ ...prev, - layers: activeLayers.map((layer) => ({ - ...layer, - ...(layer.id === layerId - ? { - settings: { - ...(layer.settings ?? {}), - opacity, - }, - } - : {}), - })), + [layerId]: { + ...prev[layerId], + opacity, + }, })); }, - [activeLayers, setMapSettings] + [setLayerSettings] ); const onMoveLayerDown = useCallback( - (layerId: Layer['id']) => { - const newActiveLayers = [...activeLayers]; - const layerIndex = newActiveLayers.findIndex(({ id }) => id === layerId); + (layerId: LayerResponseDataObject['id']) => { + const layerIndex = activeLayers.findIndex((_layerId) => _layerId === layerId); if (layerIndex === -1) { return; } - const [layer] = newActiveLayers.splice(layerIndex, 1); - newActiveLayers.splice(layerIndex - 1, 0, layer); - - // eslint-disable-next-line @typescript-eslint/no-floating-promises - setMapSettings((prev) => ({ - ...prev, - layers: newActiveLayers, - })); + setMapLayers((prev) => { + return prev.toSpliced(layerIndex, 1).toSpliced(layerIndex + 1, 0, layerId); + }); }, - [activeLayers, setMapSettings] + [activeLayers, setMapLayers] ); const onMoveLayerUp = useCallback( - (layerId: Layer['id']) => { - const newActiveLayers = [...activeLayers]; - const layerIndex = newActiveLayers.findIndex(({ id }) => id === layerId); + (layerId: LayerResponseDataObject['id']) => { + // const newActiveLayers = [...activeLayers]; + const layerIndex = activeLayers.findIndex((_layerId) => _layerId === layerId); if (layerIndex === -1) { return; } - const [layer] = newActiveLayers.splice(layerIndex, 1); - newActiveLayers.splice(layerIndex + 1, 0, layer); - - // eslint-disable-next-line @typescript-eslint/no-floating-promises - setMapSettings((prev) => ({ - ...prev, - layers: newActiveLayers, - })); + setMapLayers((prev) => { + return prev.toSpliced(layerIndex, 1).toSpliced(layerIndex - 1, 0, layerId); + }); }, - [activeLayers, setMapSettings] + [activeLayers, setMapLayers] ); const onToggleAccordion = useCallback( (layerStringIds: string[]) => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - setMapSettings((prev) => ({ + setLayerSettings((prev) => ({ ...prev, - layers: activeLayers.map((layer) => ({ - ...layer, - settings: { - ...(layer.settings ?? {}), - expanded: layerStringIds.findIndex((stringId) => stringId === `${layer.id}`) !== -1, - }, - })), + ...activeLayers.reduce( + (acc, layerId) => ({ + ...acc, + [layerId]: { + ...prev[layerId], + expanded: layerStringIds.findIndex((stringId) => stringId === `${layerId}`) !== -1, + }, + }), + {} + ), })); }, - [activeLayers, setMapSettings] + [activeLayers, setLayerSettings] ); // When the user adds the first layer, we open the legend automatically @@ -162,37 +155,34 @@ const Legend: FC = () => { - {!activeLayersDef.length && ( + {!layersQuery.data.length && (

    Open Layers to add layers to the map

    )} - {activeLayersDef.length > 0 && ( + {layersQuery.data.length > 0 && ( - activeLayer.settings?.expanded === true ? `${activeLayer.id}` : null - ) - .filter(Number)} + value={Object.keys(layerSettings).filter((layerId) => { + return layerSettings[layerId].expanded ? layerId.toString() : null; + })} onValueChange={onToggleAccordion} > - {activeLayersDef.map((layerDef, reverseIndex) => { - const isFirst = reverseIndex === 0; - const isLast = reverseIndex + 1 === activeLayersDef.length; + {layersQuery.data.map(({ id, attributes: { title, legend_config } }, index) => { + const isFirst = index === 0; + const isLast = index + 1 === layersQuery.data.length; - const index = activeLayersDef.length - reverseIndex - 1; - const isVisible = activeLayers[index].settings?.visibility !== false; - const opacity = activeLayers[index].settings?.opacity ?? 1; + const isVisible = layerSettings[id]?.visibility !== false; + const opacity = layerSettings[id]?.opacity ?? 1; return ( 0, + 'pb-3': index + 1 < activeLayers.length, + 'border-t border-gray-300 pt-3': index > 0, })} >
    @@ -206,10 +196,10 @@ const Legend: FC = () => { })} aria-hidden /> - {layerDef.name} + {title} - {layerDef.name} + {title} @@ -221,7 +211,7 @@ const Legend: FC = () => { variant="ghost" size="icon-sm" disabled={isFirst} - onClick={() => onMoveLayerUp(layerDef.id)} + onClick={() => onMoveLayerUp(id)} > Move up @@ -236,7 +226,7 @@ const Legend: FC = () => { variant="ghost" size="icon-sm" disabled={isLast} - onClick={() => onMoveLayerDown(layerDef.id)} + onClick={() => onMoveLayerDown(id)} > Move down @@ -262,9 +252,7 @@ const Legend: FC = () => { defaultValue={[opacity]} max={1} step={0.1} - onValueCommit={([value]) => - onChangeLayerOpacity(layerDef.id, value) - } + onValueCommit={([value]) => onChangeLayerOpacity(id, value)} /> @@ -275,7 +263,7 @@ const Legend: FC = () => { type="button" variant="ghost" size="icon-sm" - onClick={() => onToggleLayerVisibility(layerDef.id, !isVisible)} + onClick={() => onToggleLayerVisibility(id, !isVisible)} > {isVisible ? 'Hide' : 'Show'} {isVisible && } @@ -292,8 +280,7 @@ const Legend: FC = () => { variant="ghost" size="icon-sm" onClick={() => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - onRemoveLayer(layerDef.id); + onRemoveLayer(id); }} > Remove @@ -305,9 +292,9 @@ const Legend: FC = () => {
    - - - + {/* + + */}
    ); })} diff --git a/frontend/src/components/map/legend/items.tsx b/frontend/src/components/map/legend/items.tsx index cbd8e43d..2159059e 100644 --- a/frontend/src/components/map/legend/items.tsx +++ b/frontend/src/components/map/legend/items.tsx @@ -1,9 +1,9 @@ import { FC } from 'react'; -import { Layer } from '@/types/layer'; +import { LayerTyped } from '@/types/layers'; export interface LegendItemsProps { - items: Layer['legend']; + items: LayerTyped['legend_config']; } const LegendItems: FC = ({ items }) => { diff --git a/frontend/src/components/map/provider.tsx b/frontend/src/components/map/provider.tsx new file mode 100644 index 00000000..5102ed22 --- /dev/null +++ b/frontend/src/components/map/provider.tsx @@ -0,0 +1,82 @@ +import { createContext, PropsWithChildren, useCallback, useContext, useMemo, useRef } from 'react'; + +import { useControl } from 'react-map-gl'; + +import { MapboxOverlay, MapboxOverlayProps } from '@deck.gl/mapbox/typed'; + +interface DeckMapboxOverlayContext { + addLayer: (layer: any) => void; + removeLayer: (id: string) => void; +} + +const Context = createContext({ + addLayer: () => { + console.info('addLayer'); + }, + removeLayer: () => { + console.info('removeLayer'); + }, +}); + +function useMapboxOverlay( + props: MapboxOverlayProps & { + interleaved?: boolean; + } +) { + const overlay = useControl(() => new MapboxOverlay(props)); + overlay.setProps(props); + + return overlay; +} + +export const DeckMapboxOverlayProvider = ({ children }: PropsWithChildren) => { + const layersRef = useRef([]); + + const OVERLAY = useMapboxOverlay({ + interleaved: true, + }); + + const addLayer = useCallback( + (layer: any) => { + const newLayers = [...layersRef.current.filter((l) => l.id !== layer.id), layer]; + + layersRef.current = newLayers; + return OVERLAY.setProps({ layers: newLayers }); + }, + [OVERLAY] + ); + + const removeLayer = useCallback( + (id: string) => { + const newLayers = [...layersRef.current.filter((l) => l.id !== id)]; + + layersRef.current = newLayers; + OVERLAY.setProps({ layers: newLayers }); + }, + [OVERLAY] + ); + + const context = useMemo( + () => ({ + addLayer, + removeLayer, + }), + [addLayer, removeLayer] + ); + + return ( + + {children} + + ); +}; + +export const useDeckMapboxOverlayContext = () => { + const context = useContext(Context); + + if (!context) { + throw new Error('useDeckMapboxOverlayContext must be used within a DeckMapboxOverlayProvider'); + } + + return context; +}; diff --git a/frontend/src/components/ui/accordion.tsx b/frontend/src/components/ui/accordion.tsx index f4382089..9d639ae8 100644 --- a/frontend/src/components/ui/accordion.tsx +++ b/frontend/src/components/ui/accordion.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import * as AccordionPrimitive from '@radix-ui/react-accordion'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const Accordion = AccordionPrimitive.Root; diff --git a/frontend/src/components/ui/alert.tsx b/frontend/src/components/ui/alert.tsx index 2352ab39..1425df69 100644 --- a/frontend/src/components/ui/alert.tsx +++ b/frontend/src/components/ui/alert.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { cva, type VariantProps } from 'class-variance-authority'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const alertVariants = cva( 'relative w-full border border-black p-3 [&>svg~*]:pl-7 [&>svg]:translate-y-0.5 [&>svg]:absolute [&>svg]:left-3 [&>svg]:top-3 [&>svg]:text-slate-950', diff --git a/frontend/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx index 5fc51a35..2828b49e 100644 --- a/frontend/src/components/ui/button.tsx +++ b/frontend/src/components/ui/button.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import { Slot } from '@radix-ui/react-slot'; import { cva, type VariantProps } from 'class-variance-authority'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const buttonVariants = cva( 'inline-flex items-center justify-center font-black uppercase transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50', diff --git a/frontend/src/components/ui/command.tsx b/frontend/src/components/ui/command.tsx index 55ee4c86..8dedf5ad 100644 --- a/frontend/src/components/ui/command.tsx +++ b/frontend/src/components/ui/command.tsx @@ -5,7 +5,7 @@ import { Command as CommandPrimitive } from 'cmdk'; import { Search } from 'lucide-react'; import { Dialog, DialogContent } from '@/components/ui/dialog'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const Command = React.forwardRef< React.ElementRef, diff --git a/frontend/src/components/ui/dialog.tsx b/frontend/src/components/ui/dialog.tsx index 7894a2a1..f3eac8d2 100644 --- a/frontend/src/components/ui/dialog.tsx +++ b/frontend/src/components/ui/dialog.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import * as DialogPrimitive from '@radix-ui/react-dialog'; import { X } from 'lucide-react'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const Dialog = DialogPrimitive.Root; diff --git a/frontend/src/components/ui/input.tsx b/frontend/src/components/ui/input.tsx index a8fe4f9a..4798c5d2 100644 --- a/frontend/src/components/ui/input.tsx +++ b/frontend/src/components/ui/input.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; export interface InputProps extends React.InputHTMLAttributes {} diff --git a/frontend/src/components/ui/label.tsx b/frontend/src/components/ui/label.tsx index a3e4a8fd..fbdfd1a0 100644 --- a/frontend/src/components/ui/label.tsx +++ b/frontend/src/components/ui/label.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import * as LabelPrimitive from '@radix-ui/react-label'; import { cva, type VariantProps } from 'class-variance-authority'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const labelVariants = cva( 'text-sm font-bold leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50' diff --git a/frontend/src/components/ui/loader.tsx b/frontend/src/components/ui/loader.tsx new file mode 100644 index 00000000..61f7452d --- /dev/null +++ b/frontend/src/components/ui/loader.tsx @@ -0,0 +1,37 @@ +import { PropsWithChildren } from 'react'; + +import { Skeleton } from '@/components/ui/skeleton'; +import { cn } from '@/lib/classnames'; + +export interface ContentLoaderProps extends PropsWithChildren { + skeletonClassName?: string; + data: unknown | undefined; + isPlaceholderData: boolean; + isFetching: boolean; + isFetched: boolean; + isError: boolean; +} + +const ContentLoader = ({ + skeletonClassName, + children, + data, + isPlaceholderData, + isFetching, + isFetched, + isError, +}: ContentLoaderProps) => { + return ( +
    + {isFetching && !isFetched && } + + {isError && isFetched && !isFetching && 'Error'} + + {!isPlaceholderData && !isError && isFetched && !!data && children} + + {!isPlaceholderData && !isError && isFetched && !data && 'No data'} +
    + ); +}; + +export default ContentLoader; diff --git a/frontend/src/components/ui/popover.tsx b/frontend/src/components/ui/popover.tsx index 23f006ca..9bb4491e 100644 --- a/frontend/src/components/ui/popover.tsx +++ b/frontend/src/components/ui/popover.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import * as PopoverPrimitive from '@radix-ui/react-popover'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const Popover = PopoverPrimitive.Root; diff --git a/frontend/src/components/ui/sheet.tsx b/frontend/src/components/ui/sheet.tsx index efdd1336..161bd03e 100644 --- a/frontend/src/components/ui/sheet.tsx +++ b/frontend/src/components/ui/sheet.tsx @@ -4,7 +4,7 @@ import * as SheetPrimitive from '@radix-ui/react-dialog'; import { cva, type VariantProps } from 'class-variance-authority'; import { X } from 'lucide-react'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const Sheet = SheetPrimitive.Root; diff --git a/frontend/src/components/ui/skeleton.tsx b/frontend/src/components/ui/skeleton.tsx new file mode 100644 index 00000000..62e1c96c --- /dev/null +++ b/frontend/src/components/ui/skeleton.tsx @@ -0,0 +1,12 @@ +import { cn } from '@/lib/classnames'; + +function Skeleton({ className, ...props }: React.HTMLAttributes) { + return ( +
    + ); +} + +export { Skeleton }; diff --git a/frontend/src/components/ui/slider.tsx b/frontend/src/components/ui/slider.tsx index 7406b05d..d93437af 100644 --- a/frontend/src/components/ui/slider.tsx +++ b/frontend/src/components/ui/slider.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import * as SliderPrimitive from '@radix-ui/react-slider'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const Slider = React.forwardRef< React.ElementRef, diff --git a/frontend/src/components/ui/switch.tsx b/frontend/src/components/ui/switch.tsx index 51a020a4..ab1e22b3 100644 --- a/frontend/src/components/ui/switch.tsx +++ b/frontend/src/components/ui/switch.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import * as SwitchPrimitives from '@radix-ui/react-switch'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const Switch = React.forwardRef< React.ElementRef, diff --git a/frontend/src/components/ui/table.tsx b/frontend/src/components/ui/table.tsx index eec45651..5b510a07 100644 --- a/frontend/src/components/ui/table.tsx +++ b/frontend/src/components/ui/table.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const Table = React.forwardRef>( ({ className, ...props }, ref) => ( diff --git a/frontend/src/components/ui/tooltip.tsx b/frontend/src/components/ui/tooltip.tsx index 06762ebf..920ecff9 100644 --- a/frontend/src/components/ui/tooltip.tsx +++ b/frontend/src/components/ui/tooltip.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import * as TooltipPrimitive from '@radix-ui/react-tooltip'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const TooltipProvider = TooltipPrimitive.Provider; diff --git a/frontend/src/constants/map.ts b/frontend/src/constants/map.ts deleted file mode 100644 index 549d324c..00000000 --- a/frontend/src/constants/map.ts +++ /dev/null @@ -1,219 +0,0 @@ -import { Layer } from '@/types/layer'; - -// Every sub-layer (`config.layers`) must have an ID in order to be correctly ordered on the map -export const LAYERS: readonly Layer[] = [ - { - id: 1, - name: 'Indigenous and Community Lands', - type: 'default', - config: { - type: 'vector', - source: { - type: 'vector', - minzoom: 0, - maxzoom: 9, - tiles: [ - 'https://tiles.globalforestwatch.org/landmark_land_rights/v20191111/default/{z}/{x}/{y}.pbf', - ], - }, - layers: [ - { - id: 'indigenous-community-lands-1', - filter: ['==', 'type', 'Indicative Areas'], - paint: { - 'fill-color': '#9c9c9c', - 'fill-opacity': 0.3, - }, - 'source-layer': 'landmark_land_rights', - type: 'fill', - }, - { - id: 'indigenous-community-lands-2', - filter: ['==', 'type', 'Indicative Areas'], - paint: { - 'line-color': '#9c9c9c', - 'line-opacity': 1, - }, - 'source-layer': 'landmark_land_rights', - type: 'line', - }, - { - id: 'indigenous-community-lands-3', - filter: [ - 'all', - ['==', 'form_rec', 'Acknowledged by govt'], - ['==', 'identity', 'Indigenous'], - ], - paint: { - 'fill-color': '#bf6938', - 'fill-opacity': 0.3, - }, - 'source-layer': 'landmark_land_rights', - type: 'fill', - }, - { - id: 'indigenous-community-lands-4', - filter: [ - 'all', - ['==', 'form_rec', 'Acknowledged by govt'], - ['==', 'identity', 'Indigenous'], - ], - paint: { - 'line-color': '#bf6938', - 'line-opacity': 1, - }, - 'source-layer': 'landmark_land_rights', - type: 'line', - }, - { - id: 'indigenous-community-lands-5', - filter: [ - 'all', - ['==', 'form_rec', 'Not acknowledged by govt'], - ['==', 'identity', 'Indigenous'], - ], - paint: { - 'fill-color': '#f3aa72', - 'fill-opacity': 0.3, - }, - 'source-layer': 'landmark_land_rights', - type: 'fill', - }, - { - id: 'indigenous-community-lands-6', - filter: [ - 'all', - ['==', 'form_rec', 'Not acknowledged by govt'], - ['==', 'identity', 'Indigenous'], - ], - paint: { - 'line-color': '#f3aa72', - 'line-opacity': 1, - }, - 'source-layer': 'landmark_land_rights', - type: 'line', - }, - { - id: 'indigenous-community-lands-7', - filter: [ - 'all', - ['==', 'form_rec', 'Acknowledged by govt'], - ['==', 'identity', 'Community'], - ], - paint: { - 'fill-color': '#2C5682', - 'fill-opacity': 0.3, - }, - 'source-layer': 'landmark_land_rights', - type: 'fill', - }, - { - id: 'indigenous-community-lands-8', - filter: [ - 'all', - ['==', 'form_rec', 'Acknowledged by govt'], - ['==', 'identity', 'Community'], - ], - paint: { - 'line-color': '#2C5682', - 'line-opacity': 1, - }, - 'source-layer': 'landmark_land_rights', - type: 'line', - }, - { - id: 'indigenous-community-lands-9', - filter: [ - 'all', - ['==', 'form_rec', 'Not acknowledged by govt'], - ['==', 'identity', 'Community'], - ], - paint: { - 'fill-color': '#407ebe', - 'fill-opacity': 0.3, - }, - 'source-layer': 'landmark_land_rights', - type: 'fill', - }, - { - id: 'indigenous-community-lands-10', - filter: [ - 'all', - ['==', 'form_rec', 'Not acknowledged by govt'], - ['==', 'identity', 'Community'], - ], - paint: { - 'line-color': '#407ebe', - 'line-opacity': 1, - }, - 'source-layer': 'landmark_land_rights', - type: 'line', - }, - ], - }, - legend: { - type: 'basic', - items: [ - { - color: '#bf6938', - value: 'Indigenous Lands - Acknowledged by Government', - }, - { - color: '#f3aa72', - value: 'Indigenous Lands - Not acknowledged by Government', - }, - { - color: '#2C5682', - value: 'Community Lands - Acknowledged by Government', - }, - { - color: '#407ebe', - value: 'Community Lands - Not acknowledged by Government', - }, - { - color: '#9c9c9c', - value: 'Indicative Areas of Indigenous and Community Land Rights', - }, - ], - }, - metadata: { - attributions: - 'Powered by Resource Watch', - }, - }, - { - id: 2, - name: 'Primary forests', - type: 'default', - config: { - type: 'raster', - source: { - type: 'raster', - minzoom: 3, - maxzoom: 12, - tiles: [ - 'https://api.resourcewatch.org/v1/layer/41086554-5ca5-456c-80dd-f6bee61bc45f/tile/gee/{z}/{x}/{y}', - ], - }, - layers: [ - { - id: 'primary-forest', - type: 'raster', - }, - ], - }, - legend: { - type: 'basic', - items: [ - { - color: '#658434', - value: 'Primary forest', - }, - ], - }, - metadata: { - attributions: - 'Powered by Resource Watch', - }, - }, -]; diff --git a/frontend/src/containers/map/layer-manager/index.tsx b/frontend/src/containers/map/layer-manager/index.tsx new file mode 100644 index 00000000..a737866d --- /dev/null +++ b/frontend/src/containers/map/layer-manager/index.tsx @@ -0,0 +1,51 @@ +import { Layer } from 'react-map-gl'; + +import { DeckMapboxOverlayProvider } from '@/components/map/provider'; +import LayerManagerItem from '@/containers/map/layer-manager/item'; +import { useSyncMapLayerSettings, useSyncMapLayers } from '@/containers/map/sync-settings'; + +const LayerManager = () => { + const [activeLayers] = useSyncMapLayers(); + const [layersSettings] = useSyncMapLayerSettings(); + + return ( + + <> + {/* + Generate all transparent backgrounds to be able to sort by layers without an error + - https://github.com/visgl/react-map-gl/issues/939#issuecomment-625290200 + */} + {activeLayers.map((l, i) => { + const beforeId = i === 0 ? 'custom-layers' : `${activeLayers[i - 1]}-layer`; + return ( + + ); + })} + + {/* + Loop through active layers. The id is gonna be used to fetch the current layer and know how to order the layers. + The first item will always be at the top of the layers stack + */} + {activeLayers.map((l, i) => { + const beforeId = i === 0 ? 'custom-layers' : `${activeLayers[i - 1]}-layer`; + return ( + + ); + })} + + + ); +}; + +export default LayerManager; diff --git a/frontend/src/containers/map/layer-manager/item.tsx b/frontend/src/containers/map/layer-manager/item.tsx new file mode 100644 index 00000000..18d72a5f --- /dev/null +++ b/frontend/src/containers/map/layer-manager/item.tsx @@ -0,0 +1,96 @@ +import { useCallback } from 'react'; + +import { useAtom } from 'jotai'; + +import DeckJsonLayer from '@/components/map/layers/deck-json-layer'; +import MapboxLayer from '@/components/map/layers/mapbox-layer'; +import { parseConfig } from '@/lib/json-converter'; +import { layersInteractiveAtom, layersInteractiveIdsAtom } from '@/store/map'; +import { useGetLayersId } from '@/types/generated/layer'; +import { LayerResponseDataObject } from '@/types/generated/strapi.schemas'; +import { Config, LayerTyped } from '@/types/layers'; + +interface LayerManagerItemProps extends Required> { + beforeId: string; + settings: Record; +} + +const LayerManagerItem = ({ id, beforeId, settings }: LayerManagerItemProps) => { + const { data } = useGetLayersId(id, { + populate: 'metadata', + }); + const [, setLayersInteractive] = useAtom(layersInteractiveAtom); + const [, setLayersInteractiveIds] = useAtom(layersInteractiveIdsAtom); + + const handleAddMapboxLayer = useCallback( + ({ styles }: Config) => { + if (!data?.data?.attributes) return null; + + const { interaction_config } = data.data.attributes as LayerTyped; + + if (interaction_config?.enabled) { + const ids = styles.map((l) => l.id); + + setLayersInteractive((prev) => Array.from(new Set([...prev, id]))); + setLayersInteractiveIds((prev) => Array.from(new Set([...prev, ...ids]))); + } + }, + [data?.data?.attributes, id, setLayersInteractive, setLayersInteractiveIds] + ); + + const handleRemoveMapboxLayer = useCallback( + ({ styles }: Config) => { + if (!data?.data?.attributes) return null; + + const { interaction_config } = data.data.attributes as LayerTyped; + + if (interaction_config?.enabled) { + const ids = styles.map((l) => l.id); + + setLayersInteractive((prev) => prev.filter((i) => i !== id)); + setLayersInteractiveIds((prev) => prev.filter((i) => !ids.includes(i))); + } + }, + [data?.data?.attributes, id, setLayersInteractive, setLayersInteractiveIds] + ); + + if (!data?.data?.attributes) return null; + + const { type } = data.data.attributes as LayerTyped; + + if (type === 'mapbox') { + const { config, params_config } = data.data.attributes; + + const c = parseConfig({ + config, + params_config, + settings, + }); + + if (!c) return null; + + return ( + + ); + } + + if (type === 'deckgl') { + const { config, params_config } = data.data.attributes; + const c = parseConfig({ + // TODO: type + config, + params_config, + settings, + }); + + return ; + } +}; + +export default LayerManagerItem; diff --git a/frontend/src/containers/map/popup/eez/index.tsx b/frontend/src/containers/map/popup/eez/index.tsx new file mode 100644 index 00000000..21be1c03 --- /dev/null +++ b/frontend/src/containers/map/popup/eez/index.tsx @@ -0,0 +1,133 @@ +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; + +import { useMap } from 'react-map-gl'; + +import type { Feature } from 'geojson'; +import { useAtomValue } from 'jotai'; + +import ContentLoader from '@/components/ui/loader'; +import { format } from '@/lib/utils/formats'; +import { layersInteractiveIdsAtom, popupAtom } from '@/store/map'; +import { useGetLayersId } from '@/types/generated/layer'; +import { useGetLocations } from '@/types/generated/location'; +import { LayerTyped } from '@/types/layers'; + +const EEZLayerPopup = ({ locationId }) => { + const [rendered, setRendered] = useState(false); + const DATA_REF = useRef(); + const { default: map } = useMap(); + + const popup = useAtomValue(popupAtom); + const layersInteractiveIds = useAtomValue(layersInteractiveIdsAtom); + + const layerQuery = useGetLayersId( + locationId, + { + populate: 'metadata', + }, + { + query: { + select: ({ data }) => ({ + source: (data.attributes as LayerTyped).config?.source, + click: (data.attributes as LayerTyped)?.interaction_config?.events.find( + (ev) => ev.type === 'click' + ), + }), + }, + } + ); + + const { source, click } = layerQuery.data; + + const DATA = useMemo(() => { + if (source?.type === 'vector' && rendered && popup && map) { + const point = map.project(popup.lngLat); + + // check if the point is outside the canvas + if ( + point.x < 0 || + point.x > map.getCanvas().width || + point.y < 0 || + point.y > map.getCanvas().height + ) { + return DATA_REF.current; + } + const query = map.queryRenderedFeatures(point, { + layers: layersInteractiveIds, + }); + + const d = query.find((d) => { + return d.source === source.id; + })?.properties; + + DATA_REF.current = d; + + if (d) { + return DATA_REF.current; + } + } + + return DATA_REF.current; + }, [popup, source, layersInteractiveIds, map, rendered]); + + const locationQuery = useGetLocations( + { + filters: { + code: DATA?.ISO_SOV1, + }, + }, + { + query: { + enabled: !!DATA?.ISO_SOV1, + select: ({ data }) => data[0], + }, + } + ); + + // handle renderer + const handleMapRender = useCallback(() => { + setRendered(!!map?.loaded() && !!map?.areTilesLoaded()); + }, [map]); + + useEffect(() => { + map?.on('render', handleMapRender); + + return () => { + map?.off('render', handleMapRender); + }; + }, [map, handleMapRender]); + + return ( + +

    {locationQuery.data?.attributes?.name} EEZ

    +
    + {click && + !!locationQuery.data && + click.values.map((v) => { + return ( +
    +
    {v.label || v.key}:
    +
    + {format({ + id: v.format?.id, + value: locationQuery.data.attributes[v.key], + options: v.format?.options, + })} +
    +
    + ); + })} + {click && !DATA &&
    No data
    } +
    +
    + ); +}; + +export default EEZLayerPopup; diff --git a/frontend/src/containers/map/popup/index.tsx b/frontend/src/containers/map/popup/index.tsx new file mode 100644 index 00000000..c409d000 --- /dev/null +++ b/frontend/src/containers/map/popup/index.tsx @@ -0,0 +1,41 @@ +import { Popup } from 'react-map-gl'; + +import { useAtom, useAtomValue } from 'jotai'; + +import PopupItem from '@/containers/map/popup/item'; +import { layersInteractiveAtom, popupAtom } from '@/store/map'; + +const PopupContainer = () => { + const popup = useAtomValue(popupAtom); + const layersInteractive = useAtomValue(layersInteractiveAtom); + const lys = [...layersInteractive].reverse(); + + const [, setPopup] = useAtom(popupAtom); + + if (!popup) return null; + + return ( + setPopup(null)} + > +
    +
    +
    + {lys.map((id) => ( + + ))} +
    +
    +
    + + ); +}; + +export default PopupContainer; diff --git a/frontend/src/containers/map/popup/item.tsx b/frontend/src/containers/map/popup/item.tsx new file mode 100644 index 00000000..3a9cf0cc --- /dev/null +++ b/frontend/src/containers/map/popup/item.tsx @@ -0,0 +1,45 @@ +import { ReactElement, isValidElement, useMemo } from 'react'; + +import { parseConfig } from '@/lib/json-converter'; +import { useGetLayersId } from '@/types/generated/layer'; +import { InteractionConfig, LayerTyped } from '@/types/layers'; + +export interface PopupItemProps { + id: number; +} +const PopupItem = ({ id }: PopupItemProps) => { + const { data } = useGetLayersId(id, { + populate: 'metadata', + }); + + const attributes = data?.data?.attributes as LayerTyped; + + const { interaction_config, params_config } = attributes; + + const INTERACTION_COMPONENT = useMemo(() => { + const l = parseConfig({ + config: { + ...interaction_config, + locationId: id, + }, + params_config, + settings: {}, + }); + + if (!l) return null; + + if (isValidElement(l)) { + return l; + } + + return null; + }, [interaction_config, params_config, id]); + + return ( +
    +
    {INTERACTION_COMPONENT}
    +
    + ); +}; + +export default PopupItem; diff --git a/frontend/src/containers/map/sync-settings.ts b/frontend/src/containers/map/sync-settings.ts index 314099ef..6235ce66 100644 --- a/frontend/src/containers/map/sync-settings.ts +++ b/frontend/src/containers/map/sync-settings.ts @@ -1,16 +1,14 @@ import { LngLatBoundsLike } from 'react-map-gl'; -import { useQueryState } from 'next-usequerystate'; +import { parseAsArrayOf, parseAsInteger, useQueryState } from 'next-usequerystate'; import { parseAsJson } from 'next-usequerystate/parsers'; -import { Layer, LayerSettings } from '@/types/layer'; +import { LayerSettings } from '@/types/layers'; const DEFAULT_SYNC_MAP_SETTINGS: { bbox: LngLatBoundsLike; - layers: readonly { id: Layer['id']; settings?: LayerSettings }[]; } = { bbox: null, - layers: [], }; export const useSyncMapSettings = () => { @@ -19,3 +17,14 @@ export const useSyncMapSettings = () => { parseAsJson().withDefault(DEFAULT_SYNC_MAP_SETTINGS) ); }; + +export const useSyncMapLayers = () => { + return useQueryState('layers', parseAsArrayOf(parseAsInteger).withDefault([])); +}; + +export const useSyncMapLayerSettings = () => { + return useQueryState( + 'layer-settings', + parseAsJson<{ [layerId: number]: Partial }>().withDefault({}) + ); +}; diff --git a/frontend/src/lib/utils.ts b/frontend/src/lib/classnames/index.ts similarity index 100% rename from frontend/src/lib/utils.ts rename to frontend/src/lib/classnames/index.ts diff --git a/frontend/src/lib/json-converter/index.ts b/frontend/src/lib/json-converter/index.ts new file mode 100644 index 00000000..58fb24bd --- /dev/null +++ b/frontend/src/lib/json-converter/index.ts @@ -0,0 +1,91 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +import React from 'react'; + +import { JSONConfiguration, JSONConverter } from '@deck.gl/json/typed'; + +// import { +// LegendTypeBasic, +// LegendTypeChoropleth, +// LegendTypeGradient, +// } from '@/components/map/legend/item-types'; +import EEZLayerPopup from '@/containers/map/popup/eez'; +import FUNCTIONS from '@/lib/utils'; +import { ParamsConfig } from '@/types/layers'; + +export const JSON_CONFIGURATION = new JSONConfiguration({ + React, + classes: Object.assign( + // + {} + // require('@deck.gl/layers') + // require('@deck.gl/aggregation-layers') + ), + functions: FUNCTIONS, + enumerations: {}, + reactComponents: { + EEZLayerPopup, + // LegendTypeBasic, + // LegendTypeChoropleth, + // LegendTypeGradient, + }, +}); + +/** + * *`getParams`* + * Get params from params_config + * @param {Object} params_config + * @returns {Object} params + * + */ +export interface GetParamsProps { + settings: Record; + params_config: ParamsConfig; +} +export const getParams = ({ params_config, settings = {} }: GetParamsProps) => { + if (!params_config) { + return {}; + } + return params_config.reduce((acc, p) => { + return { + ...acc, + [`${p.key}`]: settings[`${p.key}`] ?? p.default, + }; + }, {} as Record); +}; + +/** + * *`parseConfig`* + * Parse config with params_config + * @param {Object} config + * @param {Object} params_config + * @returns {Object} config + * + */ +interface ParseConfigurationProps { + config: unknown; + params_config: unknown; + settings: Record; +} +export const parseConfig = ({ + config, + params_config, + settings, +}: ParseConfigurationProps): T | null => { + if (!config || !params_config) { + return null; + } + + const JSON_CONVERTER = new JSONConverter({ + configuration: JSON_CONFIGURATION, + }); + + const pc = params_config as ParamsConfig; + const params = getParams({ params_config: pc, settings }); + // Merge enumerations with config + JSON_CONVERTER.mergeConfiguration({ + enumerations: { + params, + }, + }); + return JSON_CONVERTER.convert(config); +}; diff --git a/frontend/src/lib/utils/formats.ts b/frontend/src/lib/utils/formats.ts new file mode 100644 index 00000000..d38029f8 --- /dev/null +++ b/frontend/src/lib/utils/formats.ts @@ -0,0 +1,54 @@ +export function formatPercentage(value: number, options?: Intl.NumberFormatOptions) { + const v = Intl.NumberFormat('en-US', { + minimumFractionDigits: 0, + maximumFractionDigits: 2, + style: 'percent', + ...options, + }); + + return v.format(value); +} + +export function formatHA(value: number, options?: Intl.NumberFormatOptions) { + const v = Intl.NumberFormat('en-US', { + notation: 'compact', + compactDisplay: 'short', + minimumFractionDigits: 0, + maximumFractionDigits: 2, + style: 'unit', + unit: 'hectare', + unitDisplay: 'short', + ...options, + }); + + return v.format(value); +} + +const FORMATS = { + formatPercentage, + formatHA, +} as const; + +export type FormatProps = { + value: unknown; + id?: keyof typeof FORMATS; + options?: Intl.NumberFormatOptions; +}; + +export function format({ id, value, options }: FormatProps) { + const fn = id ? FORMATS[id] : undefined; + + if (typeof fn === 'function' && typeof value === 'number') { + return fn(value, options); + } + + if (typeof value === 'number') { + return value.toLocaleString(); + } + + if (typeof value === 'string') { + return value; + } +} + +export default FORMATS; diff --git a/frontend/src/lib/utils/index.ts b/frontend/src/lib/utils/index.ts new file mode 100644 index 00000000..8dadf31a --- /dev/null +++ b/frontend/src/lib/utils/index.ts @@ -0,0 +1,9 @@ +import FORMATS from './formats'; +import SETTERS from './setters'; + +const ALL = { + ...SETTERS, + ...FORMATS, +}; + +export default ALL; diff --git a/frontend/src/lib/utils/setters.ts b/frontend/src/lib/utils/setters.ts new file mode 100644 index 00000000..24080391 --- /dev/null +++ b/frontend/src/lib/utils/setters.ts @@ -0,0 +1,34 @@ +/** + * *`setOpacity`* + * Set opacity + * @param {Number} o + * @param {Number} base + * @returns {Number} opacity + */ +type SetOpacityProps = { o: number; base: number }; +export const setOpacity = ({ o = 1, base = 1 }: SetOpacityProps) => { + return o * base; +}; + +/** + * *`setVisibility`* + * Set visibility + * @param {Boolean} v + * @param {String} type + * @returns {String | Boolean} visibility + */ +type SetVisibilityProps = { v: boolean; type: 'mapbox' | 'deck' }; +export const setVisibility = ({ v = true, type = 'mapbox' }: SetVisibilityProps) => { + if (type === 'mapbox') { + return v ? 'visible' : 'none'; + } + + return v; +}; + +const SETTERS = { + setOpacity, + setVisibility, +} as const; + +export default SETTERS; diff --git a/frontend/src/pages/dashboard/[locationId].tsx b/frontend/src/pages/dashboard/[locationId].tsx index 5370af4a..ea9465a7 100644 --- a/frontend/src/pages/dashboard/[locationId].tsx +++ b/frontend/src/pages/dashboard/[locationId].tsx @@ -16,7 +16,7 @@ import { } from '@/components/ui/command'; import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import DefaultLayout from '@/layouts/default'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const locations = [ { diff --git a/frontend/src/pages/map.tsx b/frontend/src/pages/map.tsx index 7048381d..c2c35a00 100644 --- a/frontend/src/pages/map.tsx +++ b/frontend/src/pages/map.tsx @@ -1,11 +1,12 @@ -import { useCallback, useState } from 'react'; +import { ComponentProps, useCallback, useState } from 'react'; import { useMap } from 'react-map-gl'; -import { useAtomValue } from 'jotai'; +import dynamic from 'next/dynamic'; + +import { useAtom, useAtomValue } from 'jotai'; import { ChevronLeft } from 'lucide-react'; -import LayerManager from '@/components/layer-manager'; import Map, { ZoomControls, LayersDropdown, @@ -17,19 +18,50 @@ import Map, { import SidebarContent from '@/components/sidebar-content'; import { Button } from '@/components/ui/button'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible'; +import Popup from '@/containers/map/popup'; import { useSyncMapSettings } from '@/containers/map/sync-settings'; import FullscreenLayout from '@/layouts/fullscreen'; -import { cn } from '@/lib/utils'; -import { drawStateAtom } from '@/store/map'; +import { cn } from '@/lib/classnames'; +import { + drawStateAtom, + layersInteractiveAtom, + layersInteractiveIdsAtom, + popupAtom, +} from '@/store/map'; +import { useGetLayers } from '@/types/generated/layer'; +import { LayerTyped } from '@/types/layers'; + +const LayerManager = dynamic(() => import('@/containers/map/layer-manager'), { + ssr: false, +}); const MapPage: React.FC = () => { const [sidebarOpen, setSidebarOpen] = useState(true); const drawState = useAtomValue(drawStateAtom); const [{ bbox }, setMapSettings] = useSyncMapSettings(); const { default: map } = useMap(); + const [, setPopup] = useAtom(popupAtom); + + const layersInteractive = useAtomValue(layersInteractiveAtom); + const layersInteractiveIds = useAtomValue(layersInteractiveIdsAtom); + + const { data: layersInteractiveData } = useGetLayers( + { + filters: { + id: { + $in: layersInteractive, + }, + }, + }, + { + query: { + enabled: !!layersInteractive.length, + select: ({ data }) => data, + }, + } + ); const handleMoveEnd = useCallback(() => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises setMapSettings((prev) => ({ ...prev, bbox: map @@ -40,6 +72,23 @@ const MapPage: React.FC = () => { })); }, [map, setMapSettings]); + const handleMapClick = useCallback( + (e: Parameters['onClick']>[0]) => { + if ( + layersInteractive.length && + layersInteractiveData.some((l) => { + const attributes = l.attributes as LayerTyped; + return attributes?.interaction_config?.events.some((ev) => ev.type === 'click'); + }) + ) { + const p = Object.assign({}, e, { features: e.features ?? [] }); + + setPopup(p); + } + }, + [layersInteractive, layersInteractiveData, setPopup] + ); + return (
    @@ -62,11 +111,13 @@ const MapPage: React.FC = () => { @@ -76,6 +127,10 @@ const MapPage: React.FC = () => { 'hidden md:block': drawState.active, })} > + + + + ({ active: false, feature: null, }); + +export const layersInteractiveAtom = atom([]); +export const layersInteractiveIdsAtom = atom([]); + +export const popupAtom = atom>(null); diff --git a/frontend/src/styles/globals.css b/frontend/src/styles/globals.css index cd494d73..c51ffd4a 100644 --- a/frontend/src/styles/globals.css +++ b/frontend/src/styles/globals.css @@ -25,3 +25,8 @@ .mapboxgl-ctrl-attrib-inner { @apply px-2 max-w-[100vw] md:max-w-[calc(100vw_-_430px_-_40px_-_16px)] py-1 overflow-hidden font-sans text-xs text-left whitespace-nowrap text-ellipsis; } + +.mapboxgl-popup-content { + @apply !p-0 !bg-white !pointer-events-none !rounded-none; + box-shadow: 0 0px 0px 1px rgba(26, 28, 34, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1); +} diff --git a/frontend/src/types/generated/layer.ts b/frontend/src/types/generated/layer.ts new file mode 100644 index 00000000..f4875000 --- /dev/null +++ b/frontend/src/types/generated/layer.ts @@ -0,0 +1,331 @@ +/** + * Generated by orval v6.18.1 🍺 + * Do not edit manually. + * DOCUMENTATION + * OpenAPI spec version: 1.0.0 + */ +import { useQuery, useMutation } from '@tanstack/react-query'; +import type { + UseQueryOptions, + UseMutationOptions, + QueryFunction, + MutationFunction, + UseQueryResult, + QueryKey, +} from '@tanstack/react-query'; +import type { + LayerListResponse, + Error, + GetLayersParams, + LayerResponse, + LayerRequest, + GetLayersIdParams, +} from './strapi.schemas'; +import { API } from '../../services/api/index'; +import type { ErrorType, BodyType } from '../../services/api/index'; + +// eslint-disable-next-line +type SecondParameter any> = T extends ( + config: any, + args: infer P +) => any + ? P + : never; + +export const getLayers = ( + params?: GetLayersParams, + options?: SecondParameter, + signal?: AbortSignal +) => { + return API({ url: `/layers`, method: 'get', params, signal }, options); +}; + +export const getGetLayersQueryKey = (params?: GetLayersParams) => { + return [`/layers`, ...(params ? [params] : [])] as const; +}; + +export const getGetLayersQueryOptions = < + TData = Awaited>, + TError = ErrorType +>( + params?: GetLayersParams, + options?: { + query?: UseQueryOptions>, TError, TData>; + request?: SecondParameter; + } +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetLayersQueryKey(params); + + const queryFn: QueryFunction>> = ({ signal }) => + getLayers(params, requestOptions, signal); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: QueryKey }; +}; + +export type GetLayersQueryResult = NonNullable>>; +export type GetLayersQueryError = ErrorType; + +export const useGetLayers = < + TData = Awaited>, + TError = ErrorType +>( + params?: GetLayersParams, + options?: { + query?: UseQueryOptions>, TError, TData>; + request?: SecondParameter; + } +): UseQueryResult & { queryKey: QueryKey } => { + const queryOptions = getGetLayersQueryOptions(params, options); + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey; + + return query; +}; + +export const postLayers = ( + layerRequest: BodyType, + options?: SecondParameter +) => { + return API( + { + url: `/layers`, + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data: layerRequest, + }, + options + ); +}; + +export const getPostLayersMutationOptions = < + TError = ErrorType, + TContext = unknown +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: BodyType }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { data: BodyType }, + TContext +> => { + const { mutation: mutationOptions, request: requestOptions } = options ?? {}; + + const mutationFn: MutationFunction< + Awaited>, + { data: BodyType } + > = (props) => { + const { data } = props ?? {}; + + return postLayers(data, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type PostLayersMutationResult = NonNullable>>; +export type PostLayersMutationBody = BodyType; +export type PostLayersMutationError = ErrorType; + +export const usePostLayers = , TContext = unknown>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: BodyType }, + TContext + >; + request?: SecondParameter; +}) => { + const mutationOptions = getPostLayersMutationOptions(options); + + return useMutation(mutationOptions); +}; +export const getLayersId = ( + id: number, + params?: GetLayersIdParams, + options?: SecondParameter, + signal?: AbortSignal +) => { + return API({ url: `/layers/${id}`, method: 'get', params, signal }, options); +}; + +export const getGetLayersIdQueryKey = (id: number, params?: GetLayersIdParams) => { + return [`/layers/${id}`, ...(params ? [params] : [])] as const; +}; + +export const getGetLayersIdQueryOptions = < + TData = Awaited>, + TError = ErrorType +>( + id: number, + params?: GetLayersIdParams, + options?: { + query?: UseQueryOptions>, TError, TData>; + request?: SecondParameter; + } +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetLayersIdQueryKey(id, params); + + const queryFn: QueryFunction>> = ({ signal }) => + getLayersId(id, params, requestOptions, signal); + + return { queryKey, queryFn, enabled: !!id, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: QueryKey }; +}; + +export type GetLayersIdQueryResult = NonNullable>>; +export type GetLayersIdQueryError = ErrorType; + +export const useGetLayersId = < + TData = Awaited>, + TError = ErrorType +>( + id: number, + params?: GetLayersIdParams, + options?: { + query?: UseQueryOptions>, TError, TData>; + request?: SecondParameter; + } +): UseQueryResult & { queryKey: QueryKey } => { + const queryOptions = getGetLayersIdQueryOptions(id, params, options); + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey; + + return query; +}; + +export const putLayersId = ( + id: number, + layerRequest: BodyType, + options?: SecondParameter +) => { + return API( + { + url: `/layers/${id}`, + method: 'put', + headers: { 'Content-Type': 'application/json' }, + data: layerRequest, + }, + options + ); +}; + +export const getPutLayersIdMutationOptions = < + TError = ErrorType, + TContext = unknown +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { id: number; data: BodyType }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { id: number; data: BodyType }, + TContext +> => { + const { mutation: mutationOptions, request: requestOptions } = options ?? {}; + + const mutationFn: MutationFunction< + Awaited>, + { id: number; data: BodyType } + > = (props) => { + const { id, data } = props ?? {}; + + return putLayersId(id, data, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type PutLayersIdMutationResult = NonNullable>>; +export type PutLayersIdMutationBody = BodyType; +export type PutLayersIdMutationError = ErrorType; + +export const usePutLayersId = , TContext = unknown>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { id: number; data: BodyType }, + TContext + >; + request?: SecondParameter; +}) => { + const mutationOptions = getPutLayersIdMutationOptions(options); + + return useMutation(mutationOptions); +}; +export const deleteLayersId = (id: number, options?: SecondParameter) => { + return API({ url: `/layers/${id}`, method: 'delete' }, options); +}; + +export const getDeleteLayersIdMutationOptions = < + TError = ErrorType, + TContext = unknown +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { id: number }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { id: number }, + TContext +> => { + const { mutation: mutationOptions, request: requestOptions } = options ?? {}; + + const mutationFn: MutationFunction>, { id: number }> = ( + props + ) => { + const { id } = props ?? {}; + + return deleteLayersId(id, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type DeleteLayersIdMutationResult = NonNullable>>; + +export type DeleteLayersIdMutationError = ErrorType; + +export const useDeleteLayersId = , TContext = unknown>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { id: number }, + TContext + >; + request?: SecondParameter; +}) => { + const mutationOptions = getDeleteLayersIdMutationOptions(options); + + return useMutation(mutationOptions); +}; diff --git a/frontend/src/types/generated/strapi.schemas.ts b/frontend/src/types/generated/strapi.schemas.ts index 70fc50a1..392bb219 100644 --- a/frontend/src/types/generated/strapi.schemas.ts +++ b/frontend/src/types/generated/strapi.schemas.ts @@ -354,6 +354,56 @@ export type GetLocationsParams = { locale?: string; }; +export type GetLayersIdParams = { + /** + * Relations to return + */ + populate?: string; +}; + +export type GetLayersParams = { + /** + * Sort by attributes ascending (asc) or descending (desc) + */ + sort?: string; + /** + * Return page/pageSize (default: true) + */ + 'pagination[withCount]'?: boolean; + /** + * Page number (default: 0) + */ + 'pagination[page]'?: number; + /** + * Page size (default: 25) + */ + 'pagination[pageSize]'?: number; + /** + * Offset value (default: 0) + */ + 'pagination[start]'?: number; + /** + * Number of entities to return (default: 25) + */ + 'pagination[limit]'?: number; + /** + * Fields to return (ex: title,author) + */ + fields?: string; + /** + * Relations to return + */ + populate?: string; + /** + * Filters to apply + */ + filters?: { [key: string]: any }; + /** + * Locale to apply + */ + locale?: string; +}; + export type GetHabitatStatsIdParams = { /** * Relations to return @@ -660,8 +710,6 @@ export interface ProtectionStatus { updatedBy?: ProtectionStatusUpdatedBy; } -export type ProtectionStatusCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; - export type ProtectionStatusCreatedByDataAttributesUpdatedByData = { id?: number; attributes?: ProtectionStatusCreatedByDataAttributesUpdatedByDataAttributes; @@ -697,6 +745,8 @@ export type ProtectionStatusCreatedBy = { data?: ProtectionStatusCreatedByData; }; +export type ProtectionStatusCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; + export type ProtectionStatusCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; export type ProtectionStatusCreatedByDataAttributesCreatedByData = { @@ -708,6 +758,18 @@ export type ProtectionStatusCreatedByDataAttributesCreatedBy = { data?: ProtectionStatusCreatedByDataAttributesCreatedByData; }; +export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +}; + export type ProtectionStatusCreatedByDataAttributesRolesDataItem = { id?: number; attributes?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributes; @@ -741,20 +803,13 @@ export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesCreate data?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; -export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissions = { - data?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { + id?: number; + attributes?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; }; -export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = @@ -813,11 +868,6 @@ export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermis updatedBy?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; }; -export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { - id?: number; - attributes?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; -}; - export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: any }; @@ -853,19 +903,6 @@ export interface ProtectionStatusListResponse { export type ProtectionCoverageStatResponseMeta = { [key: string]: any }; -export interface ProtectionCoverageStat { - location?: ProtectionCoverageStatLocation; - protection_status?: ProtectionCoverageStatProtectionStatus; - year: number; - cumSumProtectedArea: number; - protectedArea: number; - protectedAreasCount: number; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionCoverageStatCreatedBy; - updatedBy?: ProtectionCoverageStatUpdatedBy; -} - export interface ProtectionCoverageStatResponseDataObject { id?: number; attributes?: ProtectionCoverageStat; @@ -898,25 +935,23 @@ export type ProtectionCoverageStatCreatedBy = { data?: ProtectionCoverageStatCreatedByData; }; -export type ProtectionCoverageStatProtectionStatusDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionCoverageStatProtectionStatusDataAttributesCreatedBy; - updatedBy?: ProtectionCoverageStatProtectionStatusDataAttributesUpdatedBy; -}; - -export type ProtectionCoverageStatProtectionStatusData = { - id?: number; - attributes?: ProtectionCoverageStatProtectionStatusDataAttributes; -}; - export type ProtectionCoverageStatProtectionStatus = { data?: ProtectionCoverageStatProtectionStatusData; }; +export interface ProtectionCoverageStat { + location?: ProtectionCoverageStatLocation; + protection_status?: ProtectionCoverageStatProtectionStatus; + year: number; + cumSumProtectedArea: number; + protectedArea: number; + protectedAreasCount: number; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatCreatedBy; + updatedBy?: ProtectionCoverageStatUpdatedBy; +} + export type ProtectionCoverageStatProtectionStatusDataAttributesUpdatedByDataAttributes = { [key: string]: any; }; @@ -943,17 +978,19 @@ export type ProtectionCoverageStatProtectionStatusDataAttributesCreatedBy = { data?: ProtectionCoverageStatProtectionStatusDataAttributesCreatedByData; }; -export type ProtectionCoverageStatLocationData = { - id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributes; -}; - -export type ProtectionCoverageStatLocation = { - data?: ProtectionCoverageStatLocationData; +export type ProtectionCoverageStatProtectionStatusDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatProtectionStatusDataAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatProtectionStatusDataAttributesUpdatedBy; }; -export type ProtectionCoverageStatLocationDataAttributesUpdatedByDataAttributes = { - [key: string]: any; +export type ProtectionCoverageStatProtectionStatusData = { + id?: number; + attributes?: ProtectionCoverageStatProtectionStatusDataAttributes; }; export type ProtectionCoverageStatLocationDataAttributesUpdatedByData = { @@ -965,15 +1002,6 @@ export type ProtectionCoverageStatLocationDataAttributesUpdatedBy = { data?: ProtectionCoverageStatLocationDataAttributesUpdatedByData; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByData = { - id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributes; -}; - -export type ProtectionCoverageStatLocationDataAttributesCreatedBy = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByData; -}; - export type ProtectionCoverageStatLocationDataAttributes = { code?: string; name?: string; @@ -987,6 +1015,45 @@ export type ProtectionCoverageStatLocationDataAttributes = { updatedBy?: ProtectionCoverageStatLocationDataAttributesUpdatedBy; }; +export type ProtectionCoverageStatLocationData = { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributes; +}; + +export type ProtectionCoverageStatLocation = { + data?: ProtectionCoverageStatLocationData; +}; + +export type ProtectionCoverageStatLocationDataAttributesUpdatedByDataAttributes = { + [key: string]: any; +}; + +export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributes = { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; +}; + +export type ProtectionCoverageStatLocationDataAttributesCreatedByData = { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributes; +}; + +export type ProtectionCoverageStatLocationDataAttributesCreatedBy = { + data?: ProtectionCoverageStatLocationDataAttributesCreatedByData; +}; + export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -1020,23 +1087,6 @@ export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesR data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; -}; - export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -1051,19 +1101,6 @@ export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesR data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = - { - name?: string; - code?: string; - description?: string; - users?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; - }; - export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; @@ -1089,6 +1126,19 @@ export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesR data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; +export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -1229,6 +1279,16 @@ export type MpaaProtectionLevelStatUpdatedBy = { data?: MpaaProtectionLevelStatUpdatedByData; }; +export interface MpaaProtectionLevelStat { + location?: MpaaProtectionLevelStatLocation; + mpaa_protection_level?: MpaaProtectionLevelStatMpaaProtectionLevel; + area: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatCreatedBy; + updatedBy?: MpaaProtectionLevelStatUpdatedBy; +} + export type MpaaProtectionLevelStatCreatedByDataAttributes = { [key: string]: any }; export type MpaaProtectionLevelStatCreatedByData = { @@ -1240,24 +1300,24 @@ export type MpaaProtectionLevelStatCreatedBy = { data?: MpaaProtectionLevelStatCreatedByData; }; -export type MpaaProtectionLevelStatMpaaProtectionLevelData = { - id?: number; - attributes?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributes; -}; - -export type MpaaProtectionLevelStatMpaaProtectionLevel = { - data?: MpaaProtectionLevelStatMpaaProtectionLevelData; -}; - -export interface MpaaProtectionLevelStat { - location?: MpaaProtectionLevelStatLocation; - mpaa_protection_level?: MpaaProtectionLevelStatMpaaProtectionLevel; - area: number; +export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributes = { + slug?: string; + name?: string; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaaProtectionLevelStatCreatedBy; - updatedBy?: MpaaProtectionLevelStatUpdatedBy; -} + createdBy?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedBy; +}; + +export type MpaaProtectionLevelStatMpaaProtectionLevelData = { + id?: number; + attributes?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributes; +}; + +export type MpaaProtectionLevelStatMpaaProtectionLevel = { + data?: MpaaProtectionLevelStatMpaaProtectionLevelData; +}; export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = { [key: string]: any; @@ -1272,16 +1332,6 @@ export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedBy = data?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedByData; }; -export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedBy; -}; - export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedByDataAttributes = { [key: string]: any; }; @@ -1295,28 +1345,6 @@ export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedBy = data?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedByData; }; -export type MpaaProtectionLevelStatLocationDataAttributes = { - code?: string; - name?: string; - totalMarineArea?: number; - type?: string; - groups?: MpaaProtectionLevelStatLocationDataAttributesGroups; - members?: MpaaProtectionLevelStatLocationDataAttributesMembers; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelStatLocationDataAttributesUpdatedBy; -}; - -export type MpaaProtectionLevelStatLocationData = { - id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributes; -}; - -export type MpaaProtectionLevelStatLocation = { - data?: MpaaProtectionLevelStatLocationData; -}; - export type MpaaProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes = { [key: string]: any; }; @@ -1339,6 +1367,28 @@ export type MpaaProtectionLevelStatLocationDataAttributesCreatedBy = { data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByData; }; +export type MpaaProtectionLevelStatLocationDataAttributes = { + code?: string; + name?: string; + totalMarineArea?: number; + type?: string; + groups?: MpaaProtectionLevelStatLocationDataAttributesGroups; + members?: MpaaProtectionLevelStatLocationDataAttributesMembers; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesUpdatedBy; +}; + +export type MpaaProtectionLevelStatLocationData = { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributes; +}; + +export type MpaaProtectionLevelStatLocation = { + data?: MpaaProtectionLevelStatLocationData; +}; + export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -1363,11 +1413,6 @@ export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributes data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByData; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; -}; - export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRoles = { data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; }; @@ -1441,6 +1486,11 @@ export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributes updatedBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; }; +export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; +}; + export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -1455,6 +1505,9 @@ export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributes data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; }; +export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { id?: number; @@ -1466,23 +1519,6 @@ export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributes data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = - { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; - }; - -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = - { [key: string]: any }; - export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: any }; @@ -1497,6 +1533,20 @@ export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributes data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; }; +export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: any }; @@ -1560,6 +1610,11 @@ export interface MpaaProtectionLevelStatListResponse { export type MpaaProtectionLevelResponseMeta = { [key: string]: any }; +export interface MpaaProtectionLevelResponse { + data?: MpaaProtectionLevelResponseDataObject; + meta?: MpaaProtectionLevelResponseMeta; +} + export interface MpaaProtectionLevel { slug: string; name: string; @@ -1575,11 +1630,6 @@ export interface MpaaProtectionLevelResponseDataObject { attributes?: MpaaProtectionLevel; } -export interface MpaaProtectionLevelResponse { - data?: MpaaProtectionLevelResponseDataObject; - meta?: MpaaProtectionLevelResponseMeta; -} - export type MpaaProtectionLevelUpdatedByDataAttributes = { [key: string]: any }; export type MpaaProtectionLevelUpdatedByData = { @@ -1664,6 +1714,18 @@ export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpd data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +}; + export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; @@ -1676,6 +1738,20 @@ export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCre data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { id?: number; attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; @@ -1685,18 +1761,6 @@ export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPer data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; -}; - export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -1725,20 +1789,6 @@ export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPer data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = - { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; - }; - export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: any }; @@ -1788,6 +1838,11 @@ export interface MpaaProtectionLevelListResponse { export type MpaaEstablishmentStageStatResponseMeta = { [key: string]: any }; +export interface MpaaEstablishmentStageStatResponseDataObject { + id?: number; + attributes?: MpaaEstablishmentStageStat; +} + export interface MpaaEstablishmentStageStatResponse { data?: MpaaEstablishmentStageStatResponseDataObject; meta?: MpaaEstablishmentStageStatResponseMeta; @@ -1804,6 +1859,18 @@ export type MpaaEstablishmentStageStatUpdatedBy = { data?: MpaaEstablishmentStageStatUpdatedByData; }; +export interface MpaaEstablishmentStageStat { + location?: MpaaEstablishmentStageStatLocation; + mpaa_establishment_stage?: MpaaEstablishmentStageStatMpaaEstablishmentStage; + protection_status?: MpaaEstablishmentStageStatProtectionStatus; + year: number; + area: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatCreatedBy; + updatedBy?: MpaaEstablishmentStageStatUpdatedBy; +} + export type MpaaEstablishmentStageStatCreatedByDataAttributes = { [key: string]: any }; export type MpaaEstablishmentStageStatCreatedByData = { @@ -1834,23 +1901,6 @@ export type MpaaEstablishmentStageStatProtectionStatus = { data?: MpaaEstablishmentStageStatProtectionStatusData; }; -export interface MpaaEstablishmentStageStat { - location?: MpaaEstablishmentStageStatLocation; - mpaa_establishment_stage?: MpaaEstablishmentStageStatMpaaEstablishmentStage; - protection_status?: MpaaEstablishmentStageStatProtectionStatus; - year: number; - area: number; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatCreatedBy; - updatedBy?: MpaaEstablishmentStageStatUpdatedBy; -} - -export interface MpaaEstablishmentStageStatResponseDataObject { - id?: number; - attributes?: MpaaEstablishmentStageStat; -} - export type MpaaEstablishmentStageStatProtectionStatusDataAttributesUpdatedByDataAttributes = { [key: string]: any; }; @@ -1898,16 +1948,6 @@ export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdate data?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedByData; }; -export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedBy; -}; - export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = { [key: string]: any }; @@ -1920,9 +1960,14 @@ export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreate data?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByData; }; -export type MpaaEstablishmentStageStatLocationData = { - id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributes; +export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedBy; }; export type MpaaEstablishmentStageStatLocation = { @@ -1942,6 +1987,10 @@ export type MpaaEstablishmentStageStatLocationDataAttributesUpdatedBy = { data?: MpaaEstablishmentStageStatLocationDataAttributesUpdatedByData; }; +export type MpaaEstablishmentStageStatLocationDataAttributesCreatedBy = { + data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByData; +}; + export type MpaaEstablishmentStageStatLocationDataAttributes = { code?: string; name?: string; @@ -1955,6 +2004,14 @@ export type MpaaEstablishmentStageStatLocationDataAttributes = { updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesUpdatedBy; }; +export type MpaaEstablishmentStageStatLocationData = { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributes; +}; + +export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedByData = { id?: number; attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; @@ -1964,35 +2021,6 @@ export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttribu data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedByData; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; -}; - -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributes; -}; - -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByData; -}; - -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = - { [key: string]: any }; - export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; @@ -2014,6 +2042,28 @@ export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttribu data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; }; +export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributes = { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; +}; + +export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByData = { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributes; +}; + export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -2042,6 +2092,20 @@ export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttribu data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; +export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { id?: number; @@ -2108,20 +2172,6 @@ export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttribu data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = - { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; - }; - export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: any }; @@ -2136,6 +2186,10 @@ export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttribu data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; }; +export type MpaaEstablishmentStageStatLocationDataAttributesMembers = { + data?: MpaaEstablishmentStageStatLocationDataAttributesMembersDataItem[]; +}; + export type MpaaEstablishmentStageStatLocationDataAttributesMembersDataItemAttributes = { [key: string]: any; }; @@ -2145,10 +2199,6 @@ export type MpaaEstablishmentStageStatLocationDataAttributesMembersDataItem = { attributes?: MpaaEstablishmentStageStatLocationDataAttributesMembersDataItemAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesMembers = { - data?: MpaaEstablishmentStageStatLocationDataAttributesMembersDataItem[]; -}; - export type MpaaEstablishmentStageStatLocationDataAttributesGroupsDataItemAttributes = { [key: string]: any; }; @@ -2185,11 +2235,6 @@ export interface MpaaEstablishmentStageStatListResponse { export type MpaaEstablishmentStageResponseMeta = { [key: string]: any }; -export interface MpaaEstablishmentStageResponseDataObject { - id?: number; - attributes?: MpaaEstablishmentStage; -} - export interface MpaaEstablishmentStageResponse { data?: MpaaEstablishmentStageResponseDataObject; meta?: MpaaEstablishmentStageResponseMeta; @@ -2206,6 +2251,15 @@ export type MpaaEstablishmentStageUpdatedBy = { data?: MpaaEstablishmentStageUpdatedByData; }; +export type MpaaEstablishmentStageCreatedByData = { + id?: number; + attributes?: MpaaEstablishmentStageCreatedByDataAttributes; +}; + +export type MpaaEstablishmentStageCreatedBy = { + data?: MpaaEstablishmentStageCreatedByData; +}; + export interface MpaaEstablishmentStage { slug: string; name: string; @@ -2216,6 +2270,15 @@ export interface MpaaEstablishmentStage { updatedBy?: MpaaEstablishmentStageUpdatedBy; } +export interface MpaaEstablishmentStageResponseDataObject { + id?: number; + attributes?: MpaaEstablishmentStage; +} + +export type MpaaEstablishmentStageCreatedByDataAttributesUpdatedByDataAttributes = { + [key: string]: any; +}; + export type MpaaEstablishmentStageCreatedByDataAttributesUpdatedByData = { id?: number; attributes?: MpaaEstablishmentStageCreatedByDataAttributesUpdatedByDataAttributes; @@ -2242,19 +2305,6 @@ export type MpaaEstablishmentStageCreatedByDataAttributes = { updatedBy?: MpaaEstablishmentStageCreatedByDataAttributesUpdatedBy; }; -export type MpaaEstablishmentStageCreatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributes; -}; - -export type MpaaEstablishmentStageCreatedBy = { - data?: MpaaEstablishmentStageCreatedByData; -}; - -export type MpaaEstablishmentStageCreatedByDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; - export type MpaaEstablishmentStageCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any; }; @@ -2337,6 +2387,20 @@ export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributes data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; }; +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; @@ -2365,20 +2429,6 @@ export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributes data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = - { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; - }; - export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: any }; @@ -2412,365 +2462,852 @@ export interface MpaaEstablishmentStageListResponse { meta?: MpaaEstablishmentStageListResponseMeta; } -export type MpaResponseMeta = { [key: string]: any }; +export type MpaProtectionCoverageStatResponseMeta = { [key: string]: any }; -export interface MpaResponseDataObject { +export interface MpaProtectionCoverageStat { + mpa?: MpaProtectionCoverageStatMpa; + fishing_protection_level?: MpaProtectionCoverageStatFishingProtectionLevel; + mpaa_protection_level?: MpaProtectionCoverageStatMpaaProtectionLevel; + location?: MpaProtectionCoverageStatLocation; + area: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatCreatedBy; + updatedBy?: MpaProtectionCoverageStatUpdatedBy; +} + +export interface MpaProtectionCoverageStatResponseDataObject { id?: number; - attributes?: Mpa; + attributes?: MpaProtectionCoverageStat; } -export interface MpaResponse { - data?: MpaResponseDataObject; - meta?: MpaResponseMeta; +export interface MpaProtectionCoverageStatResponse { + data?: MpaProtectionCoverageStatResponseDataObject; + meta?: MpaProtectionCoverageStatResponseMeta; } -export type MpaUpdatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatUpdatedByDataAttributes = { [key: string]: any }; -export type MpaUpdatedByData = { +export type MpaProtectionCoverageStatUpdatedByData = { id?: number; - attributes?: MpaUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatUpdatedByDataAttributes; }; -export type MpaUpdatedBy = { - data?: MpaUpdatedByData; +export type MpaProtectionCoverageStatUpdatedBy = { + data?: MpaProtectionCoverageStatUpdatedByData; }; -export type MpaCreatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatCreatedByDataAttributes = { [key: string]: any }; -export type MpaCreatedByData = { +export type MpaProtectionCoverageStatCreatedByData = { id?: number; - attributes?: MpaCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatCreatedByDataAttributes; }; -export type MpaCreatedBy = { - data?: MpaCreatedByData; +export type MpaProtectionCoverageStatCreatedBy = { + data?: MpaProtectionCoverageStatCreatedByData; }; -export type MpaFishingProtectionLevelData = { +export type MpaProtectionCoverageStatLocationData = { id?: number; - attributes?: MpaFishingProtectionLevelDataAttributes; -}; - -export type MpaFishingProtectionLevel = { - data?: MpaFishingProtectionLevelData; + attributes?: MpaProtectionCoverageStatLocationDataAttributes; }; -export interface Mpa { - location?: MpaLocation; - wdpaid?: number; - name: string; - mpaa_protection_level?: MpaMpaaProtectionLevel; - fishing_protection_level?: MpaFishingProtectionLevel; - area?: number; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaCreatedBy; - updatedBy?: MpaUpdatedBy; -} - -export type MpaFishingProtectionLevelDataAttributesUpdatedByDataAttributes = { [key: string]: any }; - -export type MpaFishingProtectionLevelDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaFishingProtectionLevelDataAttributesUpdatedByDataAttributes; +export type MpaProtectionCoverageStatLocation = { + data?: MpaProtectionCoverageStatLocationData; }; -export type MpaFishingProtectionLevelDataAttributesUpdatedBy = { - data?: MpaFishingProtectionLevelDataAttributesUpdatedByData; +export type MpaProtectionCoverageStatLocationDataAttributesUpdatedByDataAttributes = { + [key: string]: any; }; -export type MpaFishingProtectionLevelDataAttributesCreatedByData = { +export type MpaProtectionCoverageStatLocationDataAttributesUpdatedByData = { id?: number; - attributes?: MpaFishingProtectionLevelDataAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatLocationDataAttributesUpdatedByDataAttributes; }; -export type MpaFishingProtectionLevelDataAttributesCreatedBy = { - data?: MpaFishingProtectionLevelDataAttributesCreatedByData; +export type MpaProtectionCoverageStatLocationDataAttributesUpdatedBy = { + data?: MpaProtectionCoverageStatLocationDataAttributesUpdatedByData; }; -export type MpaFishingProtectionLevelDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaFishingProtectionLevelDataAttributesCreatedBy; - updatedBy?: MpaFishingProtectionLevelDataAttributesUpdatedBy; +export type MpaProtectionCoverageStatLocationDataAttributesCreatedByDataAttributes = { + [key: string]: any; }; -export type MpaFishingProtectionLevelDataAttributesCreatedByDataAttributes = { [key: string]: any }; - -export type MpaMpaaProtectionLevelData = { +export type MpaProtectionCoverageStatLocationDataAttributesCreatedByData = { id?: number; - attributes?: MpaMpaaProtectionLevelDataAttributes; + attributes?: MpaProtectionCoverageStatLocationDataAttributesCreatedByDataAttributes; }; -export type MpaMpaaProtectionLevel = { - data?: MpaMpaaProtectionLevelData; +export type MpaProtectionCoverageStatLocationDataAttributesCreatedBy = { + data?: MpaProtectionCoverageStatLocationDataAttributesCreatedByData; }; -export type MpaMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatLocationDataAttributesMembersDataItemAttributes = { + [key: string]: any; +}; -export type MpaMpaaProtectionLevelDataAttributesUpdatedByData = { +export type MpaProtectionCoverageStatLocationDataAttributesMembersDataItem = { id?: number; - attributes?: MpaMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatLocationDataAttributesMembersDataItemAttributes; }; -export type MpaMpaaProtectionLevelDataAttributesUpdatedBy = { - data?: MpaMpaaProtectionLevelDataAttributesUpdatedByData; +export type MpaProtectionCoverageStatLocationDataAttributesMembers = { + data?: MpaProtectionCoverageStatLocationDataAttributesMembersDataItem[]; }; -export type MpaMpaaProtectionLevelDataAttributesCreatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatLocationDataAttributesGroupsDataItemAttributes = { + [key: string]: any; +}; -export type MpaMpaaProtectionLevelDataAttributesCreatedByData = { +export type MpaProtectionCoverageStatLocationDataAttributesGroupsDataItem = { id?: number; - attributes?: MpaMpaaProtectionLevelDataAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatLocationDataAttributesGroupsDataItemAttributes; +}; + +export type MpaProtectionCoverageStatLocationDataAttributesGroups = { + data?: MpaProtectionCoverageStatLocationDataAttributesGroupsDataItem[]; }; -export type MpaMpaaProtectionLevelDataAttributesCreatedBy = { - data?: MpaMpaaProtectionLevelDataAttributesCreatedByData; +export type MpaProtectionCoverageStatLocationDataAttributes = { + code?: string; + name?: string; + totalMarineArea?: number; + type?: string; + groups?: MpaProtectionCoverageStatLocationDataAttributesGroups; + members?: MpaProtectionCoverageStatLocationDataAttributesMembers; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatLocationDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatLocationDataAttributesUpdatedBy; }; -export type MpaMpaaProtectionLevelDataAttributes = { +export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributes = { slug?: string; name?: string; info?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaMpaaProtectionLevelDataAttributesCreatedBy; - updatedBy?: MpaMpaaProtectionLevelDataAttributesUpdatedBy; + createdBy?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedBy; }; -export type MpaLocation = { - data?: MpaLocationData; +export type MpaProtectionCoverageStatMpaaProtectionLevelData = { + id?: number; + attributes?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributes; }; -export type MpaLocationDataAttributesUpdatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatMpaaProtectionLevel = { + data?: MpaProtectionCoverageStatMpaaProtectionLevelData; +}; -export type MpaLocationDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaLocationDataAttributesUpdatedByDataAttributes; +export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = { + [key: string]: any; }; -export type MpaLocationDataAttributesUpdatedBy = { - data?: MpaLocationDataAttributesUpdatedByData; +export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; }; -export type MpaLocationDataAttributesCreatedBy = { - data?: MpaLocationDataAttributesCreatedByData; +export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedBy = { + data?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedByData; }; -export type MpaLocationDataAttributes = { - code?: string; - name?: string; - totalMarineArea?: number; - type?: string; - groups?: MpaLocationDataAttributesGroups; - members?: MpaLocationDataAttributesMembers; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaLocationDataAttributesCreatedBy; - updatedBy?: MpaLocationDataAttributesUpdatedBy; +export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedByDataAttributes = { + [key: string]: any; }; -export type MpaLocationData = { +export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedByData = { id?: number; - attributes?: MpaLocationDataAttributes; + attributes?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedByDataAttributes; }; -export type MpaLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { - [key: string]: any; +export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedBy = { + data?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedByData; }; -export type MpaLocationDataAttributesCreatedByDataAttributesUpdatedByData = { +export type MpaProtectionCoverageStatFishingProtectionLevelData = { id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributes; }; -export type MpaLocationDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: MpaLocationDataAttributesCreatedByDataAttributesUpdatedByData; +export type MpaProtectionCoverageStatFishingProtectionLevel = { + data?: MpaProtectionCoverageStatFishingProtectionLevelData; }; -export type MpaLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes = { +export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedByDataAttributes = { [key: string]: any; }; -export type MpaLocationDataAttributesCreatedByDataAttributesCreatedByData = { +export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedByData = { id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedByDataAttributes; +}; + +export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedBy = { + data?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedByData; }; -export type MpaLocationDataAttributesCreatedByDataAttributesCreatedBy = { - data?: MpaLocationDataAttributesCreatedByDataAttributesCreatedByData; +export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedByDataAttributes = { + [key: string]: any; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItem = { +export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedByData = { id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; + attributes?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedByDataAttributes; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRoles = { - data?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; +export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedBy = { + data?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedByData; }; -export type MpaLocationDataAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: MpaLocationDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; +export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributes = { + slug?: string; + name?: string; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaLocationDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: MpaLocationDataAttributesCreatedByDataAttributesUpdatedBy; + createdBy?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedBy; }; -export type MpaLocationDataAttributesCreatedByData = { - id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributes; +export type MpaProtectionCoverageStatMpaDataAttributes = { + wdpaid?: number; + name?: string; + area?: number; + year?: number; + mpaa_establishment_stage?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStage; + protection_status?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatus; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesUpdatedBy; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = - { [key: string]: any }; - -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { +export type MpaProtectionCoverageStatMpaData = { id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributes; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { - data?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +export type MpaProtectionCoverageStatMpa = { + data?: MpaProtectionCoverageStatMpaData; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = - { [key: string]: any }; +export type MpaProtectionCoverageStatMpaDataAttributesUpdatedByDataAttributes = { + [key: string]: any; +}; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { +export type MpaProtectionCoverageStatMpaDataAttributesUpdatedByData = { id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesUpdatedByDataAttributes; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { - data?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +export type MpaProtectionCoverageStatMpaDataAttributesUpdatedBy = { + data?: MpaProtectionCoverageStatMpaDataAttributesUpdatedByData; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = - { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; - }; +export type MpaProtectionCoverageStatMpaDataAttributesCreatedByDataAttributes = { + [key: string]: any; +}; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = - { - id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; - }; +export type MpaProtectionCoverageStatMpaDataAttributesCreatedByData = { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesCreatedByDataAttributes; +}; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = { - data?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +export type MpaProtectionCoverageStatMpaDataAttributesCreatedBy = { + data?: MpaProtectionCoverageStatMpaDataAttributesCreatedByData; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = { +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusData = { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributes; +}; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatus = { + data?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusData; +}; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedBy = { + data?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByData; +}; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedBy = { + data?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByData; +}; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributes = { + slug?: string; name?: string; - code?: string; - description?: string; - users?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedBy; +}; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributes = { + slug?: string; + name?: string; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedBy; +}; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageData = { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributes; +}; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStage = { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageData; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem = { id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles = { - data?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem[]; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = + { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes = { - data?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + name?: string; + code?: string; + description?: string; + users?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + }; + +export type MpaProtectionCoverageStatListResponseMetaPagination = { + page?: number; + pageSize?: number; + pageCount?: number; + total?: number; +}; + +export type MpaProtectionCoverageStatListResponseMeta = { + pagination?: MpaProtectionCoverageStatListResponseMetaPagination; +}; + +export interface MpaProtectionCoverageStatListResponseDataItem { + id?: number; + attributes?: MpaProtectionCoverageStat; +} + +export interface MpaProtectionCoverageStatListResponse { + data?: MpaProtectionCoverageStatListResponseDataItem[]; + meta?: MpaProtectionCoverageStatListResponseMeta; +} + +export type MpaResponseMeta = { [key: string]: any }; + +export interface Mpa { + wdpaid?: number; + name: string; + area?: number; + year?: number; + mpaa_establishment_stage?: MpaMpaaEstablishmentStage; + protection_status?: MpaProtectionStatus; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaCreatedBy; + updatedBy?: MpaUpdatedBy; +} + +export interface MpaResponseDataObject { + id?: number; + attributes?: Mpa; +} + +export interface MpaResponse { + data?: MpaResponseDataObject; + meta?: MpaResponseMeta; +} + +export type MpaUpdatedByDataAttributes = { [key: string]: any }; + +export type MpaUpdatedByData = { + id?: number; + attributes?: MpaUpdatedByDataAttributes; +}; + +export type MpaUpdatedBy = { + data?: MpaUpdatedByData; +}; + +export type MpaCreatedByDataAttributes = { [key: string]: any }; + +export type MpaCreatedByData = { + id?: number; + attributes?: MpaCreatedByDataAttributes; +}; + +export type MpaCreatedBy = { + data?: MpaCreatedByData; +}; + +export type MpaProtectionStatus = { + data?: MpaProtectionStatusData; +}; + +export type MpaProtectionStatusDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionStatusDataAttributesCreatedBy; + updatedBy?: MpaProtectionStatusDataAttributesUpdatedBy; +}; + +export type MpaProtectionStatusData = { + id?: number; + attributes?: MpaProtectionStatusDataAttributes; +}; + +export type MpaProtectionStatusDataAttributesUpdatedByDataAttributes = { [key: string]: any }; + +export type MpaProtectionStatusDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaProtectionStatusDataAttributesUpdatedByDataAttributes; +}; + +export type MpaProtectionStatusDataAttributesUpdatedBy = { + data?: MpaProtectionStatusDataAttributesUpdatedByData; +}; + +export type MpaProtectionStatusDataAttributesCreatedByDataAttributes = { [key: string]: any }; + +export type MpaProtectionStatusDataAttributesCreatedByData = { + id?: number; + attributes?: MpaProtectionStatusDataAttributesCreatedByDataAttributes; +}; + +export type MpaProtectionStatusDataAttributesCreatedBy = { + data?: MpaProtectionStatusDataAttributesCreatedByData; +}; + +export type MpaMpaaEstablishmentStage = { + data?: MpaMpaaEstablishmentStageData; +}; + +export type MpaMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes = { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesUpdatedBy = { + data?: MpaMpaaEstablishmentStageDataAttributesUpdatedByData; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedBy = { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByData; +}; + +export type MpaMpaaEstablishmentStageDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedBy; + updatedBy?: MpaMpaaEstablishmentStageDataAttributesUpdatedBy; +}; + +export type MpaMpaaEstablishmentStageData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy = { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy = { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles = { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem[]; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: any }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = { - data?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; }; -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = - { [key: string]: any }; - -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { - id?: number; - attributes?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; -}; - -export type MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = { - data?: MpaLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; -}; - -export type MpaLocationDataAttributesMembers = { - data?: MpaLocationDataAttributesMembersDataItem[]; -}; - -export type MpaLocationDataAttributesMembersDataItemAttributes = { [key: string]: any }; - -export type MpaLocationDataAttributesMembersDataItem = { - id?: number; - attributes?: MpaLocationDataAttributesMembersDataItemAttributes; -}; - -export type MpaLocationDataAttributesGroupsDataItemAttributes = { [key: string]: any }; - -export type MpaLocationDataAttributesGroupsDataItem = { - id?: number; - attributes?: MpaLocationDataAttributesGroupsDataItemAttributes; -}; - -export type MpaLocationDataAttributesGroups = { - data?: MpaLocationDataAttributesGroupsDataItem[]; -}; - export type MpaListResponseMetaPagination = { page?: number; pageSize?: number; @@ -2794,23 +3331,11 @@ export interface MpaListResponse { export type LocationResponseMeta = { [key: string]: any }; -export interface LocationResponseDataObject { - id?: number; - attributes?: Location; -} - export interface LocationResponse { data?: LocationResponseDataObject; meta?: LocationResponseMeta; } -export type LocationUpdatedByDataAttributes = { [key: string]: any }; - -export type LocationUpdatedByData = { - id?: number; - attributes?: LocationUpdatedByDataAttributes; -}; - export type LocationUpdatedBy = { data?: LocationUpdatedByData; }; @@ -2828,6 +3353,18 @@ export interface Location { updatedBy?: LocationUpdatedBy; } +export interface LocationResponseDataObject { + id?: number; + attributes?: Location; +} + +export type LocationUpdatedByDataAttributes = { [key: string]: any }; + +export type LocationUpdatedByData = { + id?: number; + attributes?: LocationUpdatedByDataAttributes; +}; + export type LocationCreatedByDataAttributes = { [key: string]: any }; export type LocationCreatedByData = { @@ -2850,24 +3387,6 @@ export type LocationMembers = { data?: LocationMembersDataItem[]; }; -export type LocationGroupsDataItemAttributes = { - code?: string; - name?: string; - totalMarineArea?: number; - type?: string; - groups?: LocationGroupsDataItemAttributesGroups; - members?: LocationGroupsDataItemAttributesMembers; - createdAt?: string; - updatedAt?: string; - createdBy?: LocationGroupsDataItemAttributesCreatedBy; - updatedBy?: LocationGroupsDataItemAttributesUpdatedBy; -}; - -export type LocationGroupsDataItem = { - id?: number; - attributes?: LocationGroupsDataItemAttributes; -}; - export type LocationGroups = { data?: LocationGroupsDataItem[]; }; @@ -2892,6 +3411,24 @@ export type LocationGroupsDataItemAttributesCreatedBy = { data?: LocationGroupsDataItemAttributesCreatedByData; }; +export type LocationGroupsDataItemAttributes = { + code?: string; + name?: string; + totalMarineArea?: number; + type?: string; + groups?: LocationGroupsDataItemAttributesGroups; + members?: LocationGroupsDataItemAttributesMembers; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesUpdatedBy; +}; + +export type LocationGroupsDataItem = { + id?: number; + attributes?: LocationGroupsDataItemAttributes; +}; + export type LocationGroupsDataItemAttributesCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any; }; @@ -2972,6 +3509,17 @@ export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItem data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; +export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + }; + +export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; + export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributes = { name?: string; code?: string; @@ -2984,36 +3532,6 @@ export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItem updatedBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = - { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; - }; - -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = - { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; - }; - -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = - { - id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; - }; - -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = - { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; - }; - export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -3023,6 +3541,11 @@ export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItem attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; }; +export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; @@ -3051,6 +3574,20 @@ export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItem data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; }; +export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: any }; @@ -3175,6 +3712,21 @@ export type LayerCreatedByDataAttributesUpdatedBy = { data?: LayerCreatedByDataAttributesUpdatedByData; }; +export type LayerCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; + +export type LayerCreatedByDataAttributesCreatedByData = { + id?: number; + attributes?: LayerCreatedByDataAttributesCreatedByDataAttributes; +}; + +export type LayerCreatedByDataAttributesCreatedBy = { + data?: LayerCreatedByDataAttributesCreatedByData; +}; + +export type LayerCreatedByDataAttributesRoles = { + data?: LayerCreatedByDataAttributesRolesDataItem[]; +}; + export type LayerCreatedByDataAttributes = { firstname?: string; lastname?: string; @@ -3192,26 +3744,6 @@ export type LayerCreatedByDataAttributes = { updatedBy?: LayerCreatedByDataAttributesUpdatedBy; }; -export type LayerCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; - -export type LayerCreatedByDataAttributesCreatedByData = { - id?: number; - attributes?: LayerCreatedByDataAttributesCreatedByDataAttributes; -}; - -export type LayerCreatedByDataAttributesCreatedBy = { - data?: LayerCreatedByDataAttributesCreatedByData; -}; - -export type LayerCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: LayerCreatedByDataAttributesRolesDataItemAttributes; -}; - -export type LayerCreatedByDataAttributesRoles = { - data?: LayerCreatedByDataAttributesRolesDataItem[]; -}; - export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any; }; @@ -3225,18 +3757,6 @@ export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { data?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: LayerCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; -}; - export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: any; }; @@ -3272,6 +3792,23 @@ export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissions = { data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; +export type LayerCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: LayerCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +}; + +export type LayerCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributes; +}; + export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -3386,6 +3923,15 @@ export interface HabitatStatResponse { meta?: HabitatStatResponseMeta; } +export type HabitatStatUpdatedByData = { + id?: number; + attributes?: HabitatStatUpdatedByDataAttributes; +}; + +export type HabitatStatUpdatedBy = { + data?: HabitatStatUpdatedByData; +}; + export interface HabitatStat { location?: HabitatStatLocation; habitat?: HabitatStatHabitat; @@ -3405,15 +3951,6 @@ export interface HabitatStatResponseDataObject { export type HabitatStatUpdatedByDataAttributes = { [key: string]: any }; -export type HabitatStatUpdatedByData = { - id?: number; - attributes?: HabitatStatUpdatedByDataAttributes; -}; - -export type HabitatStatUpdatedBy = { - data?: HabitatStatUpdatedByData; -}; - export type HabitatStatCreatedByDataAttributes = { [key: string]: any }; export type HabitatStatCreatedByData = { @@ -3425,6 +3962,16 @@ export type HabitatStatCreatedBy = { data?: HabitatStatCreatedByData; }; +export type HabitatStatHabitatDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatHabitatDataAttributesCreatedBy; + updatedBy?: HabitatStatHabitatDataAttributesUpdatedBy; +}; + export type HabitatStatHabitatData = { id?: number; attributes?: HabitatStatHabitatDataAttributes; @@ -3445,16 +3992,6 @@ export type HabitatStatHabitatDataAttributesUpdatedBy = { data?: HabitatStatHabitatDataAttributesUpdatedByData; }; -export type HabitatStatHabitatDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatStatHabitatDataAttributesCreatedBy; - updatedBy?: HabitatStatHabitatDataAttributesUpdatedBy; -}; - export type HabitatStatHabitatDataAttributesCreatedByDataAttributes = { [key: string]: any }; export type HabitatStatHabitatDataAttributesCreatedByData = { @@ -3466,11 +4003,6 @@ export type HabitatStatHabitatDataAttributesCreatedBy = { data?: HabitatStatHabitatDataAttributesCreatedByData; }; -export type HabitatStatLocationData = { - id?: number; - attributes?: HabitatStatLocationDataAttributes; -}; - export type HabitatStatLocation = { data?: HabitatStatLocationData; }; @@ -3486,6 +4018,15 @@ export type HabitatStatLocationDataAttributesUpdatedBy = { data?: HabitatStatLocationDataAttributesUpdatedByData; }; +export type HabitatStatLocationDataAttributesCreatedByData = { + id?: number; + attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributes; +}; + +export type HabitatStatLocationDataAttributesCreatedBy = { + data?: HabitatStatLocationDataAttributesCreatedByData; +}; + export type HabitatStatLocationDataAttributes = { code?: string; name?: string; @@ -3499,43 +4040,22 @@ export type HabitatStatLocationDataAttributes = { updatedBy?: HabitatStatLocationDataAttributesUpdatedBy; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByData = { +export type HabitatStatLocationData = { id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; -}; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByData; + attributes?: HabitatStatLocationDataAttributes; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: HabitatStatLocationDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; +export type HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { + [key: string]: any; }; -export type HabitatStatLocationDataAttributesCreatedByData = { +export type HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByData = { id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributes; -}; - -export type HabitatStatLocationDataAttributesCreatedBy = { - data?: HabitatStatLocationDataAttributesCreatedByData; + attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { - [key: string]: any; +export type HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedBy = { + data?: HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByData; }; export type HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes = { @@ -3551,6 +4071,18 @@ export type HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedBy = data?: HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedByData; }; +export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +}; + export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { id?: number; attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; @@ -3560,6 +4092,23 @@ export type HabitatStatLocationDataAttributesCreatedByDataAttributesRoles = { data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; }; +export type HabitatStatLocationDataAttributesCreatedByDataAttributes = { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: HabitatStatLocationDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; +}; + export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -3599,18 +4148,6 @@ export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataIte data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; -}; - export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -3691,6 +4228,10 @@ export type HabitatStatLocationDataAttributesMembers = { data?: HabitatStatLocationDataAttributesMembersDataItem[]; }; +export type HabitatStatLocationDataAttributesGroups = { + data?: HabitatStatLocationDataAttributesGroupsDataItem[]; +}; + export type HabitatStatLocationDataAttributesGroupsDataItemAttributes = { [key: string]: any }; export type HabitatStatLocationDataAttributesGroupsDataItem = { @@ -3698,10 +4239,6 @@ export type HabitatStatLocationDataAttributesGroupsDataItem = { attributes?: HabitatStatLocationDataAttributesGroupsDataItemAttributes; }; -export type HabitatStatLocationDataAttributesGroups = { - data?: HabitatStatLocationDataAttributesGroupsDataItem[]; -}; - export type HabitatStatListResponseMetaPagination = { page?: number; pageSize?: number; @@ -3725,11 +4262,6 @@ export interface HabitatStatListResponse { export type HabitatResponseMeta = { [key: string]: any }; -export interface HabitatResponseDataObject { - id?: number; - attributes?: Habitat; -} - export interface HabitatResponse { data?: HabitatResponseDataObject; meta?: HabitatResponseMeta; @@ -3746,6 +4278,15 @@ export type HabitatUpdatedBy = { data?: HabitatUpdatedByData; }; +export type HabitatCreatedByData = { + id?: number; + attributes?: HabitatCreatedByDataAttributes; +}; + +export type HabitatCreatedBy = { + data?: HabitatCreatedByData; +}; + export interface Habitat { slug: string; name: string; @@ -3756,6 +4297,11 @@ export interface Habitat { updatedBy?: HabitatUpdatedBy; } +export interface HabitatResponseDataObject { + id?: number; + attributes?: Habitat; +} + export type HabitatCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; export type HabitatCreatedByDataAttributesUpdatedByData = { @@ -3767,6 +4313,21 @@ export type HabitatCreatedByDataAttributesUpdatedBy = { data?: HabitatCreatedByDataAttributesUpdatedByData; }; +export type HabitatCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; + +export type HabitatCreatedByDataAttributesCreatedByData = { + id?: number; + attributes?: HabitatCreatedByDataAttributesCreatedByDataAttributes; +}; + +export type HabitatCreatedByDataAttributesCreatedBy = { + data?: HabitatCreatedByDataAttributesCreatedByData; +}; + +export type HabitatCreatedByDataAttributesRoles = { + data?: HabitatCreatedByDataAttributesRolesDataItem[]; +}; + export type HabitatCreatedByDataAttributes = { firstname?: string; lastname?: string; @@ -3784,35 +4345,6 @@ export type HabitatCreatedByDataAttributes = { updatedBy?: HabitatCreatedByDataAttributesUpdatedBy; }; -export type HabitatCreatedByData = { - id?: number; - attributes?: HabitatCreatedByDataAttributes; -}; - -export type HabitatCreatedBy = { - data?: HabitatCreatedByData; -}; - -export type HabitatCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; - -export type HabitatCreatedByDataAttributesCreatedByData = { - id?: number; - attributes?: HabitatCreatedByDataAttributesCreatedByDataAttributes; -}; - -export type HabitatCreatedByDataAttributesCreatedBy = { - data?: HabitatCreatedByDataAttributesCreatedByData; -}; - -export type HabitatCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributes; -}; - -export type HabitatCreatedByDataAttributesRoles = { - data?: HabitatCreatedByDataAttributesRolesDataItem[]; -}; - export type HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any; }; @@ -3860,6 +4392,11 @@ export type HabitatCreatedByDataAttributesRolesDataItemAttributes = { updatedBy?: HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; }; +export type HabitatCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributes; +}; + export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -3951,18 +4488,11 @@ export interface HabitatListResponse { export type FishingProtectionLevelStatResponseMeta = { [key: string]: any }; -export interface FishingProtectionLevelStatResponseDataObject { - id?: number; - attributes?: FishingProtectionLevelStat; -} - export interface FishingProtectionLevelStatResponse { data?: FishingProtectionLevelStatResponseDataObject; meta?: FishingProtectionLevelStatResponseMeta; } -export type FishingProtectionLevelStatUpdatedByDataAttributes = { [key: string]: any }; - export type FishingProtectionLevelStatUpdatedByData = { id?: number; attributes?: FishingProtectionLevelStatUpdatedByDataAttributes; @@ -3972,6 +4502,23 @@ export type FishingProtectionLevelStatUpdatedBy = { data?: FishingProtectionLevelStatUpdatedByData; }; +export interface FishingProtectionLevelStat { + location?: FishingProtectionLevelStatLocation; + fishing_protection_level?: FishingProtectionLevelStatFishingProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatCreatedBy; + updatedBy?: FishingProtectionLevelStatUpdatedBy; +} + +export interface FishingProtectionLevelStatResponseDataObject { + id?: number; + attributes?: FishingProtectionLevelStat; +} + +export type FishingProtectionLevelStatUpdatedByDataAttributes = { [key: string]: any }; + export type FishingProtectionLevelStatCreatedByDataAttributes = { [key: string]: any }; export type FishingProtectionLevelStatCreatedByData = { @@ -3983,6 +4530,16 @@ export type FishingProtectionLevelStatCreatedBy = { data?: FishingProtectionLevelStatCreatedByData; }; +export type FishingProtectionLevelStatFishingProtectionLevelDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesUpdatedBy; +}; + export type FishingProtectionLevelStatFishingProtectionLevelData = { id?: number; attributes?: FishingProtectionLevelStatFishingProtectionLevelDataAttributes; @@ -3992,16 +4549,6 @@ export type FishingProtectionLevelStatFishingProtectionLevel = { data?: FishingProtectionLevelStatFishingProtectionLevelData; }; -export interface FishingProtectionLevelStat { - location?: FishingProtectionLevelStatLocation; - fishing_protection_level?: FishingProtectionLevelStatFishingProtectionLevel; - area?: number; - createdAt?: string; - updatedAt?: string; - createdBy?: FishingProtectionLevelStatCreatedBy; - updatedBy?: FishingProtectionLevelStatUpdatedBy; -} - export type FishingProtectionLevelStatFishingProtectionLevelDataAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -4026,14 +4573,8 @@ export type FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreate data?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreatedByData; }; -export type FishingProtectionLevelStatFishingProtectionLevelDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreatedBy; - updatedBy?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesUpdatedBy; +export type FishingProtectionLevelStatLocation = { + data?: FishingProtectionLevelStatLocationData; }; export type FishingProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes = { @@ -4076,10 +4617,6 @@ export type FishingProtectionLevelStatLocationData = { attributes?: FishingProtectionLevelStatLocationDataAttributes; }; -export type FishingProtectionLevelStatLocation = { - data?: FishingProtectionLevelStatLocationData; -}; - export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -4104,6 +4641,24 @@ export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttribu data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByData; }; +export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + +export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; +}; + export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRoles = { data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; }; @@ -4164,24 +4719,6 @@ export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttribu data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = - { - name?: string; - code?: string; - description?: string; - users?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; - }; - -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; -}; - export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -4265,6 +4802,10 @@ export type FishingProtectionLevelStatLocationDataAttributesMembers = { data?: FishingProtectionLevelStatLocationDataAttributesMembersDataItem[]; }; +export type FishingProtectionLevelStatLocationDataAttributesGroups = { + data?: FishingProtectionLevelStatLocationDataAttributesGroupsDataItem[]; +}; + export type FishingProtectionLevelStatLocationDataAttributesGroupsDataItemAttributes = { [key: string]: any; }; @@ -4274,10 +4815,6 @@ export type FishingProtectionLevelStatLocationDataAttributesGroupsDataItem = { attributes?: FishingProtectionLevelStatLocationDataAttributesGroupsDataItemAttributes; }; -export type FishingProtectionLevelStatLocationDataAttributesGroups = { - data?: FishingProtectionLevelStatLocationDataAttributesGroupsDataItem[]; -}; - export type FishingProtectionLevelStatListResponseMetaPagination = { page?: number; pageSize?: number; diff --git a/frontend/src/types/layer.ts b/frontend/src/types/layer.ts deleted file mode 100644 index 44b95c62..00000000 --- a/frontend/src/types/layer.ts +++ /dev/null @@ -1,58 +0,0 @@ -import type { - BackgroundLayer, - CircleLayer, - FillLayer, - FillExtrusionLayer, - HeatmapLayer, - HillshadeLayer, - LineLayer, - RasterLayer, - SymbolLayer, - AnySource, -} from 'react-map-gl'; - -export type LayerType = 'default' | 'mapbox'; - -export interface LayerMetadata { - // description?: string; - // citation?: string; - // source?: string; - // resolution?: string; - // contentDate?: string; - // license?: string; - attributions?: string; -} - -export interface Layer { - id: number; - name: string; - type: LayerType; - config: { - type: string; - source: AnySource; - layers?: ( - | Omit - | Omit - | Omit - | Omit - | Omit - | Omit - | Omit - | Omit - | Omit - )[]; - }; - // paramsConfig?: unknown; - legend: { - type: 'basic' | 'choropleth' | 'gradient'; - items: { value: string; color: string }[]; - }; - // interactionConfig?: unknown; - metadata?: LayerMetadata; -} - -export interface LayerSettings { - visibility?: boolean; - opacity?: number; - expanded?: boolean; -} diff --git a/frontend/src/types/layers.ts b/frontend/src/types/layers.ts new file mode 100644 index 00000000..6ee8680c --- /dev/null +++ b/frontend/src/types/layers.ts @@ -0,0 +1,57 @@ +import type { AnyLayer, AnySource } from 'react-map-gl'; + +import { FormatProps } from '@/lib/utils/formats'; +import type { Layer } from '@/types/generated/strapi.schemas'; + +export type Config = { + source: AnySource; + styles: AnyLayer[]; +}; + +export type ParamsConfigValue = { + key: string; + default: unknown; +}; + +export type ParamsConfig = Record[]; + +export type LegendConfig = { + type: 'basic' | 'gradient' | 'choropleth'; + items: { + value: string; + color: string; + }[]; +}; + +export type InteractionConfig = { + enabled: boolean; + events: { + type: 'click' | 'hover'; + values: { + key: string; + label: string; + format?: FormatProps; + }[]; + }[]; +}; + +export type LayerProps = { + id?: string; + zIndex?: number; + onAdd?: (props: Config) => void; + onRemove?: (props: Config) => void; +}; + +export type LayerSettings = { + opacity: number; + visibility: boolean; + expanded: boolean; +}; + +export type LayerTyped = Layer & { + config: Config; + params_config: ParamsConfig; + legend_config: LegendConfig; + interaction_config: InteractionConfig; + metadata: Record; +}; diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 168f7cb7..ac397373 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -72,6 +72,216 @@ __metadata: languageName: node linkType: hard +"@deck.gl/aggregation-layers@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/aggregation-layers@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + "@luma.gl/constants": ^8.5.21 + "@luma.gl/shadertools": ^8.5.21 + "@math.gl/web-mercator": ^3.6.2 + d3-hexbin: ^0.2.1 + peerDependencies: + "@deck.gl/core": ^8.0.0 + "@deck.gl/layers": ^8.0.0 + "@luma.gl/core": ^8.0.0 + checksum: 126a73f6caa3068a5ef6c3a77eea53282ed03d606fb72cc42197610c7cc84c7fb0763801b5c40956c1530c040d7fb189b40c1fb129c09937c69ca7765637ca7e + languageName: node + linkType: hard + +"@deck.gl/carto@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/carto@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + "@loaders.gl/gis": ^3.4.13 + "@loaders.gl/loader-utils": ^3.4.13 + "@loaders.gl/mvt": ^3.4.13 + "@loaders.gl/tiles": ^3.4.13 + "@luma.gl/constants": ^8.5.21 + "@math.gl/web-mercator": ^3.6.2 + cartocolor: ^4.0.2 + d3-array: ^3.2.0 + d3-color: ^3.1.0 + d3-format: ^3.1.0 + d3-scale: ^4.0.0 + h3-js: ^3.7.0 + moment-timezone: ^0.5.33 + pbf: ^3.2.1 + quadbin: ^0.1.9 + peerDependencies: + "@deck.gl/aggregation-layers": ^8.0.0 + "@deck.gl/core": ^8.0.0 + "@deck.gl/extensions": ^8.0.0 + "@deck.gl/geo-layers": ^8.0.0 + "@deck.gl/layers": ^8.0.0 + "@loaders.gl/core": ^3.4.13 + checksum: 15430a99a95799a7fc64553fc07753f5b2b2206058a3089d923a831ae9c7d848cc95b411c0a1ad3d8359c61710c9d831cdebeaca5ae378a913f334f995e7264d + languageName: node + linkType: hard + +"@deck.gl/core@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/core@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + "@loaders.gl/core": ^3.4.13 + "@loaders.gl/images": ^3.4.13 + "@luma.gl/constants": ^8.5.21 + "@luma.gl/core": ^8.5.21 + "@luma.gl/webgl": ^8.5.21 + "@math.gl/core": ^3.6.2 + "@math.gl/sun": ^3.6.2 + "@math.gl/web-mercator": ^3.6.2 + "@probe.gl/env": ^3.5.0 + "@probe.gl/log": ^3.5.0 + "@probe.gl/stats": ^3.5.0 + gl-matrix: ^3.0.0 + math.gl: ^3.6.2 + mjolnir.js: ^2.7.0 + checksum: 120f3ba302f16a43b3eec50b322167bf14700e25a134bde89f372a798f27ac526e5b612de0f1e399ecd01aa73c82f45d00e7185e60f59a04d6ae53e67dbd258c + languageName: node + linkType: hard + +"@deck.gl/extensions@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/extensions@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + "@luma.gl/shadertools": ^8.5.21 + peerDependencies: + "@deck.gl/core": ^8.0.0 + "@luma.gl/constants": ^8.0.0 + "@luma.gl/core": ^8.0.0 + "@math.gl/core": ^3.6.2 + "@math.gl/web-mercator": ^3.6.2 + gl-matrix: ^3.0.0 + checksum: 74a31490f1ed8717e08cc37a9075ee6c72d53867f9f5f0a1dcf2ab54205443527861cdff497ba840a15894394994c3135791a42686ab7bc823767de461f57b93 + languageName: node + linkType: hard + +"@deck.gl/geo-layers@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/geo-layers@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + "@loaders.gl/3d-tiles": ^3.4.13 + "@loaders.gl/gis": ^3.4.13 + "@loaders.gl/loader-utils": ^3.4.13 + "@loaders.gl/mvt": ^3.4.13 + "@loaders.gl/schema": ^3.4.13 + "@loaders.gl/terrain": ^3.4.13 + "@loaders.gl/tiles": ^3.4.13 + "@loaders.gl/wms": ^3.4.13 + "@luma.gl/constants": ^8.5.21 + "@luma.gl/experimental": ^8.5.21 + "@math.gl/core": ^3.6.2 + "@math.gl/culling": ^3.6.2 + "@math.gl/web-mercator": ^3.6.2 + "@types/geojson": ^7946.0.8 + h3-js: ^3.7.0 + long: ^3.2.0 + peerDependencies: + "@deck.gl/core": ^8.0.0 + "@deck.gl/extensions": ^8.0.0 + "@deck.gl/layers": ^8.0.0 + "@deck.gl/mesh-layers": ^8.0.0 + "@loaders.gl/core": ^3.4.13 + "@luma.gl/core": ^8.0.0 + checksum: add937ee13944020e265a6d0f1335621d8170df4d7b8656be4ab7f8cbbeb76c5190acb9758920744a4aea7b448771a5f2c519335aedb42bacc607fc65207ba14 + languageName: node + linkType: hard + +"@deck.gl/google-maps@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/google-maps@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + peerDependencies: + "@deck.gl/core": ^8.0.0 + "@luma.gl/constants": ^8.5.0 + "@luma.gl/core": ^8.5.0 + "@math.gl/core": ^3.6.0 + checksum: 9d08fecc7a8ba82004b5d54c0bb464e0467ffa6ad1b8344219c6dec6a28cb8f869e278033d33e5197cd54da138683b0b238a566fc800b9b6afb42089841a31f5 + languageName: node + linkType: hard + +"@deck.gl/json@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/json@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + d3-dsv: ^1.0.8 + expression-eval: ^2.0.0 + peerDependencies: + "@deck.gl/core": ^8.0.0 + checksum: e27378bcee80622e6431fbc59f088d3c6ca703d2e41727b5a6a864e5451465cd56d7d7abbfa0e04130434879edd78b4fec9f446f731ca03bceeb976c95bced70 + languageName: node + linkType: hard + +"@deck.gl/layers@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/layers@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + "@loaders.gl/images": ^3.4.13 + "@loaders.gl/schema": ^3.4.13 + "@luma.gl/constants": ^8.5.21 + "@mapbox/tiny-sdf": ^2.0.5 + "@math.gl/core": ^3.6.2 + "@math.gl/polygon": ^3.6.2 + "@math.gl/web-mercator": ^3.6.2 + earcut: ^2.2.4 + peerDependencies: + "@deck.gl/core": ^8.0.0 + "@loaders.gl/core": ^3.4.13 + "@luma.gl/core": ^8.0.0 + checksum: 0b64ba6504e8cdba8097bd687c1f4a44acd6c45bf29909000c3fb2c0c0ca4f4f3576f68fbc8124ac4c19062e75b7ccbe0159e59b6a5385114b941b57d651eb19 + languageName: node + linkType: hard + +"@deck.gl/mapbox@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/mapbox@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + "@types/mapbox-gl": ^2.6.3 + peerDependencies: + "@deck.gl/core": ^8.0.0 + checksum: 30016e882b5b7a727b4cb79abe502f3a1446df7427a1751b09895696a51acf43b810025f7f011f728a0c890053564f83d558e2b09964713d2d15e8b5068d3406 + languageName: node + linkType: hard + +"@deck.gl/mesh-layers@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/mesh-layers@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + "@loaders.gl/gltf": ^3.4.13 + "@luma.gl/constants": ^8.5.21 + "@luma.gl/experimental": ^8.5.21 + "@luma.gl/shadertools": ^8.5.21 + peerDependencies: + "@deck.gl/core": ^8.0.0 + "@luma.gl/core": ^8.0.0 + checksum: 5ae9db340f8c6bd764629b5df8c3209dd828e736ac71f3a5e1c6d5535ea8bdbed1e7034fbb79bbfcb7202a8c5df287c70d2b66feda43dd6a9b88a604e3407906 + languageName: node + linkType: hard + +"@deck.gl/react@npm:8.9.31": + version: 8.9.31 + resolution: "@deck.gl/react@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + peerDependencies: + "@deck.gl/core": ^8.0.0 + "@types/react": ">= 16.3" + react: ">=16.3" + react-dom: ">=16.3" + checksum: d7e98b4f052ced64f2f3ab2ffbbcdfe48877903572309f26caa1e7985d5c3db83fc1f7cd23bda6d313c50bad66e6487763e2e4215fabc316759e0e198dca5df8 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.15.18": version: 0.15.18 resolution: "@esbuild/android-arm@npm:0.15.18" @@ -267,7 +477,25 @@ __metadata: languageName: node linkType: hard -"@loaders.gl/core@npm:^3.4.14": +"@loaders.gl/3d-tiles@npm:^3.4.13": + version: 3.4.14 + resolution: "@loaders.gl/3d-tiles@npm:3.4.14" + dependencies: + "@loaders.gl/draco": 3.4.14 + "@loaders.gl/gltf": 3.4.14 + "@loaders.gl/loader-utils": 3.4.14 + "@loaders.gl/math": 3.4.14 + "@loaders.gl/tiles": 3.4.14 + "@math.gl/core": ^3.5.1 + "@math.gl/geospatial": ^3.5.1 + long: ^5.2.1 + peerDependencies: + "@loaders.gl/core": ^3.4.0 + checksum: bbf6dafebe2757007ddf6555a2e965b9fba41a8c22b42300028fc5f33cdc121284ce59e1cf17be2c0e18dbca6e8d842dd323b4132cb82646ea7c51d2785e26ac + languageName: node + linkType: hard + +"@loaders.gl/core@npm:^3.4.13, @loaders.gl/core@npm:^3.4.14": version: 3.4.14 resolution: "@loaders.gl/core@npm:3.4.14" dependencies: @@ -279,7 +507,20 @@ __metadata: languageName: node linkType: hard -"@loaders.gl/gis@npm:3.4.14": +"@loaders.gl/draco@npm:3.4.14": + version: 3.4.14 + resolution: "@loaders.gl/draco@npm:3.4.14" + dependencies: + "@babel/runtime": ^7.3.1 + "@loaders.gl/loader-utils": 3.4.14 + "@loaders.gl/schema": 3.4.14 + "@loaders.gl/worker-utils": 3.4.14 + draco3d: 1.5.5 + checksum: ad2496fe136d343a259cac6f578df630cbfec51059689be725623b9174d03cf8d4e939fc68c80834a95000275b3cfa08303dba0ab0cbfabb75995114c119d9f2 + languageName: node + linkType: hard + +"@loaders.gl/gis@npm:3.4.14, @loaders.gl/gis@npm:^3.4.13": version: 3.4.14 resolution: "@loaders.gl/gis@npm:3.4.14" dependencies: @@ -292,6 +533,28 @@ __metadata: languageName: node linkType: hard +"@loaders.gl/gltf@npm:3.4.14, @loaders.gl/gltf@npm:^3.4.13": + version: 3.4.14 + resolution: "@loaders.gl/gltf@npm:3.4.14" + dependencies: + "@loaders.gl/draco": 3.4.14 + "@loaders.gl/images": 3.4.14 + "@loaders.gl/loader-utils": 3.4.14 + "@loaders.gl/textures": 3.4.14 + "@math.gl/core": ^3.5.1 + checksum: 78513063334d3fb02d784585131f023fc4cc39f41d2647d57803302f063fa0feeb0b42e5c8692809e3daad0aa3744e5beebefb870360c1a44525614cf3aeee1f + languageName: node + linkType: hard + +"@loaders.gl/images@npm:3.4.14, @loaders.gl/images@npm:^3.4.13": + version: 3.4.14 + resolution: "@loaders.gl/images@npm:3.4.14" + dependencies: + "@loaders.gl/loader-utils": 3.4.14 + checksum: bb4049fa6a0739079597bc6d52e389440703fcf61c6e1c8f797dfa5c7404a24e04dc744e08d22c1d8333e4da040451572a3df9b980766beadb9bfa17a5f47234 + languageName: node + linkType: hard + "@loaders.gl/kml@npm:^3.4.14": version: 3.4.14 resolution: "@loaders.gl/kml@npm:3.4.14" @@ -304,7 +567,7 @@ __metadata: languageName: node linkType: hard -"@loaders.gl/loader-utils@npm:3.4.14, @loaders.gl/loader-utils@npm:^3.4.14": +"@loaders.gl/loader-utils@npm:3.4.14, @loaders.gl/loader-utils@npm:^3.4.13, @loaders.gl/loader-utils@npm:^3.4.14": version: 3.4.14 resolution: "@loaders.gl/loader-utils@npm:3.4.14" dependencies: @@ -315,7 +578,31 @@ __metadata: languageName: node linkType: hard -"@loaders.gl/schema@npm:3.4.14": +"@loaders.gl/math@npm:3.4.14": + version: 3.4.14 + resolution: "@loaders.gl/math@npm:3.4.14" + dependencies: + "@loaders.gl/images": 3.4.14 + "@loaders.gl/loader-utils": 3.4.14 + "@math.gl/core": ^3.5.1 + checksum: 688b6072762025bc30e3ae199f017a569fc7898e00cc5d54cd07009d20385df018095f3eb8980c3252ca379293219aaffbfbd4b928894ce18a16a679a6a92173 + languageName: node + linkType: hard + +"@loaders.gl/mvt@npm:^3.4.13": + version: 3.4.14 + resolution: "@loaders.gl/mvt@npm:3.4.14" + dependencies: + "@loaders.gl/gis": 3.4.14 + "@loaders.gl/loader-utils": 3.4.14 + "@loaders.gl/schema": 3.4.14 + "@math.gl/polygon": ^3.5.1 + pbf: ^3.2.1 + checksum: 9f06ff5d6d48efbe2553c3c6737c0ef3084174984dcb8fde358f102335ce51b9c50f7efcaff7cb52df13d0995c319bb9aecf53a1ef6d175086641eee3de2bab6 + languageName: node + linkType: hard + +"@loaders.gl/schema@npm:3.4.14, @loaders.gl/schema@npm:^3.4.13": version: 3.4.14 resolution: "@loaders.gl/schema@npm:3.4.14" dependencies: @@ -336,6 +623,66 @@ __metadata: languageName: node linkType: hard +"@loaders.gl/terrain@npm:^3.4.13": + version: 3.4.14 + resolution: "@loaders.gl/terrain@npm:3.4.14" + dependencies: + "@babel/runtime": ^7.3.1 + "@loaders.gl/images": 3.4.14 + "@loaders.gl/loader-utils": 3.4.14 + "@loaders.gl/schema": 3.4.14 + "@mapbox/martini": ^0.2.0 + checksum: b12cf57d832c3dc6e5775c47b60b5613c866b9ffe3ae663cc272c5505f10af3788b970a5971fbc5a7a676e601eee3d2f987cae7a2226ce65ce05133423b81a98 + languageName: node + linkType: hard + +"@loaders.gl/textures@npm:3.4.14": + version: 3.4.14 + resolution: "@loaders.gl/textures@npm:3.4.14" + dependencies: + "@loaders.gl/images": 3.4.14 + "@loaders.gl/loader-utils": 3.4.14 + "@loaders.gl/schema": 3.4.14 + "@loaders.gl/worker-utils": 3.4.14 + ktx-parse: ^0.0.4 + texture-compressor: ^1.0.2 + checksum: ddf367f8cd91ac3b5e6712f85131cc2d762f650eb6aa71f99512db097954d282c1551f1519086e4138293eb8c060ccf1f0a89b45b829fa66150df1a9893fd729 + languageName: node + linkType: hard + +"@loaders.gl/tiles@npm:3.4.14, @loaders.gl/tiles@npm:^3.4.13": + version: 3.4.14 + resolution: "@loaders.gl/tiles@npm:3.4.14" + dependencies: + "@loaders.gl/loader-utils": 3.4.14 + "@loaders.gl/math": 3.4.14 + "@math.gl/core": ^3.5.1 + "@math.gl/culling": ^3.5.1 + "@math.gl/geospatial": ^3.5.1 + "@math.gl/web-mercator": ^3.5.1 + "@probe.gl/stats": ^4.0.1 + peerDependencies: + "@loaders.gl/core": ^3.4.0 + checksum: 8c24446d7528c1807490fcdf3cd3a9652f677e58a3b5cba874010ea7e6fff5bd19f6bc5a393a7c49c6c74768d9bfe5ac0df3eba66995f8edb068ef7609f69a38 + languageName: node + linkType: hard + +"@loaders.gl/wms@npm:^3.4.13": + version: 3.4.14 + resolution: "@loaders.gl/wms@npm:3.4.14" + dependencies: + "@babel/runtime": ^7.3.1 + "@loaders.gl/images": 3.4.14 + "@loaders.gl/loader-utils": 3.4.14 + "@loaders.gl/schema": 3.4.14 + "@loaders.gl/xml": 3.4.14 + "@turf/rewind": ^5.1.5 + deep-strict-equal: ^0.2.0 + lerc: ^4.0.1 + checksum: 4f54848ade4a2b4645ad24ee8203bede38cad83f81d1b5f8994484daed391473ff945b9743738eb21adc72ae16828091515816797a1c0a785d1cccee214819ae + languageName: node + linkType: hard + "@loaders.gl/worker-utils@npm:3.4.14": version: 3.4.14 resolution: "@loaders.gl/worker-utils@npm:3.4.14" @@ -345,6 +692,18 @@ __metadata: languageName: node linkType: hard +"@loaders.gl/xml@npm:3.4.14": + version: 3.4.14 + resolution: "@loaders.gl/xml@npm:3.4.14" + dependencies: + "@babel/runtime": ^7.3.1 + "@loaders.gl/loader-utils": 3.4.14 + "@loaders.gl/schema": 3.4.14 + fast-xml-parser: ^4.2.5 + checksum: 47de1e64ab07dc6660ac35ca4d738d4a23e5211428825a90e7588da709d86a672f7c850b3548b2342416ee938a1698cf271e6ae27fe236e47fbb8d9f108c00d3 + languageName: node + linkType: hard + "@loaders.gl/zip@npm:^3.4.14": version: 3.4.14 resolution: "@loaders.gl/zip@npm:3.4.14" @@ -354,6 +713,98 @@ __metadata: languageName: node linkType: hard +"@luma.gl/constants@npm:8.5.21, @luma.gl/constants@npm:^8.5.21": + version: 8.5.21 + resolution: "@luma.gl/constants@npm:8.5.21" + checksum: 2ac0eb0fb368d8a4722f140917de45100af7adde776c5be40935c86c996491e9145464f3dd5be69294a839fa145b456df828425a93f071bf68bf62c1f79c376f + languageName: node + linkType: hard + +"@luma.gl/core@npm:^8.5.21": + version: 8.5.21 + resolution: "@luma.gl/core@npm:8.5.21" + dependencies: + "@babel/runtime": ^7.0.0 + "@luma.gl/constants": 8.5.21 + "@luma.gl/engine": 8.5.21 + "@luma.gl/gltools": 8.5.21 + "@luma.gl/shadertools": 8.5.21 + "@luma.gl/webgl": 8.5.21 + checksum: f45e3d825868a54fc3cf06e0f61d6618b45b1862c402b4c46aa4e8f00b79515fcea6c2d36f5b0b5c8d8bb684849bfcae735e36c54a3720aa6a80d6a81f3f2331 + languageName: node + linkType: hard + +"@luma.gl/engine@npm:8.5.21": + version: 8.5.21 + resolution: "@luma.gl/engine@npm:8.5.21" + dependencies: + "@babel/runtime": ^7.0.0 + "@luma.gl/constants": 8.5.21 + "@luma.gl/gltools": 8.5.21 + "@luma.gl/shadertools": 8.5.21 + "@luma.gl/webgl": 8.5.21 + "@math.gl/core": ^3.5.0 + "@probe.gl/env": ^3.5.0 + "@probe.gl/stats": ^3.5.0 + "@types/offscreencanvas": ^2019.7.0 + checksum: a161f6f638a7c9e9522b5d731e9e50b3646037b5320f55b6e52104984a05204a8bc1561b05014cc4094c61e41f3e74b4b7019c46dc55a39202f836c4dacc033c + languageName: node + linkType: hard + +"@luma.gl/experimental@npm:^8.5.21": + version: 8.5.21 + resolution: "@luma.gl/experimental@npm:8.5.21" + dependencies: + "@luma.gl/constants": 8.5.21 + "@math.gl/core": ^3.5.0 + earcut: ^2.0.6 + peerDependencies: + "@loaders.gl/gltf": ^3.0.0 + "@loaders.gl/images": ^3.0.0 + "@luma.gl/engine": ^8.4.0 + "@luma.gl/gltools": ^8.4.0 + "@luma.gl/shadertools": ^8.4.0 + "@luma.gl/webgl": ^8.4.0 + checksum: 157d36438046b36c4be6f2a5b850d801959cb3cb1e37c428c94f9032c8e814cb77e75cf5303efcfd8c419094492874d0f22d5a51b0432aedda9572b808b1cc49 + languageName: node + linkType: hard + +"@luma.gl/gltools@npm:8.5.21": + version: 8.5.21 + resolution: "@luma.gl/gltools@npm:8.5.21" + dependencies: + "@babel/runtime": ^7.0.0 + "@luma.gl/constants": 8.5.21 + "@probe.gl/env": ^3.5.0 + "@probe.gl/log": ^3.5.0 + "@types/offscreencanvas": ^2019.7.0 + checksum: 1f647bde5141f37110f6e089636a26b450b66323a90ea91064ce7b5712843c5f066bd75b74488dd2fb9f39407279268171b799d6486c3a83e39614f9ee4a3aef + languageName: node + linkType: hard + +"@luma.gl/shadertools@npm:8.5.21, @luma.gl/shadertools@npm:^8.5.21": + version: 8.5.21 + resolution: "@luma.gl/shadertools@npm:8.5.21" + dependencies: + "@babel/runtime": ^7.0.0 + "@math.gl/core": ^3.5.0 + checksum: ef641f152177a2ba0942ac8e79875dedfd1779211bf507d20ab82413a43181ab162092c66d67041e029b70b1d210ddaa3d6d5839de62324c8442540ecf413fd1 + languageName: node + linkType: hard + +"@luma.gl/webgl@npm:8.5.21, @luma.gl/webgl@npm:^8.5.21": + version: 8.5.21 + resolution: "@luma.gl/webgl@npm:8.5.21" + dependencies: + "@babel/runtime": ^7.0.0 + "@luma.gl/constants": 8.5.21 + "@luma.gl/gltools": 8.5.21 + "@probe.gl/env": ^3.5.0 + "@probe.gl/stats": ^3.5.0 + checksum: e89e084d917f4a7ce58ba2f63e7d5599956be90bcdfef23ef8e350706741cd9ce92d8d7a998c98d9e9705a61002ccc609782b72f31195038e0e8c4589cd920f1 + languageName: node + linkType: hard + "@mapbox/extent@npm:0.4.0": version: 0.4.0 resolution: "@mapbox/extent@npm:0.4.0" @@ -444,6 +895,13 @@ __metadata: languageName: node linkType: hard +"@mapbox/martini@npm:^0.2.0": + version: 0.2.0 + resolution: "@mapbox/martini@npm:0.2.0" + checksum: 9d09ef5f571b9de112a6348add605e61fd3052afd14cd7ab651c6f45de4e972c912e8da2dd8972b00b9c2d86c015f7e4bd394d92c347c2d1d385f9049e41e191 + languageName: node + linkType: hard + "@mapbox/point-geometry@npm:0.1.0, @mapbox/point-geometry@npm:^0.1.0, @mapbox/point-geometry@npm:~0.1.0": version: 0.1.0 resolution: "@mapbox/point-geometry@npm:0.1.0" @@ -451,7 +909,16 @@ __metadata: languageName: node linkType: hard -"@mapbox/tiny-sdf@npm:^2.0.6": +"@mapbox/tile-cover@npm:3.0.1": + version: 3.0.1 + resolution: "@mapbox/tile-cover@npm:3.0.1" + dependencies: + tilebelt: ^1.0.1 + checksum: 0b28516ca3159a0ec3aca923d7031e2c1ba1e3ea73eead8f06448a7dd904a3a0c3d4ee3a998ae391b0e7444540eb29f79c21cd637a7845f0315c15a9c9455f76 + languageName: node + linkType: hard + +"@mapbox/tiny-sdf@npm:^2.0.5, @mapbox/tiny-sdf@npm:^2.0.6": version: 2.0.6 resolution: "@mapbox/tiny-sdf@npm:2.0.6" checksum: efff5b5a7599aaa995e3c2fd8f2acd071226096458eebb694ffd7258043c46c52b1d09bb3c7343d2126eb257b3cd7d34e6dc7ccaaad7619e6f3e7dd76229a3cd @@ -499,7 +966,7 @@ __metadata: languageName: node linkType: hard -"@math.gl/core@npm:3.6.3": +"@math.gl/core@npm:3.6.3, @math.gl/core@npm:^3.5.0, @math.gl/core@npm:^3.5.1, @math.gl/core@npm:^3.6.2": version: 3.6.3 resolution: "@math.gl/core@npm:3.6.3" dependencies: @@ -510,7 +977,29 @@ __metadata: languageName: node linkType: hard -"@math.gl/polygon@npm:^3.5.1": +"@math.gl/culling@npm:^3.5.1, @math.gl/culling@npm:^3.6.2": + version: 3.6.3 + resolution: "@math.gl/culling@npm:3.6.3" + dependencies: + "@babel/runtime": ^7.12.0 + "@math.gl/core": 3.6.3 + gl-matrix: ^3.4.0 + checksum: 48ff6b4d341387da7f5e2352b34064b9ddf8819c24ca10ed213baa51b497550a6f9afe76eb07bea09f969d49af84e032cc72df02b7af4804ad53876fcd8c7731 + languageName: node + linkType: hard + +"@math.gl/geospatial@npm:^3.5.1": + version: 3.6.3 + resolution: "@math.gl/geospatial@npm:3.6.3" + dependencies: + "@babel/runtime": ^7.12.0 + "@math.gl/core": 3.6.3 + gl-matrix: ^3.4.0 + checksum: b74d4de427083b040a0d4607cc077e2ba92b7de2269f93a5a80885b5c6121f064ae68b60c3031a04c35ddf49e0d85883ad81b93ba1fe898e4b1e69d1dddea0ab + languageName: node + linkType: hard + +"@math.gl/polygon@npm:^3.5.1, @math.gl/polygon@npm:^3.6.2": version: 3.6.3 resolution: "@math.gl/polygon@npm:3.6.3" dependencies: @@ -531,6 +1020,15 @@ __metadata: languageName: node linkType: hard +"@math.gl/sun@npm:^3.6.2": + version: 3.6.3 + resolution: "@math.gl/sun@npm:3.6.3" + dependencies: + "@babel/runtime": ^7.12.0 + checksum: 6efd34197cc958f7cc5be852619fc2ab015bb8374ca79ac48937dec132c6f96e4f671b26ed93c7a2d727eb5fc5c978b80128811e22e052e29559ee690c5b4580 + languageName: node + linkType: hard + "@math.gl/types@npm:3.6.3": version: 3.6.3 resolution: "@math.gl/types@npm:3.6.3" @@ -538,6 +1036,16 @@ __metadata: languageName: node linkType: hard +"@math.gl/web-mercator@npm:^3.5.1, @math.gl/web-mercator@npm:^3.6.2": + version: 3.6.3 + resolution: "@math.gl/web-mercator@npm:3.6.3" + dependencies: + "@babel/runtime": ^7.12.0 + gl-matrix: ^3.4.0 + checksum: cc6deab7542c9e525b752bed95ae5f68ede94b38cb0f71bed2cf208bacc7f02b0a761dbf94bdec2b898e39f327e5c15fbccec9b328da89fce4f68366d68127aa + languageName: node + linkType: hard + "@next/env@npm:13.5.6": version: 13.5.6 resolution: "@next/env@npm:13.5.6" @@ -749,6 +1257,15 @@ __metadata: languageName: node linkType: hard +"@probe.gl/env@npm:3.6.0, @probe.gl/env@npm:^3.5.0": + version: 3.6.0 + resolution: "@probe.gl/env@npm:3.6.0" + dependencies: + "@babel/runtime": ^7.0.0 + checksum: 88348a972f50a6a3e15e8180d578b07af796003ec577dad09a88594e3e12773f0c77d6537fdd474674f112ab8ca113d46620f5af1e206239361370b03365e9ce + languageName: node + linkType: hard + "@probe.gl/env@npm:4.0.4": version: 4.0.4 resolution: "@probe.gl/env@npm:4.0.4" @@ -758,6 +1275,16 @@ __metadata: languageName: node linkType: hard +"@probe.gl/log@npm:^3.5.0": + version: 3.6.0 + resolution: "@probe.gl/log@npm:3.6.0" + dependencies: + "@babel/runtime": ^7.0.0 + "@probe.gl/env": 3.6.0 + checksum: e4b05f4670665cfeca10768af5475de6a955566d94353f76396444fa2e95a54f5f7a9c2f5fb33768e986b3e7e3922a4bdaeb9d49cd4bd34de2ccccf432807894 + languageName: node + linkType: hard + "@probe.gl/log@npm:^4.0.1": version: 4.0.4 resolution: "@probe.gl/log@npm:4.0.4" @@ -768,6 +1295,15 @@ __metadata: languageName: node linkType: hard +"@probe.gl/stats@npm:^3.5.0": + version: 3.6.0 + resolution: "@probe.gl/stats@npm:3.6.0" + dependencies: + "@babel/runtime": ^7.0.0 + checksum: ca286f1558b3e3d82131ff0bbfe387f117c2044033221c212c3d9eae5e17909871624c3411a04ecbdbe31f75741516c00bed40c78547b3fd71777dfb197097b5 + languageName: node + linkType: hard + "@probe.gl/stats@npm:^4.0.1": version: 4.0.4 resolution: "@probe.gl/stats@npm:4.0.4" @@ -2229,6 +2765,16 @@ __metadata: languageName: node linkType: hard +"@turf/boolean-clockwise@npm:^5.1.5": + version: 5.1.5 + resolution: "@turf/boolean-clockwise@npm:5.1.5" + dependencies: + "@turf/helpers": ^5.1.5 + "@turf/invariant": ^5.1.5 + checksum: 14595c995d2c1aeb6d87b78fd9eef2f65c16262e1fc833db8657342c08832b8c0cce6d971ffe49d9d52c3409332c72a5cf3f5fea08b03c0a795bdef98846f928 + languageName: node + linkType: hard + "@turf/boolean-clockwise@npm:^6.5.0": version: 6.5.0 resolution: "@turf/boolean-clockwise@npm:6.5.0" @@ -2452,6 +2998,15 @@ __metadata: languageName: node linkType: hard +"@turf/clone@npm:^5.1.5": + version: 5.1.5 + resolution: "@turf/clone@npm:5.1.5" + dependencies: + "@turf/helpers": ^5.1.5 + checksum: d8b8299b3e4057e6ad45b2ad80cade22ca7f003caf34ea8184f6cffb736f31912a039bfb6669521b5ec29888e0d5b961be02a627b9c6001fe053acb39c9bbbc2 + languageName: node + linkType: hard + "@turf/clone@npm:^6.5.0": version: 6.5.0 resolution: "@turf/clone@npm:6.5.0" @@ -2672,6 +3227,13 @@ __metadata: languageName: node linkType: hard +"@turf/helpers@npm:^5.1.5": + version: 5.1.5 + resolution: "@turf/helpers@npm:5.1.5" + checksum: a4de202ae18c02bd4f67a13b0aa07ec0460be3c2655e2e7abc334a75f5acd659f13984ba5cdf9653229ff6179aff7454482c7590a6c6c09d83812a5fca9f2cd9 + languageName: node + linkType: hard + "@turf/hex-grid@npm:^6.5.0": version: 6.5.0 resolution: "@turf/hex-grid@npm:6.5.0" @@ -2714,6 +3276,15 @@ __metadata: languageName: node linkType: hard +"@turf/invariant@npm:^5.1.5": + version: 5.2.0 + resolution: "@turf/invariant@npm:5.2.0" + dependencies: + "@turf/helpers": ^5.1.5 + checksum: e69eaf825b888a6902d31c458dde6f14471bc0350be5a8712c458258f838d25cb93f7864db7e6d2e46546aa8c42d2a08534aec85e4ec8c86c91e74626a4e7eec + languageName: node + linkType: hard + "@turf/invariant@npm:^6.5.0": version: 6.5.0 resolution: "@turf/invariant@npm:6.5.0" @@ -2918,6 +3489,15 @@ __metadata: languageName: node linkType: hard +"@turf/meta@npm:^5.1.5": + version: 5.2.0 + resolution: "@turf/meta@npm:5.2.0" + dependencies: + "@turf/helpers": ^5.1.5 + checksum: f2946bfc2283c34ca5e590027180edc950e9602702ea55a147003a86d33c72533ac4574043a4ee31b4ed38bcc5cdbb995368fc5a0a12d38a615bda811ec28969 + languageName: node + linkType: hard + "@turf/midpoint@npm:^6.5.0": version: 6.5.0 resolution: "@turf/midpoint@npm:6.5.0" @@ -3121,6 +3701,19 @@ __metadata: languageName: node linkType: hard +"@turf/rewind@npm:^5.1.5": + version: 5.1.5 + resolution: "@turf/rewind@npm:5.1.5" + dependencies: + "@turf/boolean-clockwise": ^5.1.5 + "@turf/clone": ^5.1.5 + "@turf/helpers": ^5.1.5 + "@turf/invariant": ^5.1.5 + "@turf/meta": ^5.1.5 + checksum: 36149e3f3c8b42fb3abd382125cb109ae0502cfa6a696979010e2aa76f6be1b3a01517de0a5bebc4558b52568bcc94062d76d0a451721801d23633dba6536b1c + languageName: node + linkType: hard + "@turf/rewind@npm:^6.5.0": version: 6.5.0 resolution: "@turf/rewind@npm:6.5.0" @@ -3604,7 +4197,7 @@ __metadata: languageName: node linkType: hard -"@types/geojson@npm:*, @types/geojson@npm:^7946.0.7": +"@types/geojson@npm:*, @types/geojson@npm:^7946.0.8": version: 7946.0.12 resolution: "@types/geojson@npm:7946.0.12" checksum: 435ac23d3b66d68d142312be059c4a707bb38927edfe68f38c8051667e72f1f50f02848be5e51b56811c1c85c2ad64b8b38fd3e4c7ab43a591922ebaf3fde641 @@ -3618,6 +4211,13 @@ __metadata: languageName: node linkType: hard +"@types/geojson@npm:^7946.0.7": + version: 7946.0.11 + resolution: "@types/geojson@npm:7946.0.11" + checksum: 93fe7e9c5d16b0a836058ee4b87f8b022d53893d5a8e7ab52c8bf64d12039d076df99f3764c1c4da13abaa1001115fd899330edba4d8d8fa4a4feb162650b22c + languageName: node + linkType: hard + "@types/google.analytics@npm:0.0.42": version: 0.0.42 resolution: "@types/google.analytics@npm:0.0.42" @@ -3625,10 +4225,24 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.11, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.7": - version: 7.0.14 - resolution: "@types/json-schema@npm:7.0.14" - checksum: 4b3dd99616c7c808201c56f6c7f6552eb67b5c0c753ab3fa03a6cb549aae950da537e9558e53fa65fba23d1be624a1e4e8d20c15027efbe41e03ca56f2b04fb0 +"@types/hammerjs@npm:^2.0.41": + version: 2.0.43 + resolution: "@types/hammerjs@npm:2.0.43" + checksum: 615cec30b780044d3f171bf981e7f747bba5a218d3b56d15e92f3733375597d1993233c4496a3603c8b4d838f3f435ecc3de75f09f6fd498fd144cc3f01c3a11 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.11, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.7": + version: 7.0.13 + resolution: "@types/json-schema@npm:7.0.13" + checksum: 345df21a678fa72fb389f35f33de77833d09d4a142bb2bcb27c18690efa4cf70fc2876e43843cefb3fbdb9fcb12cd3e970a90936df30f53bbee899865ff605ab + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.12": + version: 7.0.12 + resolution: "@types/json-schema@npm:7.0.12" + checksum: 00239e97234eeb5ceefb0c1875d98ade6e922bfec39dd365ec6bd360b5c2f825e612ac4f6e5f1d13601b8b30f378f15e6faa805a3a732f4a1bbe61915163d293 languageName: node linkType: hard @@ -3639,7 +4253,7 @@ __metadata: languageName: node linkType: hard -"@types/mapbox-gl@npm:*, @types/mapbox-gl@npm:>=1.0.0": +"@types/mapbox-gl@npm:*, @types/mapbox-gl@npm:>=1.0.0, @types/mapbox-gl@npm:^2.6.3": version: 2.7.17 resolution: "@types/mapbox-gl@npm:2.7.17" dependencies: @@ -3674,6 +4288,13 @@ __metadata: languageName: node linkType: hard +"@types/offscreencanvas@npm:^2019.7.0": + version: 2019.7.2 + resolution: "@types/offscreencanvas@npm:2019.7.2" + checksum: 23b7b463181af20737925ca1c670eba512be1c45009a8205f098ab6ba52b54e5c945180345ba848a1f56bade856e125e83944fc10df88c94a041fa48b4eb6ddf + languageName: node + linkType: hard + "@types/proj4@npm:^2.5.0": version: 2.5.4 resolution: "@types/proj4@npm:2.5.4" @@ -4163,7 +4784,7 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^1.0.7": +"argparse@npm:^1.0.10, argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" dependencies: @@ -4564,6 +5185,13 @@ __metadata: languageName: node linkType: hard +"buf-compare@npm:^1.0.0": + version: 1.0.1 + resolution: "buf-compare@npm:1.0.1" + checksum: e5cc98cd36beac306ed481d4f12e524756175f792d288db5b92d9b947e4893c66e43da302d9ea5fbd4553e734b535dd5b3bb5d07e23ea7b059d136ed7582fcf1 + languageName: node + linkType: hard + "builtins@npm:^1.0.3": version: 1.0.3 resolution: "builtins@npm:1.0.3" @@ -4682,6 +5310,15 @@ __metadata: languageName: node linkType: hard +"cartocolor@npm:^4.0.2": + version: 4.0.2 + resolution: "cartocolor@npm:4.0.2" + dependencies: + colorbrewer: 1.0.0 + checksum: 3754e8211acb69e98d489a97dbd7536edcbf466004b3860a175d421296cbe198709c006ac106d0f6cdc379ab2e7e0c6227c88b555a8cf82699bfcc99af78e95a + languageName: node + linkType: hard + "chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -4871,6 +5508,13 @@ __metadata: languageName: node linkType: hard +"colorbrewer@npm:1.0.0": + version: 1.0.0 + resolution: "colorbrewer@npm:1.0.0" + checksum: 9513dfe9792824505bda88f1c41f53ad5965a21292d7a2902cbfade0d895e88b15e4b8e00ee08f0710d8d671c46c48f53bb471696a9a24db3cdb6d0862a4ff5d + languageName: node + linkType: hard + "combined-stream@npm:^1.0.8": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" @@ -4955,6 +5599,16 @@ __metadata: languageName: node linkType: hard +"core-assert@npm:^0.2.0": + version: 0.2.1 + resolution: "core-assert@npm:0.2.1" + dependencies: + buf-compare: ^1.0.0 + is-error: ^2.2.0 + checksum: 20593bd6d7f7d7d634a16be787e4f4728d25e754f96827a54966a6aaa37ce3115a5436b7323198d2c418f426e072266e882f681ef86cfc0f96ee2f092f344337 + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -5091,7 +5745,7 @@ __metadata: languageName: node linkType: hard -"d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:^3.1.6": +"d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:^3.1.6, d3-array@npm:^3.2.0": version: 3.2.4 resolution: "d3-array@npm:3.2.4" dependencies: @@ -5100,13 +5754,34 @@ __metadata: languageName: node linkType: hard -"d3-color@npm:1 - 3": +"d3-color@npm:1 - 3, d3-color@npm:^3.1.0": version: 3.1.0 resolution: "d3-color@npm:3.1.0" checksum: 4931fbfda5d7c4b5cfa283a13c91a954f86e3b69d75ce588d06cde6c3628cebfc3af2069ccf225e982e8987c612aa7948b3932163ce15eb3c11cd7c003f3ee3b languageName: node linkType: hard +"d3-dsv@npm:^1.0.8": + version: 1.2.0 + resolution: "d3-dsv@npm:1.2.0" + dependencies: + commander: 2 + iconv-lite: 0.4 + rw: 1 + bin: + csv2json: bin/dsv2json + csv2tsv: bin/dsv2dsv + dsv2dsv: bin/dsv2dsv + dsv2json: bin/dsv2json + json2csv: bin/json2dsv + json2dsv: bin/json2dsv + json2tsv: bin/json2dsv + tsv2csv: bin/dsv2dsv + tsv2json: bin/dsv2json + checksum: 96c6e3d5ca1566624ca613b5941bc6fa916082cbe4b2b71cb6c5978c471db58c489b17206e3e31fbe30719dbd75e9c8ed8ab12a9d353cff90a35102690de7823 + languageName: node + linkType: hard + "d3-ease@npm:^3.0.1": version: 3.0.1 resolution: "d3-ease@npm:3.0.1" @@ -5130,6 +5805,13 @@ __metadata: languageName: node linkType: hard +"d3-hexbin@npm:^0.2.1": + version: 0.2.2 + resolution: "d3-hexbin@npm:0.2.2" + checksum: 44c31270d98bff7eb8ad198e1fa690559b64ff79f3aa22e390ee82747d73146a33c2544ea31c46220a63fe14a1bd4e7ad03f95a2608b56c3a2398ae23e9c0019 + languageName: node + linkType: hard + "d3-interpolate@npm:1.2.0 - 3, d3-interpolate@npm:^3.0.1": version: 3.0.1 resolution: "d3-interpolate@npm:3.0.1" @@ -5146,7 +5828,7 @@ __metadata: languageName: node linkType: hard -"d3-scale@npm:^4.0.2": +"d3-scale@npm:^4.0.0, d3-scale@npm:^4.0.2": version: 4.0.2 resolution: "d3-scale@npm:4.0.2" dependencies: @@ -5272,6 +5954,26 @@ __metadata: languageName: node linkType: hard +"deck.gl@npm:8.9.31": + version: 8.9.31 + resolution: "deck.gl@npm:8.9.31" + dependencies: + "@babel/runtime": ^7.0.0 + "@deck.gl/aggregation-layers": 8.9.31 + "@deck.gl/carto": 8.9.31 + "@deck.gl/core": 8.9.31 + "@deck.gl/extensions": 8.9.31 + "@deck.gl/geo-layers": 8.9.31 + "@deck.gl/google-maps": 8.9.31 + "@deck.gl/json": 8.9.31 + "@deck.gl/layers": 8.9.31 + "@deck.gl/mapbox": 8.9.31 + "@deck.gl/mesh-layers": 8.9.31 + "@deck.gl/react": 8.9.31 + checksum: c98268a72ccc364d2f28ee20a46394ed33bf3abe5a5cad3616edcb12e69316b1d07b2238717a08028e679560b23cd608d9037bc5e9219b36af5252028b5e200e + languageName: node + linkType: hard + "decode-uri-component@npm:^0.2.0": version: 0.2.2 resolution: "decode-uri-component@npm:0.2.2" @@ -5300,6 +6002,15 @@ __metadata: languageName: node linkType: hard +"deep-strict-equal@npm:^0.2.0": + version: 0.2.0 + resolution: "deep-strict-equal@npm:0.2.0" + dependencies: + core-assert: ^0.2.0 + checksum: 9477d08e39997d372aa7038e0830973f45890ca1c04af9779c89d6dba2e0f02c515527f3f041f54ef21dc975398b4c77f823e0bcb6f449da0a4b1cf794f6a8ba + languageName: node + linkType: hard + "deepmerge@npm:1.3.2": version: 1.3.2 resolution: "deepmerge@npm:1.3.2" @@ -5597,6 +6308,13 @@ __metadata: languageName: node linkType: hard +"draco3d@npm:1.5.5": + version: 1.5.5 + resolution: "draco3d@npm:1.5.5" + checksum: ce5138d02dfd5ae2627d77b1fe002ef7a30644281eee3c62e073572924ca5023b646c138126ab3e812b05c69699b22592c27ffccf28f60c47f45bd1b86b5b069 + languageName: node + linkType: hard + "duplexer@npm:~0.1.1": version: 0.1.2 resolution: "duplexer@npm:0.1.2" @@ -5604,7 +6322,7 @@ __metadata: languageName: node linkType: hard -"earcut@npm:^2.0.0, earcut@npm:^2.2.4": +"earcut@npm:^2.0.0, earcut@npm:^2.0.6, earcut@npm:^2.2.4": version: 2.2.4 resolution: "earcut@npm:2.2.4" checksum: aea0466cb2f24e0c3c57148d8d28ac9846f53c4f43ee66780826474303ac851b305ef988152d0bdeb31e8f7ca939dc0df737e7505cfb1c1bdf2ff9d7f9ea2faa @@ -6495,6 +7213,15 @@ __metadata: languageName: node linkType: hard +"expression-eval@npm:^2.0.0": + version: 2.1.0 + resolution: "expression-eval@npm:2.1.0" + dependencies: + jsep: ^0.3.0 + checksum: ddc98042c32f3e518909fbd9a2342b39e9a81c0901f33f19c9263f3837a00d5245fca4e0e2288cd8172ccaa96a06832de1144cb1051f4c2c0caef0c5b2072105 + languageName: node + linkType: hard + "extend-shallow@npm:^2.0.1": version: 2.0.1 resolution: "extend-shallow@npm:2.0.1" @@ -6605,6 +7332,17 @@ __metadata: languageName: node linkType: hard +"fast-xml-parser@npm:^4.2.5": + version: 4.3.2 + resolution: "fast-xml-parser@npm:4.3.2" + dependencies: + strnum: ^1.0.5 + bin: + fxparser: src/cli/cli.js + checksum: d507ce2efa5fd13d0a5ba28bd76dd68f2fc30ad8748357c37b70f360d19417866d79e35a688af067d5bceaaa796033fa985206aef9692f7a421e1326b6e73309 + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.15.0 resolution: "fastq@npm:1.15.0" @@ -6969,7 +7707,7 @@ __metadata: languageName: node linkType: hard -"gl-matrix@npm:^3.4.0, gl-matrix@npm:^3.4.3": +"gl-matrix@npm:^3.0.0, gl-matrix@npm:^3.4.0, gl-matrix@npm:^3.4.3": version: 3.4.3 resolution: "gl-matrix@npm:3.4.3" checksum: c47830ba727f3d0fab635c48135af96aef66274079a3e0afd6f68b68c98eae9fc1bcfdc7312fe2301e4fd22dd24c5e0f1b5d025960a208e50d07101ed8d940f9 @@ -7113,6 +7851,20 @@ __metadata: languageName: node linkType: hard +"h3-js@npm:^3.7.0": + version: 3.7.2 + resolution: "h3-js@npm:3.7.2" + checksum: 69d492874a73ea0edee50ba365f6baef101beedd399130f87315eb0b1c16344f8d2d0628d8697fb7ad33471bab1deebe615a1e05425e271ca648b0d21d8669dc + languageName: node + linkType: hard + +"hammerjs@npm:^2.0.8": + version: 2.0.8 + resolution: "hammerjs@npm:2.0.8" + checksum: b092da7d1565a165d7edb53ef0ce212837a8b11f897aa3cf81a7818b66686b0ab3f4747fbce8fc8a41d1376594639ce3a054b0fd4889ca8b5b136a29ca500e27 + languageName: node + linkType: hard + "has-ansi@npm:^2.0.0": version: 2.0.0 resolution: "has-ansi@npm:2.0.0" @@ -7370,6 +8122,15 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:0.4": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + "iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -7402,6 +8163,15 @@ __metadata: languageName: node linkType: hard +"image-size@npm:^0.7.4": + version: 0.7.5 + resolution: "image-size@npm:0.7.5" + bin: + image-size: bin/image-size.js + checksum: f88860c9d9b5c8ad00d3de9d6f5ba105bda5a5024bfb6b90559a075a4b838ed4f5d3cba14edf0f18fe5d75df596a172b52feca43848e11c34f31f4df2c88a011 + languageName: node + linkType: hard + "immediate@npm:~3.0.5": version: 3.0.6 resolution: "immediate@npm:3.0.6" @@ -7639,6 +8409,13 @@ __metadata: languageName: node linkType: hard +"is-error@npm:^2.2.0": + version: 2.2.2 + resolution: "is-error@npm:2.2.2" + checksum: a97b39587150f0d38f9f93f64699807fe3020fe5edbd63548f234dc2ba96fd7c776d66c062bf031dfeb93c7f48db563ff6bde588418ca041da37c659a416f055 + languageName: node + linkType: hard + "is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": version: 0.1.1 resolution: "is-extendable@npm:0.1.1" @@ -8002,6 +8779,13 @@ __metadata: languageName: node linkType: hard +"jsep@npm:^0.3.0": + version: 0.3.5 + resolution: "jsep@npm:0.3.5" + checksum: fb89b4ca9d85d3f4ec9edb079c042ffad1c548e00297d7c08e90194e7c8688e09e52a5781af2e028d51fc86fd6a9089a5e5fc0cd2a6c778e4e4531a1a3ff7015 + languageName: node + linkType: hard + "jsep@npm:^1.1.2, jsep@npm:^1.2.0": version: 1.3.8 resolution: "jsep@npm:1.3.8" @@ -8205,6 +8989,13 @@ __metadata: languageName: node linkType: hard +"ktx-parse@npm:^0.0.4": + version: 0.0.4 + resolution: "ktx-parse@npm:0.0.4" + checksum: 61958a3cbc35f8e489ab5f98ea1e63f4395bf797c8b84fe33f27afbdbf44c1edde8828fd065dae83c80d0c1d09116b99289966a14fdaeebc93239b21bcbd9202 + languageName: node + linkType: hard + "language-subtag-registry@npm:~0.3.2": version: 0.3.22 resolution: "language-subtag-registry@npm:0.3.22" @@ -8228,6 +9019,13 @@ __metadata: languageName: node linkType: hard +"lerc@npm:^4.0.1": + version: 4.0.1 + resolution: "lerc@npm:4.0.1" + checksum: 410c6eddd70b737e43e99c7c2d45c3c9651384af8025f9fe2084719d761baccfdb3abf5cefa8f8e6efc0b121b8a972694971b7849812c5078ca0fee9ff3d8780 + languageName: node + linkType: hard + "leven@npm:^3.1.0": version: 3.1.0 resolution: "leven@npm:3.1.0" @@ -8407,6 +9205,20 @@ __metadata: languageName: node linkType: hard +"long@npm:^3.2.0": + version: 3.2.0 + resolution: "long@npm:3.2.0" + checksum: bc27bdeab42cb2f25d0a0faf5fbf77b657bd59236ae0ed649c44f91f35e632230ebd0c62d208bb4e9c69ca558a45e9c9c0810e6b5c0380a1754b8f3b5b7b62d7 + languageName: node + linkType: hard + +"long@npm:^5.2.1": + version: 5.2.3 + resolution: "long@npm:5.2.3" + checksum: 885ede7c3de4facccbd2cacc6168bae3a02c3e836159ea4252c87b6e34d40af819824b2d4edce330bfb5c4d6e8ce3ec5864bdcf9473fa1f53a4f8225860e5897 + languageName: node + linkType: hard + "loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -8544,6 +9356,15 @@ __metadata: languageName: node linkType: hard +"math.gl@npm:^3.6.2": + version: 3.6.3 + resolution: "math.gl@npm:3.6.3" + dependencies: + "@math.gl/core": 3.6.3 + checksum: fb626ebabd8f26f7f0ec3b7689205bd0465a2b7bfbcfc98cb808a9ff379c500570f012d4f0bbb2b3fc2fec91b4e0d4569cd986d6e818b6dac3013fd03db6de84 + languageName: node + linkType: hard + "mdn-data@npm:2.0.14": version: 2.0.14 resolution: "mdn-data@npm:2.0.14" @@ -8791,6 +9612,16 @@ __metadata: languageName: node linkType: hard +"mjolnir.js@npm:^2.7.0": + version: 2.7.1 + resolution: "mjolnir.js@npm:2.7.1" + dependencies: + "@types/hammerjs": ^2.0.41 + hammerjs: ^2.0.8 + checksum: 41a8e4d28e9f10ff411a6ca5e67eb35961faea5d284350bc54551a9fd44044e9001b1296c0aef938e6bac6efc7e0d53cf75caa6871e443f87467da788b31e64b + languageName: node + linkType: hard + "mkdirp@npm:^1.0.3": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -8800,6 +9631,22 @@ __metadata: languageName: node linkType: hard +"moment-timezone@npm:^0.5.33": + version: 0.5.43 + resolution: "moment-timezone@npm:0.5.43" + dependencies: + moment: ^2.29.4 + checksum: 8075c897ed8a044f992ef26fe8cdbcad80caf974251db424cae157473cca03be2830de8c74d99341b76edae59f148c9d9d19c1c1d9363259085688ec1cf508d0 + languageName: node + linkType: hard + +"moment@npm:^2.29.4": + version: 2.29.4 + resolution: "moment@npm:2.29.4" + checksum: 0ec3f9c2bcba38dc2451b1daed5daded747f17610b92427bebe1d08d48d8b7bdd8d9197500b072d14e326dd0ccf3e326b9e3d07c5895d3d49e39b6803b76e80e + languageName: node + linkType: hard + "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -9873,6 +10720,15 @@ __metadata: languageName: node linkType: hard +"quadbin@npm:^0.1.9": + version: 0.1.9 + resolution: "quadbin@npm:0.1.9" + dependencies: + "@mapbox/tile-cover": 3.0.1 + checksum: 318113ac94178659f8e589644b4a0c14817262eb0ab2418f7313052133a53009b52870220e88759efdea7f467448d7fdd063758deb8014be5652208e451a6733 + languageName: node + linkType: hard + "query-string@npm:^4.3.2": version: 4.3.4 resolution: "query-string@npm:4.3.4" @@ -10436,7 +11292,7 @@ __metadata: languageName: node linkType: hard -"rw@npm:^1.3.3": +"rw@npm:1, rw@npm:^1.3.3": version: 1.3.3 resolution: "rw@npm:1.3.3" checksum: c20d82421f5a71c86a13f76121b751553a99cd4a70ea27db86f9b23f33db941f3f06019c30f60d50c356d0bd674c8e74764ac146ea55e217c091bde6fba82aa3 @@ -10512,7 +11368,7 @@ __metadata: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 @@ -10723,6 +11579,12 @@ __metadata: version: 0.0.0-use.local resolution: "skytruth-30x30-frontend@workspace:." dependencies: + "@deck.gl/aggregation-layers": 8.9.31 + "@deck.gl/core": 8.9.31 + "@deck.gl/geo-layers": 8.9.31 + "@deck.gl/json": 8.9.31 + "@deck.gl/layers": 8.9.31 + "@deck.gl/mapbox": 8.9.31 "@loaders.gl/core": ^3.4.14 "@loaders.gl/kml": ^3.4.14 "@loaders.gl/loader-utils": ^3.4.14 @@ -10759,6 +11621,7 @@ __metadata: cmdk: ^0.2.0 d3-format: ^3.1.0 date-fns: ^2.30.0 + deck.gl: 8.9.31 eslint: 8.32.0 eslint-config-next: 13.2.4 eslint-config-prettier: 8.6.0 @@ -11192,6 +12055,13 @@ __metadata: languageName: node linkType: hard +"strnum@npm:^1.0.5": + version: 1.0.5 + resolution: "strnum@npm:1.0.5" + checksum: 651b2031db5da1bf4a77fdd2f116a8ac8055157c5420f5569f64879133825915ad461513e7202a16d7fec63c54fd822410d0962f8ca12385c4334891b9ae6dd2 + languageName: node + linkType: hard + "styled-jsx@npm:5.1.1": version: 5.1.1 resolution: "styled-jsx@npm:5.1.1" @@ -11443,6 +12313,18 @@ __metadata: languageName: node linkType: hard +"texture-compressor@npm:^1.0.2": + version: 1.0.2 + resolution: "texture-compressor@npm:1.0.2" + dependencies: + argparse: ^1.0.10 + image-size: ^0.7.4 + bin: + texture-compressor: ./bin/texture-compressor.js + checksum: b715e53a34da37c3bf19c2a8e13069302375a8b4e36448af05033105b6bc83782bc1cb9030e35a137271514d854f18eb65e5ff802cecbeb7f0b95ebbd7ed99a3 + languageName: node + linkType: hard + "through@npm:2, through@npm:~2.3, through@npm:~2.3.1": version: 2.3.8 resolution: "through@npm:2.3.8" @@ -11450,6 +12332,13 @@ __metadata: languageName: node linkType: hard +"tilebelt@npm:^1.0.1": + version: 1.0.1 + resolution: "tilebelt@npm:1.0.1" + checksum: f201cf1718f53b8d7b2e89f53f90bbcf6eba5f58fe578da5ce35f93ea4e2302100f019fe2d388a0fb7ec5ceda0b6a0f08d10657b6b54eb5d74db218ad4bad177 + languageName: node + linkType: hard + "tiny-invariant@npm:^1.3.1": version: 1.3.1 resolution: "tiny-invariant@npm:1.3.1" From 3376988df5239af3f7391be822f62adb5dcf14c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Gonz=C3=A1lez=20Mu=C3=B1oz?= Date: Wed, 25 Oct 2023 11:26:22 +0200 Subject: [PATCH 2/6] layer API: EEZ layer implementation --- cms/config/sync/admin-role.strapi-author.json | 678 ++++++++++++++++++ cms/config/sync/admin-role.strapi-editor.json | 582 +++++++++++++++ .../sync/admin-role.strapi-super-admin.json | 80 +++ ...el-stat.fishing-protection-level-stat.json | 12 +- ...n_content_types##api##habitat.habitat.json | 12 +- ...ation_content_types##api##layer.layer.json | 234 ++++++ ...content_types##api##location.location.json | 14 +- cms/config/sync/user-role.authenticated.json | 6 - cms/config/sync/user-role.public.json | 70 +- frontend/package.json | 3 - .../src/components/map/attributions/index.tsx | 41 +- frontend/src/components/map/index.tsx | 2 +- frontend/src/components/map/legend/index.tsx | 9 +- frontend/src/components/map/provider.tsx | 3 + frontend/src/containers/map/popup/index.tsx | 8 +- frontend/src/lib/utils/formats.ts | 8 +- frontend/src/pages/map.tsx | 10 +- frontend/src/store/map.ts | 2 +- frontend/yarn.lock | 3 - 19 files changed, 1639 insertions(+), 138 deletions(-) create mode 100644 cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##layer.layer.json diff --git a/cms/config/sync/admin-role.strapi-author.json b/cms/config/sync/admin-role.strapi-author.json index 5e96e80b..9cde45eb 100644 --- a/cms/config/sync/admin-role.strapi-author.json +++ b/cms/config/sync/admin-role.strapi-author.json @@ -3,6 +3,684 @@ "code": "strapi-author", "description": "Authors can manage the content they have created.", "permissions": [ + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::fishing-protection-level-stat.fishing-protection-level-stat", + "properties": { + "fields": [ + "location", + "fishing_protection_level", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::fishing-protection-level-stat.fishing-protection-level-stat", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::fishing-protection-level-stat.fishing-protection-level-stat", + "properties": { + "fields": [ + "location", + "fishing_protection_level", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::fishing-protection-level-stat.fishing-protection-level-stat", + "properties": { + "fields": [ + "location", + "fishing_protection_level", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::fishing-protection-level.fishing-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::fishing-protection-level.fishing-protection-level", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::fishing-protection-level.fishing-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::fishing-protection-level.fishing-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::habitat-stat.habitat-stat", + "properties": { + "fields": [ + "location", + "habitat", + "year", + "protectedArea", + "totalArea" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::habitat-stat.habitat-stat", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::habitat-stat.habitat-stat", + "properties": { + "fields": [ + "location", + "habitat", + "year", + "protectedArea", + "totalArea" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::habitat-stat.habitat-stat", + "properties": { + "fields": [ + "location", + "habitat", + "year", + "protectedArea", + "totalArea" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::habitat.habitat", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::habitat.habitat", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::habitat.habitat", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::habitat.habitat", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::location.location", + "properties": { + "fields": [ + "code", + "name", + "totalMarineArea", + "type", + "groups", + "members" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::location.location", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::location.location", + "properties": { + "fields": [ + "code", + "name", + "totalMarineArea", + "type", + "groups", + "members" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::location.location", + "properties": { + "fields": [ + "code", + "name", + "totalMarineArea", + "type", + "groups", + "members" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpa.mpa", + "properties": { + "fields": [ + "wdpaid", + "name", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpa.mpa", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpa.mpa", + "properties": { + "fields": [ + "wdpaid", + "name", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpa.mpa", + "properties": { + "fields": [ + "wdpaid", + "name", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat", + "properties": { + "fields": [ + "location", + "mpaa_establishment_stage", + "protection_status", + "year", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat", + "properties": { + "fields": [ + "location", + "mpaa_establishment_stage", + "protection_status", + "year", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat", + "properties": { + "fields": [ + "location", + "mpaa_establishment_stage", + "protection_status", + "year", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage.mpaa-establishment-stage", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage.mpaa-establishment-stage", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage.mpaa-establishment-stage", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage.mpaa-establishment-stage", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpaa-protection-level-stat.mpaa-protection-level-stat", + "properties": { + "fields": [ + "location", + "mpaa_protection_level", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpaa-protection-level-stat.mpaa-protection-level-stat", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpaa-protection-level-stat.mpaa-protection-level-stat", + "properties": { + "fields": [ + "location", + "mpaa_protection_level", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpaa-protection-level-stat.mpaa-protection-level-stat", + "properties": { + "fields": [ + "location", + "mpaa_protection_level", + "area" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpaa-protection-level.mpaa-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpaa-protection-level.mpaa-protection-level", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpaa-protection-level.mpaa-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpaa-protection-level.mpaa-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::protection-coverage-stat.protection-coverage-stat", + "properties": { + "fields": [ + "location", + "protection_status", + "year", + "cumSumProtectedArea", + "protectedArea", + "protectedAreasCount" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::protection-coverage-stat.protection-coverage-stat", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::protection-coverage-stat.protection-coverage-stat", + "properties": { + "fields": [ + "location", + "protection_status", + "year", + "cumSumProtectedArea", + "protectedArea", + "protectedAreasCount" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::protection-coverage-stat.protection-coverage-stat", + "properties": { + "fields": [ + "location", + "protection_status", + "year", + "cumSumProtectedArea", + "protectedArea", + "protectedAreasCount" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::protection-status.protection-status", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::protection-status.protection-status", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::protection-status.protection-status", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::protection-status.protection-status", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, { "action": "plugin::upload.assets.copy-link", "actionParameters": {}, diff --git a/cms/config/sync/admin-role.strapi-editor.json b/cms/config/sync/admin-role.strapi-editor.json index 30b6d5e0..22858de2 100644 --- a/cms/config/sync/admin-role.strapi-editor.json +++ b/cms/config/sync/admin-role.strapi-editor.json @@ -3,6 +3,588 @@ "code": "strapi-editor", "description": "Editors can manage and publish contents including those of other users.", "permissions": [ + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::fishing-protection-level-stat.fishing-protection-level-stat", + "properties": { + "fields": [ + "location", + "fishing_protection_level", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::fishing-protection-level-stat.fishing-protection-level-stat", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::fishing-protection-level-stat.fishing-protection-level-stat", + "properties": { + "fields": [ + "location", + "fishing_protection_level", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::fishing-protection-level-stat.fishing-protection-level-stat", + "properties": { + "fields": [ + "location", + "fishing_protection_level", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::fishing-protection-level.fishing-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::fishing-protection-level.fishing-protection-level", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::fishing-protection-level.fishing-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::fishing-protection-level.fishing-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::habitat-stat.habitat-stat", + "properties": { + "fields": [ + "location", + "habitat", + "year", + "protectedArea", + "totalArea" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::habitat-stat.habitat-stat", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::habitat-stat.habitat-stat", + "properties": { + "fields": [ + "location", + "habitat", + "year", + "protectedArea", + "totalArea" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::habitat-stat.habitat-stat", + "properties": { + "fields": [ + "location", + "habitat", + "year", + "protectedArea", + "totalArea" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::habitat.habitat", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::habitat.habitat", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::habitat.habitat", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::habitat.habitat", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::location.location", + "properties": { + "fields": [ + "code", + "name", + "totalMarineArea", + "type", + "groups", + "members" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::location.location", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::location.location", + "properties": { + "fields": [ + "code", + "name", + "totalMarineArea", + "type", + "groups", + "members" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::location.location", + "properties": { + "fields": [ + "code", + "name", + "totalMarineArea", + "type", + "groups", + "members" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpa.mpa", + "properties": { + "fields": [ + "wdpaid", + "name", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpa.mpa", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpa.mpa", + "properties": { + "fields": [ + "wdpaid", + "name", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpa.mpa", + "properties": { + "fields": [ + "wdpaid", + "name", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat", + "properties": { + "fields": [ + "location", + "mpaa_establishment_stage", + "protection_status", + "year", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat", + "properties": { + "fields": [ + "location", + "mpaa_establishment_stage", + "protection_status", + "year", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat", + "properties": { + "fields": [ + "location", + "mpaa_establishment_stage", + "protection_status", + "year", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage.mpaa-establishment-stage", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage.mpaa-establishment-stage", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage.mpaa-establishment-stage", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpaa-establishment-stage.mpaa-establishment-stage", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpaa-protection-level-stat.mpaa-protection-level-stat", + "properties": { + "fields": [ + "location", + "mpaa_protection_level", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpaa-protection-level-stat.mpaa-protection-level-stat", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpaa-protection-level-stat.mpaa-protection-level-stat", + "properties": { + "fields": [ + "location", + "mpaa_protection_level", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpaa-protection-level-stat.mpaa-protection-level-stat", + "properties": { + "fields": [ + "location", + "mpaa_protection_level", + "area" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::mpaa-protection-level.mpaa-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::mpaa-protection-level.mpaa-protection-level", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::mpaa-protection-level.mpaa-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::mpaa-protection-level.mpaa-protection-level", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::protection-coverage-stat.protection-coverage-stat", + "properties": { + "fields": [ + "location", + "protection_status", + "year", + "cumSumProtectedArea", + "protectedArea", + "protectedAreasCount" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::protection-coverage-stat.protection-coverage-stat", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::protection-coverage-stat.protection-coverage-stat", + "properties": { + "fields": [ + "location", + "protection_status", + "year", + "cumSumProtectedArea", + "protectedArea", + "protectedAreasCount" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::protection-coverage-stat.protection-coverage-stat", + "properties": { + "fields": [ + "location", + "protection_status", + "year", + "cumSumProtectedArea", + "protectedArea", + "protectedAreasCount" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::protection-status.protection-status", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::protection-status.protection-status", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::protection-status.protection-status", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::protection-status.protection-status", + "properties": { + "fields": [ + "slug", + "name", + "info" + ] + }, + "conditions": [] + }, { "action": "plugin::upload.assets.copy-link", "actionParameters": {}, diff --git a/cms/config/sync/admin-role.strapi-super-admin.json b/cms/config/sync/admin-role.strapi-super-admin.json index ab25583f..47a7a31e 100644 --- a/cms/config/sync/admin-role.strapi-super-admin.json +++ b/cms/config/sync/admin-role.strapi-super-admin.json @@ -236,6 +236,86 @@ }, "conditions": [] }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": { + "fields": [ + "title", + "type", + "config", + "params_config", + "legend_config", + "interaction_config", + "metadata.description", + "metadata.citation", + "metadata.source", + "metadata.resolution", + "metadata.content_date", + "metadata.license" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.publish", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": { + "fields": [ + "title", + "type", + "config", + "params_config", + "legend_config", + "interaction_config", + "metadata.description", + "metadata.citation", + "metadata.source", + "metadata.resolution", + "metadata.content_date", + "metadata.license" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": { + "fields": [ + "title", + "type", + "config", + "params_config", + "legend_config", + "interaction_config", + "metadata.description", + "metadata.citation", + "metadata.source", + "metadata.resolution", + "metadata.content_date", + "metadata.license" + ] + }, + "conditions": [] + }, { "action": "plugin::content-manager.explorer.create", "actionParameters": {}, diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##fishing-protection-level-stat.fishing-protection-level-stat.json b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##fishing-protection-level-stat.fishing-protection-level-stat.json index aba53dd4..374dfbc4 100644 --- a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##fishing-protection-level-stat.fishing-protection-level-stat.json +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##fishing-protection-level-stat.fishing-protection-level-stat.json @@ -127,24 +127,24 @@ "list": [ "id", "location", - "area", - "fishing_protection_level" + "fishing_protection_level", + "area" ], "edit": [ [ { "name": "location", "size": 6 + }, + { + "name": "fishing_protection_level", + "size": 6 } ], [ { "name": "area", "size": 4 - }, - { - "name": "fishing_protection_level", - "size": 6 } ] ] diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##habitat.habitat.json b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##habitat.habitat.json index 0fa5a230..44421cb0 100644 --- a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##habitat.habitat.json +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##habitat.habitat.json @@ -122,6 +122,12 @@ } }, "layouts": { + "list": [ + "id", + "slug", + "name", + "info" + ], "edit": [ [ { @@ -139,12 +145,6 @@ "size": 6 } ] - ], - "list": [ - "id", - "name", - "info", - "slug" ] } }, diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##layer.layer.json b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##layer.layer.json new file mode 100644 index 00000000..1f589d3e --- /dev/null +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##layer.layer.json @@ -0,0 +1,234 @@ +{ + "key": "plugin_content_manager_configuration_content_types::api::layer.layer", + "value": { + "uid": "api::layer.layer", + "settings": { + "bulkable": true, + "filterable": true, + "searchable": true, + "pageSize": 10, + "mainField": "title", + "defaultSortBy": "title", + "defaultSortOrder": "ASC" + }, + "metadatas": { + "id": { + "edit": {}, + "list": { + "label": "id", + "searchable": true, + "sortable": true + } + }, + "title": { + "edit": { + "label": "title", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "title", + "searchable": true, + "sortable": true + } + }, + "type": { + "edit": { + "label": "type", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "type", + "searchable": true, + "sortable": true + } + }, + "config": { + "edit": { + "label": "config", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "config", + "searchable": false, + "sortable": false + } + }, + "params_config": { + "edit": { + "label": "params_config", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "params_config", + "searchable": false, + "sortable": false + } + }, + "legend_config": { + "edit": { + "label": "legend_config", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "legend_config", + "searchable": false, + "sortable": false + } + }, + "interaction_config": { + "edit": { + "label": "interaction_config", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "interaction_config", + "searchable": false, + "sortable": false + } + }, + "metadata": { + "edit": { + "label": "metadata", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "metadata", + "searchable": false, + "sortable": false + } + }, + "createdAt": { + "edit": { + "label": "createdAt", + "description": "", + "placeholder": "", + "visible": false, + "editable": true + }, + "list": { + "label": "createdAt", + "searchable": true, + "sortable": true + } + }, + "updatedAt": { + "edit": { + "label": "updatedAt", + "description": "", + "placeholder": "", + "visible": false, + "editable": true + }, + "list": { + "label": "updatedAt", + "searchable": true, + "sortable": true + } + }, + "createdBy": { + "edit": { + "label": "createdBy", + "description": "", + "placeholder": "", + "visible": false, + "editable": true, + "mainField": "firstname" + }, + "list": { + "label": "createdBy", + "searchable": true, + "sortable": true + } + }, + "updatedBy": { + "edit": { + "label": "updatedBy", + "description": "", + "placeholder": "", + "visible": false, + "editable": true, + "mainField": "firstname" + }, + "list": { + "label": "updatedBy", + "searchable": true, + "sortable": true + } + } + }, + "layouts": { + "list": [ + "id", + "title", + "type", + "metadata" + ], + "edit": [ + [ + { + "name": "title", + "size": 6 + }, + { + "name": "type", + "size": 6 + } + ], + [ + { + "name": "config", + "size": 12 + } + ], + [ + { + "name": "params_config", + "size": 12 + } + ], + [ + { + "name": "legend_config", + "size": 12 + } + ], + [ + { + "name": "interaction_config", + "size": 12 + } + ], + [ + { + "name": "metadata", + "size": 12 + } + ] + ] + } + }, + "type": "object", + "environment": null, + "tag": null +} \ No newline at end of file diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##location.location.json b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##location.location.json index 6c9a3512..4a292e20 100644 --- a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##location.location.json +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##location.location.json @@ -215,7 +215,7 @@ "id", "code", "name", - "type" + "totalMarineArea" ], "edit": [ [ @@ -228,23 +228,21 @@ "size": 6 } ], - [ - { - "name": "type", - "size": 6 - } - ], [ { "name": "totalMarineArea", "size": 4 }, { - "name": "groups", + "name": "type", "size": 6 } ], [ + { + "name": "groups", + "size": 6 + }, { "name": "members", "size": 6 diff --git a/cms/config/sync/user-role.authenticated.json b/cms/config/sync/user-role.authenticated.json index 36bec0f3..ef2d7a58 100644 --- a/cms/config/sync/user-role.authenticated.json +++ b/cms/config/sync/user-role.authenticated.json @@ -3,12 +3,6 @@ "description": "Default role given to authenticated user.", "type": "authenticated", "permissions": [ - { - "action": "api::location.location.find" - }, - { - "action": "api::location.location.findOne" - }, { "action": "plugin::users-permissions.auth.changePassword" }, diff --git a/cms/config/sync/user-role.public.json b/cms/config/sync/user-role.public.json index bb43518a..fea25478 100644 --- a/cms/config/sync/user-role.public.json +++ b/cms/config/sync/user-role.public.json @@ -4,28 +4,10 @@ "type": "public", "permissions": [ { - "action": "api::fishing-protection-level-stat.fishing-protection-level-stat.find" + "action": "api::layer.layer.find" }, { - "action": "api::fishing-protection-level-stat.fishing-protection-level-stat.findOne" - }, - { - "action": "api::fishing-protection-level.fishing-protection-level.find" - }, - { - "action": "api::fishing-protection-level.fishing-protection-level.findOne" - }, - { - "action": "api::habitat-stat.habitat-stat.find" - }, - { - "action": "api::habitat-stat.habitat-stat.findOne" - }, - { - "action": "api::habitat.habitat.find" - }, - { - "action": "api::habitat.habitat.findOne" + "action": "api::layer.layer.findOne" }, { "action": "api::location.location.find" @@ -33,54 +15,6 @@ { "action": "api::location.location.findOne" }, - { - "action": "api::mpa-protection-coverage-stat.mpa-protection-coverage-stat.find" - }, - { - "action": "api::mpa-protection-coverage-stat.mpa-protection-coverage-stat.findOne" - }, - { - "action": "api::mpa.mpa.find" - }, - { - "action": "api::mpa.mpa.findOne" - }, - { - "action": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat.find" - }, - { - "action": "api::mpaa-establishment-stage-stat.mpaa-establishment-stage-stat.findOne" - }, - { - "action": "api::mpaa-establishment-stage.mpaa-establishment-stage.find" - }, - { - "action": "api::mpaa-establishment-stage.mpaa-establishment-stage.findOne" - }, - { - "action": "api::mpaa-protection-level-stat.mpaa-protection-level-stat.find" - }, - { - "action": "api::mpaa-protection-level-stat.mpaa-protection-level-stat.findOne" - }, - { - "action": "api::mpaa-protection-level.mpaa-protection-level.find" - }, - { - "action": "api::mpaa-protection-level.mpaa-protection-level.findOne" - }, - { - "action": "api::protection-coverage-stat.protection-coverage-stat.find" - }, - { - "action": "api::protection-coverage-stat.protection-coverage-stat.findOne" - }, - { - "action": "api::protection-status.protection-status.find" - }, - { - "action": "api::protection-status.protection-status.findOne" - }, { "action": "plugin::users-permissions.auth.callback" }, diff --git a/frontend/package.json b/frontend/package.json index 1641fb1d..5be506f3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -16,9 +16,6 @@ }, "packageManager": "yarn@3.5.0", "dependencies": { - "@deck.gl/aggregation-layers": "8.9.31", - "@deck.gl/core": "8.9.31", - "@deck.gl/geo-layers": "8.9.31", "@deck.gl/json": "8.9.31", "@deck.gl/layers": "8.9.31", "@deck.gl/mapbox": "8.9.31", diff --git a/frontend/src/components/map/attributions/index.tsx b/frontend/src/components/map/attributions/index.tsx index b0aab578..73d0fc06 100644 --- a/frontend/src/components/map/attributions/index.tsx +++ b/frontend/src/components/map/attributions/index.tsx @@ -1,31 +1,36 @@ -import { FC, useMemo } from 'react'; +import { FC } from 'react'; import { AttributionControl } from 'react-map-gl'; -import { LAYERS } from '@/constants/map'; -import { useSyncMapSettings } from '@/containers/map/sync-settings'; +import { useSyncMapLayers } from '@/containers/map/sync-settings'; +import { useGetLayers } from '@/types/generated/layer'; const Attributions: FC = () => { - const [{ layers: activeLayers = [] }] = useSyncMapSettings(); + const [activeLayers] = useSyncMapLayers(); - const customAttributions = useMemo(() => { - return activeLayers - .map((layer) => { - const layerDef = LAYERS.find(({ id }) => id === layer.id); - if (!layerDef) { - return; - } - - return layerDef.metadata?.attributions; - }) - .filter((attributions) => !!attributions); - }, [activeLayers]); + const layerQuery = useGetLayers( + { + filters: { + id: { + $in: activeLayers, + }, + }, + populate: 'metadata', + }, + { + query: { + enabled: !!activeLayers.length, + select: ({ data }) => + data.map(({ attributes: { metadata } }) => metadata?.source).filter((source) => !!source), + }, + } + ); return ( ); }; diff --git a/frontend/src/components/map/index.tsx b/frontend/src/components/map/index.tsx index 87d07f3b..2e72ca19 100644 --- a/frontend/src/components/map/index.tsx +++ b/frontend/src/components/map/index.tsx @@ -132,7 +132,7 @@ export const Map: FC = ({ mapboxAccessToken={process.env.NEXT_PUBLIC_MAPBOX_API_TOKEN} onMove={handleMapMove} onLoad={handleMapLoad} - mapStyle="mapbox://styles/skytruth/clnud2d3100nr01pl3b4icpyw/draft" + mapStyle="mapbox://styles/skytruth/clnud2d3100nr01pl3b4icpyw" {...mapboxProps} {...localViewState} > diff --git a/frontend/src/components/map/legend/index.tsx b/frontend/src/components/map/legend/index.tsx index a029cd55..7b8fc1dc 100644 --- a/frontend/src/components/map/legend/index.tsx +++ b/frontend/src/components/map/legend/index.tsx @@ -5,7 +5,7 @@ import { usePreviousDifferent } from 'rooks'; import { Accordion, - AccordionContent, + // AccordionContent, AccordionItem, AccordionTrigger, } from '@/components/ui/accordion'; @@ -19,9 +19,9 @@ import { useSyncMapLayerSettings, useSyncMapLayers } from '@/containers/map/sync import { cn } from '@/lib/classnames'; import { useGetLayers } from '@/types/generated/layer'; import { LayerResponseDataObject } from '@/types/generated/strapi.schemas'; -import { LayerTyped } from '@/types/layers'; +// import { LayerTyped } from '@/types/layers'; -import LegendItems from './items'; +// import LegendItems from './items'; const Legend: FC = () => { const [opened, setOpened] = useState(false); @@ -101,7 +101,6 @@ const Legend: FC = () => { const onMoveLayerUp = useCallback( (layerId: LayerResponseDataObject['id']) => { - // const newActiveLayers = [...activeLayers]; const layerIndex = activeLayers.findIndex((_layerId) => _layerId === layerId); if (layerIndex === -1) { return; @@ -169,7 +168,7 @@ const Legend: FC = () => { })} onValueChange={onToggleAccordion} > - {layersQuery.data.map(({ id, attributes: { title, legend_config } }, index) => { + {layersQuery.data.map(({ id, attributes: { title } }, index) => { const isFirst = index === 0; const isLast = index + 1 === layersQuery.data.length; diff --git a/frontend/src/components/map/provider.tsx b/frontend/src/components/map/provider.tsx index 5102ed22..a462dfc4 100644 --- a/frontend/src/components/map/provider.tsx +++ b/frontend/src/components/map/provider.tsx @@ -5,6 +5,7 @@ import { useControl } from 'react-map-gl'; import { MapboxOverlay, MapboxOverlayProps } from '@deck.gl/mapbox/typed'; interface DeckMapboxOverlayContext { + // eslint-disable-next-line @typescript-eslint/no-explicit-any addLayer: (layer: any) => void; removeLayer: (id: string) => void; } @@ -30,6 +31,7 @@ function useMapboxOverlay( } export const DeckMapboxOverlayProvider = ({ children }: PropsWithChildren) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any const layersRef = useRef([]); const OVERLAY = useMapboxOverlay({ @@ -37,6 +39,7 @@ export const DeckMapboxOverlayProvider = ({ children }: PropsWithChildren) => { }); const addLayer = useCallback( + // eslint-disable-next-line @typescript-eslint/no-explicit-any (layer: any) => { const newLayers = [...layersRef.current.filter((l) => l.id !== layer.id), layer]; diff --git a/frontend/src/containers/map/popup/index.tsx b/frontend/src/containers/map/popup/index.tsx index c409d000..2054e857 100644 --- a/frontend/src/containers/map/popup/index.tsx +++ b/frontend/src/containers/map/popup/index.tsx @@ -1,6 +1,6 @@ import { Popup } from 'react-map-gl'; -import { useAtom, useAtomValue } from 'jotai'; +import { useAtomValue, useSetAtom } from 'jotai'; import PopupItem from '@/containers/map/popup/item'; import { layersInteractiveAtom, popupAtom } from '@/store/map'; @@ -10,9 +10,9 @@ const PopupContainer = () => { const layersInteractive = useAtomValue(layersInteractiveAtom); const lys = [...layersInteractive].reverse(); - const [, setPopup] = useAtom(popupAtom); + const setPopup = useSetAtom(popupAtom); - if (!popup) return null; + if (!Object.keys(popup).length) return null; return ( { padding: 0, }} maxWidth="300px" - onClose={() => setPopup(null)} + onClose={() => setPopup({})} >
    diff --git a/frontend/src/lib/utils/formats.ts b/frontend/src/lib/utils/formats.ts index d38029f8..f3b26107 100644 --- a/frontend/src/lib/utils/formats.ts +++ b/frontend/src/lib/utils/formats.ts @@ -11,12 +11,12 @@ export function formatPercentage(value: number, options?: Intl.NumberFormatOptio export function formatHA(value: number, options?: Intl.NumberFormatOptions) { const v = Intl.NumberFormat('en-US', { - notation: 'compact', + notation: 'standard', compactDisplay: 'short', - minimumFractionDigits: 0, - maximumFractionDigits: 2, + // minimumFractionDigits: 0, + // maximumFractionDigits: 2, style: 'unit', - unit: 'hectare', + unit: 'kilometer', unitDisplay: 'short', ...options, }); diff --git a/frontend/src/pages/map.tsx b/frontend/src/pages/map.tsx index c2c35a00..8f93ec98 100644 --- a/frontend/src/pages/map.tsx +++ b/frontend/src/pages/map.tsx @@ -4,7 +4,7 @@ import { useMap } from 'react-map-gl'; import dynamic from 'next/dynamic'; -import { useAtom, useAtomValue } from 'jotai'; +import { useAtomValue, useSetAtom } from 'jotai'; import { ChevronLeft } from 'lucide-react'; import Map, { @@ -18,7 +18,7 @@ import Map, { import SidebarContent from '@/components/sidebar-content'; import { Button } from '@/components/ui/button'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible'; -import Popup from '@/containers/map/popup'; +// import Popup from '@/containers/map/popup'; import { useSyncMapSettings } from '@/containers/map/sync-settings'; import FullscreenLayout from '@/layouts/fullscreen'; import { cn } from '@/lib/classnames'; @@ -37,10 +37,10 @@ const LayerManager = dynamic(() => import('@/containers/map/layer-manager'), { const MapPage: React.FC = () => { const [sidebarOpen, setSidebarOpen] = useState(true); - const drawState = useAtomValue(drawStateAtom); const [{ bbox }, setMapSettings] = useSyncMapSettings(); const { default: map } = useMap(); - const [, setPopup] = useAtom(popupAtom); + const drawState = useAtomValue(drawStateAtom); + const setPopup = useSetAtom(popupAtom); const layersInteractive = useAtomValue(layersInteractiveAtom); const layersInteractiveIds = useAtomValue(layersInteractiveIdsAtom); @@ -129,7 +129,7 @@ const MapPage: React.FC = () => { > - + {/* */} ({ export const layersInteractiveAtom = atom([]); export const layersInteractiveIdsAtom = atom([]); -export const popupAtom = atom>(null); +export const popupAtom = atom>({}); diff --git a/frontend/yarn.lock b/frontend/yarn.lock index ac397373..9fb2fd81 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -11579,9 +11579,6 @@ __metadata: version: 0.0.0-use.local resolution: "skytruth-30x30-frontend@workspace:." dependencies: - "@deck.gl/aggregation-layers": 8.9.31 - "@deck.gl/core": 8.9.31 - "@deck.gl/geo-layers": 8.9.31 "@deck.gl/json": 8.9.31 "@deck.gl/layers": 8.9.31 "@deck.gl/mapbox": 8.9.31 From 9a3633b694e4a8c16b86c8ba453c7e2ac1e8b44f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Gonz=C3=A1lez=20Mu=C3=B1oz?= Date: Wed, 25 Oct 2023 12:17:25 +0200 Subject: [PATCH 3/6] generated types --- .../src/types/generated/strapi.schemas.ts | 8001 ++++++++++++----- 1 file changed, 5550 insertions(+), 2451 deletions(-) diff --git a/frontend/src/types/generated/strapi.schemas.ts b/frontend/src/types/generated/strapi.schemas.ts index 392bb219..4f42300c 100644 --- a/frontend/src/types/generated/strapi.schemas.ts +++ b/frontend/src/types/generated/strapi.schemas.ts @@ -679,27 +679,11 @@ export interface UploadFile { export type ProtectionStatusResponseMeta = { [key: string]: any }; -export interface ProtectionStatusResponseDataObject { - id?: number; - attributes?: ProtectionStatus; -} - export interface ProtectionStatusResponse { data?: ProtectionStatusResponseDataObject; meta?: ProtectionStatusResponseMeta; } -export type ProtectionStatusUpdatedByDataAttributes = { [key: string]: any }; - -export type ProtectionStatusUpdatedByData = { - id?: number; - attributes?: ProtectionStatusUpdatedByDataAttributes; -}; - -export type ProtectionStatusUpdatedBy = { - data?: ProtectionStatusUpdatedByData; -}; - export interface ProtectionStatus { slug: string; name: string; @@ -710,30 +694,20 @@ export interface ProtectionStatus { updatedBy?: ProtectionStatusUpdatedBy; } -export type ProtectionStatusCreatedByDataAttributesUpdatedByData = { +export interface ProtectionStatusResponseDataObject { id?: number; - attributes?: ProtectionStatusCreatedByDataAttributesUpdatedByDataAttributes; -}; + attributes?: ProtectionStatus; +} -export type ProtectionStatusCreatedByDataAttributesUpdatedBy = { - data?: ProtectionStatusCreatedByDataAttributesUpdatedByData; +export type ProtectionStatusUpdatedByDataAttributes = { [key: string]: any }; + +export type ProtectionStatusUpdatedByData = { + id?: number; + attributes?: ProtectionStatusUpdatedByDataAttributes; }; -export type ProtectionStatusCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: ProtectionStatusCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionStatusCreatedByDataAttributesCreatedBy; - updatedBy?: ProtectionStatusCreatedByDataAttributesUpdatedBy; +export type ProtectionStatusUpdatedBy = { + data?: ProtectionStatusUpdatedByData; }; export type ProtectionStatusCreatedByData = { @@ -747,6 +721,15 @@ export type ProtectionStatusCreatedBy = { export type ProtectionStatusCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; +export type ProtectionStatusCreatedByDataAttributesUpdatedByData = { + id?: number; + attributes?: ProtectionStatusCreatedByDataAttributesUpdatedByDataAttributes; +}; + +export type ProtectionStatusCreatedByDataAttributesUpdatedBy = { + data?: ProtectionStatusCreatedByDataAttributesUpdatedByData; +}; + export type ProtectionStatusCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; export type ProtectionStatusCreatedByDataAttributesCreatedByData = { @@ -758,27 +741,27 @@ export type ProtectionStatusCreatedByDataAttributesCreatedBy = { data?: ProtectionStatusCreatedByDataAttributesCreatedByData; }; -export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; -}; - -export type ProtectionStatusCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributes; -}; - export type ProtectionStatusCreatedByDataAttributesRoles = { data?: ProtectionStatusCreatedByDataAttributesRolesDataItem[]; }; +export type ProtectionStatusCreatedByDataAttributes = { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: ProtectionStatusCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionStatusCreatedByDataAttributesCreatedBy; + updatedBy?: ProtectionStatusCreatedByDataAttributesUpdatedBy; +}; + export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -812,6 +795,23 @@ export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermis data?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; +export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +}; + +export type ProtectionStatusCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: ProtectionStatusCreatedByDataAttributesRolesDataItemAttributes; +}; + export type ProtectionStatusCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -903,18 +903,11 @@ export interface ProtectionStatusListResponse { export type ProtectionCoverageStatResponseMeta = { [key: string]: any }; -export interface ProtectionCoverageStatResponseDataObject { - id?: number; - attributes?: ProtectionCoverageStat; -} - export interface ProtectionCoverageStatResponse { data?: ProtectionCoverageStatResponseDataObject; meta?: ProtectionCoverageStatResponseMeta; } -export type ProtectionCoverageStatUpdatedByDataAttributes = { [key: string]: any }; - export type ProtectionCoverageStatUpdatedByData = { id?: number; attributes?: ProtectionCoverageStatUpdatedByDataAttributes; @@ -924,27 +917,12 @@ export type ProtectionCoverageStatUpdatedBy = { data?: ProtectionCoverageStatUpdatedByData; }; -export type ProtectionCoverageStatCreatedByDataAttributes = { [key: string]: any }; - -export type ProtectionCoverageStatCreatedByData = { - id?: number; - attributes?: ProtectionCoverageStatCreatedByDataAttributes; -}; - -export type ProtectionCoverageStatCreatedBy = { - data?: ProtectionCoverageStatCreatedByData; -}; - -export type ProtectionCoverageStatProtectionStatus = { - data?: ProtectionCoverageStatProtectionStatusData; -}; - export interface ProtectionCoverageStat { location?: ProtectionCoverageStatLocation; protection_status?: ProtectionCoverageStatProtectionStatus; year: number; cumSumProtectedArea: number; - protectedArea: number; + protectedArea?: number; protectedAreasCount: number; createdAt?: string; updatedAt?: string; @@ -952,45 +930,46 @@ export interface ProtectionCoverageStat { updatedBy?: ProtectionCoverageStatUpdatedBy; } -export type ProtectionCoverageStatProtectionStatusDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; +export interface ProtectionCoverageStatResponseDataObject { + id?: number; + attributes?: ProtectionCoverageStat; +} + +export type ProtectionCoverageStatUpdatedByDataAttributes = { [key: string]: any }; + +export type ProtectionCoverageStatCreatedByDataAttributes = { [key: string]: any }; -export type ProtectionCoverageStatProtectionStatusDataAttributesUpdatedByData = { +export type ProtectionCoverageStatCreatedByData = { id?: number; - attributes?: ProtectionCoverageStatProtectionStatusDataAttributesUpdatedByDataAttributes; + attributes?: ProtectionCoverageStatCreatedByDataAttributes; }; -export type ProtectionCoverageStatProtectionStatusDataAttributesUpdatedBy = { - data?: ProtectionCoverageStatProtectionStatusDataAttributesUpdatedByData; +export type ProtectionCoverageStatCreatedBy = { + data?: ProtectionCoverageStatCreatedByData; }; -export type ProtectionCoverageStatProtectionStatusDataAttributesCreatedByDataAttributes = { - [key: string]: any; -}; +export type ProtectionCoverageStatProtectionStatusDataAttributes = { [key: string]: any }; -export type ProtectionCoverageStatProtectionStatusDataAttributesCreatedByData = { +export type ProtectionCoverageStatProtectionStatusData = { id?: number; - attributes?: ProtectionCoverageStatProtectionStatusDataAttributesCreatedByDataAttributes; + attributes?: ProtectionCoverageStatProtectionStatusDataAttributes; }; -export type ProtectionCoverageStatProtectionStatusDataAttributesCreatedBy = { - data?: ProtectionCoverageStatProtectionStatusDataAttributesCreatedByData; +export type ProtectionCoverageStatProtectionStatus = { + data?: ProtectionCoverageStatProtectionStatusData; }; -export type ProtectionCoverageStatProtectionStatusDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionCoverageStatProtectionStatusDataAttributesCreatedBy; - updatedBy?: ProtectionCoverageStatProtectionStatusDataAttributesUpdatedBy; +export type ProtectionCoverageStatLocationData = { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributes; }; -export type ProtectionCoverageStatProtectionStatusData = { - id?: number; - attributes?: ProtectionCoverageStatProtectionStatusDataAttributes; +export type ProtectionCoverageStatLocation = { + data?: ProtectionCoverageStatLocationData; +}; + +export type ProtectionCoverageStatLocationDataAttributesUpdatedByDataAttributes = { + [key: string]: any; }; export type ProtectionCoverageStatLocationDataAttributesUpdatedByData = { @@ -1009,40 +988,17 @@ export type ProtectionCoverageStatLocationDataAttributes = { type?: string; groups?: ProtectionCoverageStatLocationDataAttributesGroups; members?: ProtectionCoverageStatLocationDataAttributesMembers; + fishing_protection_level_stats?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStats; + mpaa_protection_level_stats?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStats; + protection_coverage_stats?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStats; createdAt?: string; updatedAt?: string; createdBy?: ProtectionCoverageStatLocationDataAttributesCreatedBy; updatedBy?: ProtectionCoverageStatLocationDataAttributesUpdatedBy; }; -export type ProtectionCoverageStatLocationData = { - id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributes; -}; - -export type ProtectionCoverageStatLocation = { - data?: ProtectionCoverageStatLocationData; -}; - -export type ProtectionCoverageStatLocationDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; - export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; + [key: string]: any; }; export type ProtectionCoverageStatLocationDataAttributesCreatedByData = { @@ -1054,1241 +1010,1326 @@ export type ProtectionCoverageStatLocationDataAttributesCreatedBy = { data?: ProtectionCoverageStatLocationDataAttributesCreatedByData; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = - { [key: string]: any }; +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes = + { + location?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation; + protection_status?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus; + year?: number; + cumSumProtectedArea?: number; + protectedArea?: number; + protectedAreasCount?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy; + }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesUpdatedByData = { +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItem = { id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesUpdatedByData; +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStats = { + data?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItem[]; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesCreatedByData = { - id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes; -}; - -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesCreatedBy = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesCreatedByData; -}; - -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; + }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRoles = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; -}; +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData; + }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData = { id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + data?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = - { [key: string]: any }; - -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData = { id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + data?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData = { id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + data?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes = { + slug?: string; name?: string; - code?: string; - description?: string; - users?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + createdBy?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData = { id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes = { [key: string]: any }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData = { id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes; + }; + +export type ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation = + { + data?: ProtectionCoverageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + location?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation; + mpaa_protection_level?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItem = { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes; +}; + +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStats = { + data?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItem[]; +}; + +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData = { id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData = { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = - { [key: string]: any }; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData; + }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData = { id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes; }; -export type ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel = { - data?: ProtectionCoverageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + data?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData; }; -export type ProtectionCoverageStatLocationDataAttributesMembersDataItemAttributes = { - [key: string]: any; -}; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type ProtectionCoverageStatLocationDataAttributesMembersDataItem = { - id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesMembersDataItemAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; + }; -export type ProtectionCoverageStatLocationDataAttributesMembers = { - data?: ProtectionCoverageStatLocationDataAttributesMembersDataItem[]; -}; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData; + }; -export type ProtectionCoverageStatLocationDataAttributesGroupsDataItemAttributes = { - [key: string]: any; -}; - -export type ProtectionCoverageStatLocationDataAttributesGroupsDataItem = { - id?: number; - attributes?: ProtectionCoverageStatLocationDataAttributesGroupsDataItemAttributes; -}; - -export type ProtectionCoverageStatLocationDataAttributesGroups = { - data?: ProtectionCoverageStatLocationDataAttributesGroupsDataItem[]; -}; - -export type ProtectionCoverageStatListResponseMetaPagination = { - page?: number; - pageSize?: number; - pageCount?: number; - total?: number; -}; - -export type ProtectionCoverageStatListResponseMeta = { - pagination?: ProtectionCoverageStatListResponseMetaPagination; -}; - -export interface ProtectionCoverageStatListResponseDataItem { - id?: number; - attributes?: ProtectionCoverageStat; -} - -export interface ProtectionCoverageStatListResponse { - data?: ProtectionCoverageStatListResponseDataItem[]; - meta?: ProtectionCoverageStatListResponseMeta; -} - -export type MpaaProtectionLevelStatResponseMeta = { [key: string]: any }; - -export interface MpaaProtectionLevelStatResponseDataObject { - id?: number; - attributes?: MpaaProtectionLevelStat; -} - -export interface MpaaProtectionLevelStatResponse { - data?: MpaaProtectionLevelStatResponseDataObject; - meta?: MpaaProtectionLevelStatResponseMeta; -} - -export type MpaaProtectionLevelStatUpdatedByDataAttributes = { [key: string]: any }; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes = + { [key: string]: any }; -export type MpaaProtectionLevelStatUpdatedByData = { - id?: number; - attributes?: MpaaProtectionLevelStatUpdatedByDataAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes; + }; -export type MpaaProtectionLevelStatUpdatedBy = { - data?: MpaaProtectionLevelStatUpdatedByData; -}; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData; + }; -export interface MpaaProtectionLevelStat { - location?: MpaaProtectionLevelStatLocation; - mpaa_protection_level?: MpaaProtectionLevelStatMpaaProtectionLevel; - area: number; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelStatCreatedBy; - updatedBy?: MpaaProtectionLevelStatUpdatedBy; -} +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy; + }; -export type MpaaProtectionLevelStatCreatedByDataAttributes = { [key: string]: any }; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; -export type MpaaProtectionLevelStatCreatedByData = { - id?: number; - attributes?: MpaaProtectionLevelStatCreatedByDataAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; -export type MpaaProtectionLevelStatCreatedBy = { - data?: MpaaProtectionLevelStatCreatedByData; -}; +export type ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation = + { + data?: ProtectionCoverageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData; + }; -export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedBy; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes = + { + location?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation; + fishing_protection_level?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy; + }; -export type MpaaProtectionLevelStatMpaaProtectionLevelData = { +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItem = { id?: number; - attributes?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes; }; -export type MpaaProtectionLevelStatMpaaProtectionLevel = { - data?: MpaaProtectionLevelStatMpaaProtectionLevelData; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStats = { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItem[]; }; -export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; -export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedBy = { - data?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesUpdatedByData; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData; + }; -export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedByDataAttributes = { - [key: string]: any; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; -export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedByData = { - id?: number; - attributes?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedByDataAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; -export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedBy = { - data?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributesCreatedByData; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData; + }; -export type MpaaProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type MpaaProtectionLevelStatLocationDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes; + }; -export type MpaaProtectionLevelStatLocationDataAttributesUpdatedBy = { - data?: MpaaProtectionLevelStatLocationDataAttributesUpdatedByData; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData; + }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByData = { - id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes; + }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedBy = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByData; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData; + }; -export type MpaaProtectionLevelStatLocationDataAttributes = { - code?: string; - name?: string; - totalMarineArea?: number; - type?: string; - groups?: MpaaProtectionLevelStatLocationDataAttributesGroups; - members?: MpaaProtectionLevelStatLocationDataAttributesMembers; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelStatLocationDataAttributesUpdatedBy; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy; + }; -export type MpaaProtectionLevelStatLocationData = { - id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes; + }; -export type MpaaProtectionLevelStatLocation = { - data?: MpaaProtectionLevelStatLocationData; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData; + }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByData; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData; + }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByData = { - id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes; -}; - -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedBy = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByData; -}; - -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRoles = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes; + }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData; + }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = - { [key: string]: any }; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem = { id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes; + }; + +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem[]; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { - name?: string; - code?: string; - description?: string; - users?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; -}; +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = { id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { action?: string; actionParameters?: unknown; subject?: string; properties?: unknown; conditions?: unknown; - role?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + role?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; createdAt?: string; updatedAt?: string; - createdBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + createdBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: any }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; }; -export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = { - data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; }; -export type MpaaProtectionLevelStatLocationDataAttributesMembersDataItemAttributes = { +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation = + { + data?: ProtectionCoverageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData; + }; + +export type ProtectionCoverageStatLocationDataAttributesMembersDataItemAttributes = { [key: string]: any; }; -export type MpaaProtectionLevelStatLocationDataAttributesMembersDataItem = { +export type ProtectionCoverageStatLocationDataAttributesMembersDataItem = { id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesMembersDataItemAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesMembersDataItemAttributes; }; -export type MpaaProtectionLevelStatLocationDataAttributesMembers = { - data?: MpaaProtectionLevelStatLocationDataAttributesMembersDataItem[]; +export type ProtectionCoverageStatLocationDataAttributesMembers = { + data?: ProtectionCoverageStatLocationDataAttributesMembersDataItem[]; }; -export type MpaaProtectionLevelStatLocationDataAttributesGroupsDataItemAttributes = { +export type ProtectionCoverageStatLocationDataAttributesGroupsDataItemAttributes = { [key: string]: any; }; -export type MpaaProtectionLevelStatLocationDataAttributesGroupsDataItem = { +export type ProtectionCoverageStatLocationDataAttributesGroupsDataItem = { id?: number; - attributes?: MpaaProtectionLevelStatLocationDataAttributesGroupsDataItemAttributes; + attributes?: ProtectionCoverageStatLocationDataAttributesGroupsDataItemAttributes; }; -export type MpaaProtectionLevelStatLocationDataAttributesGroups = { - data?: MpaaProtectionLevelStatLocationDataAttributesGroupsDataItem[]; +export type ProtectionCoverageStatLocationDataAttributesGroups = { + data?: ProtectionCoverageStatLocationDataAttributesGroupsDataItem[]; }; -export type MpaaProtectionLevelStatListResponseMetaPagination = { +export type ProtectionCoverageStatListResponseMetaPagination = { page?: number; pageSize?: number; pageCount?: number; total?: number; }; -export type MpaaProtectionLevelStatListResponseMeta = { - pagination?: MpaaProtectionLevelStatListResponseMetaPagination; +export type ProtectionCoverageStatListResponseMeta = { + pagination?: ProtectionCoverageStatListResponseMetaPagination; }; -export interface MpaaProtectionLevelStatListResponseDataItem { +export interface ProtectionCoverageStatListResponseDataItem { id?: number; - attributes?: MpaaProtectionLevelStat; + attributes?: ProtectionCoverageStat; } -export interface MpaaProtectionLevelStatListResponse { - data?: MpaaProtectionLevelStatListResponseDataItem[]; - meta?: MpaaProtectionLevelStatListResponseMeta; +export interface ProtectionCoverageStatListResponse { + data?: ProtectionCoverageStatListResponseDataItem[]; + meta?: ProtectionCoverageStatListResponseMeta; } -export type MpaaProtectionLevelResponseMeta = { [key: string]: any }; - -export interface MpaaProtectionLevelResponse { - data?: MpaaProtectionLevelResponseDataObject; - meta?: MpaaProtectionLevelResponseMeta; -} +export type MpaaProtectionLevelStatResponseMeta = { [key: string]: any }; -export interface MpaaProtectionLevel { - slug: string; - name: string; - info?: string; +export interface MpaaProtectionLevelStat { + location?: MpaaProtectionLevelStatLocation; + mpaa_protection_level?: MpaaProtectionLevelStatMpaaProtectionLevel; + area: number; createdAt?: string; updatedAt?: string; - createdBy?: MpaaProtectionLevelCreatedBy; - updatedBy?: MpaaProtectionLevelUpdatedBy; + createdBy?: MpaaProtectionLevelStatCreatedBy; + updatedBy?: MpaaProtectionLevelStatUpdatedBy; } -export interface MpaaProtectionLevelResponseDataObject { +export interface MpaaProtectionLevelStatResponseDataObject { id?: number; - attributes?: MpaaProtectionLevel; + attributes?: MpaaProtectionLevelStat; } -export type MpaaProtectionLevelUpdatedByDataAttributes = { [key: string]: any }; +export interface MpaaProtectionLevelStatResponse { + data?: MpaaProtectionLevelStatResponseDataObject; + meta?: MpaaProtectionLevelStatResponseMeta; +} -export type MpaaProtectionLevelUpdatedByData = { +export type MpaaProtectionLevelStatUpdatedByDataAttributes = { [key: string]: any }; + +export type MpaaProtectionLevelStatUpdatedByData = { id?: number; - attributes?: MpaaProtectionLevelUpdatedByDataAttributes; + attributes?: MpaaProtectionLevelStatUpdatedByDataAttributes; }; -export type MpaaProtectionLevelUpdatedBy = { - data?: MpaaProtectionLevelUpdatedByData; +export type MpaaProtectionLevelStatUpdatedBy = { + data?: MpaaProtectionLevelStatUpdatedByData; }; -export type MpaaProtectionLevelCreatedByData = { +export type MpaaProtectionLevelStatCreatedByDataAttributes = { [key: string]: any }; + +export type MpaaProtectionLevelStatCreatedByData = { id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributes; + attributes?: MpaaProtectionLevelStatCreatedByDataAttributes; }; -export type MpaaProtectionLevelCreatedBy = { - data?: MpaaProtectionLevelCreatedByData; +export type MpaaProtectionLevelStatCreatedBy = { + data?: MpaaProtectionLevelStatCreatedByData; }; -export type MpaaProtectionLevelCreatedByDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; +export type MpaaProtectionLevelStatMpaaProtectionLevelDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelCreatedByDataAttributesUpdatedByData = { +export type MpaaProtectionLevelStatMpaaProtectionLevelData = { id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesUpdatedByDataAttributes; + attributes?: MpaaProtectionLevelStatMpaaProtectionLevelDataAttributes; }; -export type MpaaProtectionLevelCreatedByDataAttributesUpdatedBy = { - data?: MpaaProtectionLevelCreatedByDataAttributesUpdatedByData; +export type MpaaProtectionLevelStatMpaaProtectionLevel = { + data?: MpaaProtectionLevelStatMpaaProtectionLevelData; }; -export type MpaaProtectionLevelCreatedByDataAttributesCreatedByDataAttributes = { +export type MpaaProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes = { [key: string]: any; }; -export type MpaaProtectionLevelCreatedByDataAttributesCreatedByData = { +export type MpaaProtectionLevelStatLocationDataAttributesUpdatedByData = { id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesCreatedByDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes; }; -export type MpaaProtectionLevelCreatedByDataAttributesCreatedBy = { - data?: MpaaProtectionLevelCreatedByDataAttributesCreatedByData; +export type MpaaProtectionLevelStatLocationDataAttributesUpdatedBy = { + data?: MpaaProtectionLevelStatLocationDataAttributesUpdatedByData; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributes; +export type MpaaProtectionLevelStatLocationDataAttributes = { + code?: string; + name?: string; + totalMarineArea?: number; + type?: string; + groups?: MpaaProtectionLevelStatLocationDataAttributesGroups; + members?: MpaaProtectionLevelStatLocationDataAttributesMembers; + fishing_protection_level_stats?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStats; + mpaa_protection_level_stats?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStats; + protection_coverage_stats?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStats; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesUpdatedBy; }; -export type MpaaProtectionLevelCreatedByDataAttributesRoles = { - data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItem[]; +export type MpaaProtectionLevelStatLocationData = { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributes; }; -export type MpaaProtectionLevelCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: MpaaProtectionLevelCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelCreatedByDataAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelCreatedByDataAttributesUpdatedBy; +export type MpaaProtectionLevelStatLocation = { + data?: MpaaProtectionLevelStatLocationData; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = - { [key: string]: any }; +export type MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributes = { + [key: string]: any; +}; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { +export type MpaaProtectionLevelStatLocationDataAttributesCreatedByData = { id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesCreatedByDataAttributes; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { - data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +export type MpaaProtectionLevelStatLocationDataAttributesCreatedBy = { + data?: MpaaProtectionLevelStatLocationDataAttributesCreatedByData; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItem = { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStats = { + data?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItem[]; +}; + +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { - id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; -}; +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; + }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { - data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByData; -}; +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData; + }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData = { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes = + { + slug?: string; + name?: string; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { - id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; -}; +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes; + }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissions = { - data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; -}; +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus = + { + data?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData; + }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes = + { + location?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation; + protection_status?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus; + year?: number; + cumSumProtectedArea?: number; + protectedArea?: number; + protectedAreasCount?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData = { id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy = { - data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData = { id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy = { - data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + data?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes = { [key: string]: any }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData = { id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation = { - data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: MpaaProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = - { [key: string]: any }; - -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItem = { id?: number; - attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes; }; -export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsers = { - data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStats = { + data?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItem[]; }; -export type MpaaProtectionLevelListResponseMetaPagination = { - page?: number; - pageSize?: number; - pageCount?: number; - total?: number; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type MpaaProtectionLevelListResponseMeta = { - pagination?: MpaaProtectionLevelListResponseMetaPagination; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; -export interface MpaaProtectionLevelListResponseDataItem { - id?: number; - attributes?: MpaaProtectionLevel; -} +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData; + }; -export interface MpaaProtectionLevelListResponse { - data?: MpaaProtectionLevelListResponseDataItem[]; - meta?: MpaaProtectionLevelListResponseMeta; -} - -export type MpaaEstablishmentStageStatResponseMeta = { [key: string]: any }; - -export interface MpaaEstablishmentStageStatResponseDataObject { - id?: number; - attributes?: MpaaEstablishmentStageStat; -} - -export interface MpaaEstablishmentStageStatResponse { - data?: MpaaEstablishmentStageStatResponseDataObject; - meta?: MpaaEstablishmentStageStatResponseMeta; -} - -export type MpaaEstablishmentStageStatUpdatedByDataAttributes = { [key: string]: any }; - -export type MpaaEstablishmentStageStatUpdatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatUpdatedByDataAttributes; -}; - -export type MpaaEstablishmentStageStatUpdatedBy = { - data?: MpaaEstablishmentStageStatUpdatedByData; -}; - -export interface MpaaEstablishmentStageStat { - location?: MpaaEstablishmentStageStatLocation; - mpaa_establishment_stage?: MpaaEstablishmentStageStatMpaaEstablishmentStage; - protection_status?: MpaaEstablishmentStageStatProtectionStatus; - year: number; - area: number; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatCreatedBy; - updatedBy?: MpaaEstablishmentStageStatUpdatedBy; -} - -export type MpaaEstablishmentStageStatCreatedByDataAttributes = { [key: string]: any }; - -export type MpaaEstablishmentStageStatCreatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatCreatedByDataAttributes; -}; - -export type MpaaEstablishmentStageStatCreatedBy = { - data?: MpaaEstablishmentStageStatCreatedByData; -}; - -export type MpaaEstablishmentStageStatProtectionStatusDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatProtectionStatusDataAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageStatProtectionStatusDataAttributesUpdatedBy; -}; - -export type MpaaEstablishmentStageStatProtectionStatusData = { - id?: number; - attributes?: MpaaEstablishmentStageStatProtectionStatusDataAttributes; -}; - -export type MpaaEstablishmentStageStatProtectionStatus = { - data?: MpaaEstablishmentStageStatProtectionStatusData; -}; - -export type MpaaEstablishmentStageStatProtectionStatusDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; - -export type MpaaEstablishmentStageStatProtectionStatusDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatProtectionStatusDataAttributesUpdatedByDataAttributes; -}; - -export type MpaaEstablishmentStageStatProtectionStatusDataAttributesUpdatedBy = { - data?: MpaaEstablishmentStageStatProtectionStatusDataAttributesUpdatedByData; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes = + { + location?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation; + mpaa_protection_level?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy; + }; -export type MpaaEstablishmentStageStatProtectionStatusDataAttributesCreatedByDataAttributes = { - [key: string]: any; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; -export type MpaaEstablishmentStageStatProtectionStatusDataAttributesCreatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatProtectionStatusDataAttributesCreatedByDataAttributes; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; -export type MpaaEstablishmentStageStatProtectionStatusDataAttributesCreatedBy = { - data?: MpaaEstablishmentStageStatProtectionStatusDataAttributesCreatedByData; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData; + }; -export type MpaaEstablishmentStageStatMpaaEstablishmentStageData = { - id?: number; - attributes?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributes; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes; + }; -export type MpaaEstablishmentStageStatMpaaEstablishmentStage = { - data?: MpaaEstablishmentStageStatMpaaEstablishmentStageData; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel = + { + data?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData; + }; -export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; + }; -export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedBy = { - data?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedByData; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData; + }; -export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByDataAttributes; -}; - -export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedBy = { - data?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByData; -}; - -export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedBy; -}; - -export type MpaaEstablishmentStageStatLocation = { - data?: MpaaEstablishmentStageStatLocationData; -}; - -export type MpaaEstablishmentStageStatLocationDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; - -export type MpaaEstablishmentStageStatLocationDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesUpdatedByDataAttributes; -}; - -export type MpaaEstablishmentStageStatLocationDataAttributesUpdatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesUpdatedByData; -}; - -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByData; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes; + }; -export type MpaaEstablishmentStageStatLocationDataAttributes = { - code?: string; - name?: string; - totalMarineArea?: number; - type?: string; - groups?: MpaaEstablishmentStageStatLocationDataAttributesGroups; - members?: MpaaEstablishmentStageStatLocationDataAttributesMembers; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesUpdatedBy; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData; + }; -export type MpaaEstablishmentStageStatLocationData = { - id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributes; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy; + }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; -}; - -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedByData; -}; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes = - { [key: string]: any }; +export type MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation = + { + data?: MpaaProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData; + }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesCreatedByData = { +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItem = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes; -}; - -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesCreatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesCreatedByData; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStats = { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItem[]; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRoles = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; -}; +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; -}; +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributes; -}; +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData; + }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = - { [key: string]: any }; - -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes = { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + location?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation; + fishing_protection_level?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel; + area?: number; createdAt?: string; updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes = { + slug?: string; name?: string; - code?: string; - description?: string; - users?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem[]; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { - data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; -export type MpaaEstablishmentStageStatLocationDataAttributesMembers = { - data?: MpaaEstablishmentStageStatLocationDataAttributesMembersDataItem[]; -}; +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + }; -export type MpaaEstablishmentStageStatLocationDataAttributesMembersDataItemAttributes = { +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = + { [key: string]: any }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation = + { + data?: MpaaProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData; + }; + +export type MpaaProtectionLevelStatLocationDataAttributesMembersDataItemAttributes = { [key: string]: any; }; -export type MpaaEstablishmentStageStatLocationDataAttributesMembersDataItem = { +export type MpaaProtectionLevelStatLocationDataAttributesMembersDataItem = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesMembersDataItemAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesMembersDataItemAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesGroupsDataItemAttributes = { +export type MpaaProtectionLevelStatLocationDataAttributesMembers = { + data?: MpaaProtectionLevelStatLocationDataAttributesMembersDataItem[]; +}; + +export type MpaaProtectionLevelStatLocationDataAttributesGroupsDataItemAttributes = { [key: string]: any; }; -export type MpaaEstablishmentStageStatLocationDataAttributesGroupsDataItem = { +export type MpaaProtectionLevelStatLocationDataAttributesGroupsDataItem = { id?: number; - attributes?: MpaaEstablishmentStageStatLocationDataAttributesGroupsDataItemAttributes; + attributes?: MpaaProtectionLevelStatLocationDataAttributesGroupsDataItemAttributes; }; -export type MpaaEstablishmentStageStatLocationDataAttributesGroups = { - data?: MpaaEstablishmentStageStatLocationDataAttributesGroupsDataItem[]; +export type MpaaProtectionLevelStatLocationDataAttributesGroups = { + data?: MpaaProtectionLevelStatLocationDataAttributesGroupsDataItem[]; }; -export type MpaaEstablishmentStageStatListResponseMetaPagination = { +export type MpaaProtectionLevelStatListResponseMetaPagination = { page?: number; pageSize?: number; pageCount?: number; total?: number; }; -export type MpaaEstablishmentStageStatListResponseMeta = { - pagination?: MpaaEstablishmentStageStatListResponseMetaPagination; +export type MpaaProtectionLevelStatListResponseMeta = { + pagination?: MpaaProtectionLevelStatListResponseMetaPagination; }; -export interface MpaaEstablishmentStageStatListResponseDataItem { +export interface MpaaProtectionLevelStatListResponseDataItem { id?: number; - attributes?: MpaaEstablishmentStageStat; + attributes?: MpaaProtectionLevelStat; } -export interface MpaaEstablishmentStageStatListResponse { - data?: MpaaEstablishmentStageStatListResponseDataItem[]; - meta?: MpaaEstablishmentStageStatListResponseMeta; +export interface MpaaProtectionLevelStatListResponse { + data?: MpaaProtectionLevelStatListResponseDataItem[]; + meta?: MpaaProtectionLevelStatListResponseMeta; } -export type MpaaEstablishmentStageResponseMeta = { [key: string]: any }; +export type MpaaProtectionLevelResponseMeta = { [key: string]: any }; -export interface MpaaEstablishmentStageResponse { - data?: MpaaEstablishmentStageResponseDataObject; - meta?: MpaaEstablishmentStageResponseMeta; +export interface MpaaProtectionLevelResponse { + data?: MpaaProtectionLevelResponseDataObject; + meta?: MpaaProtectionLevelResponseMeta; } -export type MpaaEstablishmentStageUpdatedByDataAttributes = { [key: string]: any }; +export interface MpaaProtectionLevel { + slug: string; + name: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelCreatedBy; + updatedBy?: MpaaProtectionLevelUpdatedBy; +} -export type MpaaEstablishmentStageUpdatedByData = { +export interface MpaaProtectionLevelResponseDataObject { id?: number; - attributes?: MpaaEstablishmentStageUpdatedByDataAttributes; + attributes?: MpaaProtectionLevel; +} + +export type MpaaProtectionLevelUpdatedByDataAttributes = { [key: string]: any }; + +export type MpaaProtectionLevelUpdatedByData = { + id?: number; + attributes?: MpaaProtectionLevelUpdatedByDataAttributes; }; -export type MpaaEstablishmentStageUpdatedBy = { - data?: MpaaEstablishmentStageUpdatedByData; +export type MpaaProtectionLevelUpdatedBy = { + data?: MpaaProtectionLevelUpdatedByData; }; -export type MpaaEstablishmentStageCreatedByData = { +export type MpaaProtectionLevelCreatedByData = { id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributes; + attributes?: MpaaProtectionLevelCreatedByDataAttributes; }; -export type MpaaEstablishmentStageCreatedBy = { - data?: MpaaEstablishmentStageCreatedByData; +export type MpaaProtectionLevelCreatedBy = { + data?: MpaaProtectionLevelCreatedByData; }; -export interface MpaaEstablishmentStage { - slug: string; - name: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageCreatedBy; - updatedBy?: MpaaEstablishmentStageUpdatedBy; -} +export type MpaaProtectionLevelCreatedByDataAttributesUpdatedByDataAttributes = { + [key: string]: any; +}; -export interface MpaaEstablishmentStageResponseDataObject { +export type MpaaProtectionLevelCreatedByDataAttributesUpdatedByData = { id?: number; - attributes?: MpaaEstablishmentStage; -} + attributes?: MpaaProtectionLevelCreatedByDataAttributesUpdatedByDataAttributes; +}; -export type MpaaEstablishmentStageCreatedByDataAttributesUpdatedByDataAttributes = { +export type MpaaProtectionLevelCreatedByDataAttributesUpdatedBy = { + data?: MpaaProtectionLevelCreatedByDataAttributesUpdatedByData; +}; + +export type MpaaProtectionLevelCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any; }; -export type MpaaEstablishmentStageCreatedByDataAttributesUpdatedByData = { +export type MpaaProtectionLevelCreatedByDataAttributesCreatedByData = { id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesUpdatedByDataAttributes; + attributes?: MpaaProtectionLevelCreatedByDataAttributesCreatedByDataAttributes; }; -export type MpaaEstablishmentStageCreatedByDataAttributesUpdatedBy = { - data?: MpaaEstablishmentStageCreatedByDataAttributesUpdatedByData; +export type MpaaProtectionLevelCreatedByDataAttributesCreatedBy = { + data?: MpaaProtectionLevelCreatedByDataAttributesCreatedByData; }; -export type MpaaEstablishmentStageCreatedByDataAttributes = { +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +}; + +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributes; +}; + +export type MpaaProtectionLevelCreatedByDataAttributesRoles = { + data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItem[]; +}; + +export type MpaaProtectionLevelCreatedByDataAttributes = { firstname?: string; lastname?: string; username?: string; @@ -2296,859 +2337,928 @@ export type MpaaEstablishmentStageCreatedByDataAttributes = { resetPasswordToken?: string; registrationToken?: string; isActive?: boolean; - roles?: MpaaEstablishmentStageCreatedByDataAttributesRoles; + roles?: MpaaProtectionLevelCreatedByDataAttributesRoles; blocked?: boolean; preferedLanguage?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaaEstablishmentStageCreatedByDataAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageCreatedByDataAttributesUpdatedBy; + createdBy?: MpaaProtectionLevelCreatedByDataAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelCreatedByDataAttributesUpdatedBy; }; -export type MpaaEstablishmentStageCreatedByDataAttributesCreatedByDataAttributes = { - [key: string]: any; -}; +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type MpaaEstablishmentStageCreatedByDataAttributesCreatedByData = { +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesCreatedByDataAttributes; + attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; }; -export type MpaaEstablishmentStageCreatedByDataAttributesCreatedBy = { - data?: MpaaEstablishmentStageCreatedByDataAttributesCreatedByData; +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { + data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItem = { +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributes; + attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRoles = { - data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItem[]; +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { + data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = - { [key: string]: any }; - -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { - data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { - id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; -}; +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { - data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedByData; -}; - -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = - { - id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; - }; - -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissions = { - data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; -}; - -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; -}; - -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = - { [key: string]: any }; - -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { - id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = { - data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { action?: string; actionParameters?: unknown; subject?: string; properties?: unknown; conditions?: unknown; - role?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + role?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; createdAt?: string; updatedAt?: string; - createdBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + createdBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; - }; - -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = - { - data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = { id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { - data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: any }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { id?: number; - attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + attributes?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; }; -export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsers = { - data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +export type MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsers = { + data?: MpaaProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; }; -export type MpaaEstablishmentStageListResponseMetaPagination = { +export type MpaaProtectionLevelListResponseMetaPagination = { page?: number; pageSize?: number; pageCount?: number; total?: number; }; -export type MpaaEstablishmentStageListResponseMeta = { - pagination?: MpaaEstablishmentStageListResponseMetaPagination; +export type MpaaProtectionLevelListResponseMeta = { + pagination?: MpaaProtectionLevelListResponseMetaPagination; }; -export interface MpaaEstablishmentStageListResponseDataItem { +export interface MpaaProtectionLevelListResponseDataItem { id?: number; - attributes?: MpaaEstablishmentStage; + attributes?: MpaaProtectionLevel; } -export interface MpaaEstablishmentStageListResponse { - data?: MpaaEstablishmentStageListResponseDataItem[]; - meta?: MpaaEstablishmentStageListResponseMeta; +export interface MpaaProtectionLevelListResponse { + data?: MpaaProtectionLevelListResponseDataItem[]; + meta?: MpaaProtectionLevelListResponseMeta; } -export type MpaProtectionCoverageStatResponseMeta = { [key: string]: any }; +export type MpaaEstablishmentStageStatResponseMeta = { [key: string]: any }; -export interface MpaProtectionCoverageStat { - mpa?: MpaProtectionCoverageStatMpa; - fishing_protection_level?: MpaProtectionCoverageStatFishingProtectionLevel; - mpaa_protection_level?: MpaProtectionCoverageStatMpaaProtectionLevel; - location?: MpaProtectionCoverageStatLocation; +export interface MpaaEstablishmentStageStat { + location?: MpaaEstablishmentStageStatLocation; + mpaa_establishment_stage?: MpaaEstablishmentStageStatMpaaEstablishmentStage; + protection_status?: MpaaEstablishmentStageStatProtectionStatus; + year: number; area: number; createdAt?: string; updatedAt?: string; - createdBy?: MpaProtectionCoverageStatCreatedBy; - updatedBy?: MpaProtectionCoverageStatUpdatedBy; + createdBy?: MpaaEstablishmentStageStatCreatedBy; + updatedBy?: MpaaEstablishmentStageStatUpdatedBy; } -export interface MpaProtectionCoverageStatResponseDataObject { +export interface MpaaEstablishmentStageStatResponseDataObject { id?: number; - attributes?: MpaProtectionCoverageStat; + attributes?: MpaaEstablishmentStageStat; } -export interface MpaProtectionCoverageStatResponse { - data?: MpaProtectionCoverageStatResponseDataObject; - meta?: MpaProtectionCoverageStatResponseMeta; +export interface MpaaEstablishmentStageStatResponse { + data?: MpaaEstablishmentStageStatResponseDataObject; + meta?: MpaaEstablishmentStageStatResponseMeta; } -export type MpaProtectionCoverageStatUpdatedByDataAttributes = { [key: string]: any }; +export type MpaaEstablishmentStageStatUpdatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatUpdatedByData = { +export type MpaaEstablishmentStageStatUpdatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatUpdatedBy = { - data?: MpaProtectionCoverageStatUpdatedByData; +export type MpaaEstablishmentStageStatUpdatedBy = { + data?: MpaaEstablishmentStageStatUpdatedByData; }; -export type MpaProtectionCoverageStatCreatedByDataAttributes = { [key: string]: any }; +export type MpaaEstablishmentStageStatCreatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatCreatedByData = { +export type MpaaEstablishmentStageStatCreatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatCreatedByDataAttributes; }; -export type MpaProtectionCoverageStatCreatedBy = { - data?: MpaProtectionCoverageStatCreatedByData; +export type MpaaEstablishmentStageStatCreatedBy = { + data?: MpaaEstablishmentStageStatCreatedByData; }; -export type MpaProtectionCoverageStatLocationData = { +export type MpaaEstablishmentStageStatProtectionStatusDataAttributes = { [key: string]: any }; + +export type MpaaEstablishmentStageStatProtectionStatusData = { id?: number; - attributes?: MpaProtectionCoverageStatLocationDataAttributes; + attributes?: MpaaEstablishmentStageStatProtectionStatusDataAttributes; }; -export type MpaProtectionCoverageStatLocation = { - data?: MpaProtectionCoverageStatLocationData; +export type MpaaEstablishmentStageStatProtectionStatus = { + data?: MpaaEstablishmentStageStatProtectionStatusData; }; -export type MpaProtectionCoverageStatLocationDataAttributesUpdatedByDataAttributes = { - [key: string]: any; +export type MpaaEstablishmentStageStatMpaaEstablishmentStageData = { + id?: number; + attributes?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributes; }; -export type MpaProtectionCoverageStatLocationDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaProtectionCoverageStatLocationDataAttributesUpdatedByDataAttributes; +export type MpaaEstablishmentStageStatMpaaEstablishmentStage = { + data?: MpaaEstablishmentStageStatMpaaEstablishmentStageData; }; -export type MpaProtectionCoverageStatLocationDataAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatLocationDataAttributesUpdatedByData; +export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatLocationDataAttributesCreatedByDataAttributes = { - [key: string]: any; +export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedBy = { + data?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedByData; }; -export type MpaProtectionCoverageStatLocationDataAttributesCreatedByData = { - id?: number; - attributes?: MpaProtectionCoverageStatLocationDataAttributesCreatedByDataAttributes; +export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesUpdatedBy; }; -export type MpaProtectionCoverageStatLocationDataAttributesCreatedBy = { - data?: MpaProtectionCoverageStatLocationDataAttributesCreatedByData; +export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByData = { + id?: number; + attributes?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByDataAttributes; }; -export type MpaProtectionCoverageStatLocationDataAttributesMembersDataItemAttributes = { - [key: string]: any; +export type MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedBy = { + data?: MpaaEstablishmentStageStatMpaaEstablishmentStageDataAttributesCreatedByData; }; -export type MpaProtectionCoverageStatLocationDataAttributesMembersDataItem = { +export type MpaaEstablishmentStageStatLocationData = { id?: number; - attributes?: MpaProtectionCoverageStatLocationDataAttributesMembersDataItemAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributes; }; -export type MpaProtectionCoverageStatLocationDataAttributesMembers = { - data?: MpaProtectionCoverageStatLocationDataAttributesMembersDataItem[]; +export type MpaaEstablishmentStageStatLocation = { + data?: MpaaEstablishmentStageStatLocationData; }; -export type MpaProtectionCoverageStatLocationDataAttributesGroupsDataItemAttributes = { +export type MpaaEstablishmentStageStatLocationDataAttributesUpdatedByDataAttributes = { [key: string]: any; }; -export type MpaProtectionCoverageStatLocationDataAttributesGroupsDataItem = { +export type MpaaEstablishmentStageStatLocationDataAttributesUpdatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatLocationDataAttributesGroupsDataItemAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatLocationDataAttributesGroups = { - data?: MpaProtectionCoverageStatLocationDataAttributesGroupsDataItem[]; +export type MpaaEstablishmentStageStatLocationDataAttributesUpdatedBy = { + data?: MpaaEstablishmentStageStatLocationDataAttributesUpdatedByData; }; -export type MpaProtectionCoverageStatLocationDataAttributes = { +export type MpaaEstablishmentStageStatLocationDataAttributes = { code?: string; name?: string; totalMarineArea?: number; type?: string; - groups?: MpaProtectionCoverageStatLocationDataAttributesGroups; - members?: MpaProtectionCoverageStatLocationDataAttributesMembers; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaProtectionCoverageStatLocationDataAttributesCreatedBy; - updatedBy?: MpaProtectionCoverageStatLocationDataAttributesUpdatedBy; -}; - -export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributes = { - slug?: string; - name?: string; - info?: string; + groups?: MpaaEstablishmentStageStatLocationDataAttributesGroups; + members?: MpaaEstablishmentStageStatLocationDataAttributesMembers; + fishing_protection_level_stats?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStats; + mpaa_protection_level_stats?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStats; + protection_coverage_stats?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStats; createdAt?: string; updatedAt?: string; - createdBy?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedBy; - updatedBy?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedBy; -}; - -export type MpaProtectionCoverageStatMpaaProtectionLevelData = { - id?: number; - attributes?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributes; -}; - -export type MpaProtectionCoverageStatMpaaProtectionLevel = { - data?: MpaProtectionCoverageStatMpaaProtectionLevelData; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesUpdatedBy; }; -export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = { +export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributes = { [key: string]: any; }; -export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedByData = { +export type MpaaEstablishmentStageStatLocationDataAttributesCreatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesUpdatedByData; +export type MpaaEstablishmentStageStatLocationDataAttributesCreatedBy = { + data?: MpaaEstablishmentStageStatLocationDataAttributesCreatedByData; }; -export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedByDataAttributes = { - [key: string]: any; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes = + { + location?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation; + protection_status?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus; + year?: number; + cumSumProtectedArea?: number; + protectedArea?: number; + protectedAreasCount?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy; + }; -export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedByData = { +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItem = { id?: number; - attributes?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes; }; -export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedBy = { - data?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributesCreatedByData; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStats = { + data?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItem[]; }; -export type MpaProtectionCoverageStatFishingProtectionLevelData = { - id?: number; - attributes?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributes; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type MpaProtectionCoverageStatFishingProtectionLevel = { - data?: MpaProtectionCoverageStatFishingProtectionLevelData; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; + }; -export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData; + }; -export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedByDataAttributes; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; -export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedByData; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; + }; -export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedByDataAttributes = { - [key: string]: any; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData; + }; -export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedByData = { - id?: number; - attributes?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedByDataAttributes; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes; + }; -export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedBy = { - data?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedByData; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData; + }; -export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesCreatedBy; - updatedBy?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributesUpdatedBy; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributes = { - wdpaid?: number; - name?: string; - area?: number; - year?: number; - mpaa_establishment_stage?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStage; - protection_status?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatus; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaProtectionCoverageStatMpaDataAttributesCreatedBy; - updatedBy?: MpaProtectionCoverageStatMpaDataAttributesUpdatedBy; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes; + }; -export type MpaProtectionCoverageStatMpaData = { - id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributes; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData; + }; -export type MpaProtectionCoverageStatMpa = { - data?: MpaProtectionCoverageStatMpaData; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy; + }; -export type MpaProtectionCoverageStatMpaDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes = + { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesUpdatedByDataAttributes; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes; + }; -export type MpaProtectionCoverageStatMpaDataAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesUpdatedByData; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData; + }; -export type MpaProtectionCoverageStatMpaDataAttributesCreatedByDataAttributes = { - [key: string]: any; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesCreatedByData = { - id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesCreatedByDataAttributes; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes; + }; -export type MpaProtectionCoverageStatMpaDataAttributesCreatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesCreatedByData; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData; + }; -export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusData = { +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes = + { + location?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation; + mpaa_protection_level?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItem = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatus = { - data?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusData; +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStats = { + data?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItem[]; }; -export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByData; -}; - -export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByData; -}; - -export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedBy; - updatedBy?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedBy; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData; + }; -export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedBy; - updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedBy; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData; + }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageData = { - id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributes; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes; + }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStage = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageData; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData; + }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedBy = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByData; + data?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedBy = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByData; + data?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy = +export type MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData; + data?: MpaaEstablishmentStageStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItem = { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes; +}; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStats = { + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItem[]; +}; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData; + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy = { - id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes; + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem[]; + location?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation; + fishing_protection_level?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy; + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes = { + slug?: string; name?: string; - code?: string; - description?: string; - users?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes = { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = - { [key: string]: any }; - -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem[]; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = - { [key: string]: any }; +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; }; -export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { - data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; }; -export type MpaProtectionCoverageStatListResponseMetaPagination = { - page?: number; - pageSize?: number; - pageCount?: number; - total?: number; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; -export type MpaProtectionCoverageStatListResponseMeta = { - pagination?: MpaProtectionCoverageStatListResponseMetaPagination; -}; +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; -export interface MpaProtectionCoverageStatListResponseDataItem { - id?: number; - attributes?: MpaProtectionCoverageStat; -} +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; -export interface MpaProtectionCoverageStatListResponse { - data?: MpaProtectionCoverageStatListResponseDataItem[]; - meta?: MpaProtectionCoverageStatListResponseMeta; -} +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; -export type MpaResponseMeta = { [key: string]: any }; +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; -export interface Mpa { - wdpaid?: number; - name: string; - area?: number; - year?: number; - mpaa_establishment_stage?: MpaMpaaEstablishmentStage; - protection_status?: MpaProtectionStatus; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaCreatedBy; - updatedBy?: MpaUpdatedBy; -} +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + }; -export interface MpaResponseDataObject { - id?: number; - attributes?: Mpa; -} +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; -export interface MpaResponse { - data?: MpaResponseDataObject; - meta?: MpaResponseMeta; -} +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + }; -export type MpaUpdatedByDataAttributes = { [key: string]: any }; +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = + { [key: string]: any }; -export type MpaUpdatedByData = { +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation = + { + data?: MpaaEstablishmentStageStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData; + }; + +export type MpaaEstablishmentStageStatLocationDataAttributesMembersDataItemAttributes = { + [key: string]: any; +}; + +export type MpaaEstablishmentStageStatLocationDataAttributesMembersDataItem = { id?: number; - attributes?: MpaUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesMembersDataItemAttributes; }; -export type MpaUpdatedBy = { - data?: MpaUpdatedByData; +export type MpaaEstablishmentStageStatLocationDataAttributesMembers = { + data?: MpaaEstablishmentStageStatLocationDataAttributesMembersDataItem[]; }; -export type MpaCreatedByDataAttributes = { [key: string]: any }; +export type MpaaEstablishmentStageStatLocationDataAttributesGroupsDataItemAttributes = { + [key: string]: any; +}; -export type MpaCreatedByData = { +export type MpaaEstablishmentStageStatLocationDataAttributesGroupsDataItem = { id?: number; - attributes?: MpaCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageStatLocationDataAttributesGroupsDataItemAttributes; }; -export type MpaCreatedBy = { - data?: MpaCreatedByData; +export type MpaaEstablishmentStageStatLocationDataAttributesGroups = { + data?: MpaaEstablishmentStageStatLocationDataAttributesGroupsDataItem[]; }; -export type MpaProtectionStatus = { - data?: MpaProtectionStatusData; +export type MpaaEstablishmentStageStatListResponseMetaPagination = { + page?: number; + pageSize?: number; + pageCount?: number; + total?: number; }; -export type MpaProtectionStatusDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaProtectionStatusDataAttributesCreatedBy; - updatedBy?: MpaProtectionStatusDataAttributesUpdatedBy; +export type MpaaEstablishmentStageStatListResponseMeta = { + pagination?: MpaaEstablishmentStageStatListResponseMetaPagination; }; -export type MpaProtectionStatusData = { +export interface MpaaEstablishmentStageStatListResponseDataItem { id?: number; - attributes?: MpaProtectionStatusDataAttributes; -}; + attributes?: MpaaEstablishmentStageStat; +} -export type MpaProtectionStatusDataAttributesUpdatedByDataAttributes = { [key: string]: any }; +export interface MpaaEstablishmentStageStatListResponse { + data?: MpaaEstablishmentStageStatListResponseDataItem[]; + meta?: MpaaEstablishmentStageStatListResponseMeta; +} -export type MpaProtectionStatusDataAttributesUpdatedByData = { +export type MpaaEstablishmentStageResponseMeta = { [key: string]: any }; + +export interface MpaaEstablishmentStageResponseDataObject { id?: number; - attributes?: MpaProtectionStatusDataAttributesUpdatedByDataAttributes; -}; + attributes?: MpaaEstablishmentStage; +} -export type MpaProtectionStatusDataAttributesUpdatedBy = { - data?: MpaProtectionStatusDataAttributesUpdatedByData; -}; +export interface MpaaEstablishmentStageResponse { + data?: MpaaEstablishmentStageResponseDataObject; + meta?: MpaaEstablishmentStageResponseMeta; +} -export type MpaProtectionStatusDataAttributesCreatedByDataAttributes = { [key: string]: any }; +export type MpaaEstablishmentStageUpdatedByDataAttributes = { [key: string]: any }; -export type MpaProtectionStatusDataAttributesCreatedByData = { +export type MpaaEstablishmentStageUpdatedByData = { id?: number; - attributes?: MpaProtectionStatusDataAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageUpdatedByDataAttributes; }; -export type MpaProtectionStatusDataAttributesCreatedBy = { - data?: MpaProtectionStatusDataAttributesCreatedByData; +export type MpaaEstablishmentStageUpdatedBy = { + data?: MpaaEstablishmentStageUpdatedByData; }; -export type MpaMpaaEstablishmentStage = { - data?: MpaMpaaEstablishmentStageData; +export type MpaaEstablishmentStageCreatedByData = { + id?: number; + attributes?: MpaaEstablishmentStageCreatedByDataAttributes; }; -export type MpaMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes = { [key: string]: any }; - -export type MpaMpaaEstablishmentStageDataAttributesUpdatedByData = { - id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes; +export type MpaaEstablishmentStageCreatedBy = { + data?: MpaaEstablishmentStageCreatedByData; }; -export type MpaMpaaEstablishmentStageDataAttributesUpdatedBy = { - data?: MpaMpaaEstablishmentStageDataAttributesUpdatedByData; +export interface MpaaEstablishmentStage { + slug: string; + name: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageCreatedBy; + updatedBy?: MpaaEstablishmentStageUpdatedBy; +} + +export type MpaaEstablishmentStageCreatedByDataAttributesUpdatedByDataAttributes = { + [key: string]: any; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByData = { +export type MpaaEstablishmentStageCreatedByDataAttributesUpdatedByData = { id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesUpdatedByDataAttributes; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedBy = { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByData; +export type MpaaEstablishmentStageCreatedByDataAttributesUpdatedBy = { + data?: MpaaEstablishmentStageCreatedByDataAttributesUpdatedByData; }; -export type MpaMpaaEstablishmentStageDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedBy; - updatedBy?: MpaMpaaEstablishmentStageDataAttributesUpdatedBy; +export type MpaaEstablishmentStageCreatedByDataAttributesCreatedByDataAttributes = { + [key: string]: any; }; -export type MpaMpaaEstablishmentStageData = { +export type MpaaEstablishmentStageCreatedByDataAttributesCreatedByData = { id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributes; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesCreatedByDataAttributes; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = - { [key: string]: any }; +export type MpaaEstablishmentStageCreatedByDataAttributesCreatedBy = { + data?: MpaaEstablishmentStageCreatedByDataAttributesCreatedByData; +}; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData = { +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItem = { id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributes; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData; +export type MpaaEstablishmentStageCreatedByDataAttributesRoles = { + data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItem[]; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = { +export type MpaaEstablishmentStageCreatedByDataAttributes = { firstname?: string; lastname?: string; username?: string; @@ -3156,1637 +3266,4401 @@ export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = { resetPasswordToken?: string; registrationToken?: string; isActive?: boolean; - roles?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles; + roles?: MpaaEstablishmentStageCreatedByDataAttributesRoles; blocked?: boolean; preferedLanguage?: string; createdAt?: string; updatedAt?: string; - createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy; + createdBy?: MpaaEstablishmentStageCreatedByDataAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageCreatedByDataAttributesUpdatedBy; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData = { +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy = { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData; +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { + data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes; -}; - -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles = { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem[]; +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = - { [key: string]: any }; - -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = - { - id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; - }; - -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = - { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; - }; - -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = - { - id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; - }; +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { + id?: number; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; +}; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = - { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; - }; +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { + data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +}; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; - }; - -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = - { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes = - { - name?: string; - code?: string; - description?: string; - users?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; - }; +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +}; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = { id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: any }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = { id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { action?: string; actionParameters?: unknown; subject?: string; properties?: unknown; conditions?: unknown; - role?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + role?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; createdAt?: string; updatedAt?: string; - createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + createdBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = - { [key: string]: any }; +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsers = { + data?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +}; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = - { - id?: number; - attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; - }; +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = + { [key: string]: any }; -export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = - { - data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; - }; +export type MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { + id?: number; + attributes?: MpaaEstablishmentStageCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; +}; -export type MpaListResponseMetaPagination = { +export type MpaaEstablishmentStageListResponseMetaPagination = { page?: number; pageSize?: number; pageCount?: number; total?: number; }; -export type MpaListResponseMeta = { - pagination?: MpaListResponseMetaPagination; +export type MpaaEstablishmentStageListResponseMeta = { + pagination?: MpaaEstablishmentStageListResponseMetaPagination; }; -export interface MpaListResponseDataItem { +export interface MpaaEstablishmentStageListResponseDataItem { id?: number; - attributes?: Mpa; + attributes?: MpaaEstablishmentStage; } -export interface MpaListResponse { - data?: MpaListResponseDataItem[]; - meta?: MpaListResponseMeta; +export interface MpaaEstablishmentStageListResponse { + data?: MpaaEstablishmentStageListResponseDataItem[]; + meta?: MpaaEstablishmentStageListResponseMeta; } -export type LocationResponseMeta = { [key: string]: any }; +export type MpaProtectionCoverageStatResponseMeta = { [key: string]: any }; -export interface LocationResponse { - data?: LocationResponseDataObject; - meta?: LocationResponseMeta; +export interface MpaProtectionCoverageStatResponseDataObject { + id?: number; + attributes?: MpaProtectionCoverageStat; } -export type LocationUpdatedBy = { - data?: LocationUpdatedByData; +export interface MpaProtectionCoverageStatResponse { + data?: MpaProtectionCoverageStatResponseDataObject; + meta?: MpaProtectionCoverageStatResponseMeta; +} + +export type MpaProtectionCoverageStatUpdatedByDataAttributes = { [key: string]: any }; + +export type MpaProtectionCoverageStatUpdatedByData = { + id?: number; + attributes?: MpaProtectionCoverageStatUpdatedByDataAttributes; }; -export interface Location { - code: string; - name: string; - totalMarineArea: number; - type: string; - groups?: LocationGroups; - members?: LocationMembers; +export type MpaProtectionCoverageStatUpdatedBy = { + data?: MpaProtectionCoverageStatUpdatedByData; +}; + +export interface MpaProtectionCoverageStat { + mpa?: MpaProtectionCoverageStatMpa; + fishing_protection_level?: MpaProtectionCoverageStatFishingProtectionLevel; + mpaa_protection_level?: MpaProtectionCoverageStatMpaaProtectionLevel; + location?: MpaProtectionCoverageStatLocation; + area: number; createdAt?: string; updatedAt?: string; - createdBy?: LocationCreatedBy; - updatedBy?: LocationUpdatedBy; -} - -export interface LocationResponseDataObject { - id?: number; - attributes?: Location; + createdBy?: MpaProtectionCoverageStatCreatedBy; + updatedBy?: MpaProtectionCoverageStatUpdatedBy; } -export type LocationUpdatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatCreatedByDataAttributes = { [key: string]: any }; -export type LocationUpdatedByData = { +export type MpaProtectionCoverageStatCreatedByData = { id?: number; - attributes?: LocationUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatCreatedByDataAttributes; }; -export type LocationCreatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatCreatedBy = { + data?: MpaProtectionCoverageStatCreatedByData; +}; -export type LocationCreatedByData = { +export type MpaProtectionCoverageStatLocationDataAttributes = { [key: string]: any }; + +export type MpaProtectionCoverageStatLocationData = { id?: number; - attributes?: LocationCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatLocationDataAttributes; }; -export type LocationCreatedBy = { - data?: LocationCreatedByData; +export type MpaProtectionCoverageStatLocation = { + data?: MpaProtectionCoverageStatLocationData; }; -export type LocationMembersDataItemAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatMpaaProtectionLevelDataAttributes = { [key: string]: any }; -export type LocationMembersDataItem = { +export type MpaProtectionCoverageStatMpaaProtectionLevelData = { id?: number; - attributes?: LocationMembersDataItemAttributes; -}; - -export type LocationMembers = { - data?: LocationMembersDataItem[]; + attributes?: MpaProtectionCoverageStatMpaaProtectionLevelDataAttributes; }; -export type LocationGroups = { - data?: LocationGroupsDataItem[]; +export type MpaProtectionCoverageStatMpaaProtectionLevel = { + data?: MpaProtectionCoverageStatMpaaProtectionLevelData; }; -export type LocationGroupsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatFishingProtectionLevelDataAttributes = { [key: string]: any }; -export type LocationGroupsDataItemAttributesUpdatedByData = { +export type MpaProtectionCoverageStatFishingProtectionLevelData = { id?: number; - attributes?: LocationGroupsDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatFishingProtectionLevelDataAttributes; }; -export type LocationGroupsDataItemAttributesUpdatedBy = { - data?: LocationGroupsDataItemAttributesUpdatedByData; +export type MpaProtectionCoverageStatFishingProtectionLevel = { + data?: MpaProtectionCoverageStatFishingProtectionLevelData; }; -export type LocationGroupsDataItemAttributesCreatedByData = { +export type MpaProtectionCoverageStatMpaData = { id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributes; }; -export type LocationGroupsDataItemAttributesCreatedBy = { - data?: LocationGroupsDataItemAttributesCreatedByData; +export type MpaProtectionCoverageStatMpa = { + data?: MpaProtectionCoverageStatMpaData; }; -export type LocationGroupsDataItemAttributes = { - code?: string; - name?: string; - totalMarineArea?: number; - type?: string; - groups?: LocationGroupsDataItemAttributesGroups; - members?: LocationGroupsDataItemAttributesMembers; - createdAt?: string; - updatedAt?: string; - createdBy?: LocationGroupsDataItemAttributesCreatedBy; - updatedBy?: LocationGroupsDataItemAttributesUpdatedBy; +export type MpaProtectionCoverageStatMpaDataAttributesUpdatedByDataAttributes = { + [key: string]: any; }; -export type LocationGroupsDataItem = { +export type MpaProtectionCoverageStatMpaDataAttributesUpdatedByData = { id?: number; - attributes?: LocationGroupsDataItemAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesUpdatedByDataAttributes; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; - -export type LocationGroupsDataItemAttributesCreatedByDataAttributesUpdatedByData = { - id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesUpdatedByDataAttributes; -}; - -export type LocationGroupsDataItemAttributesCreatedByDataAttributesUpdatedBy = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesUpdatedByData; +export type MpaProtectionCoverageStatMpaDataAttributesUpdatedBy = { + data?: MpaProtectionCoverageStatMpaDataAttributesUpdatedByData; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: LocationGroupsDataItemAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; +export type MpaProtectionCoverageStatMpaDataAttributes = { + wdpaid?: number; + name?: string; + area?: number; + year?: number; + mpaa_establishment_stage?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStage; + protection_status?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatus; + mpa_protection_coverage_stats?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStats; createdAt?: string; updatedAt?: string; - createdBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesUpdatedBy; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesUpdatedBy; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesCreatedByDataAttributes = { +export type MpaProtectionCoverageStatMpaDataAttributesCreatedByDataAttributes = { [key: string]: any; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesCreatedByData = { +export type MpaProtectionCoverageStatMpaDataAttributesCreatedByData = { id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesCreatedByDataAttributes; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesCreatedBy = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesCreatedByData; +export type MpaProtectionCoverageStatMpaDataAttributesCreatedBy = { + data?: MpaProtectionCoverageStatMpaDataAttributesCreatedByData; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItem = { +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItem = { id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributes; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRoles = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItem[]; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStats = { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItem[]; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesUpdatedByData = { id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesUpdatedByData; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributes = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + mpa?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpa; + fishing_protection_level?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevel; + mpaa_protection_level?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevel; + location?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocation; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesUpdatedBy; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesCreatedByData = { id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesCreatedBy = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesCreatedByData; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributes = { - id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + code?: string; + name?: string; + totalMarineArea?: number; + type?: string; + groups?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroups; + members?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembers; + fishing_protection_level_stats?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStats; + mpaa_protection_level_stats?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStats; + protection_coverage_stats?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStats; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedBy; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationData = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributes; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocation = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationData; + }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedByData = { id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedByDataAttributes; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedBy = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedByData; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItem = { id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributes; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStats = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItem[]; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData = { id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributes = { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + location?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation; + protection_status?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus; + year?: number; + cumSumProtectedArea?: number; + protectedArea?: number; + protectedAreasCount?: number; createdAt?: string; updatedAt?: string; - createdBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData = { id?: number; - attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; }; -export type LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = { - data?: LocationGroupsDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; -}; - -export type LocationGroupsDataItemAttributesMembersDataItemAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData; + }; -export type LocationGroupsDataItemAttributesMembersDataItem = { - id?: number; - attributes?: LocationGroupsDataItemAttributesMembersDataItemAttributes; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes = + { [key: string]: any }; -export type LocationGroupsDataItemAttributesMembers = { - data?: LocationGroupsDataItemAttributesMembersDataItem[]; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes; + }; -export type LocationGroupsDataItemAttributesGroupsDataItemAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData; + }; -export type LocationGroupsDataItemAttributesGroupsDataItem = { - id?: number; - attributes?: LocationGroupsDataItemAttributesGroupsDataItemAttributes; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; -export type LocationGroupsDataItemAttributesGroups = { - data?: LocationGroupsDataItemAttributesGroupsDataItem[]; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes; + }; -export type LocationListResponseMetaPagination = { - page?: number; - pageSize?: number; - pageCount?: number; - total?: number; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData; + }; -export type LocationListResponseMeta = { - pagination?: LocationListResponseMetaPagination; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItem = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes; + }; -export interface LocationListResponseDataItem { - id?: number; - attributes?: Location; -} +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStats = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItem[]; + }; -export interface LocationListResponse { - data?: LocationListResponseDataItem[]; - meta?: LocationListResponseMeta; -} +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export interface DocumentationMetadataComponent { - id?: number; - description?: string; - citation?: string; - source?: string; - resolution?: string; - content_date?: string; - license?: string; -} +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; -export type LayerResponseMeta = { [key: string]: any }; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData; + }; -export interface LayerResponse { - data?: LayerResponseDataObject; - meta?: LayerResponseMeta; -} +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; -export interface Layer { - title: string; - type?: LayerType; - config: unknown; - params_config: unknown; - legend_config: unknown; - interaction_config?: unknown; - metadata?: DocumentationMetadataComponent; - createdAt?: string; - updatedAt?: string; - publishedAt?: string; - createdBy?: LayerCreatedBy; - updatedBy?: LayerUpdatedBy; -} +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; -export interface LayerResponseDataObject { - id?: number; - attributes?: Layer; -} +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData; + }; -export type LayerUpdatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes = + { [key: string]: any }; -export type LayerUpdatedByData = { - id?: number; - attributes?: LayerUpdatedByDataAttributes; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes; + }; -export type LayerUpdatedBy = { - data?: LayerUpdatedByData; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData; + }; -export type LayerCreatedByData = { - id?: number; - attributes?: LayerCreatedByDataAttributes; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; -export type LayerCreatedBy = { - data?: LayerCreatedByData; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; -export type LayerCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData; + }; -export type LayerCreatedByDataAttributesUpdatedByData = { - id?: number; - attributes?: LayerCreatedByDataAttributesUpdatedByDataAttributes; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes = + { + location?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation; + mpaa_protection_level?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy; + }; -export type LayerCreatedByDataAttributesUpdatedBy = { - data?: LayerCreatedByDataAttributesUpdatedByData; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes = + { + location?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation; + fishing_protection_level?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy; + }; -export type LayerCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItem = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes; + }; -export type LayerCreatedByDataAttributesCreatedByData = { - id?: number; - attributes?: LayerCreatedByDataAttributesCreatedByDataAttributes; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStats = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItem[]; + }; -export type LayerCreatedByDataAttributesCreatedBy = { - data?: LayerCreatedByDataAttributesCreatedByData; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type LayerCreatedByDataAttributesRoles = { - data?: LayerCreatedByDataAttributesRolesDataItem[]; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; -export type LayerCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: LayerCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: LayerCreatedByDataAttributesCreatedBy; - updatedBy?: LayerCreatedByDataAttributesUpdatedBy; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData; + }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { - id?: number; - attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { - data?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData; + }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { - [key: string]: any; +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembersDataItemAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembersDataItem = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembersDataItemAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembers = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembersDataItem[]; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroupsDataItemAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroupsDataItem = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroupsDataItemAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroups = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroupsDataItem[]; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevel = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevel = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpa = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributesMpaData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatus = { + data?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusData; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { - id?: number; - attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedBy = { + data?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedByData; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { - data?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedBy = { + data?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedByData; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributes = { + slug?: string; + name?: string; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributesUpdatedBy; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { +export type MpaProtectionCoverageStatMpaDataAttributesProtectionStatusData = { id?: number; - attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesProtectionStatusDataAttributes; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissions = { - data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes; + }; -export type LayerCreatedByDataAttributesRolesDataItemAttributes = { +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributes = { + slug?: string; name?: string; - code?: string; - description?: string; - users?: LayerCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissions; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedBy; }; -export type LayerCreatedByDataAttributesRolesDataItem = { +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageData = { id?: number; - attributes?: LayerCreatedByDataAttributesRolesDataItemAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributes; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStage = { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageData; +}; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByData = { id?: number; - attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributes; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedBy = { - data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByData; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData = { id?: number; - attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData = { id?: number; - attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { - data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData; + }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { - [key: string]: any; -}; +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem[]; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = + { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = + { [key: string]: any }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = + { + id?: number; + attributes?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + }; + +export type MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = + { + data?: MpaProtectionCoverageStatMpaDataAttributesMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + }; + +export type MpaProtectionCoverageStatListResponseMetaPagination = { + page?: number; + pageSize?: number; + pageCount?: number; + total?: number; +}; + +export type MpaProtectionCoverageStatListResponseMeta = { + pagination?: MpaProtectionCoverageStatListResponseMetaPagination; +}; + +export interface MpaProtectionCoverageStatListResponseDataItem { + id?: number; + attributes?: MpaProtectionCoverageStat; +} + +export interface MpaProtectionCoverageStatListResponse { + data?: MpaProtectionCoverageStatListResponseDataItem[]; + meta?: MpaProtectionCoverageStatListResponseMeta; +} + +export type MpaResponseMeta = { [key: string]: any }; + +export interface MpaResponseDataObject { + id?: number; + attributes?: Mpa; +} + +export interface MpaResponse { + data?: MpaResponseDataObject; + meta?: MpaResponseMeta; +} + +export type MpaUpdatedByDataAttributes = { [key: string]: any }; + +export type MpaUpdatedByData = { + id?: number; + attributes?: MpaUpdatedByDataAttributes; +}; + +export type MpaUpdatedBy = { + data?: MpaUpdatedByData; +}; + +export type MpaCreatedByDataAttributes = { [key: string]: any }; + +export type MpaCreatedByData = { + id?: number; + attributes?: MpaCreatedByDataAttributes; +}; + +export type MpaCreatedBy = { + data?: MpaCreatedByData; +}; + +export type MpaMpaProtectionCoverageStatsDataItem = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributes; +}; + +export type MpaMpaProtectionCoverageStats = { + data?: MpaMpaProtectionCoverageStatsDataItem[]; +}; + +export interface Mpa { + wdpaid?: number; + name: string; + area: number; + year?: number; + mpaa_establishment_stage?: MpaMpaaEstablishmentStage; + protection_status?: MpaProtectionStatus; + mpa_protection_coverage_stats?: MpaMpaProtectionCoverageStats; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaCreatedBy; + updatedBy?: MpaUpdatedBy; +} + +export type MpaMpaProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = { + [key: string]: any; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesUpdatedByData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesUpdatedBy = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesUpdatedByData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = { + [key: string]: any; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesCreatedByData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesCreatedBy = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesCreatedByData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocation = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributes = { + mpa?: MpaMpaProtectionCoverageStatsDataItemAttributesMpa; + fishing_protection_level?: MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevel; + mpaa_protection_level?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevel; + location?: MpaMpaProtectionCoverageStatsDataItemAttributesLocation; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: MpaMpaProtectionCoverageStatsDataItemAttributesUpdatedBy; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedByDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedBy = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedByData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributes = { + code?: string; + name?: string; + totalMarineArea?: number; + type?: string; + groups?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroups; + members?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembers; + fishing_protection_level_stats?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStats; + mpaa_protection_level_stats?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStats; + protection_coverage_stats?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStats; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedBy; + updatedBy?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesUpdatedBy; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedByData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedByDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedBy = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesCreatedByData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStats = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItem[]; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributes = + { + location?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation; + protection_status?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus; + year?: number; + cumSumProtectedArea?: number; + protectedArea?: number; + protectedAreasCount?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItem = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesProtectionCoverageStatsDataItemAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItem = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStats = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItem[]; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes = + { + location?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation; + mpaa_protection_level?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItem = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStats = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItem[]; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes = + { + location?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation; + fishing_protection_level?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembersDataItemAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembersDataItem = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembersDataItemAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembers = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesMembersDataItem[]; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroupsDataItemAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroupsDataItem = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroupsDataItemAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroups = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesLocationDataAttributesGroupsDataItem[]; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevel = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevel = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributes = { + wdpaid?: number; + name?: string; + area?: number; + year?: number; + mpaa_establishment_stage?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaaEstablishmentStage; + protection_status?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesProtectionStatus; + mpa_protection_coverage_stats?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaProtectionCoverageStats; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesCreatedBy; + updatedBy?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesUpdatedBy; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpa = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesUpdatedByDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesUpdatedBy = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesUpdatedByData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesCreatedByData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesCreatedByDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesCreatedBy = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesCreatedByData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaProtectionCoverageStatsDataItem = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaProtectionCoverageStatsDataItemAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaProtectionCoverageStats = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaProtectionCoverageStatsDataItem[]; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesProtectionStatusDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesProtectionStatusData = { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesProtectionStatusDataAttributes; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesProtectionStatus = { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesProtectionStatusData; +}; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaaEstablishmentStageDataAttributes = + { [key: string]: any }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaaEstablishmentStageData = + { + id?: number; + attributes?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaaEstablishmentStageDataAttributes; + }; + +export type MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaaEstablishmentStage = + { + data?: MpaMpaProtectionCoverageStatsDataItemAttributesMpaDataAttributesMpaaEstablishmentStageData; + }; + +export type MpaProtectionStatusDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaProtectionStatusDataAttributesCreatedBy; + updatedBy?: MpaProtectionStatusDataAttributesUpdatedBy; +}; + +export type MpaProtectionStatusData = { + id?: number; + attributes?: MpaProtectionStatusDataAttributes; +}; + +export type MpaProtectionStatus = { + data?: MpaProtectionStatusData; +}; + +export type MpaProtectionStatusDataAttributesUpdatedByDataAttributes = { [key: string]: any }; + +export type MpaProtectionStatusDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaProtectionStatusDataAttributesUpdatedByDataAttributes; +}; + +export type MpaProtectionStatusDataAttributesUpdatedBy = { + data?: MpaProtectionStatusDataAttributesUpdatedByData; +}; + +export type MpaProtectionStatusDataAttributesCreatedByDataAttributes = { [key: string]: any }; + +export type MpaProtectionStatusDataAttributesCreatedByData = { + id?: number; + attributes?: MpaProtectionStatusDataAttributesCreatedByDataAttributes; +}; + +export type MpaProtectionStatusDataAttributesCreatedBy = { + data?: MpaProtectionStatusDataAttributesCreatedByData; +}; + +export type MpaMpaaEstablishmentStageData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributes; +}; + +export type MpaMpaaEstablishmentStage = { + data?: MpaMpaaEstablishmentStageData; +}; + +export type MpaMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes = { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesUpdatedByDataAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesUpdatedBy = { + data?: MpaMpaaEstablishmentStageDataAttributesUpdatedByData; +}; + +export type MpaMpaaEstablishmentStageDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedBy; + updatedBy?: MpaMpaaEstablishmentStageDataAttributesUpdatedBy; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributes = { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedBy = { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByData; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedBy = { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesUpdatedByData; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByDataAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedBy = { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesCreatedByData; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRoles = { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItem[]; +}; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = + { [key: string]: any }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = + { + id?: number; + attributes?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + }; + +export type MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = + { + data?: MpaMpaaEstablishmentStageDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + }; + +export type MpaListResponseMetaPagination = { + page?: number; + pageSize?: number; + pageCount?: number; + total?: number; +}; + +export type MpaListResponseMeta = { + pagination?: MpaListResponseMetaPagination; +}; + +export interface MpaListResponseDataItem { + id?: number; + attributes?: Mpa; +} + +export interface MpaListResponse { + data?: MpaListResponseDataItem[]; + meta?: MpaListResponseMeta; +} + +export type LocationResponseMeta = { [key: string]: any }; + +export interface LocationResponseDataObject { + id?: number; + attributes?: Location; +} + +export interface LocationResponse { + data?: LocationResponseDataObject; + meta?: LocationResponseMeta; +} + +export type LocationUpdatedByDataAttributes = { [key: string]: any }; + +export type LocationUpdatedByData = { + id?: number; + attributes?: LocationUpdatedByDataAttributes; +}; + +export type LocationUpdatedBy = { + data?: LocationUpdatedByData; +}; + +export type LocationCreatedByDataAttributes = { [key: string]: any }; + +export type LocationCreatedByData = { + id?: number; + attributes?: LocationCreatedByDataAttributes; +}; + +export type LocationCreatedBy = { + data?: LocationCreatedByData; +}; + +export type LocationProtectionCoverageStatsDataItemAttributes = { [key: string]: any }; + +export type LocationProtectionCoverageStatsDataItem = { + id?: number; + attributes?: LocationProtectionCoverageStatsDataItemAttributes; +}; + +export type LocationProtectionCoverageStats = { + data?: LocationProtectionCoverageStatsDataItem[]; +}; + +export interface Location { + code: string; + name: string; + totalMarineArea: number; + type: string; + groups?: LocationGroups; + members?: LocationMembers; + fishing_protection_level_stats?: LocationFishingProtectionLevelStats; + mpaa_protection_level_stats?: LocationMpaaProtectionLevelStats; + protection_coverage_stats?: LocationProtectionCoverageStats; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationCreatedBy; + updatedBy?: LocationUpdatedBy; +} + +export type LocationMpaaProtectionLevelStatsDataItemAttributes = { [key: string]: any }; + +export type LocationMpaaProtectionLevelStatsDataItem = { + id?: number; + attributes?: LocationMpaaProtectionLevelStatsDataItemAttributes; +}; + +export type LocationMpaaProtectionLevelStats = { + data?: LocationMpaaProtectionLevelStatsDataItem[]; +}; + +export type LocationFishingProtectionLevelStatsDataItemAttributes = { [key: string]: any }; + +export type LocationFishingProtectionLevelStatsDataItem = { + id?: number; + attributes?: LocationFishingProtectionLevelStatsDataItemAttributes; +}; + +export type LocationFishingProtectionLevelStats = { + data?: LocationFishingProtectionLevelStatsDataItem[]; +}; + +export type LocationMembersDataItemAttributes = { [key: string]: any }; + +export type LocationMembersDataItem = { + id?: number; + attributes?: LocationMembersDataItemAttributes; +}; + +export type LocationMembers = { + data?: LocationMembersDataItem[]; +}; + +export type LocationGroupsDataItemAttributes = { + code?: string; + name?: string; + totalMarineArea?: number; + type?: string; + groups?: LocationGroupsDataItemAttributesGroups; + members?: LocationGroupsDataItemAttributesMembers; + fishing_protection_level_stats?: LocationGroupsDataItemAttributesFishingProtectionLevelStats; + mpaa_protection_level_stats?: LocationGroupsDataItemAttributesMpaaProtectionLevelStats; + protection_coverage_stats?: LocationGroupsDataItemAttributesProtectionCoverageStats; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesUpdatedBy; +}; + +export type LocationGroupsDataItem = { + id?: number; + attributes?: LocationGroupsDataItemAttributes; +}; + +export type LocationGroups = { + data?: LocationGroupsDataItem[]; +}; + +export type LocationGroupsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; + +export type LocationGroupsDataItemAttributesUpdatedByData = { + id?: number; + attributes?: LocationGroupsDataItemAttributesUpdatedByDataAttributes; +}; + +export type LocationGroupsDataItemAttributesUpdatedBy = { + data?: LocationGroupsDataItemAttributesUpdatedByData; +}; + +export type LocationGroupsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; + +export type LocationGroupsDataItemAttributesCreatedByData = { + id?: number; + attributes?: LocationGroupsDataItemAttributesCreatedByDataAttributes; +}; + +export type LocationGroupsDataItemAttributesCreatedBy = { + data?: LocationGroupsDataItemAttributesCreatedByData; +}; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItem = { + id?: number; + attributes?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributes; +}; + +export type LocationGroupsDataItemAttributesProtectionCoverageStats = { + data?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItem[]; +}; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy = { + data?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData; +}; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributes = { + location?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesLocation; + protection_status?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus; + year?: number; + cumSumProtectedArea?: number; + protectedArea?: number; + protectedAreasCount?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy; +}; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesCreatedBy = { + data?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesCreatedByData; +}; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus = + { + data?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy = + { + data?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy = + { + data?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes; + }; + +export type LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesLocation = { + data?: LocationGroupsDataItemAttributesProtectionCoverageStatsDataItemAttributesLocationData; +}; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItem = { + id?: number; + attributes?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributes; +}; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStats = { + data?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItem[]; +}; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy = { + data?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData; +}; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy = { + data?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData; +}; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy; + }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes; + }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel = + { + data?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData; + }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributes = { + location?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesLocation; + mpaa_protection_level?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy; +}; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy = + { + data?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData; + }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy = + { + data?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData; + }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesLocation = { + data?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData; +}; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItem = { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributes; +}; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStats = { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItem[]; +}; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributes = { + location?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesLocation; + fishing_protection_level?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy; +}; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes = + { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem[]; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesLocation = + { + data?: LocationGroupsDataItemAttributesFishingProtectionLevelStatsDataItemAttributesLocationData; + }; + +export type LocationGroupsDataItemAttributesMembersDataItemAttributes = { [key: string]: any }; + +export type LocationGroupsDataItemAttributesMembersDataItem = { + id?: number; + attributes?: LocationGroupsDataItemAttributesMembersDataItemAttributes; +}; + +export type LocationGroupsDataItemAttributesMembers = { + data?: LocationGroupsDataItemAttributesMembersDataItem[]; +}; + +export type LocationGroupsDataItemAttributesGroupsDataItemAttributes = { [key: string]: any }; + +export type LocationGroupsDataItemAttributesGroupsDataItem = { + id?: number; + attributes?: LocationGroupsDataItemAttributesGroupsDataItemAttributes; +}; + +export type LocationGroupsDataItemAttributesGroups = { + data?: LocationGroupsDataItemAttributesGroupsDataItem[]; +}; + +export type LocationListResponseMetaPagination = { + page?: number; + pageSize?: number; + pageCount?: number; + total?: number; +}; + +export type LocationListResponseMeta = { + pagination?: LocationListResponseMetaPagination; +}; + +export interface LocationListResponseDataItem { + id?: number; + attributes?: Location; +} + +export interface LocationListResponse { + data?: LocationListResponseDataItem[]; + meta?: LocationListResponseMeta; +} + +export interface DocumentationMetadataComponent { + id?: number; + description?: string; + citation?: string; + source?: string; + resolution?: string; + content_date?: string; + license?: string; +} + +export type LayerResponseMeta = { [key: string]: any }; + +export interface LayerResponse { + data?: LayerResponseDataObject; + meta?: LayerResponseMeta; +} + +export interface Layer { + title: string; + type?: LayerType; + config: unknown; + params_config: unknown; + legend_config: unknown; + interaction_config?: unknown; + metadata?: DocumentationMetadataComponent; + createdAt?: string; + updatedAt?: string; + publishedAt?: string; + createdBy?: LayerCreatedBy; + updatedBy?: LayerUpdatedBy; +} + +export interface LayerResponseDataObject { + id?: number; + attributes?: Layer; +} + +export type LayerUpdatedByDataAttributes = { [key: string]: any }; + +export type LayerUpdatedByData = { + id?: number; + attributes?: LayerUpdatedByDataAttributes; +}; + +export type LayerUpdatedBy = { + data?: LayerUpdatedByData; +}; + +export type LayerCreatedByData = { + id?: number; + attributes?: LayerCreatedByDataAttributes; +}; + +export type LayerCreatedBy = { + data?: LayerCreatedByData; +}; + +export type LayerCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; + +export type LayerCreatedByDataAttributesUpdatedByData = { + id?: number; + attributes?: LayerCreatedByDataAttributesUpdatedByDataAttributes; +}; + +export type LayerCreatedByDataAttributesUpdatedBy = { + data?: LayerCreatedByDataAttributesUpdatedByData; +}; + +export type LayerCreatedByDataAttributes = { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: LayerCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: LayerCreatedByDataAttributesCreatedBy; + updatedBy?: LayerCreatedByDataAttributesUpdatedBy; +}; + +export type LayerCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; + +export type LayerCreatedByDataAttributesCreatedByData = { + id?: number; + attributes?: LayerCreatedByDataAttributesCreatedByDataAttributes; +}; + +export type LayerCreatedByDataAttributesCreatedBy = { + data?: LayerCreatedByDataAttributesCreatedByData; +}; + +export type LayerCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributes; +}; + +export type LayerCreatedByDataAttributesRoles = { + data?: LayerCreatedByDataAttributesRolesDataItem[]; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { + [key: string]: any; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { + id?: number; + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: LayerCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { + [key: string]: any; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { + id?: number; + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { + id?: number; + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { + [key: string]: any; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { + id?: number; + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUsers = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +}; + +export type LayerType = (typeof LayerType)[keyof typeof LayerType]; + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const LayerType = { + mapbox: 'mapbox', + deckgl: 'deckgl', + carto: 'carto', +} as const; + +export type LayerListResponseMetaPagination = { + page?: number; + pageSize?: number; + pageCount?: number; + total?: number; +}; + +export type LayerListResponseMeta = { + pagination?: LayerListResponseMetaPagination; +}; + +export interface LayerListResponseDataItem { + id?: number; + attributes?: Layer; +} + +export interface LayerListResponse { + data?: LayerListResponseDataItem[]; + meta?: LayerListResponseMeta; +} + +export type LayerRequestDataType = (typeof LayerRequestDataType)[keyof typeof LayerRequestDataType]; + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const LayerRequestDataType = { + mapbox: 'mapbox', + deckgl: 'deckgl', + carto: 'carto', +} as const; + +export type LayerRequestData = { + title: string; + type?: LayerRequestDataType; + config: unknown; + params_config: unknown; + legend_config: unknown; + interaction_config?: unknown; + metadata?: DocumentationMetadataComponent; +}; + +export interface LayerRequest { + data: LayerRequestData; +} + +export type HabitatStatResponseMeta = { [key: string]: any }; + +export interface HabitatStatResponseDataObject { + id?: number; + attributes?: HabitatStat; +} + +export interface HabitatStatResponse { + data?: HabitatStatResponseDataObject; + meta?: HabitatStatResponseMeta; +} + +export type HabitatStatUpdatedByDataAttributes = { [key: string]: any }; + +export type HabitatStatUpdatedByData = { + id?: number; + attributes?: HabitatStatUpdatedByDataAttributes; +}; + +export type HabitatStatUpdatedBy = { + data?: HabitatStatUpdatedByData; +}; + +export type HabitatStatCreatedByDataAttributes = { [key: string]: any }; + +export type HabitatStatCreatedByData = { + id?: number; + attributes?: HabitatStatCreatedByDataAttributes; +}; + +export type HabitatStatCreatedBy = { + data?: HabitatStatCreatedByData; +}; + +export type HabitatStatHabitatDataAttributes = { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatHabitatDataAttributesCreatedBy; + updatedBy?: HabitatStatHabitatDataAttributesUpdatedBy; +}; + +export type HabitatStatHabitatData = { + id?: number; + attributes?: HabitatStatHabitatDataAttributes; +}; + +export type HabitatStatHabitat = { + data?: HabitatStatHabitatData; +}; + +export interface HabitatStat { + location?: HabitatStatLocation; + habitat?: HabitatStatHabitat; + year: number; + protectedArea: number; + totalArea: number; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatCreatedBy; + updatedBy?: HabitatStatUpdatedBy; +} + +export type HabitatStatHabitatDataAttributesUpdatedByDataAttributes = { [key: string]: any }; + +export type HabitatStatHabitatDataAttributesUpdatedByData = { + id?: number; + attributes?: HabitatStatHabitatDataAttributesUpdatedByDataAttributes; +}; + +export type HabitatStatHabitatDataAttributesUpdatedBy = { + data?: HabitatStatHabitatDataAttributesUpdatedByData; +}; + +export type HabitatStatHabitatDataAttributesCreatedByDataAttributes = { [key: string]: any }; + +export type HabitatStatHabitatDataAttributesCreatedByData = { + id?: number; + attributes?: HabitatStatHabitatDataAttributesCreatedByDataAttributes; +}; + +export type HabitatStatHabitatDataAttributesCreatedBy = { + data?: HabitatStatHabitatDataAttributesCreatedByData; +}; + +export type HabitatStatLocationData = { + id?: number; + attributes?: HabitatStatLocationDataAttributes; +}; + +export type HabitatStatLocation = { + data?: HabitatStatLocationData; +}; + +export type HabitatStatLocationDataAttributesUpdatedByDataAttributes = { [key: string]: any }; + +export type HabitatStatLocationDataAttributesUpdatedByData = { + id?: number; + attributes?: HabitatStatLocationDataAttributesUpdatedByDataAttributes; +}; + +export type HabitatStatLocationDataAttributesUpdatedBy = { + data?: HabitatStatLocationDataAttributesUpdatedByData; +}; + +export type HabitatStatLocationDataAttributesCreatedBy = { + data?: HabitatStatLocationDataAttributesCreatedByData; +}; + +export type HabitatStatLocationDataAttributes = { + code?: string; + name?: string; + totalMarineArea?: number; + type?: string; + groups?: HabitatStatLocationDataAttributesGroups; + members?: HabitatStatLocationDataAttributesMembers; + fishing_protection_level_stats?: HabitatStatLocationDataAttributesFishingProtectionLevelStats; + mpaa_protection_level_stats?: HabitatStatLocationDataAttributesMpaaProtectionLevelStats; + protection_coverage_stats?: HabitatStatLocationDataAttributesProtectionCoverageStats; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesUpdatedBy; +}; + +export type HabitatStatLocationDataAttributesCreatedByDataAttributes = { [key: string]: any }; + +export type HabitatStatLocationDataAttributesCreatedByData = { + id?: number; + attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributes; +}; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItem = { + id?: number; + attributes?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes; +}; + +export type HabitatStatLocationDataAttributesProtectionCoverageStats = { + data?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItem[]; +}; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy = { + data?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData; +}; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy = { + data?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData; +}; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus = + { + data?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes = { + location?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation; + protection_status?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus; + year?: number; + cumSumProtectedArea?: number; + protectedArea?: number; + protectedAreasCount?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy; +}; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy = + { + data?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy = + { + data?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes; + }; + +export type HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation = { + data?: HabitatStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData; +}; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItem = { + id?: number; + attributes?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes; +}; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStats = { + data?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItem[]; +}; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy = { + data?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData; +}; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy = { + data?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData; +}; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel = + { + data?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes = { + location?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation; + mpaa_protection_level?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy; +}; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy = + { + data?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy = + { + data?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation = { + data?: HabitatStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData; +}; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItem = { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes; +}; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStats = { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItem[]; +}; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes = { + location?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation; + fishing_protection_level?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy; +}; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem[]; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes = + { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes = + { + name?: string; + code?: string; + description?: string; + users?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; + +export type HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation = + { + data?: HabitatStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData; + }; + +export type HabitatStatLocationDataAttributesMembersDataItemAttributes = { [key: string]: any }; + +export type HabitatStatLocationDataAttributesMembersDataItem = { + id?: number; + attributes?: HabitatStatLocationDataAttributesMembersDataItemAttributes; +}; + +export type HabitatStatLocationDataAttributesMembers = { + data?: HabitatStatLocationDataAttributesMembersDataItem[]; +}; + +export type HabitatStatLocationDataAttributesGroupsDataItemAttributes = { [key: string]: any }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { +export type HabitatStatLocationDataAttributesGroupsDataItem = { id?: number; - attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + attributes?: HabitatStatLocationDataAttributesGroupsDataItemAttributes; }; -export type LayerCreatedByDataAttributesRolesDataItemAttributesUsers = { - data?: LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +export type HabitatStatLocationDataAttributesGroups = { + data?: HabitatStatLocationDataAttributesGroupsDataItem[]; }; -export type LayerType = (typeof LayerType)[keyof typeof LayerType]; - -// eslint-disable-next-line @typescript-eslint/no-redeclare -export const LayerType = { - mapbox: 'mapbox', - deckgl: 'deckgl', - carto: 'carto', -} as const; - -export type LayerListResponseMetaPagination = { +export type HabitatStatListResponseMetaPagination = { page?: number; pageSize?: number; pageCount?: number; total?: number; }; -export type LayerListResponseMeta = { - pagination?: LayerListResponseMetaPagination; +export type HabitatStatListResponseMeta = { + pagination?: HabitatStatListResponseMetaPagination; }; -export interface LayerListResponseDataItem { +export interface HabitatStatListResponseDataItem { id?: number; - attributes?: Layer; -} - -export interface LayerListResponse { - data?: LayerListResponseDataItem[]; - meta?: LayerListResponseMeta; -} - -export type LayerRequestDataType = (typeof LayerRequestDataType)[keyof typeof LayerRequestDataType]; - -// eslint-disable-next-line @typescript-eslint/no-redeclare -export const LayerRequestDataType = { - mapbox: 'mapbox', - deckgl: 'deckgl', - carto: 'carto', -} as const; - -export type LayerRequestData = { - title: string; - type?: LayerRequestDataType; - config: unknown; - params_config: unknown; - legend_config: unknown; - interaction_config?: unknown; - metadata?: DocumentationMetadataComponent; -}; - -export interface LayerRequest { - data: LayerRequestData; + attributes?: HabitatStat; } -export type HabitatStatResponseMeta = { [key: string]: any }; - -export interface HabitatStatResponse { - data?: HabitatStatResponseDataObject; - meta?: HabitatStatResponseMeta; +export interface HabitatStatListResponse { + data?: HabitatStatListResponseDataItem[]; + meta?: HabitatStatListResponseMeta; } -export type HabitatStatUpdatedByData = { - id?: number; - attributes?: HabitatStatUpdatedByDataAttributes; -}; - -export type HabitatStatUpdatedBy = { - data?: HabitatStatUpdatedByData; -}; +export type HabitatResponseMeta = { [key: string]: any }; -export interface HabitatStat { - location?: HabitatStatLocation; - habitat?: HabitatStatHabitat; - year: number; - protectedArea: number; - totalArea: number; +export interface Habitat { + slug: string; + name: string; + info?: string; createdAt?: string; updatedAt?: string; - createdBy?: HabitatStatCreatedBy; - updatedBy?: HabitatStatUpdatedBy; + createdBy?: HabitatCreatedBy; + updatedBy?: HabitatUpdatedBy; } -export interface HabitatStatResponseDataObject { +export interface HabitatResponseDataObject { id?: number; - attributes?: HabitatStat; + attributes?: Habitat; } -export type HabitatStatUpdatedByDataAttributes = { [key: string]: any }; - -export type HabitatStatCreatedByDataAttributes = { [key: string]: any }; - -export type HabitatStatCreatedByData = { - id?: number; - attributes?: HabitatStatCreatedByDataAttributes; -}; - -export type HabitatStatCreatedBy = { - data?: HabitatStatCreatedByData; -}; +export interface HabitatResponse { + data?: HabitatResponseDataObject; + meta?: HabitatResponseMeta; +} -export type HabitatStatHabitatDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatStatHabitatDataAttributesCreatedBy; - updatedBy?: HabitatStatHabitatDataAttributesUpdatedBy; -}; +export type HabitatUpdatedByDataAttributes = { [key: string]: any }; -export type HabitatStatHabitatData = { +export type HabitatUpdatedByData = { id?: number; - attributes?: HabitatStatHabitatDataAttributes; + attributes?: HabitatUpdatedByDataAttributes; }; -export type HabitatStatHabitat = { - data?: HabitatStatHabitatData; +export type HabitatUpdatedBy = { + data?: HabitatUpdatedByData; }; -export type HabitatStatHabitatDataAttributesUpdatedByDataAttributes = { [key: string]: any }; - -export type HabitatStatHabitatDataAttributesUpdatedByData = { +export type HabitatCreatedByData = { id?: number; - attributes?: HabitatStatHabitatDataAttributesUpdatedByDataAttributes; + attributes?: HabitatCreatedByDataAttributes; }; -export type HabitatStatHabitatDataAttributesUpdatedBy = { - data?: HabitatStatHabitatDataAttributesUpdatedByData; +export type HabitatCreatedBy = { + data?: HabitatCreatedByData; }; -export type HabitatStatHabitatDataAttributesCreatedByDataAttributes = { [key: string]: any }; +export type HabitatCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type HabitatStatHabitatDataAttributesCreatedByData = { +export type HabitatCreatedByDataAttributesUpdatedByData = { id?: number; - attributes?: HabitatStatHabitatDataAttributesCreatedByDataAttributes; -}; - -export type HabitatStatHabitatDataAttributesCreatedBy = { - data?: HabitatStatHabitatDataAttributesCreatedByData; + attributes?: HabitatCreatedByDataAttributesUpdatedByDataAttributes; }; -export type HabitatStatLocation = { - data?: HabitatStatLocationData; +export type HabitatCreatedByDataAttributesUpdatedBy = { + data?: HabitatCreatedByDataAttributesUpdatedByData; }; -export type HabitatStatLocationDataAttributesUpdatedByDataAttributes = { [key: string]: any }; +export type HabitatCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type HabitatStatLocationDataAttributesUpdatedByData = { +export type HabitatCreatedByDataAttributesCreatedByData = { id?: number; - attributes?: HabitatStatLocationDataAttributesUpdatedByDataAttributes; + attributes?: HabitatCreatedByDataAttributesCreatedByDataAttributes; }; -export type HabitatStatLocationDataAttributesUpdatedBy = { - data?: HabitatStatLocationDataAttributesUpdatedByData; +export type HabitatCreatedByDataAttributesCreatedBy = { + data?: HabitatCreatedByDataAttributesCreatedByData; }; -export type HabitatStatLocationDataAttributesCreatedByData = { +export type HabitatCreatedByDataAttributesRolesDataItem = { id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributes; + attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributes; }; -export type HabitatStatLocationDataAttributesCreatedBy = { - data?: HabitatStatLocationDataAttributesCreatedByData; +export type HabitatCreatedByDataAttributesRoles = { + data?: HabitatCreatedByDataAttributesRolesDataItem[]; }; -export type HabitatStatLocationDataAttributes = { - code?: string; - name?: string; - totalMarineArea?: number; - type?: string; - groups?: HabitatStatLocationDataAttributesGroups; - members?: HabitatStatLocationDataAttributesMembers; +export type HabitatCreatedByDataAttributes = { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: HabitatCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; createdAt?: string; updatedAt?: string; - createdBy?: HabitatStatLocationDataAttributesCreatedBy; - updatedBy?: HabitatStatLocationDataAttributesUpdatedBy; -}; - -export type HabitatStatLocationData = { - id?: number; - attributes?: HabitatStatLocationDataAttributes; + createdBy?: HabitatCreatedByDataAttributesCreatedBy; + updatedBy?: HabitatCreatedByDataAttributesUpdatedBy; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = { +export type HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByData = { +export type HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedByData; +export type HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { + data?: HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes = { +export type HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: any; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedByData = { +export type HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes; -}; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedBy = { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedByData; + attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +export type HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { + data?: HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; + attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRoles = { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: HabitatStatLocationDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; +export type HabitatCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: HabitatCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissions; createdAt?: string; - updatedAt?: string; - createdBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; -}; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = - { [key: string]: any }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = - { - id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; - }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = - { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; - }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = - { [key: string]: any }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = - { - id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; - }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = - { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; - }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = - { - id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; - }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = - { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; - }; + updatedAt?: string; + createdBy?: HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +}; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = { id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + data?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; +}; + +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: any }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = { id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; - }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = - { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; - }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = - { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = - { [key: string]: any }; - -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = +export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { - id?: number; - attributes?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + data?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; }; -export type HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = { - data?: HabitatStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +export type HabitatCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { + [key: string]: any; }; -export type HabitatStatLocationDataAttributesMembersDataItemAttributes = { [key: string]: any }; - -export type HabitatStatLocationDataAttributesMembersDataItem = { +export type HabitatCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { id?: number; - attributes?: HabitatStatLocationDataAttributesMembersDataItemAttributes; -}; - -export type HabitatStatLocationDataAttributesMembers = { - data?: HabitatStatLocationDataAttributesMembersDataItem[]; -}; - -export type HabitatStatLocationDataAttributesGroups = { - data?: HabitatStatLocationDataAttributesGroupsDataItem[]; + attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; }; -export type HabitatStatLocationDataAttributesGroupsDataItemAttributes = { [key: string]: any }; - -export type HabitatStatLocationDataAttributesGroupsDataItem = { - id?: number; - attributes?: HabitatStatLocationDataAttributesGroupsDataItemAttributes; +export type HabitatCreatedByDataAttributesRolesDataItemAttributesUsers = { + data?: HabitatCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; }; -export type HabitatStatListResponseMetaPagination = { +export type HabitatListResponseMetaPagination = { page?: number; pageSize?: number; pageCount?: number; total?: number; }; -export type HabitatStatListResponseMeta = { - pagination?: HabitatStatListResponseMetaPagination; +export type HabitatListResponseMeta = { + pagination?: HabitatListResponseMetaPagination; }; -export interface HabitatStatListResponseDataItem { +export interface HabitatListResponseDataItem { id?: number; - attributes?: HabitatStat; + attributes?: Habitat; } -export interface HabitatStatListResponse { - data?: HabitatStatListResponseDataItem[]; - meta?: HabitatStatListResponseMeta; +export interface HabitatListResponse { + data?: HabitatListResponseDataItem[]; + meta?: HabitatListResponseMeta; } -export type HabitatResponseMeta = { [key: string]: any }; +export type FishingProtectionLevelStatResponseMeta = { [key: string]: any }; -export interface HabitatResponse { - data?: HabitatResponseDataObject; - meta?: HabitatResponseMeta; +export interface FishingProtectionLevelStat { + location?: FishingProtectionLevelStatLocation; + fishing_protection_level?: FishingProtectionLevelStatFishingProtectionLevel; + area: number; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatCreatedBy; + updatedBy?: FishingProtectionLevelStatUpdatedBy; } -export type HabitatUpdatedByDataAttributes = { [key: string]: any }; - -export type HabitatUpdatedByData = { +export interface FishingProtectionLevelStatResponseDataObject { id?: number; - attributes?: HabitatUpdatedByDataAttributes; -}; + attributes?: FishingProtectionLevelStat; +} -export type HabitatUpdatedBy = { - data?: HabitatUpdatedByData; -}; +export interface FishingProtectionLevelStatResponse { + data?: FishingProtectionLevelStatResponseDataObject; + meta?: FishingProtectionLevelStatResponseMeta; +} -export type HabitatCreatedByData = { +export type FishingProtectionLevelStatUpdatedByDataAttributes = { [key: string]: any }; + +export type FishingProtectionLevelStatUpdatedByData = { id?: number; - attributes?: HabitatCreatedByDataAttributes; + attributes?: FishingProtectionLevelStatUpdatedByDataAttributes; }; -export type HabitatCreatedBy = { - data?: HabitatCreatedByData; +export type FishingProtectionLevelStatUpdatedBy = { + data?: FishingProtectionLevelStatUpdatedByData; }; -export interface Habitat { - slug: string; - name: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatCreatedBy; - updatedBy?: HabitatUpdatedBy; -} - -export interface HabitatResponseDataObject { - id?: number; - attributes?: Habitat; -} - -export type HabitatCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; +export type FishingProtectionLevelStatCreatedByDataAttributes = { [key: string]: any }; -export type HabitatCreatedByDataAttributesUpdatedByData = { +export type FishingProtectionLevelStatCreatedByData = { id?: number; - attributes?: HabitatCreatedByDataAttributesUpdatedByDataAttributes; + attributes?: FishingProtectionLevelStatCreatedByDataAttributes; }; -export type HabitatCreatedByDataAttributesUpdatedBy = { - data?: HabitatCreatedByDataAttributesUpdatedByData; +export type FishingProtectionLevelStatCreatedBy = { + data?: FishingProtectionLevelStatCreatedByData; }; -export type HabitatCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; +export type FishingProtectionLevelStatFishingProtectionLevelDataAttributes = { [key: string]: any }; -export type HabitatCreatedByDataAttributesCreatedByData = { +export type FishingProtectionLevelStatFishingProtectionLevelData = { id?: number; - attributes?: HabitatCreatedByDataAttributesCreatedByDataAttributes; + attributes?: FishingProtectionLevelStatFishingProtectionLevelDataAttributes; }; -export type HabitatCreatedByDataAttributesCreatedBy = { - data?: HabitatCreatedByDataAttributesCreatedByData; +export type FishingProtectionLevelStatFishingProtectionLevel = { + data?: FishingProtectionLevelStatFishingProtectionLevelData; }; -export type HabitatCreatedByDataAttributesRoles = { - data?: HabitatCreatedByDataAttributesRolesDataItem[]; +export type FishingProtectionLevelStatLocationData = { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributes; }; -export type HabitatCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: HabitatCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatCreatedByDataAttributesCreatedBy; - updatedBy?: HabitatCreatedByDataAttributesUpdatedBy; +export type FishingProtectionLevelStatLocation = { + data?: FishingProtectionLevelStatLocationData; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { +export type FishingProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes = { [key: string]: any; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { +export type FishingProtectionLevelStatLocationDataAttributesUpdatedByData = { id?: number; - attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { - data?: HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +export type FishingProtectionLevelStatLocationDataAttributesUpdatedBy = { + data?: FishingProtectionLevelStatLocationDataAttributesUpdatedByData; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { +export type FishingProtectionLevelStatLocationDataAttributes = { + code?: string; + name?: string; + totalMarineArea?: number; + type?: string; + groups?: FishingProtectionLevelStatLocationDataAttributesGroups; + members?: FishingProtectionLevelStatLocationDataAttributesMembers; + fishing_protection_level_stats?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStats; + mpaa_protection_level_stats?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStats; + protection_coverage_stats?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStats; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesUpdatedBy; +}; + +export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributes = { [key: string]: any; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { +export type FishingProtectionLevelStatLocationDataAttributesCreatedByData = { id?: number; - attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributes; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { - data?: HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +export type FishingProtectionLevelStatLocationDataAttributesCreatedBy = { + data?: FishingProtectionLevelStatLocationDataAttributesCreatedByData; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItem = { id?: number; - attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissions = { - data?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStats = { + data?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItem[]; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributes = { - name?: string; - code?: string; - description?: string; - users?: HabitatCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissions; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: HabitatCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; -}; +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByDataAttributes; + }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedByData; + }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByDataAttributes; + }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedByData; + }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributes = + { + location?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation; + protection_status?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus; + year?: number; + cumSumProtectedArea?: number; + protectedArea?: number; + protectedAreasCount?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesUpdatedBy; + }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData; + }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedBy; + }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributes; + }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatus = + { + data?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusData; + }; + +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type HabitatCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesUpdatedByDataAttributes; + }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData = { id?: number; - attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByDataAttributes; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedBy = { - data?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesProtectionStatusDataAttributesCreatedByData; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes = { [key: string]: any }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData = { id?: number; - attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationDataAttributes; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocation = { - data?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + data?: FishingProtectionLevelStatLocationDataAttributesProtectionCoverageStatsDataItemAttributesLocationData; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStats = { + data?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItem[]; +}; + +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData = { id?: number; - attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy = { - data?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + data?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedByData; }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: HabitatCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; -}; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { - [key: string]: any; -}; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { - id?: number; - attributes?: HabitatCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedByData; + }; -export type HabitatCreatedByDataAttributesRolesDataItemAttributesUsers = { - data?: HabitatCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; -}; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy; + }; -export type HabitatListResponseMetaPagination = { - page?: number; - pageSize?: number; - pageCount?: number; - total?: number; -}; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributes; + }; -export type HabitatListResponseMeta = { - pagination?: HabitatListResponseMetaPagination; -}; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel = + { + data?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelData; + }; -export interface HabitatListResponseDataItem { - id?: number; - attributes?: Habitat; -} +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export interface HabitatListResponse { - data?: HabitatListResponseDataItem[]; - meta?: HabitatListResponseMeta; -} +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByDataAttributes; + }; -export type FishingProtectionLevelStatResponseMeta = { [key: string]: any }; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesUpdatedByData; + }; -export interface FishingProtectionLevelStatResponse { - data?: FishingProtectionLevelStatResponseDataObject; - meta?: FishingProtectionLevelStatResponseMeta; -} +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes = + { [key: string]: any }; -export type FishingProtectionLevelStatUpdatedByData = { - id?: number; - attributes?: FishingProtectionLevelStatUpdatedByDataAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByDataAttributes; + }; -export type FishingProtectionLevelStatUpdatedBy = { - data?: FishingProtectionLevelStatUpdatedByData; -}; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevelDataAttributesCreatedByData; + }; -export interface FishingProtectionLevelStat { - location?: FishingProtectionLevelStatLocation; - fishing_protection_level?: FishingProtectionLevelStatFishingProtectionLevel; - area?: number; - createdAt?: string; - updatedAt?: string; - createdBy?: FishingProtectionLevelStatCreatedBy; - updatedBy?: FishingProtectionLevelStatUpdatedBy; -} +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes = + { [key: string]: any }; -export interface FishingProtectionLevelStatResponseDataObject { - id?: number; - attributes?: FishingProtectionLevelStat; -} +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationDataAttributes; + }; -export type FishingProtectionLevelStatUpdatedByDataAttributes = { [key: string]: any }; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation = + { + data?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocationData; + }; -export type FishingProtectionLevelStatCreatedByDataAttributes = { [key: string]: any }; +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes = + { + location?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesLocation; + mpaa_protection_level?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesMpaaProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributesUpdatedBy; + }; -export type FishingProtectionLevelStatCreatedByData = { +export type FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItem = { id?: number; - attributes?: FishingProtectionLevelStatCreatedByDataAttributes; -}; - -export type FishingProtectionLevelStatCreatedBy = { - data?: FishingProtectionLevelStatCreatedByData; -}; - -export type FishingProtectionLevelStatFishingProtectionLevelDataAttributes = { - slug?: string; - name?: string; - info?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreatedBy; - updatedBy?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesUpdatedBy; + attributes?: FishingProtectionLevelStatLocationDataAttributesMpaaProtectionLevelStatsDataItemAttributes; }; -export type FishingProtectionLevelStatFishingProtectionLevelData = { +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItem = { id?: number; - attributes?: FishingProtectionLevelStatFishingProtectionLevelDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes; }; -export type FishingProtectionLevelStatFishingProtectionLevel = { - data?: FishingProtectionLevelStatFishingProtectionLevelData; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStats = { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItem[]; }; -export type FishingProtectionLevelStatFishingProtectionLevelDataAttributesUpdatedByDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type FishingProtectionLevelStatFishingProtectionLevelDataAttributesUpdatedByData = { - id?: number; - attributes?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesUpdatedByDataAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByDataAttributes; + }; -export type FishingProtectionLevelStatFishingProtectionLevelDataAttributesUpdatedBy = { - data?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesUpdatedByData; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedByData; + }; -export type FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreatedByDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreatedByData = { - id?: number; - attributes?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreatedByDataAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByDataAttributes; + }; -export type FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreatedBy = { - data?: FishingProtectionLevelStatFishingProtectionLevelDataAttributesCreatedByData; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedByData; + }; -export type FishingProtectionLevelStatLocation = { - data?: FishingProtectionLevelStatLocationData; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes; + }; -export type FishingProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes = { - [key: string]: any; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel = + { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelData; + }; -export type FishingProtectionLevelStatLocationDataAttributesUpdatedByData = { - id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesUpdatedByDataAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributes = + { + location?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation; + fishing_protection_level?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevel; + area?: number; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesUpdatedBy; + }; -export type FishingProtectionLevelStatLocationDataAttributesUpdatedBy = { - data?: FishingProtectionLevelStatLocationDataAttributesUpdatedByData; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByData = { - id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByDataAttributes; + }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedBy = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByData; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedByData; + }; -export type FishingProtectionLevelStatLocationDataAttributes = { - code?: string; - name?: string; - totalMarineArea?: number; - type?: string; - groups?: FishingProtectionLevelStatLocationDataAttributesGroups; - members?: FishingProtectionLevelStatLocationDataAttributesMembers; - createdAt?: string; - updatedAt?: string; - createdBy?: FishingProtectionLevelStatLocationDataAttributesCreatedBy; - updatedBy?: FishingProtectionLevelStatLocationDataAttributesUpdatedBy; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes; + }; -export type FishingProtectionLevelStatLocationData = { - id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByData; + }; + +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributes = + { + slug?: string; + name?: string; + info?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesUpdatedBy; + }; + +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; + }; + +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedByData; + }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByData = { - id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByDataAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByDataAttributes; + }; + +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedByData; + }; + +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes; + }; + +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles = + { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItem[]; + }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedBy = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedByData; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributes = + { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesUpdatedBy; + }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByData = { - id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByDataAttributes; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedBy = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedByData; -}; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = + { + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributes = { name?: string; code?: string; description?: string; - users?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; - permissions?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + users?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; createdAt?: string; updatedAt?: string; - createdBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; - updatedBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + createdBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributes; -}; - -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRoles = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItem[]; -}; - -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributes = { - firstname?: string; - lastname?: string; - username?: string; - email?: string; - resetPasswordToken?: string; - registrationToken?: string; - isActive?: boolean; - roles?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRoles; - blocked?: boolean; - preferedLanguage?: string; - createdAt?: string; - updatedAt?: string; - createdBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesCreatedBy; - updatedBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesUpdatedBy; -}; - -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = - { [key: string]: any }; +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = + { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = { id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: any }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: any }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = { id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: any }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; - }; - -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = - { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = { - action?: string; - actionParameters?: unknown; - subject?: string; - properties?: unknown; - conditions?: unknown; - role?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; - createdAt?: string; - updatedAt?: string; - createdBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; - updatedBy?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesFishingProtectionLevelDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes = { [key: string]: any }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData = { id?: number; - attributes?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + attributes?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationDataAttributes; }; -export type FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = +export type FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocation = { - data?: FishingProtectionLevelStatLocationDataAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; + data?: FishingProtectionLevelStatLocationDataAttributesFishingProtectionLevelStatsDataItemAttributesLocationData; }; export type FishingProtectionLevelStatLocationDataAttributesMembersDataItemAttributes = { @@ -4802,10 +7676,6 @@ export type FishingProtectionLevelStatLocationDataAttributesMembers = { data?: FishingProtectionLevelStatLocationDataAttributesMembersDataItem[]; }; -export type FishingProtectionLevelStatLocationDataAttributesGroups = { - data?: FishingProtectionLevelStatLocationDataAttributesGroupsDataItem[]; -}; - export type FishingProtectionLevelStatLocationDataAttributesGroupsDataItemAttributes = { [key: string]: any; }; @@ -4815,6 +7685,10 @@ export type FishingProtectionLevelStatLocationDataAttributesGroupsDataItem = { attributes?: FishingProtectionLevelStatLocationDataAttributesGroupsDataItemAttributes; }; +export type FishingProtectionLevelStatLocationDataAttributesGroups = { + data?: FishingProtectionLevelStatLocationDataAttributesGroupsDataItem[]; +}; + export type FishingProtectionLevelStatListResponseMetaPagination = { page?: number; pageSize?: number; @@ -4891,23 +7765,6 @@ export type FishingProtectionLevelCreatedByDataAttributesUpdatedBy = { data?: FishingProtectionLevelCreatedByDataAttributesUpdatedByData; }; -export type FishingProtectionLevelCreatedByDataAttributesCreatedByDataAttributes = { - [key: string]: any; -}; - -export type FishingProtectionLevelCreatedByDataAttributesCreatedByData = { - id?: number; - attributes?: FishingProtectionLevelCreatedByDataAttributesCreatedByDataAttributes; -}; - -export type FishingProtectionLevelCreatedByDataAttributesCreatedBy = { - data?: FishingProtectionLevelCreatedByDataAttributesCreatedByData; -}; - -export type FishingProtectionLevelCreatedByDataAttributesRoles = { - data?: FishingProtectionLevelCreatedByDataAttributesRolesDataItem[]; -}; - export type FishingProtectionLevelCreatedByDataAttributes = { firstname?: string; lastname?: string; @@ -4925,6 +7782,28 @@ export type FishingProtectionLevelCreatedByDataAttributes = { updatedBy?: FishingProtectionLevelCreatedByDataAttributesUpdatedBy; }; +export type FishingProtectionLevelCreatedByDataAttributesCreatedByDataAttributes = { + [key: string]: any; +}; + +export type FishingProtectionLevelCreatedByDataAttributesCreatedByData = { + id?: number; + attributes?: FishingProtectionLevelCreatedByDataAttributesCreatedByDataAttributes; +}; + +export type FishingProtectionLevelCreatedByDataAttributesCreatedBy = { + data?: FishingProtectionLevelCreatedByDataAttributesCreatedByData; +}; + +export type FishingProtectionLevelCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: FishingProtectionLevelCreatedByDataAttributesRolesDataItemAttributes; +}; + +export type FishingProtectionLevelCreatedByDataAttributesRoles = { + data?: FishingProtectionLevelCreatedByDataAttributesRolesDataItem[]; +}; + export type FishingProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -4971,11 +7850,6 @@ export type FishingProtectionLevelCreatedByDataAttributesRolesDataItemAttributes updatedBy?: FishingProtectionLevelCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; }; -export type FishingProtectionLevelCreatedByDataAttributesRolesDataItem = { - id?: number; - attributes?: FishingProtectionLevelCreatedByDataAttributesRolesDataItemAttributes; -}; - export type FishingProtectionLevelCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: any }; @@ -5065,6 +7939,231 @@ export interface FishingProtectionLevelListResponse { meta?: FishingProtectionLevelListResponseMeta; } +export type DataInfoResponseMeta = { [key: string]: any }; + +export interface DataInfoResponse { + data?: DataInfoResponseDataObject; + meta?: DataInfoResponseMeta; +} + +export interface DataInfo { + slug: string; + content: string; + createdAt?: string; + updatedAt?: string; + createdBy?: DataInfoCreatedBy; + updatedBy?: DataInfoUpdatedBy; +} + +export interface DataInfoResponseDataObject { + id?: number; + attributes?: DataInfo; +} + +export type DataInfoUpdatedByDataAttributes = { [key: string]: any }; + +export type DataInfoUpdatedByData = { + id?: number; + attributes?: DataInfoUpdatedByDataAttributes; +}; + +export type DataInfoUpdatedBy = { + data?: DataInfoUpdatedByData; +}; + +export type DataInfoCreatedByData = { + id?: number; + attributes?: DataInfoCreatedByDataAttributes; +}; + +export type DataInfoCreatedBy = { + data?: DataInfoCreatedByData; +}; + +export type DataInfoCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: any }; + +export type DataInfoCreatedByDataAttributesUpdatedByData = { + id?: number; + attributes?: DataInfoCreatedByDataAttributesUpdatedByDataAttributes; +}; + +export type DataInfoCreatedByDataAttributesUpdatedBy = { + data?: DataInfoCreatedByDataAttributesUpdatedByData; +}; + +export type DataInfoCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: any }; + +export type DataInfoCreatedByDataAttributesCreatedByData = { + id?: number; + attributes?: DataInfoCreatedByDataAttributesCreatedByDataAttributes; +}; + +export type DataInfoCreatedByDataAttributesCreatedBy = { + data?: DataInfoCreatedByDataAttributesCreatedByData; +}; + +export type DataInfoCreatedByDataAttributesRoles = { + data?: DataInfoCreatedByDataAttributesRolesDataItem[]; +}; + +export type DataInfoCreatedByDataAttributes = { + firstname?: string; + lastname?: string; + username?: string; + email?: string; + resetPasswordToken?: string; + registrationToken?: string; + isActive?: boolean; + roles?: DataInfoCreatedByDataAttributesRoles; + blocked?: boolean; + preferedLanguage?: string; + createdAt?: string; + updatedAt?: string; + createdBy?: DataInfoCreatedByDataAttributesCreatedBy; + updatedBy?: DataInfoCreatedByDataAttributesUpdatedBy; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { + [key: string]: any; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { + id?: number; + attributes?: DataInfoCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { + data?: DataInfoCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { + [key: string]: any; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { + id?: number; + attributes?: DataInfoCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { + data?: DataInfoCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { + id?: number; + attributes?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributes = { + name?: string; + code?: string; + description?: string; + users?: DataInfoCreatedByDataAttributesRolesDataItemAttributesUsers; + permissions?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissions; + createdAt?: string; + updatedAt?: string; + createdBy?: DataInfoCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + updatedBy?: DataInfoCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItem = { + id?: number; + attributes?: DataInfoCreatedByDataAttributesRolesDataItemAttributes; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = + { [key: string]: any }; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = + { + id?: number; + attributes?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + }; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = + { + data?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; + }; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = + { [key: string]: any }; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = + { + id?: number; + attributes?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + }; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = + { + data?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; + }; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = + { [key: string]: any }; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = + { + id?: number; + attributes?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + }; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = + { + data?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; + }; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { + action?: string; + actionParameters?: unknown; + subject?: string; + properties?: unknown; + conditions?: unknown; + role?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + createdAt?: string; + updatedAt?: string; + createdBy?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + updatedBy?: DataInfoCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { + [key: string]: any; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { + id?: number; + attributes?: DataInfoCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; +}; + +export type DataInfoCreatedByDataAttributesRolesDataItemAttributesUsers = { + data?: DataInfoCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +}; + +export type DataInfoListResponseMetaPagination = { + page?: number; + pageSize?: number; + pageCount?: number; + total?: number; +}; + +export type DataInfoListResponseMeta = { + pagination?: DataInfoListResponseMetaPagination; +}; + +export interface DataInfoListResponseDataItem { + id?: number; + attributes?: DataInfo; +} + +export interface DataInfoListResponse { + data?: DataInfoListResponseDataItem[]; + meta?: DataInfoListResponseMeta; +} + export type ErrorErrorDetails = { [key: string]: any }; export type ErrorError = { From c25d8994a139d829a7b0533770f382f978e9ca11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Gonz=C3=A1lez=20Mu=C3=B1oz?= Date: Wed, 25 Oct 2023 16:56:15 +0200 Subject: [PATCH 4/6] moves map under data-tool layout --- .../charts/conservation-chart/index.tsx | 2 +- .../charts/horizontal-bar-chart/index.tsx | 2 +- .../src/components/map/attributions/index.tsx | 2 +- .../components/map/layers-dropdown/index.tsx | 7 +- frontend/src/components/map/legend/index.tsx | 11 +- .../data-tool/content/map/index.tsx | 158 +++++++++++++++--- .../content}/map/layer-manager/index.tsx | 7 +- .../content}/map/layer-manager/item.tsx | 0 .../content}/map/popup/eez/index.tsx | 0 .../content}/map/popup/index.tsx | 2 +- .../content}/map/popup/item.tsx | 0 .../content}/map/sync-settings.ts | 0 .../containers/data-tool/sidebar/index.tsx | 2 +- .../sidebar/location-selector/index.tsx | 8 +- frontend/src/lib/json-converter/index.ts | 2 +- frontend/src/pages/map.tsx | 157 ----------------- 16 files changed, 161 insertions(+), 199 deletions(-) rename frontend/src/containers/{ => data-tool/content}/map/layer-manager/index.tsx (88%) rename frontend/src/containers/{ => data-tool/content}/map/layer-manager/item.tsx (100%) rename frontend/src/containers/{ => data-tool/content}/map/popup/eez/index.tsx (100%) rename frontend/src/containers/{ => data-tool/content}/map/popup/index.tsx (94%) rename frontend/src/containers/{ => data-tool/content}/map/popup/item.tsx (100%) rename frontend/src/containers/{ => data-tool/content}/map/sync-settings.ts (100%) delete mode 100644 frontend/src/pages/map.tsx diff --git a/frontend/src/components/charts/conservation-chart/index.tsx b/frontend/src/components/charts/conservation-chart/index.tsx index 3cc0aec6..ee26f279 100644 --- a/frontend/src/components/charts/conservation-chart/index.tsx +++ b/frontend/src/components/charts/conservation-chart/index.tsx @@ -13,7 +13,7 @@ import { Line, } from 'recharts'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; import ChartLegend from './legend'; diff --git a/frontend/src/components/charts/horizontal-bar-chart/index.tsx b/frontend/src/components/charts/horizontal-bar-chart/index.tsx index 13ef7abe..6e35450b 100644 --- a/frontend/src/components/charts/horizontal-bar-chart/index.tsx +++ b/frontend/src/components/charts/horizontal-bar-chart/index.tsx @@ -2,7 +2,7 @@ import { useMemo } from 'react'; import { format } from 'd3-format'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; const DEFAULT_BAR_COLOR = '#1E1E1E'; const DEFAULT_MAX_PERCENTAGE = 55; diff --git a/frontend/src/components/map/attributions/index.tsx b/frontend/src/components/map/attributions/index.tsx index 73d0fc06..2fed7e38 100644 --- a/frontend/src/components/map/attributions/index.tsx +++ b/frontend/src/components/map/attributions/index.tsx @@ -2,7 +2,7 @@ import { FC } from 'react'; import { AttributionControl } from 'react-map-gl'; -import { useSyncMapLayers } from '@/containers/map/sync-settings'; +import { useSyncMapLayers } from '@/containers/data-tool/content/map/sync-settings'; import { useGetLayers } from '@/types/generated/layer'; const Attributions: FC = () => { diff --git a/frontend/src/components/map/layers-dropdown/index.tsx b/frontend/src/components/map/layers-dropdown/index.tsx index 07d7649e..be6fae46 100644 --- a/frontend/src/components/map/layers-dropdown/index.tsx +++ b/frontend/src/components/map/layers-dropdown/index.tsx @@ -6,7 +6,10 @@ import { Button } from '@/components/ui/button'; import { Label } from '@/components/ui/label'; import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { Switch } from '@/components/ui/switch'; -import { useSyncMapLayers, useSyncMapLayerSettings } from '@/containers/map/sync-settings'; +import { + useSyncMapLayers, + useSyncMapLayerSettings, +} from '@/containers/data-tool/content/map/sync-settings'; import { cn } from '@/lib/classnames'; import { useGetLayers } from '@/types/generated/layer'; import { LayerResponseDataObject } from '@/types/generated/strapi.schemas'; @@ -70,7 +73,7 @@ const LayersDropdown: FC<{
      - {layersQuery.data.map((layer) => { + {layersQuery.data?.map((layer) => { const isActive = activeLayers.findIndex((layerId) => layerId === layer.id) !== -1; const onCheckedChange = onToggleLayer.bind(null, layer.id) as ( isActive: boolean diff --git a/frontend/src/components/map/legend/index.tsx b/frontend/src/components/map/legend/index.tsx index 7b8fc1dc..f48b272f 100644 --- a/frontend/src/components/map/legend/index.tsx +++ b/frontend/src/components/map/legend/index.tsx @@ -15,7 +15,10 @@ import { Label } from '@/components/ui/label'; import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { Slider } from '@/components/ui/slider'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; -import { useSyncMapLayerSettings, useSyncMapLayers } from '@/containers/map/sync-settings'; +import { + useSyncMapLayerSettings, + useSyncMapLayers, +} from '@/containers/data-tool/content/map/sync-settings'; import { cn } from '@/lib/classnames'; import { useGetLayers } from '@/types/generated/layer'; import { LayerResponseDataObject } from '@/types/generated/strapi.schemas'; @@ -154,13 +157,13 @@ const Legend: FC = () => { - {!layersQuery.data.length && ( + {!layersQuery.data?.length && (

      Open Layers to add layers to the map

      )} - {layersQuery.data.length > 0 && ( + {layersQuery.data?.length > 0 && ( { @@ -168,7 +171,7 @@ const Legend: FC = () => { })} onValueChange={onToggleAccordion} > - {layersQuery.data.map(({ id, attributes: { title } }, index) => { + {layersQuery.data?.map(({ id, attributes: { title } }, index) => { const isFirst = index === 0; const isLast = index + 1 === layersQuery.data.length; diff --git a/frontend/src/containers/data-tool/content/map/index.tsx b/frontend/src/containers/data-tool/content/map/index.tsx index 6a4ed9e1..7de80e5c 100644 --- a/frontend/src/containers/data-tool/content/map/index.tsx +++ b/frontend/src/containers/data-tool/content/map/index.tsx @@ -1,17 +1,66 @@ -import { useCallback } from 'react'; +import { ComponentProps, useCallback, useState } from 'react'; import { useMap } from 'react-map-gl'; -import LayerManager from '@/components/layer-manager'; -import Map, { ZoomControls, LayersDropdown, Legend, Attributions, Drawing } from '@/components/map'; -import { useSyncMapSettings } from '@/containers/map/sync-settings'; +import dynamic from 'next/dynamic'; -const DataToolMap: React.FC = () => { +import { useAtomValue, useSetAtom } from 'jotai'; +import { ChevronLeft } from 'lucide-react'; + +import Map, { + ZoomControls, + LayersDropdown, + Legend, + Attributions, + DrawControls, + Drawing, +} from '@/components/map'; +import SidebarContent from '@/components/sidebar-content'; +import { Button } from '@/components/ui/button'; +import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible'; +// import Popup from '@/containers/map/popup'; +import { useSyncMapSettings } from '@/containers/data-tool/content/map/sync-settings'; +import { cn } from '@/lib/classnames'; +import { + drawStateAtom, + layersInteractiveAtom, + layersInteractiveIdsAtom, + popupAtom, +} from '@/store/map'; +import { useGetLayers } from '@/types/generated/layer'; +import { LayerTyped } from '@/types/layers'; + +const LayerManager = dynamic(() => import('@/containers/data-tool/content/map/layer-manager'), { + ssr: false, +}); + +const MapPage: React.FC = () => { + const [sidebarOpen, setSidebarOpen] = useState(true); const [{ bbox }, setMapSettings] = useSyncMapSettings(); const { default: map } = useMap(); + const drawState = useAtomValue(drawStateAtom); + const setPopup = useSetAtom(popupAtom); + + const layersInteractive = useAtomValue(layersInteractiveAtom); + const layersInteractiveIds = useAtomValue(layersInteractiveIdsAtom); + + const { data: layersInteractiveData } = useGetLayers( + { + filters: { + id: { + $in: layersInteractive, + }, + }, + }, + { + query: { + enabled: !!layersInteractive.length, + select: ({ data }) => data, + }, + } + ); const handleMoveEnd = useCallback(() => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises setMapSettings((prev) => ({ ...prev, bbox: map @@ -22,27 +71,84 @@ const DataToolMap: React.FC = () => { })); }, [map, setMapSettings]); + const handleMapClick = useCallback( + (e: Parameters['onClick']>[0]) => { + if ( + layersInteractive.length && + layersInteractiveData.some((l) => { + const attributes = l.attributes as LayerTyped; + return attributes?.interaction_config?.events.some((ev) => ev.type === 'click'); + }) + ) { + const p = Object.assign({}, e, { features: e.features ?? [] }); + + setPopup(p); + } + }, + [layersInteractive, layersInteractiveData, setPopup] + ); + return ( - - <> -
      - - -
      - - - - - -
      +
      + {/* + + + + + + + */} + + <> +
      + + + {/* */} + + + +
      + + + + + + +
      +
      + +
      +
      ); }; -export default DataToolMap; +export default MapPage; diff --git a/frontend/src/containers/map/layer-manager/index.tsx b/frontend/src/containers/data-tool/content/map/layer-manager/index.tsx similarity index 88% rename from frontend/src/containers/map/layer-manager/index.tsx rename to frontend/src/containers/data-tool/content/map/layer-manager/index.tsx index a737866d..4bcba335 100644 --- a/frontend/src/containers/map/layer-manager/index.tsx +++ b/frontend/src/containers/data-tool/content/map/layer-manager/index.tsx @@ -1,8 +1,11 @@ import { Layer } from 'react-map-gl'; import { DeckMapboxOverlayProvider } from '@/components/map/provider'; -import LayerManagerItem from '@/containers/map/layer-manager/item'; -import { useSyncMapLayerSettings, useSyncMapLayers } from '@/containers/map/sync-settings'; +import LayerManagerItem from '@/containers/data-tool/content/map/layer-manager/item'; +import { + useSyncMapLayerSettings, + useSyncMapLayers, +} from '@/containers/data-tool/content/map/sync-settings'; const LayerManager = () => { const [activeLayers] = useSyncMapLayers(); diff --git a/frontend/src/containers/map/layer-manager/item.tsx b/frontend/src/containers/data-tool/content/map/layer-manager/item.tsx similarity index 100% rename from frontend/src/containers/map/layer-manager/item.tsx rename to frontend/src/containers/data-tool/content/map/layer-manager/item.tsx diff --git a/frontend/src/containers/map/popup/eez/index.tsx b/frontend/src/containers/data-tool/content/map/popup/eez/index.tsx similarity index 100% rename from frontend/src/containers/map/popup/eez/index.tsx rename to frontend/src/containers/data-tool/content/map/popup/eez/index.tsx diff --git a/frontend/src/containers/map/popup/index.tsx b/frontend/src/containers/data-tool/content/map/popup/index.tsx similarity index 94% rename from frontend/src/containers/map/popup/index.tsx rename to frontend/src/containers/data-tool/content/map/popup/index.tsx index 2054e857..21d418e6 100644 --- a/frontend/src/containers/map/popup/index.tsx +++ b/frontend/src/containers/data-tool/content/map/popup/index.tsx @@ -2,7 +2,7 @@ import { Popup } from 'react-map-gl'; import { useAtomValue, useSetAtom } from 'jotai'; -import PopupItem from '@/containers/map/popup/item'; +import PopupItem from '@/containers/data-tool/content/map/popup/item'; import { layersInteractiveAtom, popupAtom } from '@/store/map'; const PopupContainer = () => { diff --git a/frontend/src/containers/map/popup/item.tsx b/frontend/src/containers/data-tool/content/map/popup/item.tsx similarity index 100% rename from frontend/src/containers/map/popup/item.tsx rename to frontend/src/containers/data-tool/content/map/popup/item.tsx diff --git a/frontend/src/containers/map/sync-settings.ts b/frontend/src/containers/data-tool/content/map/sync-settings.ts similarity index 100% rename from frontend/src/containers/map/sync-settings.ts rename to frontend/src/containers/data-tool/content/map/sync-settings.ts diff --git a/frontend/src/containers/data-tool/sidebar/index.tsx b/frontend/src/containers/data-tool/sidebar/index.tsx index 345d3666..54dcd2d1 100644 --- a/frontend/src/containers/data-tool/sidebar/index.tsx +++ b/frontend/src/containers/data-tool/sidebar/index.tsx @@ -5,7 +5,7 @@ import { ChevronLeft } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; import { locationAtom } from '@/store/location'; import LocationSelector from './location-selector'; diff --git a/frontend/src/containers/data-tool/sidebar/location-selector/index.tsx b/frontend/src/containers/data-tool/sidebar/location-selector/index.tsx index a77e49b9..12591a3c 100644 --- a/frontend/src/containers/data-tool/sidebar/location-selector/index.tsx +++ b/frontend/src/containers/data-tool/sidebar/location-selector/index.tsx @@ -14,7 +14,7 @@ import { } from '@/components/ui/command'; import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { PAGES } from '@/constants/pages'; -import { cn } from '@/lib/utils'; +import { cn } from '@/lib/classnames'; import { locationAtom } from '@/store/location'; import { useGetLocations } from '@/types/generated/location'; @@ -51,7 +51,11 @@ const LocationSelector: React.FC = ({ className }) => { const { name, code, type } = attributes; return ( - handleLocationSelected(code)}> + handleLocationSelected(code)} + >
      import('@/containers/map/layer-manager'), { - ssr: false, -}); - -const MapPage: React.FC = () => { - const [sidebarOpen, setSidebarOpen] = useState(true); - const [{ bbox }, setMapSettings] = useSyncMapSettings(); - const { default: map } = useMap(); - const drawState = useAtomValue(drawStateAtom); - const setPopup = useSetAtom(popupAtom); - - const layersInteractive = useAtomValue(layersInteractiveAtom); - const layersInteractiveIds = useAtomValue(layersInteractiveIdsAtom); - - const { data: layersInteractiveData } = useGetLayers( - { - filters: { - id: { - $in: layersInteractive, - }, - }, - }, - { - query: { - enabled: !!layersInteractive.length, - select: ({ data }) => data, - }, - } - ); - - const handleMoveEnd = useCallback(() => { - setMapSettings((prev) => ({ - ...prev, - bbox: map - .getBounds() - .toArray() - .flat() - .map((b) => parseFloat(b.toFixed(2))) as typeof bbox, - })); - }, [map, setMapSettings]); - - const handleMapClick = useCallback( - (e: Parameters['onClick']>[0]) => { - if ( - layersInteractive.length && - layersInteractiveData.some((l) => { - const attributes = l.attributes as LayerTyped; - return attributes?.interaction_config?.events.some((ev) => ev.type === 'click'); - }) - ) { - const p = Object.assign({}, e, { features: e.features ?? [] }); - - setPopup(p); - } - }, - [layersInteractive, layersInteractiveData, setPopup] - ); - - return ( - -
      - - - - - - - - - - <> -
      - - - {/* */} - - - -
      - - - - - - -
      -
      - -
      -
      -
      - ); -}; - -export default MapPage; From e4aec320ce753aafbcb1670ca478b54d7d6b623b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Gonz=C3=A1lez=20Mu=C3=B1oz?= Date: Wed, 25 Oct 2023 17:13:07 +0200 Subject: [PATCH 5/6] removes sidebar from map layout --- ...content_types##api##location.location.json | 12 ++++--- cms/config/sync/user-role.public.json | 9 ----- .../data-tool/content/map/index.tsx | 35 +++---------------- 3 files changed, 11 insertions(+), 45 deletions(-) diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##location.location.json b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##location.location.json index 4a292e20..0600614b 100644 --- a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##location.location.json +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##location.location.json @@ -246,17 +246,19 @@ { "name": "members", "size": 6 - }, - { - "name": "fishing_protection_level_stats", - "size": 6 } ], [ { - "name": "mpaa_protection_level_stats", + "name": "fishing_protection_level_stats", "size": 6 }, + { + "name": "mpaa_protection_level_stats", + "size": 6 + } + ], + [ { "name": "protection_coverage_stats", "size": 6 diff --git a/cms/config/sync/user-role.public.json b/cms/config/sync/user-role.public.json index 51e6effb..fea25478 100644 --- a/cms/config/sync/user-role.public.json +++ b/cms/config/sync/user-role.public.json @@ -6,15 +6,6 @@ { "action": "api::layer.layer.find" }, - { - "action": "api::data-info.data-info.find" - }, - { - "action": "api::data-info.data-info.findOne" - }, - { - "action": "api::fishing-protection-level-stat.fishing-protection-level-stat.find" - }, { "action": "api::layer.layer.findOne" }, diff --git a/frontend/src/containers/data-tool/content/map/index.tsx b/frontend/src/containers/data-tool/content/map/index.tsx index 7de80e5c..1672084c 100644 --- a/frontend/src/containers/data-tool/content/map/index.tsx +++ b/frontend/src/containers/data-tool/content/map/index.tsx @@ -1,11 +1,10 @@ -import { ComponentProps, useCallback, useState } from 'react'; +import { ComponentProps, useCallback } from 'react'; import { useMap } from 'react-map-gl'; import dynamic from 'next/dynamic'; import { useAtomValue, useSetAtom } from 'jotai'; -import { ChevronLeft } from 'lucide-react'; import Map, { ZoomControls, @@ -16,8 +15,6 @@ import Map, { Drawing, } from '@/components/map'; import SidebarContent from '@/components/sidebar-content'; -import { Button } from '@/components/ui/button'; -import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible'; // import Popup from '@/containers/map/popup'; import { useSyncMapSettings } from '@/containers/data-tool/content/map/sync-settings'; import { cn } from '@/lib/classnames'; @@ -34,8 +31,7 @@ const LayerManager = dynamic(() => import('@/containers/data-tool/content/map/la ssr: false, }); -const MapPage: React.FC = () => { - const [sidebarOpen, setSidebarOpen] = useState(true); +const DataToolMap: React.FC = () => { const [{ bbox }, setMapSettings] = useSyncMapSettings(); const { default: map } = useMap(); const drawState = useAtomValue(drawStateAtom); @@ -90,24 +86,6 @@ const MapPage: React.FC = () => { return (
      - {/* - - - - - - - */} { {/* */} - +
      @@ -151,4 +124,4 @@ const MapPage: React.FC = () => { ); }; -export default MapPage; +export default DataToolMap; From cec2e718efaaf8e7062ee290100fe47a9a8cd939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Gonz=C3=A1lez=20Mu=C3=B1oz?= Date: Wed, 25 Oct 2023 17:28:27 +0200 Subject: [PATCH 6/6] adds Yarn binary --- frontend/.gitignore | 1 + frontend/.yarn/releases/yarn-3.5.0.cjs | 873 +++++++++++++++++++++++++ frontend/.yarnrc.yml | 1 + 3 files changed, 875 insertions(+) create mode 100755 frontend/.yarn/releases/yarn-3.5.0.cjs diff --git a/frontend/.gitignore b/frontend/.gitignore index 467b42c3..356ba76f 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -37,6 +37,7 @@ yarn-error.log* # Yarn .yarn/* +!.yarn/releases .pnp.* # typescript diff --git a/frontend/.yarn/releases/yarn-3.5.0.cjs b/frontend/.yarn/releases/yarn-3.5.0.cjs new file mode 100755 index 00000000..093e64a9 --- /dev/null +++ b/frontend/.yarn/releases/yarn-3.5.0.cjs @@ -0,0 +1,873 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var Qge=Object.create;var AS=Object.defineProperty;var bge=Object.getOwnPropertyDescriptor;var Sge=Object.getOwnPropertyNames;var vge=Object.getPrototypeOf,xge=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var Pge=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)AS(r,t,{get:e[t],enumerable:!0})},Dge=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Sge(e))!xge.call(r,n)&&n!==t&&AS(r,n,{get:()=>e[n],enumerable:!(i=bge(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?Qge(vge(r)):{},Dge(e||!r||!r.__esModule?AS(t,"default",{value:r,enumerable:!0}):t,r));var QK=w((GXe,BK)=>{BK.exports=wK;wK.sync=Zge;var IK=J("fs");function Xge(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{xK.exports=SK;SK.sync=_ge;var bK=J("fs");function SK(r,e,t){bK.stat(r,function(i,n){t(i,i?!1:vK(n,e))})}function _ge(r,e){return vK(bK.statSync(r),e)}function vK(r,e){return r.isFile()&&$ge(r,e)}function $ge(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var kK=w((qXe,DK)=>{var jXe=J("fs"),sI;process.platform==="win32"||global.TESTING_WINDOWS?sI=QK():sI=PK();DK.exports=SS;SS.sync=efe;function SS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){SS(r,e||{},function(s,o){s?n(s):i(o)})})}sI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function efe(r,e){try{return sI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var MK=w((JXe,OK)=>{var vg=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",RK=J("path"),tfe=vg?";":":",FK=kK(),NK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),LK=(r,e)=>{let t=e.colon||tfe,i=r.match(/\//)||vg&&r.match(/\\/)?[""]:[...vg?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=vg?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=vg?n.split(t):[""];return vg&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},TK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=LK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(NK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=RK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];FK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},rfe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=LK(r,e),s=[];for(let o=0;o{"use strict";var KK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};vS.exports=KK;vS.exports.default=KK});var jK=w((zXe,YK)=>{"use strict";var HK=J("path"),ife=MK(),nfe=UK();function GK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=ife.sync(r.command,{path:t[nfe({env:t})],pathExt:e?HK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=HK.resolve(n?r.options.cwd:"",o)),o}function sfe(r){return GK(r)||GK(r,!0)}YK.exports=sfe});var qK=w((VXe,PS)=>{"use strict";var xS=/([()\][%!^"`<>&|;, *?])/g;function ofe(r){return r=r.replace(xS,"^$1"),r}function afe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(xS,"^$1"),e&&(r=r.replace(xS,"^$1")),r}PS.exports.command=ofe;PS.exports.argument=afe});var WK=w((XXe,JK)=>{"use strict";JK.exports=/^#!(.*)/});var VK=w((ZXe,zK)=>{"use strict";var Afe=WK();zK.exports=(r="")=>{let e=r.match(Afe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var ZK=w((_Xe,XK)=>{"use strict";var DS=J("fs"),lfe=VK();function cfe(r){let t=Buffer.alloc(150),i;try{i=DS.openSync(r,"r"),DS.readSync(i,t,0,150,0),DS.closeSync(i)}catch{}return lfe(t.toString())}XK.exports=cfe});var tU=w(($Xe,eU)=>{"use strict";var ufe=J("path"),_K=jK(),$K=qK(),gfe=ZK(),ffe=process.platform==="win32",hfe=/\.(?:com|exe)$/i,pfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function dfe(r){r.file=_K(r);let e=r.file&&gfe(r.file);return e?(r.args.unshift(r.file),r.command=e,_K(r)):r.file}function Cfe(r){if(!ffe)return r;let e=dfe(r),t=!hfe.test(e);if(r.options.forceShell||t){let i=pfe.test(e);r.command=ufe.normalize(r.command),r.command=$K.command(r.command),r.args=r.args.map(s=>$K.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function mfe(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:Cfe(i)}eU.exports=mfe});var nU=w((eZe,iU)=>{"use strict";var kS=process.platform==="win32";function RS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Efe(r,e){if(!kS)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=rU(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function rU(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawn"):null}function Ife(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawnSync"):null}iU.exports={hookChildProcess:Efe,verifyENOENT:rU,verifyENOENTSync:Ife,notFoundError:RS}});var LS=w((tZe,xg)=>{"use strict";var sU=J("child_process"),FS=tU(),NS=nU();function oU(r,e,t){let i=FS(r,e,t),n=sU.spawn(i.command,i.args,i.options);return NS.hookChildProcess(n,i),n}function yfe(r,e,t){let i=FS(r,e,t),n=sU.spawnSync(i.command,i.args,i.options);return n.error=n.error||NS.verifyENOENTSync(n.status,i),n}xg.exports=oU;xg.exports.spawn=oU;xg.exports.sync=yfe;xg.exports._parse=FS;xg.exports._enoent=NS});var AU=w((rZe,aU)=>{"use strict";function wfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Wl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Wl)}wfe(Wl,Error);Wl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ie=me(">>",!1),de=">&",_e=me(">&",!1),Pt=">",It=me(">",!1),Or="<<<",ii=me("<<<",!1),gi="<&",hr=me("<&",!1),fi="<",ni=me("<",!1),Os=function(m){return{type:"argument",segments:[].concat(...m)}},pr=function(m){return m},Ii="$'",es=me("$'",!1),ua="'",pA=me("'",!1),ag=function(m){return[{type:"text",text:m}]},ts='""',dA=me('""',!1),ga=function(){return{type:"text",text:""}},yp='"',CA=me('"',!1),mA=function(m){return m},wr=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},kl=function(m){return{type:"shell",shell:m,quoted:!0}},Ag=function(m){return{type:"variable",...m,quoted:!0}},Io=function(m){return{type:"text",text:m}},lg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},wp=function(m){return{type:"shell",shell:m,quoted:!1}},Bp=function(m){return{type:"variable",...m,quoted:!1}},vr=function(m){return{type:"glob",pattern:m}},se=/^[^']/,yo=Je(["'"],!0,!1),kn=function(m){return m.join("")},cg=/^[^$"]/,Qt=Je(["$",'"'],!0,!1),Rl=`\\ +`,Rn=me(`\\ +`,!1),rs=function(){return""},is="\\",gt=me("\\",!1),wo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),an=function(m){return m},S="\\a",Tt=me("\\a",!1),ug=function(){return"a"},Fl="\\b",Qp=me("\\b",!1),bp=function(){return"\b"},Sp=/^[Ee]/,vp=Je(["E","e"],!1,!1),xp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),EA=function(){return"\f"},Ji="\\n",Nl=me("\\n",!1),Xe=function(){return` +`},fa="\\r",gg=me("\\r",!1),FE=function(){return"\r"},Pp="\\t",NE=me("\\t",!1),ar=function(){return" "},Fn="\\v",Ll=me("\\v",!1),Dp=function(){return"\v"},Ms=/^[\\'"?]/,ha=Je(["\\","'",'"',"?"],!1,!1),An=function(m){return String.fromCharCode(parseInt(m,16))},Te="\\x",fg=me("\\x",!1),Tl="\\u",Ks=me("\\u",!1),Ol="\\U",IA=me("\\U",!1),hg=function(m){return String.fromCodePoint(parseInt(m,16))},pg=/^[0-7]/,pa=Je([["0","7"]],!1,!1),da=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),Bo=nt(),yA="-",Ml=me("-",!1),Us="+",Kl=me("+",!1),LE=".",kp=me(".",!1),dg=function(m,b,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(b.join("")+"."+N.join(""))}},Rp=function(m,b){return{type:"number",value:(m==="-"?-1:1)*parseInt(b.join(""))}},TE=function(m){return{type:"variable",...m}},Ul=function(m){return{type:"variable",name:m}},OE=function(m){return m},Cg="*",wA=me("*",!1),Rr="/",ME=me("/",!1),Hs=function(m,b,N){return{type:b==="*"?"multiplication":"division",right:N}},Gs=function(m,b){return b.reduce((N,U)=>({left:N,...U}),m)},mg=function(m,b,N){return{type:b==="+"?"addition":"subtraction",right:N}},BA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ke=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Nn=me("${",!1),qb=":-",S1=me(":-",!1),v1=function(m,b){return{name:m,defaultValue:b}},Jb=":-}",x1=me(":-}",!1),P1=function(m){return{name:m,defaultValue:[]}},Wb=":+",D1=me(":+",!1),k1=function(m,b){return{name:m,alternativeValue:b}},zb=":+}",R1=me(":+}",!1),F1=function(m){return{name:m,alternativeValue:[]}},Vb=function(m){return{name:m}},N1="$",L1=me("$",!1),T1=function(m){return e.isGlobPattern(m)},O1=function(m){return m},Xb=/^[a-zA-Z0-9_]/,Zb=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),_b=function(){return T()},$b=/^[$@*?#a-zA-Z0-9_\-]/,eS=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),M1=/^[(){}<>$|&; \t"']/,Eg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),tS=/^[<>&; \t"']/,rS=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),KE=/^[ \t]/,UE=Je([" "," "],!1,!1),Q=0,Me=0,QA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function T(){return r.substring(Me,Q)}function Z(){return Et(Me,Q)}function te(m,b){throw b=b!==void 0?b:Et(Me,Q),Ri([lt(m)],r.substring(Me,Q),b)}function Be(m,b){throw b=b!==void 0?b:Et(Me,Q),Ln(m,b)}function me(m,b){return{type:"literal",text:m,ignoreCase:b}}function Je(m,b,N){return{type:"class",parts:m,inverted:b,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var b=QA[m],N;if(b)return b;for(N=m-1;!QA[N];)N--;for(b=QA[N],b={line:b.line,column:b.column};Nd&&(d=Q,E=[]),E.push(m))}function Ln(m,b){return new Wl(m,null,null,b)}function Ri(m,b,N){return new Wl(Wl.buildMessage(m,b),m,b,N)}function bA(){var m,b;return m=Q,b=Mr(),b===t&&(b=null),b!==t&&(Me=m,b=s(b)),m=b,m}function Mr(){var m,b,N,U,ce;if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ca(),U!==t?(ce=ns(),ce===t&&(ce=null),ce!==t?(Me=m,b=o(b,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;if(m===t)if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ca(),U===t&&(U=null),U!==t?(Me=m,b=a(b,U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function ns(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Mr(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=l(N),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function Ca(){var m;return r.charCodeAt(Q)===59?(m=c,Q++):(m=t,I===0&&Qe(u)),m===t&&(r.charCodeAt(Q)===38?(m=g,Q++):(m=t,I===0&&Qe(f))),m}function Kr(){var m,b,N;return m=Q,b=K1(),b!==t?(N=age(),N===t&&(N=null),N!==t?(Me=m,b=h(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function age(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Age(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=p(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function Age(){var m;return r.substr(Q,2)===C?(m=C,Q+=2):(m=t,I===0&&Qe(y)),m===t&&(r.substr(Q,2)===B?(m=B,Q+=2):(m=t,I===0&&Qe(v))),m}function K1(){var m,b,N;return m=Q,b=uge(),b!==t?(N=lge(),N===t&&(N=null),N!==t?(Me=m,b=D(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function lge(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=cge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=K1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=L(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function cge(){var m;return r.substr(Q,2)===H?(m=H,Q+=2):(m=t,I===0&&Qe(j)),m===t&&(r.charCodeAt(Q)===124?(m=$,Q++):(m=t,I===0&&Qe(V))),m}function HE(){var m,b,N,U,ce,Se;if(m=Q,b=Z1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(_)),N!==t)if(U=G1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Me=m,b=A(b,U),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;else Q=m,m=t;if(m===t)if(m=Q,b=Z1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(_)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=ae(b),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function uge(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,ss;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===40?(N=ge,Q++):(N=t,I===0&&Qe(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===41?(ht=O,Q++):(ht=t,I===0&&Qe(F)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Fp();hi!==t;)Jr.push(hi),hi=Fp();if(Jr!==t){for(hi=[],ss=He();ss!==t;)hi.push(ss),ss=He();hi!==t?(Me=m,b=ue(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===123?(N=he,Q++):(N=t,I===0&&Qe(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===125?(ht=Fe,Q++):(ht=t,I===0&&Qe(Ne)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Fp();hi!==t;)Jr.push(hi),hi=Fp();if(Jr!==t){for(hi=[],ss=He();ss!==t;)hi.push(ss),ss=He();hi!==t?(Me=m,b=oe(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){for(N=[],U=HE();U!==t;)N.push(U),U=HE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=H1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=H1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=le(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=HE(),U!==t)for(;U!==t;)N.push(U),U=HE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=we(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}}}return m}function U1(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=GE(),U!==t)for(;U!==t;)N.push(U),U=GE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=fe(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t;return m}function H1(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t?(N=Fp(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();b!==t?(N=GE(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t)}return m}function Fp(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(qe.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(ne)),N===t&&(N=null),N!==t?(U=gge(),U!==t?(ce=GE(),ce!==t?(Me=m,b=Y(N,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function gge(){var m;return r.substr(Q,2)===pe?(m=pe,Q+=2):(m=t,I===0&&Qe(ie)),m===t&&(r.substr(Q,2)===de?(m=de,Q+=2):(m=t,I===0&&Qe(_e)),m===t&&(r.charCodeAt(Q)===62?(m=Pt,Q++):(m=t,I===0&&Qe(It)),m===t&&(r.substr(Q,3)===Or?(m=Or,Q+=3):(m=t,I===0&&Qe(ii)),m===t&&(r.substr(Q,2)===gi?(m=gi,Q+=2):(m=t,I===0&&Qe(hr)),m===t&&(r.charCodeAt(Q)===60?(m=fi,Q++):(m=t,I===0&&Qe(ni))))))),m}function GE(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(N=G1(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function G1(){var m,b,N;if(m=Q,b=[],N=Y1(),N!==t)for(;N!==t;)b.push(N),N=Y1();else b=t;return b!==t&&(Me=m,b=Os(b)),m=b,m}function Y1(){var m,b;return m=Q,b=fge(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=hge(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=pge(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=dge(),b!==t&&(Me=m,b=pr(b)),m=b))),m}function fge(){var m,b,N,U;return m=Q,r.substr(Q,2)===Ii?(b=Ii,Q+=2):(b=t,I===0&&Qe(es)),b!==t?(N=Ege(),N!==t?(r.charCodeAt(Q)===39?(U=ua,Q++):(U=t,I===0&&Qe(pA)),U!==t?(Me=m,b=ag(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function hge(){var m,b,N,U;return m=Q,r.charCodeAt(Q)===39?(b=ua,Q++):(b=t,I===0&&Qe(pA)),b!==t?(N=Cge(),N!==t?(r.charCodeAt(Q)===39?(U=ua,Q++):(U=t,I===0&&Qe(pA)),U!==t?(Me=m,b=ag(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function pge(){var m,b,N,U;if(m=Q,r.substr(Q,2)===ts?(b=ts,Q+=2):(b=t,I===0&&Qe(dA)),b!==t&&(Me=m,b=ga()),m=b,m===t)if(m=Q,r.charCodeAt(Q)===34?(b=yp,Q++):(b=t,I===0&&Qe(CA)),b!==t){for(N=[],U=j1();U!==t;)N.push(U),U=j1();N!==t?(r.charCodeAt(Q)===34?(U=yp,Q++):(U=t,I===0&&Qe(CA)),U!==t?(Me=m,b=mA(N),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function dge(){var m,b,N;if(m=Q,b=[],N=q1(),N!==t)for(;N!==t;)b.push(N),N=q1();else b=t;return b!==t&&(Me=m,b=mA(b)),m=b,m}function j1(){var m,b;return m=Q,b=V1(),b!==t&&(Me=m,b=wr(b)),m=b,m===t&&(m=Q,b=X1(),b!==t&&(Me=m,b=kl(b)),m=b,m===t&&(m=Q,b=oS(),b!==t&&(Me=m,b=Ag(b)),m=b,m===t&&(m=Q,b=mge(),b!==t&&(Me=m,b=Io(b)),m=b))),m}function q1(){var m,b;return m=Q,b=V1(),b!==t&&(Me=m,b=lg(b)),m=b,m===t&&(m=Q,b=X1(),b!==t&&(Me=m,b=wp(b)),m=b,m===t&&(m=Q,b=oS(),b!==t&&(Me=m,b=Bp(b)),m=b,m===t&&(m=Q,b=wge(),b!==t&&(Me=m,b=vr(b)),m=b,m===t&&(m=Q,b=yge(),b!==t&&(Me=m,b=Io(b)),m=b)))),m}function Cge(){var m,b,N;for(m=Q,b=[],se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo));N!==t;)b.push(N),se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo));return b!==t&&(Me=m,b=kn(b)),m=b,m}function mge(){var m,b,N;if(m=Q,b=[],N=J1(),N===t&&(cg.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt))),N!==t)for(;N!==t;)b.push(N),N=J1(),N===t&&(cg.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt)));else b=t;return b!==t&&(Me=m,b=kn(b)),m=b,m}function J1(){var m,b,N;return m=Q,r.substr(Q,2)===Rl?(b=Rl,Q+=2):(b=t,I===0&&Qe(Rn)),b!==t&&(Me=m,b=rs()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=is,Q++):(b=t,I===0&&Qe(gt)),b!==t?(wo.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(At)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t)),m}function Ege(){var m,b,N;for(m=Q,b=[],N=W1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo)));N!==t;)b.push(N),N=W1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo)));return b!==t&&(Me=m,b=kn(b)),m=b,m}function W1(){var m,b,N;return m=Q,r.substr(Q,2)===S?(b=S,Q+=2):(b=t,I===0&&Qe(Tt)),b!==t&&(Me=m,b=ug()),m=b,m===t&&(m=Q,r.substr(Q,2)===Fl?(b=Fl,Q+=2):(b=t,I===0&&Qe(Qp)),b!==t&&(Me=m,b=bp()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=is,Q++):(b=t,I===0&&Qe(gt)),b!==t?(Sp.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(vp)),N!==t?(Me=m,b=xp(),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===G?(b=G,Q+=2):(b=t,I===0&&Qe(yt)),b!==t&&(Me=m,b=EA()),m=b,m===t&&(m=Q,r.substr(Q,2)===Ji?(b=Ji,Q+=2):(b=t,I===0&&Qe(Nl)),b!==t&&(Me=m,b=Xe()),m=b,m===t&&(m=Q,r.substr(Q,2)===fa?(b=fa,Q+=2):(b=t,I===0&&Qe(gg)),b!==t&&(Me=m,b=FE()),m=b,m===t&&(m=Q,r.substr(Q,2)===Pp?(b=Pp,Q+=2):(b=t,I===0&&Qe(NE)),b!==t&&(Me=m,b=ar()),m=b,m===t&&(m=Q,r.substr(Q,2)===Fn?(b=Fn,Q+=2):(b=t,I===0&&Qe(Ll)),b!==t&&(Me=m,b=Dp()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=is,Q++):(b=t,I===0&&Qe(gt)),b!==t?(Ms.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(ha)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Ige()))))))))),m}function Ige(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,ss,aS;return m=Q,r.charCodeAt(Q)===92?(b=is,Q++):(b=t,I===0&&Qe(gt)),b!==t?(N=iS(),N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Te?(b=Te,Q+=2):(b=t,I===0&&Qe(fg)),b!==t?(N=Q,U=Q,ce=iS(),ce!==t?(Se=Tn(),Se!==t?(ce=[ce,Se],U=ce):(Q=U,U=t)):(Q=U,U=t),U===t&&(U=iS()),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Tl?(b=Tl,Q+=2):(b=t,I===0&&Qe(Ks)),b!==t?(N=Q,U=Q,ce=Tn(),ce!==t?(Se=Tn(),Se!==t?(ht=Tn(),ht!==t?(Bt=Tn(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ol?(b=Ol,Q+=2):(b=t,I===0&&Qe(IA)),b!==t?(N=Q,U=Q,ce=Tn(),ce!==t?(Se=Tn(),Se!==t?(ht=Tn(),ht!==t?(Bt=Tn(),Bt!==t?(Jr=Tn(),Jr!==t?(hi=Tn(),hi!==t?(ss=Tn(),ss!==t?(aS=Tn(),aS!==t?(ce=[ce,Se,ht,Bt,Jr,hi,ss,aS],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=hg(N),m=b):(Q=m,m=t)):(Q=m,m=t)))),m}function iS(){var m;return pg.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(pa)),m}function Tn(){var m;return da.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(rt)),m}function yge(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,r.charCodeAt(Q)===92?(U=is,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=_1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t)),N!==t)for(;N!==t;)b.push(N),N=Q,r.charCodeAt(Q)===92?(U=is,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=_1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t));else b=t;return b!==t&&(Me=m,b=kn(b)),m=b,m}function nS(){var m,b,N,U,ce,Se;if(m=Q,r.charCodeAt(Q)===45?(b=yA,Q++):(b=t,I===0&&Qe(Ml)),b===t&&(r.charCodeAt(Q)===43?(b=Us,Q++):(b=t,I===0&&Qe(Kl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;if(N!==t)if(r.charCodeAt(Q)===46?(U=LE,Q++):(U=t,I===0&&Qe(kp)),U!==t){if(ce=[],qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne));else ce=t;ce!==t?(Me=m,b=dg(b,N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;if(m===t){if(m=Q,r.charCodeAt(Q)===45?(b=yA,Q++):(b=t,I===0&&Qe(Ml)),b===t&&(r.charCodeAt(Q)===43?(b=Us,Q++):(b=t,I===0&&Qe(Kl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;N!==t?(Me=m,b=Rp(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;if(m===t&&(m=Q,b=oS(),b!==t&&(Me=m,b=TE(b)),m=b,m===t&&(m=Q,b=Hl(),b!==t&&(Me=m,b=Ul(b)),m=b,m===t)))if(m=Q,r.charCodeAt(Q)===40?(b=ge,Q++):(b=t,I===0&&Qe(re)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=z1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(Q)===41?(Se=O,Q++):(Se=t,I===0&&Qe(F)),Se!==t?(Me=m,b=OE(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t}return m}function sS(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=nS(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=Cg,Q++):(Se=t,I===0&&Qe(wA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(ME))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=nS(),Bt!==t?(Me=U,ce=Hs(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=Cg,Q++):(Se=t,I===0&&Qe(wA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(ME))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=nS(),Bt!==t?(Me=U,ce=Hs(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Gs(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function z1(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=sS(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Us,Q++):(Se=t,I===0&&Qe(Kl)),Se===t&&(r.charCodeAt(Q)===45?(Se=yA,Q++):(Se=t,I===0&&Qe(Ml))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Me=U,ce=mg(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Us,Q++):(Se=t,I===0&&Qe(Kl)),Se===t&&(r.charCodeAt(Q)===45?(Se=yA,Q++):(Se=t,I===0&&Qe(Ml))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Me=U,ce=mg(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Gs(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function V1(){var m,b,N,U,ce,Se;if(m=Q,r.substr(Q,3)===BA?(b=BA,Q+=3):(b=t,I===0&&Qe(R)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=z1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(Q,2)===q?(Se=q,Q+=2):(Se=t,I===0&&Qe(Ce)),Se!==t?(Me=m,b=Ke(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;return m}function X1(){var m,b,N,U;return m=Q,r.substr(Q,2)===Re?(b=Re,Q+=2):(b=t,I===0&&Qe(ze)),b!==t?(N=Mr(),N!==t?(r.charCodeAt(Q)===41?(U=O,Q++):(U=t,I===0&&Qe(F)),U!==t?(Me=m,b=dt(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function oS(){var m,b,N,U,ce,Se;return m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.substr(Q,2)===qb?(U=qb,Q+=2):(U=t,I===0&&Qe(S1)),U!==t?(ce=U1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=v1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.substr(Q,3)===Jb?(U=Jb,Q+=3):(U=t,I===0&&Qe(x1)),U!==t?(Me=m,b=P1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.substr(Q,2)===Wb?(U=Wb,Q+=2):(U=t,I===0&&Qe(D1)),U!==t?(ce=U1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=k1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.substr(Q,3)===zb?(U=zb,Q+=3):(U=t,I===0&&Qe(R1)),U!==t?(Me=m,b=F1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.charCodeAt(Q)===125?(U=Fe,Q++):(U=t,I===0&&Qe(Ne)),U!==t?(Me=m,b=Vb(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.charCodeAt(Q)===36?(b=N1,Q++):(b=t,I===0&&Qe(L1)),b!==t?(N=Hl(),N!==t?(Me=m,b=Vb(N),m=b):(Q=m,m=t)):(Q=m,m=t)))))),m}function wge(){var m,b,N;return m=Q,b=Bge(),b!==t?(Me=Q,N=T1(b),N?N=void 0:N=t,N!==t?(Me=m,b=O1(b),m=b):(Q=m,m=t)):(Q=m,m=t),m}function Bge(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,U=Q,I++,ce=$1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N!==t)for(;N!==t;)b.push(N),N=Q,U=Q,I++,ce=$1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t);else b=t;return b!==t&&(Me=m,b=kn(b)),m=b,m}function Z1(){var m,b,N;if(m=Q,b=[],Xb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Zb)),N!==t)for(;N!==t;)b.push(N),Xb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Zb));else b=t;return b!==t&&(Me=m,b=_b()),m=b,m}function Hl(){var m,b,N;if(m=Q,b=[],$b.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(eS)),N!==t)for(;N!==t;)b.push(N),$b.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(eS));else b=t;return b!==t&&(Me=m,b=_b()),m=b,m}function _1(){var m;return M1.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(Eg)),m}function $1(){var m;return tS.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(rS)),m}function He(){var m,b;if(m=[],KE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(UE)),b!==t)for(;b!==t;)m.push(b),KE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(UE));else m=t;return m}if(k=n(),k!==t&&Q===r.length)return k;throw k!==t&&Q{"use strict";function Qfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Vl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Vl)}Qfe(Vl,Error);Vl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new Vl(ne,null,null,Y)}function oe(ne,Y,pe){return new Vl(Vl.buildMessage(ne,Y),ne,Y,pe)}function le(){var ne,Y,pe,ie;return ne=v,Y=we(),Y!==t?(r.charCodeAt(v)===47?(pe=s,v++):(pe=t,$===0&&Fe(o)),pe!==t?(ie=we(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=we(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function we(){var ne,Y,pe,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(pe=c,v++):(pe=t,$===0&&Fe(u)),pe!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,pe,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(pe=Ae(),pe!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=Ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function Ae(){var ne,Y,pe;if(ne=v,Y=[],p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C)),pe!==t)for(;pe!==t;)Y.push(pe),p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,pe;if(ne=v,Y=[],y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B)),pe!==t)for(;pe!==t;)Y.push(pe),y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function fU(r){return typeof r>"u"||r===null}function Sfe(r){return typeof r=="object"&&r!==null}function vfe(r){return Array.isArray(r)?r:fU(r)?[]:[r]}function xfe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function Wp(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Wp.prototype=Object.create(Error.prototype);Wp.prototype.constructor=Wp;Wp.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};hU.exports=Wp});var CU=w((IZe,dU)=>{"use strict";var pU=Zl();function HS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}HS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),pU.repeat(" ",e)+i+a+s+` +`+pU.repeat(" ",e+this.position-n+i.length)+"^"};HS.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: +`+t)),i};dU.exports=HS});var si=w((yZe,EU)=>{"use strict";var mU=kg(),kfe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Rfe=["scalar","sequence","mapping"];function Ffe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Nfe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(kfe.indexOf(t)===-1)throw new mU('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Ffe(e.styleAliases||null),Rfe.indexOf(this.kind)===-1)throw new mU('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}EU.exports=Nfe});var _l=w((wZe,yU)=>{"use strict";var IU=Zl(),gI=kg(),Lfe=si();function GS(r,e,t){var i=[];return r.include.forEach(function(n){t=GS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Tfe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var Ofe=si();wU.exports=new Ofe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var bU=w((QZe,QU)=>{"use strict";var Mfe=si();QU.exports=new Mfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var vU=w((bZe,SU)=>{"use strict";var Kfe=si();SU.exports=new Kfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var fI=w((SZe,xU)=>{"use strict";var Ufe=_l();xU.exports=new Ufe({explicit:[BU(),bU(),vU()]})});var DU=w((vZe,PU)=>{"use strict";var Hfe=si();function Gfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Yfe(){return null}function jfe(r){return r===null}PU.exports=new Hfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Gfe,construct:Yfe,predicate:jfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var RU=w((xZe,kU)=>{"use strict";var qfe=si();function Jfe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function Wfe(r){return r==="true"||r==="True"||r==="TRUE"}function zfe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}kU.exports=new qfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Jfe,construct:Wfe,predicate:zfe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var NU=w((PZe,FU)=>{"use strict";var Vfe=Zl(),Xfe=si();function Zfe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function _fe(r){return 48<=r&&r<=55}function $fe(r){return 48<=r&&r<=57}function ehe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var OU=w((DZe,TU)=>{"use strict";var LU=Zl(),ihe=si(),nhe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function she(r){return!(r===null||!nhe.test(r)||r[r.length-1]==="_")}function ohe(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var ahe=/^[-+]?[0-9]+e/;function Ahe(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(LU.isNegativeZero(r))return"-0.0";return t=r.toString(10),ahe.test(t)?t.replace("e",".e"):t}function lhe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||LU.isNegativeZero(r))}TU.exports=new ihe("tag:yaml.org,2002:float",{kind:"scalar",resolve:she,construct:ohe,predicate:lhe,represent:Ahe,defaultStyle:"lowercase"})});var YS=w((kZe,MU)=>{"use strict";var che=_l();MU.exports=new che({include:[fI()],implicit:[DU(),RU(),NU(),OU()]})});var jS=w((RZe,KU)=>{"use strict";var uhe=_l();KU.exports=new uhe({include:[YS()]})});var YU=w((FZe,GU)=>{"use strict";var ghe=si(),UU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),HU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function fhe(r){return r===null?!1:UU.exec(r)!==null||HU.exec(r)!==null}function hhe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=UU.exec(r),e===null&&(e=HU.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function phe(r){return r.toISOString()}GU.exports=new ghe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:fhe,construct:hhe,instanceOf:Date,represent:phe})});var qU=w((NZe,jU)=>{"use strict";var dhe=si();function Che(r){return r==="<<"||r===null}jU.exports=new dhe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Che})});var zU=w((LZe,WU)=>{"use strict";var $l;try{JU=J,$l=JU("buffer").Buffer}catch{}var JU,mhe=si(),qS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function Ehe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=qS;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function Ihe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=qS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),$l?$l.from?$l.from(a):new $l(a):a}function yhe(r){var e="",t=0,i,n,s=r.length,o=qS;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function whe(r){return $l&&$l.isBuffer(r)}WU.exports=new mhe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Ehe,construct:Ihe,predicate:whe,represent:yhe})});var XU=w((TZe,VU)=>{"use strict";var Bhe=si(),Qhe=Object.prototype.hasOwnProperty,bhe=Object.prototype.toString;function She(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var xhe=si(),Phe=Object.prototype.toString;function Dhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Rhe=si(),Fhe=Object.prototype.hasOwnProperty;function Nhe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Fhe.call(t,e)&&t[e]!==null)return!1;return!0}function Lhe(r){return r!==null?r:{}}$U.exports=new Rhe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Nhe,construct:Lhe})});var Fg=w((KZe,t2)=>{"use strict";var The=_l();t2.exports=new The({include:[jS()],implicit:[YU(),qU()],explicit:[zU(),XU(),_U(),e2()]})});var i2=w((UZe,r2)=>{"use strict";var Ohe=si();function Mhe(){return!0}function Khe(){}function Uhe(){return""}function Hhe(r){return typeof r>"u"}r2.exports=new Ohe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Mhe,construct:Khe,predicate:Hhe,represent:Uhe})});var s2=w((HZe,n2)=>{"use strict";var Ghe=si();function Yhe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function jhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function qhe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function Jhe(r){return Object.prototype.toString.call(r)==="[object RegExp]"}n2.exports=new Ghe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Yhe,construct:jhe,predicate:Jhe,represent:qhe})});var A2=w((GZe,a2)=>{"use strict";var hI;try{o2=J,hI=o2("esprima")}catch{typeof window<"u"&&(hI=window.esprima)}var o2,Whe=si();function zhe(r){if(r===null)return!1;try{var e="("+r+")",t=hI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function Vhe(r){var e="("+r+")",t=hI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Xhe(r){return r.toString()}function Zhe(r){return Object.prototype.toString.call(r)==="[object Function]"}a2.exports=new Whe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:zhe,construct:Vhe,predicate:Zhe,represent:Xhe})});var zp=w((YZe,c2)=>{"use strict";var l2=_l();c2.exports=l2.DEFAULT=new l2({include:[Fg()],explicit:[i2(),s2(),A2()]})});var P2=w((jZe,Vp)=>{"use strict";var ya=Zl(),C2=kg(),_he=CU(),m2=Fg(),$he=zp(),DA=Object.prototype.hasOwnProperty,pI=1,E2=2,I2=3,dI=4,JS=1,epe=2,u2=3,tpe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,rpe=/[\x85\u2028\u2029]/,ipe=/[,\[\]\{\}]/,y2=/^(?:!|!!|![a-z\-]+!)$/i,w2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function g2(r){return Object.prototype.toString.call(r)}function vo(r){return r===10||r===13}function tc(r){return r===9||r===32}function un(r){return r===9||r===32||r===10||r===13}function Ng(r){return r===44||r===91||r===93||r===123||r===125}function npe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function spe(r){return r===120?2:r===117?4:r===85?8:0}function ope(r){return 48<=r&&r<=57?r-48:-1}function f2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` +`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function ape(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var B2=new Array(256),Q2=new Array(256);for(ec=0;ec<256;ec++)B2[ec]=f2(ec)?1:0,Q2[ec]=f2(ec);var ec;function Ape(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||$he,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function b2(r,e){return new C2(e,new _he(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw b2(r,e)}function CI(r,e){r.onWarning&&r.onWarning.call(null,b2(r,e))}var h2={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&CI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],y2.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),DA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),w2.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function PA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=ya.repeat(` +`,e-1))}function lpe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),un(h)||Ng(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),un(n)||t&&Ng(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),un(n)||t&&Ng(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),un(i))break}else{if(r.position===r.lineStart&&mI(r)||t&&Ng(h))break;if(vo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(PA(r,s,o,!1),zS(r,r.line-l),s=o=r.position,a=!1),tc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return PA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function cpe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(PA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else vo(t)?(PA(r,i,n,!0),zS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&mI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function upe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return PA(r,t,r.position,!0),r.position++,!0;if(a===92){if(PA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),vo(a))zr(r,!1,e);else if(a<256&&B2[a])r.result+=Q2[a],r.position++;else if((o=spe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=npe(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=ape(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else vo(a)?(PA(r,t,i,!0),zS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&mI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function gpe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),un(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Tg(r,e,pI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Tg(r,e,pI,!1,!0),C=r.result),g?Lg(r,s,f,p,h,C):c?s.push(Lg(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function fpe(r,e){var t,i,n=JS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)JS===n?n=g===43?u2:epe:ft(r,"repeat of a chomping mode identifier");else if((u=ope(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(tc(g)){do g=r.input.charCodeAt(++r.position);while(tc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!vo(g)&&g!==0)}for(;g!==0;){for(WS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),vo(g)){l++;continue}if(r.lineIndente)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(Tg(r,e,dI,!0,n)&&(p?f=r.result:h=r.result),p||(Lg(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):ft(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function mpe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,"directive name must not be less than one character in length");o!==0;){for(;tc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!vo(o));break}if(vo(o))break;for(t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&WS(r),DA.call(h2,i)?h2[i](r,i,n):CI(r,'unknown document directive "'+i+'"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,"directives end mark is expected"),Tg(r,r.lineIndent-1,dI,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&rpe.test(r.input.slice(e,r.position))&&CI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&mI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=S2(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),v2(r,e,ya.extend({schema:m2},t))}function Ipe(r,e){return x2(r,ya.extend({schema:m2},e))}Vp.exports.loadAll=v2;Vp.exports.load=x2;Vp.exports.safeLoadAll=Epe;Vp.exports.safeLoad=Ipe});var _2=w((qZe,_S)=>{"use strict";var Zp=Zl(),_p=kg(),ype=zp(),wpe=Fg(),O2=Object.prototype.toString,M2=Object.prototype.hasOwnProperty,Bpe=9,Xp=10,Qpe=13,bpe=32,Spe=33,vpe=34,K2=35,xpe=37,Ppe=38,Dpe=39,kpe=42,U2=44,Rpe=45,H2=58,Fpe=61,Npe=62,Lpe=63,Tpe=64,G2=91,Y2=93,Ope=96,j2=123,Mpe=124,q2=125,Ni={};Ni[0]="\\0";Ni[7]="\\a";Ni[8]="\\b";Ni[9]="\\t";Ni[10]="\\n";Ni[11]="\\v";Ni[12]="\\f";Ni[13]="\\r";Ni[27]="\\e";Ni[34]='\\"';Ni[92]="\\\\";Ni[133]="\\N";Ni[160]="\\_";Ni[8232]="\\L";Ni[8233]="\\P";var Kpe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function Upe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n0?r.charCodeAt(s-1):null,f=f&&R2(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Og(o))return EI;a=s>0?r.charCodeAt(s-1):null,f=f&&R2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?W2:z2:t>9&&J2(r)?EI:c?X2:V2}function Jpe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&Kpe.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return Gpe(r,l)}switch(qpe(e,o,r.indent,s,a)){case W2:return e;case z2:return"'"+e.replace(/'/g,"''")+"'";case V2:return"|"+F2(e,r.indent)+N2(k2(e,n));case X2:return">"+F2(e,r.indent)+N2(k2(Wpe(e,s),n));case EI:return'"'+zpe(e,s)+'"';default:throw new _p("impossible error: invalid scalar style")}}()}function F2(r,e){var t=J2(r)?String(e):"",i=r[r.length-1]===` +`,n=i&&(r[r.length-2]===` +`||r===` +`),s=n?"+":i?"":"-";return t+s+` +`}function N2(r){return r[r.length-1]===` +`?r.slice(0,-1):r}function Wpe(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` +`);return c=c!==-1?c:r.length,t.lastIndex=c,L2(r.slice(0,c),e)}(),n=r[0]===` +`||r[0]===" ",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+L2(l,e),n=s}return i}function L2(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+r.slice(n,s),n=s+1),o=a;return l+=` +`,r.length-n>e&&o>n?l+=r.slice(n,o)+` +`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function zpe(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=D2((t-55296)*1024+i-56320+65536),s++;continue}n=Ni[t],e+=!n&&Og(t)?r[s]:n||D2(t)}return e}function Vpe(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),rc(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function _pe(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new _p("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&Xp===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=VS(r,e)),rc(r,e+1,u,!0,g)&&(r.dump&&Xp===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function T2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function rc(r,e,t,i,n,s){r.tag=null,r.dump=t,T2(r,t,!1)||T2(r,t,!0);var o=O2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(_pe(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(Zpe(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(Xpe(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(Vpe(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&Jpe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new _p("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function $pe(r,e){var t=[],i=[],n,s;for(XS(r,t,i),n=0,s=i.length;n{"use strict";var II=P2(),$2=_2();function yI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=_l();Fr.exports.FAILSAFE_SCHEMA=fI();Fr.exports.JSON_SCHEMA=YS();Fr.exports.CORE_SCHEMA=jS();Fr.exports.DEFAULT_SAFE_SCHEMA=Fg();Fr.exports.DEFAULT_FULL_SCHEMA=zp();Fr.exports.load=II.load;Fr.exports.loadAll=II.loadAll;Fr.exports.safeLoad=II.safeLoad;Fr.exports.safeLoadAll=II.safeLoadAll;Fr.exports.dump=$2.dump;Fr.exports.safeDump=$2.safeDump;Fr.exports.YAMLException=kg();Fr.exports.MINIMAL_SCHEMA=fI();Fr.exports.SAFE_SCHEMA=Fg();Fr.exports.DEFAULT_SCHEMA=zp();Fr.exports.scan=yI("scan");Fr.exports.parse=yI("parse");Fr.exports.compose=yI("compose");Fr.exports.addConstructor=yI("addConstructor")});var rH=w((WZe,tH)=>{"use strict";var tde=eH();tH.exports=tde});var nH=w((zZe,iH)=>{"use strict";function rde(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function ic(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ic)}rde(ic,Error);ic.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Ms("correct indentation"),V=" ",W=ar(" ",!1),_=function(R){return R.length===BA*mg},A=function(R){return R.length===(BA+1)*mg},ae=function(){return BA++,!0},ge=function(){return BA--,!0},re=function(){return gg()},O=Ms("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Fn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),he=/^[^\r\n\t ,\][{}:#"']/,ke=Fn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Fe=function(){return gg().replace(/^ *| *$/g,"")},Ne="--",oe=ar("--",!1),le=/^[a-zA-Z\/0-9]/,we=Fn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,Ae=Fn(["\r",` +`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},pe="true",ie=ar("true",!1),de=function(){return!0},_e="false",Pt=ar("false",!1),It=function(){return!1},Or=Ms("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Os=/^[^"\\\0-\x1F\x7F]/,pr=Fn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ii='\\"',es=ar('\\"',!1),ua=function(){return'"'},pA="\\\\",ag=ar("\\\\",!1),ts=function(){return"\\"},dA="\\/",ga=ar("\\/",!1),yp=function(){return"/"},CA="\\b",mA=ar("\\b",!1),wr=function(){return"\b"},kl="\\f",Ag=ar("\\f",!1),Io=function(){return"\f"},lg="\\n",wp=ar("\\n",!1),Bp=function(){return` +`},vr="\\r",se=ar("\\r",!1),yo=function(){return"\r"},kn="\\t",cg=ar("\\t",!1),Qt=function(){return" "},Rl="\\u",Rn=ar("\\u",!1),rs=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},is=/^[0-9a-fA-F]/,gt=Fn([["0","9"],["a","f"],["A","F"]],!1,!1),wo=Ms("blank space"),At=/^[ \t]/,an=Fn([" "," "],!1,!1),S=Ms("white space"),Tt=/^[ \t\n\r]/,ug=Fn([" "," ",` +`,"\r"],!1,!1),Fl=`\r +`,Qp=ar(`\r +`,!1),bp=` +`,Sp=ar(` +`,!1),vp="\r",xp=ar("\r",!1),G=0,yt=0,EA=[{line:1,column:1}],Ji=0,Nl=[],Xe=0,fa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function gg(){return r.substring(yt,G)}function FE(){return An(yt,G)}function Pp(R,q){throw q=q!==void 0?q:An(yt,G),Tl([Ms(R)],r.substring(yt,G),q)}function NE(R,q){throw q=q!==void 0?q:An(yt,G),fg(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Fn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Ll(){return{type:"any"}}function Dp(){return{type:"end"}}function Ms(R){return{type:"other",description:R}}function ha(R){var q=EA[R],Ce;if(q)return q;for(Ce=R-1;!EA[Ce];)Ce--;for(q=EA[Ce],q={line:q.line,column:q.column};CeJi&&(Ji=G,Nl=[]),Nl.push(R))}function fg(R,q){return new ic(R,null,null,q)}function Tl(R,q,Ce){return new ic(ic.buildMessage(R,q),R,q,Ce)}function Ks(){var R;return R=hg(),R}function Ol(){var R,q,Ce;for(R=G,q=[],Ce=IA();Ce!==t;)q.push(Ce),Ce=IA();return q!==t&&(yt=R,q=s(q)),R=q,R}function IA(){var R,q,Ce,Ke,Re;return R=G,q=da(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Te(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=pa(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function hg(){var R,q,Ce;for(R=G,q=[],Ce=pg();Ce!==t;)q.push(Ce),Ce=pg();return q!==t&&(yt=R,q=c(q)),R=q,R}function pg(){var R,q,Ce,Ke,Re,ze,dt,Ft,Nn;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Te(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=Gs(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=Gs(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Hs(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Hs();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=da(),q!==t?(Ce=Ml(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=pa(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=da(),q!==t?(Ce=Us(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=pa(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=da(),q!==t)if(Ce=Us(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=LE(),Re!==t){if(ze=[],dt=Hs(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Hs();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=da(),q!==t)if(Ce=Us(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Nn=Us(),Nn!==t?(yt=Re,ze=D(Ce,Nn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Nn=Us(),Nn!==t?(yt=Re,ze=D(Ce,Nn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Te(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=pa(),Ft!==t?(yt=R,q=L(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function pa(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=Gs(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Te(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Hs(),Ce!==t?(Ke=Bo(),Ke!==t?(Re=Ol(),Re!==t?(ze=yA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Gs(),q!==t?(Ce=Bo(),Ce!==t?(Ke=hg(),Ke!==t?(Re=yA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Kl(),q!==t){if(Ce=[],Ke=Hs(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Hs();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function da(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=_(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Te($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function Bo(){var R;return yt=G,R=ae(),R?R=void 0:R=t,R}function yA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Ml(){var R;return R=Ul(),R===t&&(R=kp()),R}function Us(){var R,q,Ce;if(R=Ul(),R===t){if(R=G,q=[],Ce=dg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=dg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Kl(){var R;return R=Rp(),R===t&&(R=TE(),R===t&&(R=Ul(),R===t&&(R=kp()))),R}function LE(){var R;return R=Rp(),R===t&&(R=Ul(),R===t&&(R=dg())),R}function kp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(O)),R}function dg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Te(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Te(we)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function Rp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Te(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function TE(){var R,q;return R=G,r.substr(G,4)===pe?(q=pe,G+=4):(q=t,Xe===0&&Te(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===_e?(q=_e,G+=5):(q=t,Xe===0&&Te(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function Ul(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Te(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(Ce=OE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Te(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Te(Or)),R}function OE(){var R,q,Ce;if(R=G,q=[],Ce=Cg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Cg();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function Cg(){var R,q,Ce,Ke,Re,ze;return Os.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(pr)),R===t&&(R=G,r.substr(G,2)===Ii?(q=Ii,G+=2):(q=t,Xe===0&&Te(es)),q!==t&&(yt=R,q=ua()),R=q,R===t&&(R=G,r.substr(G,2)===pA?(q=pA,G+=2):(q=t,Xe===0&&Te(ag)),q!==t&&(yt=R,q=ts()),R=q,R===t&&(R=G,r.substr(G,2)===dA?(q=dA,G+=2):(q=t,Xe===0&&Te(ga)),q!==t&&(yt=R,q=yp()),R=q,R===t&&(R=G,r.substr(G,2)===CA?(q=CA,G+=2):(q=t,Xe===0&&Te(mA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===kl?(q=kl,G+=2):(q=t,Xe===0&&Te(Ag)),q!==t&&(yt=R,q=Io()),R=q,R===t&&(R=G,r.substr(G,2)===lg?(q=lg,G+=2):(q=t,Xe===0&&Te(wp)),q!==t&&(yt=R,q=Bp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Te(se)),q!==t&&(yt=R,q=yo()),R=q,R===t&&(R=G,r.substr(G,2)===kn?(q=kn,G+=2):(q=t,Xe===0&&Te(cg)),q!==t&&(yt=R,q=Qt()),R=q,R===t&&(R=G,r.substr(G,2)===Rl?(q=Rl,G+=2):(q=t,Xe===0&&Te(Rn)),q!==t?(Ce=wA(),Ce!==t?(Ke=wA(),Ke!==t?(Re=wA(),Re!==t?(ze=wA(),ze!==t?(yt=R,q=rs(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function wA(){var R;return is.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(wo)),R}function ME(){var R,q;if(Xe++,R=[],Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ug)),q!==t)for(;q!==t;)R.push(q),Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ug));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(S)),R}function Hs(){var R,q,Ce,Ke,Re,ze;if(R=G,q=Gs(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Gs(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Gs(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function Gs(){var R;return r.substr(G,2)===Fl?(R=Fl,G+=2):(R=t,Xe===0&&Te(Qp)),R===t&&(r.charCodeAt(G)===10?(R=bp,G++):(R=t,Xe===0&&Te(Sp)),R===t&&(r.charCodeAt(G)===13?(R=vp,G++):(R=t,Xe===0&&Te(xp)))),R}let mg=2,BA=0;if(fa=n(),fa!==t&&G===r.length)return fa;throw fa!==t&&G{"use strict";var Ade=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=Ade(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};ev.exports=lH;ev.exports.default=lH});var uH=w((e_e,lde)=>{lde.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var nc=w(Mn=>{"use strict";var fH=uH(),xo=process.env;Object.defineProperty(Mn,"_vendors",{value:fH.map(function(r){return r.constant})});Mn.name=null;Mn.isPR=null;fH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return gH(i)});if(Mn[r.constant]=t,t)switch(Mn.name=r.name,typeof r.pr){case"string":Mn.isPR=!!xo[r.pr];break;case"object":"env"in r.pr?Mn.isPR=r.pr.env in xo&&xo[r.pr.env]!==r.pr.ne:"any"in r.pr?Mn.isPR=r.pr.any.some(function(i){return!!xo[i]}):Mn.isPR=gH(r.pr);break;default:Mn.isPR=null}});Mn.isCI=!!(xo.CI||xo.CONTINUOUS_INTEGRATION||xo.BUILD_NUMBER||xo.RUN_ID||Mn.name);function gH(r){return typeof r=="string"?!!xo[r]:Object.keys(r).every(function(e){return xo[e]===r[e]})}});var gn={};ut(gn,{KeyRelationship:()=>sc,applyCascade:()=>nd,base64RegExp:()=>mH,colorStringAlphaRegExp:()=>CH,colorStringRegExp:()=>dH,computeKey:()=>kA,getPrintable:()=>Vr,hasExactLength:()=>BH,hasForbiddenKeys:()=>Hde,hasKeyRelationship:()=>av,hasMaxLength:()=>Qde,hasMinLength:()=>Bde,hasMutuallyExclusiveKeys:()=>Gde,hasRequiredKeys:()=>Ude,hasUniqueItems:()=>bde,isArray:()=>pde,isAtLeast:()=>xde,isAtMost:()=>Pde,isBase64:()=>Mde,isBoolean:()=>gde,isDate:()=>hde,isDict:()=>Cde,isEnum:()=>Vi,isHexColor:()=>Ode,isISO8601:()=>Tde,isInExclusiveRange:()=>kde,isInInclusiveRange:()=>Dde,isInstanceOf:()=>Ede,isInteger:()=>Rde,isJSON:()=>Kde,isLiteral:()=>cde,isLowerCase:()=>Fde,isNegative:()=>Sde,isNullable:()=>wde,isNumber:()=>fde,isObject:()=>mde,isOneOf:()=>Ide,isOptional:()=>yde,isPositive:()=>vde,isString:()=>id,isTuple:()=>dde,isUUID4:()=>Lde,isUnknown:()=>wH,isUpperCase:()=>Nde,iso8601RegExp:()=>ov,makeCoercionFn:()=>oc,makeSetter:()=>yH,makeTrait:()=>IH,makeValidator:()=>bt,matchesRegExp:()=>sd,plural:()=>vI,pushError:()=>pt,simpleKeyRegExp:()=>pH,uuid4RegExp:()=>EH});function bt({test:r}){return IH(r)()}function Vr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function kA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:pH.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function oc(r,e){return t=>{let i=r[e];return r[e]=t,oc(r,e).bind(null,i)}}function yH(r,e){return t=>{r[e]=t}}function vI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function cde(r){return bt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Vi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return bt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var pH,dH,CH,mH,EH,ov,IH,wH,id,ude,gde,fde,hde,pde,dde,Cde,mde,Ede,Ide,nd,yde,wde,Bde,Qde,BH,bde,Sde,vde,xde,Pde,Dde,kde,Rde,sd,Fde,Nde,Lde,Tde,Ode,Mde,Kde,Ude,Hde,Gde,sc,Yde,av,as=Pge(()=>{pH=/^[a-zA-Z_][a-zA-Z0-9_]*$/,dH=/^#[0-9a-f]{6}$/i,CH=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,mH=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,EH=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ov=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,IH=r=>()=>r;wH=()=>bt({test:(r,e)=>!0});id=()=>bt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Vr(r)})`):!0});ude=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),gde=()=>bt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=ude.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),fde=()=>bt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),hde=()=>bt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&ov.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),pde=(r,{delimiter:e}={})=>bt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=BH(r.length);return bt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;abt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return bt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:kA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:kA(n,l),coercion:oc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:kA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:yH(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Ede=r=>bt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),Ide=(r,{exclusive:e=!1}={})=>bt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),nd=(r,e)=>bt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?oc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),yde=r=>bt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),wde=r=>bt({test:(e,t)=>e===null?!0:r(e,t)}),Bde=r=>bt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),Qde=r=>bt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),BH=r=>bt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),bde=({map:r}={})=>bt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sbt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),vde=()=>bt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),xde=r=>bt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Pde=r=>bt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),Dde=(r,e)=>bt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),kde=(r,e)=>bt({test:(t,i)=>t>=r&&tbt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),sd=r=>bt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Fde=()=>bt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),Nde=()=>bt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Lde=()=>bt({test:(r,e)=>EH.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Tde=()=>bt({test:(r,e)=>ov.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),Ode=({alpha:r=!1})=>bt({test:(e,t)=>(r?dH.test(e):CH.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),Mde=()=>bt({test:(r,e)=>mH.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),Kde=(r=wH())=>bt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),Ude=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${vI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Hde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${vI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Gde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(sc||(sc={}));Yde={[sc.Forbids]:{expect:!1,message:"forbids using"},[sc.Requires]:{expect:!0,message:"requires using"}},av=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=Yde[e];return bt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${vI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var UH=w((e$e,KH)=>{"use strict";KH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Yg=w((t$e,pv)=>{"use strict";var oCe=UH(),HH=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=oCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};pv.exports=HH;pv.exports.default=HH});var cd=w((i$e,GH)=>{var aCe="2.0.0",ACe=Number.MAX_SAFE_INTEGER||9007199254740991,lCe=16;GH.exports={SEMVER_SPEC_VERSION:aCe,MAX_LENGTH:256,MAX_SAFE_INTEGER:ACe,MAX_SAFE_COMPONENT_LENGTH:lCe}});var ud=w((n$e,YH)=>{var cCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};YH.exports=cCe});var ac=w((FA,jH)=>{var{MAX_SAFE_COMPONENT_LENGTH:dv}=cd(),uCe=ud();FA=jH.exports={};var gCe=FA.re=[],et=FA.src=[],tt=FA.t={},fCe=0,St=(r,e,t)=>{let i=fCe++;uCe(i,e),tt[r]=i,et[i]=e,gCe[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${et[tt.NUMERICIDENTIFIER]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${et[tt.NUMERICIDENTIFIERLOOSE]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${et[tt.PRERELEASEIDENTIFIER]}(?:\\.${et[tt.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${et[tt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${et[tt.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${et[tt.BUILDIDENTIFIER]}(?:\\.${et[tt.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${et[tt.MAINVERSION]}${et[tt.PRERELEASE]}?${et[tt.BUILD]}?`);St("FULL",`^${et[tt.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${et[tt.MAINVERSIONLOOSE]}${et[tt.PRERELEASELOOSE]}?${et[tt.BUILD]}?`);St("LOOSE",`^${et[tt.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${et[tt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${et[tt.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:${et[tt.PRERELEASE]})?${et[tt.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:${et[tt.PRERELEASELOOSE]})?${et[tt.BUILD]}?)?)?`);St("XRANGE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${dv}})(?:\\.(\\d{1,${dv}}))?(?:\\.(\\d{1,${dv}}))?(?:$|[^\\d])`);St("COERCERTL",et[tt.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${et[tt.LONETILDE]}\\s+`,!0);FA.tildeTrimReplace="$1~";St("TILDE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${et[tt.LONECARET]}\\s+`,!0);FA.caretTrimReplace="$1^";St("CARET",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${et[tt.GTLT]}\\s*(${et[tt.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]}|${et[tt.XRANGEPLAIN]})`,!0);FA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${et[tt.XRANGEPLAIN]})\\s+-\\s+(${et[tt.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${et[tt.XRANGEPLAINLOOSE]})\\s+-\\s+(${et[tt.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var gd=w((s$e,qH)=>{var hCe=["includePrerelease","loose","rtl"],pCe=r=>r?typeof r!="object"?{loose:!0}:hCe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};qH.exports=pCe});var FI=w((o$e,zH)=>{var JH=/^[0-9]+$/,WH=(r,e)=>{let t=JH.test(r),i=JH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rWH(e,r);zH.exports={compareIdentifiers:WH,rcompareIdentifiers:dCe}});var Ti=w((a$e,_H)=>{var NI=ud(),{MAX_LENGTH:VH,MAX_SAFE_INTEGER:LI}=cd(),{re:XH,t:ZH}=ac(),CCe=gd(),{compareIdentifiers:fd}=FI(),Hn=class{constructor(e,t){if(t=CCe(t),e instanceof Hn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>VH)throw new TypeError(`version is longer than ${VH} characters`);NI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?XH[ZH.LOOSE]:XH[ZH.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>LI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>LI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>LI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};_H.exports=Hn});var Ac=w((A$e,rG)=>{var{MAX_LENGTH:mCe}=cd(),{re:$H,t:eG}=ac(),tG=Ti(),ECe=gd(),ICe=(r,e)=>{if(e=ECe(e),r instanceof tG)return r;if(typeof r!="string"||r.length>mCe||!(e.loose?$H[eG.LOOSE]:$H[eG.FULL]).test(r))return null;try{return new tG(r,e)}catch{return null}};rG.exports=ICe});var nG=w((l$e,iG)=>{var yCe=Ac(),wCe=(r,e)=>{let t=yCe(r,e);return t?t.version:null};iG.exports=wCe});var oG=w((c$e,sG)=>{var BCe=Ac(),QCe=(r,e)=>{let t=BCe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};sG.exports=QCe});var AG=w((u$e,aG)=>{var bCe=Ti(),SCe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new bCe(r,t).inc(e,i).version}catch{return null}};aG.exports=SCe});var As=w((g$e,cG)=>{var lG=Ti(),vCe=(r,e,t)=>new lG(r,t).compare(new lG(e,t));cG.exports=vCe});var TI=w((f$e,uG)=>{var xCe=As(),PCe=(r,e,t)=>xCe(r,e,t)===0;uG.exports=PCe});var hG=w((h$e,fG)=>{var gG=Ac(),DCe=TI(),kCe=(r,e)=>{if(DCe(r,e))return null;{let t=gG(r),i=gG(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};fG.exports=kCe});var dG=w((p$e,pG)=>{var RCe=Ti(),FCe=(r,e)=>new RCe(r,e).major;pG.exports=FCe});var mG=w((d$e,CG)=>{var NCe=Ti(),LCe=(r,e)=>new NCe(r,e).minor;CG.exports=LCe});var IG=w((C$e,EG)=>{var TCe=Ti(),OCe=(r,e)=>new TCe(r,e).patch;EG.exports=OCe});var wG=w((m$e,yG)=>{var MCe=Ac(),KCe=(r,e)=>{let t=MCe(r,e);return t&&t.prerelease.length?t.prerelease:null};yG.exports=KCe});var QG=w((E$e,BG)=>{var UCe=As(),HCe=(r,e,t)=>UCe(e,r,t);BG.exports=HCe});var SG=w((I$e,bG)=>{var GCe=As(),YCe=(r,e)=>GCe(r,e,!0);bG.exports=YCe});var OI=w((y$e,xG)=>{var vG=Ti(),jCe=(r,e,t)=>{let i=new vG(r,t),n=new vG(e,t);return i.compare(n)||i.compareBuild(n)};xG.exports=jCe});var DG=w((w$e,PG)=>{var qCe=OI(),JCe=(r,e)=>r.sort((t,i)=>qCe(t,i,e));PG.exports=JCe});var RG=w((B$e,kG)=>{var WCe=OI(),zCe=(r,e)=>r.sort((t,i)=>WCe(i,t,e));kG.exports=zCe});var hd=w((Q$e,FG)=>{var VCe=As(),XCe=(r,e,t)=>VCe(r,e,t)>0;FG.exports=XCe});var MI=w((b$e,NG)=>{var ZCe=As(),_Ce=(r,e,t)=>ZCe(r,e,t)<0;NG.exports=_Ce});var Cv=w((S$e,LG)=>{var $Ce=As(),eme=(r,e,t)=>$Ce(r,e,t)!==0;LG.exports=eme});var KI=w((v$e,TG)=>{var tme=As(),rme=(r,e,t)=>tme(r,e,t)>=0;TG.exports=rme});var UI=w((x$e,OG)=>{var ime=As(),nme=(r,e,t)=>ime(r,e,t)<=0;OG.exports=nme});var mv=w((P$e,MG)=>{var sme=TI(),ome=Cv(),ame=hd(),Ame=KI(),lme=MI(),cme=UI(),ume=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return sme(r,t,i);case"!=":return ome(r,t,i);case">":return ame(r,t,i);case">=":return Ame(r,t,i);case"<":return lme(r,t,i);case"<=":return cme(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};MG.exports=ume});var UG=w((D$e,KG)=>{var gme=Ti(),fme=Ac(),{re:HI,t:GI}=ac(),hme=(r,e)=>{if(r instanceof gme)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(HI[GI.COERCE]);else{let i;for(;(i=HI[GI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),HI[GI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;HI[GI.COERCERTL].lastIndex=-1}return t===null?null:fme(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};KG.exports=hme});var GG=w((k$e,HG)=>{"use strict";HG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var YI=w((R$e,YG)=>{"use strict";YG.exports=Ht;Ht.Node=lc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var mme=YI(),cc=Symbol("max"),ba=Symbol("length"),jg=Symbol("lengthCalculator"),dd=Symbol("allowStale"),uc=Symbol("maxAge"),Qa=Symbol("dispose"),jG=Symbol("noDisposeOnSet"),di=Symbol("lruList"),Vs=Symbol("cache"),JG=Symbol("updateAgeOnGet"),Ev=()=>1,yv=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[cc]=e.max||1/0,i=e.length||Ev;if(this[jg]=typeof i!="function"?Ev:i,this[dd]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[uc]=e.maxAge||0,this[Qa]=e.dispose,this[jG]=e.noDisposeOnSet||!1,this[JG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[cc]=e||1/0,pd(this)}get max(){return this[cc]}set allowStale(e){this[dd]=!!e}get allowStale(){return this[dd]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[uc]=e,pd(this)}get maxAge(){return this[uc]}set lengthCalculator(e){typeof e!="function"&&(e=Ev),e!==this[jg]&&(this[jg]=e,this[ba]=0,this[di].forEach(t=>{t.length=this[jg](t.value,t.key),this[ba]+=t.length})),pd(this)}get lengthCalculator(){return this[jg]}get length(){return this[ba]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;qG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;qG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Qa]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Qa](e.key,e.value)),this[Vs]=new Map,this[di]=new mme,this[ba]=0}dump(){return this[di].map(e=>jI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[uc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[jg](t,e);if(this[Vs].has(e)){if(s>this[cc])return qg(this,this[Vs].get(e)),!1;let l=this[Vs].get(e).value;return this[Qa]&&(this[jG]||this[Qa](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[ba]+=s-l.length,l.length=s,this.get(e),pd(this),!0}let o=new wv(e,t,s,n,i);return o.length>this[cc]?(this[Qa]&&this[Qa](e,t),!1):(this[ba]+=o.length,this[di].unshift(o),this[Vs].set(e,this[di].head),pd(this),!0)}has(e){if(!this[Vs].has(e))return!1;let t=this[Vs].get(e).value;return!jI(this,t)}get(e){return Iv(this,e,!0)}peek(e){return Iv(this,e,!1)}pop(){let e=this[di].tail;return e?(qg(this,e),e.value):null}del(e){qg(this,this[Vs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Vs].forEach((e,t)=>Iv(this,t,!1))}},Iv=(r,e,t)=>{let i=r[Vs].get(e);if(i){let n=i.value;if(jI(r,n)){if(qg(r,i),!r[dd])return}else t&&(r[JG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},jI=(r,e)=>{if(!e||!e.maxAge&&!r[uc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[uc]&&t>r[uc]},pd=r=>{if(r[ba]>r[cc])for(let e=r[di].tail;r[ba]>r[cc]&&e!==null;){let t=e.prev;qg(r,e),e=t}},qg=(r,e)=>{if(e){let t=e.value;r[Qa]&&r[Qa](t.key,t.value),r[ba]-=t.length,r[Vs].delete(t.key),r[di].removeNode(e)}},wv=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},qG=(r,e,t,i)=>{let n=t.value;jI(r,n)&&(qg(r,t),r[dd]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};WG.exports=yv});var ls=w((N$e,_G)=>{var gc=class{constructor(e,t){if(t=Ime(t),e instanceof gc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new gc(e.raw,t);if(e instanceof Bv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!XG(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&bme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=VG.get(i);if(n)return n;let s=this.options.loose,o=s?Oi[Qi.HYPHENRANGELOOSE]:Oi[Qi.HYPHENRANGE];e=e.replace(o,Lme(this.options.includePrerelease)),Gr("hyphen replace",e),e=e.replace(Oi[Qi.COMPARATORTRIM],wme),Gr("comparator trim",e,Oi[Qi.COMPARATORTRIM]),e=e.replace(Oi[Qi.TILDETRIM],Bme),e=e.replace(Oi[Qi.CARETTRIM],Qme),e=e.split(/\s+/).join(" ");let a=s?Oi[Qi.COMPARATORLOOSE]:Oi[Qi.COMPARATOR],l=e.split(" ").map(f=>Sme(f,this.options)).join(" ").split(/\s+/).map(f=>Nme(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Bv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(XG(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return VG.set(i,g),g}intersects(e,t){if(!(e instanceof gc))throw new TypeError("a Range is required");return this.set.some(i=>ZG(i,t)&&e.set.some(n=>ZG(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new yme(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",bme=r=>r.value==="",ZG=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},Sme=(r,e)=>(Gr("comp",r,e),r=Pme(r,e),Gr("caret",r),r=vme(r,e),Gr("tildes",r),r=kme(r,e),Gr("xrange",r),r=Fme(r,e),Gr("stars",r),r),Zi=r=>!r||r.toLowerCase()==="x"||r==="*",vme=(r,e)=>r.trim().split(/\s+/).map(t=>xme(t,e)).join(" "),xme=(r,e)=>{let t=e.loose?Oi[Qi.TILDELOOSE]:Oi[Qi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Gr("tilde",r,i,n,s,o,a);let l;return Zi(n)?l="":Zi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Zi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Gr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Gr("tilde return",l),l})},Pme=(r,e)=>r.trim().split(/\s+/).map(t=>Dme(t,e)).join(" "),Dme=(r,e)=>{Gr("caret",r,e);let t=e.loose?Oi[Qi.CARETLOOSE]:Oi[Qi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{Gr("caret",r,n,s,o,a,l);let c;return Zi(s)?c="":Zi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Zi(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Gr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Gr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Gr("caret return",c),c})},kme=(r,e)=>(Gr("replaceXRanges",r,e),r.split(/\s+/).map(t=>Rme(t,e)).join(" ")),Rme=(r,e)=>{r=r.trim();let t=e.loose?Oi[Qi.XRANGELOOSE]:Oi[Qi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Gr("xRange",r,i,n,s,o,a,l);let c=Zi(s),u=c||Zi(o),g=u||Zi(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Gr("xRange return",i),i})},Fme=(r,e)=>(Gr("replaceStars",r,e),r.trim().replace(Oi[Qi.STAR],"")),Nme=(r,e)=>(Gr("replaceGTE0",r,e),r.trim().replace(Oi[e.includePrerelease?Qi.GTE0PRE:Qi.GTE0],"")),Lme=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(Zi(i)?t="":Zi(n)?t=`>=${i}.0.0${r?"-0":""}`:Zi(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,Zi(c)?l="":Zi(u)?l=`<${+c+1}.0.0-0`:Zi(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),Tme=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Cd=w((L$e,iY)=>{var md=Symbol("SemVer ANY"),Jg=class{static get ANY(){return md}constructor(e,t){if(t=Ome(t),e instanceof Jg){if(e.loose===!!t.loose)return e;e=e.value}bv("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===md?this.value="":this.value=this.operator+this.semver.version,bv("comp",this)}parse(e){let t=this.options.loose?$G[eY.COMPARATORLOOSE]:$G[eY.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new tY(i[2],this.options.loose):this.semver=md}toString(){return this.value}test(e){if(bv("Comparator.test",e,this.options.loose),this.semver===md||e===md)return!0;if(typeof e=="string")try{e=new tY(e,this.options)}catch{return!1}return Qv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Jg))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new rY(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new rY(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Qv(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Qv(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};iY.exports=Jg;var Ome=gd(),{re:$G,t:eY}=ac(),Qv=mv(),bv=ud(),tY=Ti(),rY=ls()});var Ed=w((T$e,nY)=>{var Mme=ls(),Kme=(r,e,t)=>{try{e=new Mme(e,t)}catch{return!1}return e.test(r)};nY.exports=Kme});var oY=w((O$e,sY)=>{var Ume=ls(),Hme=(r,e)=>new Ume(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));sY.exports=Hme});var AY=w((M$e,aY)=>{var Gme=Ti(),Yme=ls(),jme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Yme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new Gme(i,t))}),i};aY.exports=jme});var cY=w((K$e,lY)=>{var qme=Ti(),Jme=ls(),Wme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Jme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new qme(i,t))}),i};lY.exports=Wme});var fY=w((U$e,gY)=>{var Sv=Ti(),zme=ls(),uY=hd(),Vme=(r,e)=>{r=new zme(r,e);let t=new Sv("0.0.0");if(r.test(t)||(t=new Sv("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new Sv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||uY(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||uY(t,s))&&(t=s)}return t&&r.test(t)?t:null};gY.exports=Vme});var pY=w((H$e,hY)=>{var Xme=ls(),Zme=(r,e)=>{try{return new Xme(r,e).range||"*"}catch{return null}};hY.exports=Zme});var qI=w((G$e,EY)=>{var _me=Ti(),mY=Cd(),{ANY:$me}=mY,eEe=ls(),tEe=Ed(),dY=hd(),CY=MI(),rEe=UI(),iEe=KI(),nEe=(r,e,t,i)=>{r=new _me(r,i),e=new eEe(e,i);let n,s,o,a,l;switch(t){case">":n=dY,s=rEe,o=CY,a=">",l=">=";break;case"<":n=CY,s=iEe,o=dY,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(tEe(r,e,i))return!1;for(let c=0;c{h.semver===$me&&(h=new mY(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};EY.exports=nEe});var yY=w((Y$e,IY)=>{var sEe=qI(),oEe=(r,e,t)=>sEe(r,e,">",t);IY.exports=oEe});var BY=w((j$e,wY)=>{var aEe=qI(),AEe=(r,e,t)=>aEe(r,e,"<",t);wY.exports=AEe});var SY=w((q$e,bY)=>{var QY=ls(),lEe=(r,e,t)=>(r=new QY(r,t),e=new QY(e,t),r.intersects(e));bY.exports=lEe});var xY=w((J$e,vY)=>{var cEe=Ed(),uEe=As();vY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>uEe(u,g,t));for(let u of o)cEe(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var PY=ls(),JI=Cd(),{ANY:vv}=JI,Id=Ed(),xv=As(),gEe=(r,e,t={})=>{if(r===e)return!0;r=new PY(r,t),e=new PY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=fEe(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},fEe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;t.includePrerelease?r=[new JI(">=0.0.0-0")]:r=[new JI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(t.includePrerelease)return!0;e=[new JI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=DY(n,h,t):h.operator==="<"||h.operator==="<="?s=kY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=xv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Id(h,String(n),t)||s&&!Id(h,String(s),t))return null;for(let p of e)if(!Id(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=DY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!Id(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=kY(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Id(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},DY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},kY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};RY.exports=gEe});var Xr=w((z$e,NY)=>{var Pv=ac();NY.exports={re:Pv.re,src:Pv.src,tokens:Pv.t,SEMVER_SPEC_VERSION:cd().SEMVER_SPEC_VERSION,SemVer:Ti(),compareIdentifiers:FI().compareIdentifiers,rcompareIdentifiers:FI().rcompareIdentifiers,parse:Ac(),valid:nG(),clean:oG(),inc:AG(),diff:hG(),major:dG(),minor:mG(),patch:IG(),prerelease:wG(),compare:As(),rcompare:QG(),compareLoose:SG(),compareBuild:OI(),sort:DG(),rsort:RG(),gt:hd(),lt:MI(),eq:TI(),neq:Cv(),gte:KI(),lte:UI(),cmp:mv(),coerce:UG(),Comparator:Cd(),Range:ls(),satisfies:Ed(),toComparators:oY(),maxSatisfying:AY(),minSatisfying:cY(),minVersion:fY(),validRange:pY(),outside:qI(),gtr:yY(),ltr:BY(),intersects:SY(),simplifyRange:xY(),subset:FY()}});var Dv=w(WI=>{"use strict";Object.defineProperty(WI,"__esModule",{value:!0});WI.VERSION=void 0;WI.VERSION="9.1.0"});var Gt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof zI=="object"&&zI.exports?zI.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:LY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var y=this.disjunction();return this.consumeChar(")"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,C=!0;break;case"s":p=f;break;case"S":p=f,C=!0;break;case"w":p=g;break;case"W":p=g,C=!0;break}return a(p),{type:"Set",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var C=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),C=!0);this.isClassAtom();){var y=this.classAtom(),B=y.type==="Character";if(B&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),D=v.type==="Character";if(D){if(v.value=this.input.length)throw Error("Unexpected end of input");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(y){C.push(y)}):C.push(p)}function o(p,C){if(p[C]===!0)throw"duplicate flag "+C;p[C]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var ZI=w(Wg=>{"use strict";Object.defineProperty(Wg,"__esModule",{value:!0});Wg.clearRegExpParserCache=Wg.getRegExpAst=void 0;var hEe=VI(),XI={},pEe=new hEe.RegExpParser;function dEe(r){var e=r.toString();if(XI.hasOwnProperty(e))return XI[e];var t=pEe.pattern(e);return XI[e]=t,t}Wg.getRegExpAst=dEe;function CEe(){XI={}}Wg.clearRegExpParserCache=CEe});var UY=w(pn=>{"use strict";var mEe=pn&&pn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(pn,"__esModule",{value:!0});pn.canMatchCharCode=pn.firstCharOptimizedIndices=pn.getOptimizedStartCodesIndices=pn.failedOptimizationPrefixMsg=void 0;var OY=VI(),cs=Gt(),MY=ZI(),Sa=Rv(),KY="Complement Sets are not supported for first char optimization";pn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function EEe(r,e){e===void 0&&(e=!1);try{var t=(0,MY.getRegExpAst)(r),i=$I(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===KY)e&&(0,cs.PRINT_WARNING)(""+pn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,cs.PRINT_ERROR)(pn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+r.toString()+` > +`)+(" Using the regexp-to-ast library version: "+OY.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}pn.getOptimizedStartCodesIndices=EEe;function $I(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=Sa.minOptimizationVal)for(var f=u.from>=Sa.minOptimizationVal?u.from:Sa.minOptimizationVal,h=u.to,p=(0,Sa.charCodeToOptimizedIndex)(f),C=(0,Sa.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case"Group":$I(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&kv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,cs.values)(e)}pn.firstCharOptimizedIndices=$I;function _I(r,e,t){var i=(0,Sa.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&IEe(r,e)}function IEe(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,Sa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,Sa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function TY(r,e){return(0,cs.find)(r.value,function(t){if(typeof t=="number")return(0,cs.contains)(e,t);var i=t;return(0,cs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function kv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,cs.isArray)(r.value)?(0,cs.every)(r.value,kv):kv(r.value):!1}var yEe=function(r){mEe(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,cs.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?TY(t,this.targetCharCodes)===void 0&&(this.found=!0):TY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(OY.BaseRegExpVisitor);function wEe(r,e){if(e instanceof RegExp){var t=(0,MY.getRegExpAst)(e),i=new yEe(r);return i.visit(t),i.found}else return(0,cs.find)(e,function(n){return(0,cs.contains)(r,n.charCodeAt(0))})!==void 0}pn.canMatchCharCode=wEe});var Rv=w(Ve=>{"use strict";var HY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,"__esModule",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var GY=VI(),ir=yd(),xe=Gt(),zg=UY(),YY=ZI(),Do="PATTERN";Ve.DEFAULT_MODE="defaultMode";Ve.MODES="modes";Ve.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function BEe(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=BEe;function QEe(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=QEe;function bEe(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){LEe()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[Do]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[Do];if((0,xe.isRegExp)(D)){var L=D.source;return L.length===1&&L!=="^"&&L!=="$"&&L!=="."&&!D.ignoreCase?L:L.length===2&&L[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],L[1])?L[1]:e.useSticky?Lv(D):Nv(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Lv(j):Nv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var L=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return L}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=ij(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(tj(D,v)===!1)return(0,zg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,Ov),h=(0,xe.map)(s,ej),p=(0,xe.reduce)(i,function(v,D){var L=D.GROUP;return(0,xe.isString)(L)&&L!==ir.Lexer.SKIPPED&&(v[L]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,L){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Tv(H);Fv(v,j,C[L])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var _=typeof W=="string"?W.charCodeAt(0):W,A=Tv(_);$!==A&&($=A,Fv(v,A,C[L]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+zg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,zg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){Fv(v,W,C[L])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+zg.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t("ArrayPacking",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=bEe;function SEe(r,e){var t=[],i=jY(r);t=t.concat(i.errors);var n=qY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(vEe(s)),t=t.concat(ZY(s)),t=t.concat(_Y(s,e)),t=t.concat($Y(s)),t}Ve.validatePatterns=SEe;function vEe(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[Do])});return e=e.concat(JY(t)),e=e.concat(zY(t)),e=e.concat(VY(t)),e=e.concat(XY(t)),e=e.concat(WY(t)),e}function jY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,Do)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=jY;function qY(r){var e=(0,xe.filter)(r,function(n){var s=n[Do];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,"exec")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=qY;var xEe=/[^\\][\$]/;function JY(r){var e=function(n){HY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(GY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,YY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return xEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=JY;function WY(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n.test("")}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=WY;var PEe=/[^\\[][\^]|^\^/;function zY(r){var e=function(n){HY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(GY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,YY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return PEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findStartOfInputAnchor=zY;function VY(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=VY;function XY(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=XY;function ZY(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=ZY;function _Y(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=_Y;function $Y(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&kEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=$Y;function DEe(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function kEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Nv(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Nv;function Lv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Lv;function REe(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition +`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,xe.has)(r,Ve.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.MODES+`> property in its definition +`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,xe.has)(r,Ve.MODES)&&(0,xe.has)(r,Ve.DEFAULT_MODE)&&!(0,xe.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ve.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist +`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,xe.has)(r,Ve.MODES)&&(0,xe.forEach)(r.modes,function(n,s){(0,xe.forEach)(n,function(o,a){(0,xe.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=REe;function FEe(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[Do]===ir.Lexer.NA}),a=ij(t);return e&&(0,xe.forEach)(o,function(l){var c=tj(l,a);if(c!==!1){var u=rj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,zg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ve.performWarningRuntimeChecks=FEe;function NEe(r){var e={},t=(0,xe.keys)(r);return(0,xe.forEach)(t,function(i){var n=r[i];if((0,xe.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ve.cloneEmptyGroups=NEe;function Ov(r){var e=r.PATTERN;if((0,xe.isRegExp)(e))return!1;if((0,xe.isFunction)(e))return!0;if((0,xe.has)(e,"exec"))return!0;if((0,xe.isString)(e))return!1;throw Error("non exhaustive match")}Ve.isCustomPattern=Ov;function ej(r){return(0,xe.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ve.isShortPattern=ej;Ve.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+r.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=rj;function ij(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Fv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var ey=[];function Tv(r){return r255?255+~~(r/255):r}}});var Vg=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var Zr=Gt();function TEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=TEe;function OEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=OEe;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function MEe(r){var e=nj(r);sj(e),aj(e),oj(e),(0,Zr.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=MEe;function nj(r){for(var e=(0,Zr.cloneArr)(r),t=r,i=!0;i;){t=(0,Zr.compact)((0,Zr.flatten)((0,Zr.map)(t,function(s){return s.CATEGORIES})));var n=(0,Zr.difference)(t,e);e=e.concat(n),(0,Zr.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=nj;function sj(r){(0,Zr.forEach)(r,function(e){Aj(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Mv(e)&&!(0,Zr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Mv(e)||(e.CATEGORIES=[]),lj(e)||(e.categoryMatches=[]),cj(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=sj;function oj(r){(0,Zr.forEach)(r,function(e){e.categoryMatches=[],(0,Zr.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=oj;function aj(r){(0,Zr.forEach)(r,function(e){Kv([],e)})}Nt.assignCategoriesMapProp=aj;function Kv(r,e){(0,Zr.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,Zr.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,Zr.contains)(i,t)||Kv(i,t)})}Nt.singleAssignCategoriesToksMap=Kv;function Aj(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=Aj;function Mv(r){return(0,Zr.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Mv;function lj(r){return(0,Zr.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=lj;function cj(r){return(0,Zr.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=cj;function KEe(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.isTokenType=KEe});var Uv=w(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.defaultLexerErrorProvider=void 0;ty.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var yd=w(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.Lexer=fc.LexerDefinitionErrorType=void 0;var Xs=Rv(),nr=Gt(),UEe=Vg(),HEe=Uv(),GEe=ZI(),YEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(YEe=fc.LexerDefinitionErrorType||(fc.LexerDefinitionErrorType={}));var wd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:HEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(wd);var jEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=wd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(wd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===wd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=Xs.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===wd.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[Xs.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[Xs.DEFAULT_MODE]=Xs.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Xs.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,Xs.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Xs.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,UEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,Xs.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(Xs.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,GEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,L=e,H=L.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),_=[],A=this.trackStartLines?1:void 0,ae=this.trackStartLines?1:void 0,ge=(0,Xs.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,O=this.config.lineTerminatorsPattern,F=0,ue=[],he=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ii=(0,Xs.charCodeToOptimizedIndex)(pr),es=he[Ii];return es===void 0?Fe:es}var we=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ii=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);_.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ii})}else{ke.pop();var es=(0,nr.last)(ke);ue=i.patternIdxToConfig[es],he=i.charCodeToPatternIdxToConfig[es],F=ue.length;var ua=i.canModeBeOptimized[es]&&i.config.safeMode===!1;he&&ua?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),he=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ii=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;he&&Ii?Ne=le:Ne=oe}fe.call(this,t);for(var Ae;jc.length){c=a,u=g,Ae=_e;break}}}break}}if(c!==null){if(f=c.length,h=Ae.group,h!==void 0&&(p=Ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,Ae.tokenType,A,ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,ae=this.computeNewColumn(ae,f),re===!0&&Ae.canLineTerminator===!0){var It=0,Or=void 0,ii=void 0;O.lastIndex=0;do Or=O.test(c),Or===!0&&(ii=O.lastIndex-1,It++);while(Or===!0);It!==0&&(A=A+It,ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,ae,f))}this.handleModes(Ae,we,fe,C)}else{for(var gi=j,hr=A,fi=ae,ni=!1;!ni&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();fc.Lexer=jEe});var NA=w(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.tokenMatcher=bi.createTokenInstance=bi.EOF=bi.createToken=bi.hasTokenLabel=bi.tokenName=bi.tokenLabel=void 0;var Zs=Gt(),qEe=yd(),Hv=Vg();function JEe(r){return Ej(r)?r.LABEL:r.name}bi.tokenLabel=JEe;function WEe(r){return r.name}bi.tokenName=WEe;function Ej(r){return(0,Zs.isString)(r.LABEL)&&r.LABEL!==""}bi.hasTokenLabel=Ej;var zEe="parent",uj="categories",gj="label",fj="group",hj="push_mode",pj="pop_mode",dj="longer_alt",Cj="line_breaks",mj="start_chars_hint";function Ij(r){return VEe(r)}bi.createToken=Ij;function VEe(r){var e=r.pattern,t={};if(t.name=r.name,(0,Zs.isUndefined)(e)||(t.PATTERN=e),(0,Zs.has)(r,zEe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Zs.has)(r,uj)&&(t.CATEGORIES=r[uj]),(0,Hv.augmentTokenTypes)([t]),(0,Zs.has)(r,gj)&&(t.LABEL=r[gj]),(0,Zs.has)(r,fj)&&(t.GROUP=r[fj]),(0,Zs.has)(r,pj)&&(t.POP_MODE=r[pj]),(0,Zs.has)(r,hj)&&(t.PUSH_MODE=r[hj]),(0,Zs.has)(r,dj)&&(t.LONGER_ALT=r[dj]),(0,Zs.has)(r,Cj)&&(t.LINE_BREAKS=r[Cj]),(0,Zs.has)(r,mj)&&(t.START_CHARS_HINT=r[mj]),t}bi.EOF=Ij({name:"EOF",pattern:qEe.Lexer.NA});(0,Hv.augmentTokenTypes)([bi.EOF]);function XEe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}bi.createTokenInstance=XEe;function ZEe(r,e){return(0,Hv.tokenStructuredMatcher)(r,e)}bi.tokenMatcher=ZEe});var dn=w(zt=>{"use strict";var va=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.serializeProduction=zt.serializeGrammar=zt.Terminal=zt.Alternation=zt.RepetitionWithSeparator=zt.Repetition=zt.RepetitionMandatoryWithSeparator=zt.RepetitionMandatory=zt.Option=zt.Alternative=zt.Rule=zt.NonTerminal=zt.AbstractProduction=void 0;var Ar=Gt(),_Ee=NA(),ko=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();zt.AbstractProduction=ko;var yj=function(r){va(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(ko);zt.NonTerminal=yj;var wj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Rule=wj;var Bj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Alternative=Bj;var Qj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Option=Qj;var bj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatory=bj;var Sj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatoryWithSeparator=Sj;var vj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Repetition=vj;var xj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionWithSeparator=xj;var Pj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(ko);zt.Alternation=Pj;var ry=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();zt.Terminal=ry;function $Ee(r){return(0,Ar.map)(r,Bd)}zt.serializeGrammar=$Ee;function Bd(r){function e(s){return(0,Ar.map)(s,Bd)}if(r instanceof yj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof Bj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof Qj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof bj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Sj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:Bd(new ry({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof xj)return{type:"RepetitionWithSeparator",idx:r.idx,separator:Bd(new ry({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof vj)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Pj)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof ry){var i={type:"Terminal",name:r.terminalType.name,label:(0,_Ee.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof wj)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}zt.serializeProduction=Bd});var ny=w(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});iy.RestWalker=void 0;var Gv=Gt(),Cn=dn(),eIe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Gv.forEach)(e.definition,function(n,s){var o=(0,Gv.drop)(e.definition,s+1);if(n instanceof Cn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof Cn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof Cn.Alternative)i.walkFlat(n,o,t);else if(n instanceof Cn.Option)i.walkOption(n,o,t);else if(n instanceof Cn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof Cn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof Cn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof Cn.Repetition)i.walkMany(n,o,t);else if(n instanceof Cn.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Dj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Dj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Gv.forEach)(e.definition,function(o){var a=new Cn.Alternative({definition:[o]});n.walk(a,s)})},r}();iy.RestWalker=eIe;function Dj(r,e,t){var i=[new Cn.Option({definition:[new Cn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var Xg=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.GAstVisitor=void 0;var Ro=dn(),tIe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Ro.NonTerminal:return this.visitNonTerminal(t);case Ro.Alternative:return this.visitAlternative(t);case Ro.Option:return this.visitOption(t);case Ro.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Ro.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Ro.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Ro.Repetition:return this.visitRepetition(t);case Ro.Alternation:return this.visitAlternation(t);case Ro.Terminal:return this.visitTerminal(t);case Ro.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();sy.GAstVisitor=tIe});var bd=w(Mi=>{"use strict";var rIe=Mi&&Mi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Mi,"__esModule",{value:!0});Mi.collectMethods=Mi.DslMethodsCollectorVisitor=Mi.getProductionDslName=Mi.isBranchingProd=Mi.isOptionalProd=Mi.isSequenceProd=void 0;var Qd=Gt(),Qr=dn(),iIe=Xg();function nIe(r){return r instanceof Qr.Alternative||r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionMandatory||r instanceof Qr.RepetitionMandatoryWithSeparator||r instanceof Qr.RepetitionWithSeparator||r instanceof Qr.Terminal||r instanceof Qr.Rule}Mi.isSequenceProd=nIe;function Yv(r,e){e===void 0&&(e=[]);var t=r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionWithSeparator;return t?!0:r instanceof Qr.Alternation?(0,Qd.some)(r.definition,function(i){return Yv(i,e)}):r instanceof Qr.NonTerminal&&(0,Qd.contains)(e,r)?!1:r instanceof Qr.AbstractProduction?(r instanceof Qr.NonTerminal&&e.push(r),(0,Qd.every)(r.definition,function(i){return Yv(i,e)})):!1}Mi.isOptionalProd=Yv;function sIe(r){return r instanceof Qr.Alternation}Mi.isBranchingProd=sIe;function oIe(r){if(r instanceof Qr.NonTerminal)return"SUBRULE";if(r instanceof Qr.Option)return"OPTION";if(r instanceof Qr.Alternation)return"OR";if(r instanceof Qr.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof Qr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof Qr.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof Qr.Repetition)return"MANY";if(r instanceof Qr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Mi.getProductionDslName=oIe;var kj=function(r){rIe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Qd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Qd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(iIe.GAstVisitor);Mi.DslMethodsCollectorVisitor=kj;var oy=new kj;function aIe(r){oy.reset(),r.accept(oy);var e=oy.dslMethods;return oy.reset(),e}Mi.collectMethods=aIe});var qv=w(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.firstForTerminal=Fo.firstForBranching=Fo.firstForSequence=Fo.first=void 0;var ay=Gt(),Rj=dn(),jv=bd();function Ay(r){if(r instanceof Rj.NonTerminal)return Ay(r.referencedRule);if(r instanceof Rj.Terminal)return Lj(r);if((0,jv.isSequenceProd)(r))return Fj(r);if((0,jv.isBranchingProd)(r))return Nj(r);throw Error("non exhaustive match")}Fo.first=Ay;function Fj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,jv.isOptionalProd)(s),e=e.concat(Ay(s)),i=i+1,n=t.length>i;return(0,ay.uniq)(e)}Fo.firstForSequence=Fj;function Nj(r){var e=(0,ay.map)(r.definition,function(t){return Ay(t)});return(0,ay.uniq)((0,ay.flatten)(e))}Fo.firstForBranching=Nj;function Lj(r){return[r.terminalType]}Fo.firstForTerminal=Lj});var Jv=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.IN=void 0;ly.IN="_~IN~_"});var Uj=w(us=>{"use strict";var AIe=us&&us.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(us,"__esModule",{value:!0});us.buildInProdFollowPrefix=us.buildBetweenProdsFollowPrefix=us.computeAllProdsFollows=us.ResyncFollowsWalker=void 0;var lIe=ny(),cIe=qv(),Tj=Gt(),Oj=Jv(),uIe=dn(),Mj=function(r){AIe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=Kj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new uIe.Alternative({definition:o}),l=(0,cIe.first)(a);this.follows[s]=l},e}(lIe.RestWalker);us.ResyncFollowsWalker=Mj;function gIe(r){var e={};return(0,Tj.forEach)(r,function(t){var i=new Mj(t).startWalking();(0,Tj.assign)(e,i)}),e}us.computeAllProdsFollows=gIe;function Kj(r,e){return r.name+e+Oj.IN}us.buildBetweenProdsFollowPrefix=Kj;function fIe(r){var e=r.terminalType.name;return e+r.idx+Oj.IN}us.buildInProdFollowPrefix=fIe});var Sd=w(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.defaultGrammarValidatorErrorProvider=xa.defaultGrammarResolverErrorProvider=xa.defaultParserErrorProvider=void 0;var Zg=NA(),hIe=Gt(),_s=Gt(),Wv=dn(),Hj=bd();xa.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,Zg.hasTokenLabel)(e),o=s?"--> "+(0,Zg.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,_s.first)(t).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,_s.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,_s.map)(c,function(h){return"["+(0,_s.map)(h,function(p){return(0,Zg.tokenLabel)(p)}).join(", ")+"]"}),g=(0,_s.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,_s.first)(t).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,_s.map)(e,function(u){return"["+(0,_s.map)(u,function(g){return(0,Zg.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(xa.defaultParserErrorProvider);xa.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+r.name+"<-";return t}};xa.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Wv.Terminal?u.terminalType.name:u instanceof Wv.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,_s.first)(e),s=n.idx,o=(0,Hj.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+r.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,_s.map)(r.prefixPath,function(n){return(0,Zg.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous alternatives: <"+r.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+r.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,_s.map)(r.prefixPath,function(n){return(0,Zg.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in "+(" inside <"+r.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,Hj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return"deprecated"},buildEmptyAlternationError:function(r){var e="Ambiguous empty alternative: <"+(r.emptyChoiceIdx+1)+">"+(" in inside <"+r.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+r.topLevelRule.name+`> Rule. + has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=hIe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Wv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var jj=w(LA=>{"use strict";var pIe=LA&&LA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(LA,"__esModule",{value:!0});LA.GastRefResolverVisitor=LA.resolveGrammar=void 0;var dIe=Gn(),Gj=Gt(),CIe=Xg();function mIe(r,e){var t=new Yj(r,e);return t.resolveRefs(),t.errors}LA.resolveGrammar=mIe;var Yj=function(r){pIe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,Gj.forEach)((0,Gj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:dIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(CIe.GAstVisitor);LA.GastRefResolverVisitor=Yj});var xd=w(Nr=>{"use strict";var hc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var qj=ny(),Kt=Gt(),EIe=qv(),kt=dn(),Jj=function(r){hc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(qj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Jj;var IIe=function(r){hc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,EIe.first)(o),this.found=!0}},e}(Jj);Nr.NextAfterTokenWalker=IIe;var vd=function(r){hc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(qj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=vd;var yIe=function(r){hc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(vd);Nr.NextTerminalAfterManyWalker=yIe;var wIe=function(r){hc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(vd);Nr.NextTerminalAfterManySepWalker=wIe;var BIe=function(r){hc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(vd);Nr.NextTerminalAfterAtLeastOneWalker=BIe;var QIe=function(r){hc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(vd);Nr.NextTerminalAfterAtLeastOneSepWalker=QIe;function Wj(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=Wj(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var re=B.definition[ge],O={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(O),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(SIe(B,p,C,y));else throw Error("non exhaustive match")}}return u}Nr.nextPossibleTokensAfter=bIe;function SIe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var Pd=w(Zt=>{"use strict";var Xj=Zt&&Zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.areTokenCategoriesNotUsed=Zt.isStrictPrefixOfPath=Zt.containsPath=Zt.getLookaheadPathsForOptionalProd=Zt.getLookaheadPathsForOr=Zt.lookAheadSequenceFromAlternatives=Zt.buildSingleAlternativeLookaheadFunction=Zt.buildAlternativesLookAheadFunc=Zt.buildLookaheadFuncForOptionalProd=Zt.buildLookaheadFuncForOr=Zt.getProdType=Zt.PROD_TYPE=void 0;var sr=Gt(),zj=xd(),vIe=ny(),cy=Vg(),TA=dn(),xIe=Xg(),oi;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(oi=Zt.PROD_TYPE||(Zt.PROD_TYPE={}));function PIe(r){if(r instanceof TA.Option)return oi.OPTION;if(r instanceof TA.Repetition)return oi.REPETITION;if(r instanceof TA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof TA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof TA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof TA.Alternation)return oi.ALTERNATION;throw Error("non exhaustive match")}Zt.getProdType=PIe;function DIe(r,e,t,i,n,s){var o=_j(r,e,t),a=Xv(o)?cy.tokenStructuredMatcherNoCategories:cy.tokenStructuredMatcher;return s(o,i,a,n)}Zt.buildLookaheadFuncForOr=DIe;function kIe(r,e,t,i,n,s){var o=$j(r,e,n,t),a=Xv(o)?cy.tokenStructuredMatcherNoCategories:cy.tokenStructuredMatcher;return s(o[0],a,i)}Zt.buildLookaheadFuncForOptionalProd=kIe;function RIe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Zv=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.checkPrefixAlternativesAmbiguities=Vt.validateSomeNonEmptyLookaheadPath=Vt.validateTooManyAlts=Vt.RepetionCollector=Vt.validateAmbiguousAlternationAlternatives=Vt.validateEmptyOrAlternative=Vt.getFirstNoneTerminal=Vt.validateNoLeftRecursion=Vt.validateRuleIsOverridden=Vt.validateRuleDoesNotAlreadyExist=Vt.OccurrenceValidationCollector=Vt.identifyProductionForDuplicates=Vt.validateGrammar=void 0;var er=Gt(),br=Gt(),No=Gn(),_v=bd(),_g=Pd(),OIe=xd(),$s=dn(),$v=Xg();function MIe(r,e,t,i,n){var s=er.map(r,function(h){return KIe(h,i)}),o=er.map(r,function(h){return ex(h,h,i)}),a=[],l=[],c=[];(0,br.every)(o,br.isEmpty)&&(a=(0,br.map)(r,function(h){return sq(h,i)}),l=(0,br.map)(r,function(h){return oq(h,e,i)}),c=lq(r,e,i));var u=GIe(r,t,i),g=(0,br.map)(r,function(h){return Aq(h,i)}),f=(0,br.map)(r,function(h){return nq(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}Vt.validateGrammar=MIe;function KIe(r,e){var t=new iq;r.accept(t);var i=t.allProductions,n=er.groupBy(i,tq),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,_v.getProductionDslName)(l),g={message:c,type:No.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=rq(l);return f&&(g.parameter=f),g});return o}function tq(r){return(0,_v.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+rq(r)}Vt.identifyProductionForDuplicates=tq;function rq(r){return r instanceof $s.Terminal?r.terminalType.name:r instanceof $s.NonTerminal?r.nonTerminalName:""}var iq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.OccurrenceValidationCollector=iq;function nq(r,e,t,i){var n=[],s=(0,br.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:No.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Vt.validateRuleDoesNotAlreadyExist=nq;function UIe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:No.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Vt.validateRuleIsOverridden=UIe;function ex(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Dd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:No.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),ex(r,u,t,g)});return n.concat(er.flatten(c))}Vt.validateNoLeftRecursion=ex;function Dd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof $s.NonTerminal)e.push(t.referencedRule);else if(t instanceof $s.Alternative||t instanceof $s.Option||t instanceof $s.RepetitionMandatory||t instanceof $s.RepetitionMandatoryWithSeparator||t instanceof $s.RepetitionWithSeparator||t instanceof $s.Repetition)e=e.concat(Dd(t.definition));else if(t instanceof $s.Alternation)e=er.flatten(er.map(t.definition,function(o){return Dd(o.definition)}));else if(!(t instanceof $s.Terminal))throw Error("non exhaustive match");var i=(0,_v.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(Dd(s))}else return e}Vt.getFirstNoneTerminal=Dd;var tx=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}($v.GAstVisitor);function sq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,OIe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:No.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}Vt.validateEmptyOrAlternative=sq;function oq(r,e,t){var i=new tx;r.accept(i);var n=i.alternations;n=(0,br.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,_g.getLookaheadPathsForOr)(l,r,c,a),g=HIe(u,a,r,t),f=cq(u,a,r,t);return o.concat(g,f)},[]);return s}Vt.validateAmbiguousAlternationAlternatives=oq;var aq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.RepetionCollector=aq;function Aq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:No.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Vt.validateTooManyAlts=Aq;function lq(r,e,t){var i=[];return(0,br.forEach)(r,function(n){var s=new aq;n.accept(s);var o=s.allProductions;(0,br.forEach)(o,function(a){var l=(0,_g.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,_g.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,br.isEmpty)((0,br.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:No.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Vt.validateSomeNonEmptyLookaheadPath=lq;function HIe(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,br.forEach)(l,function(u){var g=[c];(0,br.forEach)(r,function(f,h){c!==h&&(0,_g.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,_g.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,br.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:No.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function cq(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(o,a,l){var c=(0,br.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,br.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,br.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty($g,"__esModule",{value:!0});$g.validateGrammar=$g.resolveGrammar=void 0;var ix=Gt(),YIe=jj(),jIe=rx(),uq=Sd();function qIe(r){r=(0,ix.defaults)(r,{errMsgProvider:uq.defaultGrammarResolverErrorProvider});var e={};return(0,ix.forEach)(r.rules,function(t){e[t.name]=t}),(0,YIe.resolveGrammar)(e,r.errMsgProvider)}$g.resolveGrammar=qIe;function JIe(r){return r=(0,ix.defaults)(r,{errMsgProvider:uq.defaultGrammarValidatorErrorProvider}),(0,jIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}$g.validateGrammar=JIe});var ef=w(mn=>{"use strict";var kd=mn&&mn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(mn,"__esModule",{value:!0});mn.EarlyExitException=mn.NotAllInputParsedException=mn.NoViableAltException=mn.MismatchedTokenException=mn.isRecognitionException=void 0;var WIe=Gt(),fq="MismatchedTokenException",hq="NoViableAltException",pq="EarlyExitException",dq="NotAllInputParsedException",Cq=[fq,hq,pq,dq];Object.freeze(Cq);function zIe(r){return(0,WIe.contains)(Cq,r.name)}mn.isRecognitionException=zIe;var uy=function(r){kd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),VIe=function(r){kd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=fq,s}return e}(uy);mn.MismatchedTokenException=VIe;var XIe=function(r){kd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=hq,s}return e}(uy);mn.NoViableAltException=XIe;var ZIe=function(r){kd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=dq,n}return e}(uy);mn.NotAllInputParsedException=ZIe;var _Ie=function(r){kd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=pq,s}return e}(uy);mn.EarlyExitException=_Ie});var sx=w(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var gy=NA(),gs=Gt(),$Ie=ef(),eye=Jv(),tye=Gn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function nx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=nx;nx.prototype=Error.prototype;var rye=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,gs.has)(e,"recoveryEnabled")?e.recoveryEnabled:tye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=mq)},r.prototype.getTokenToInsert=function(e){var t=(0,gy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new $Ie.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,gs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new nx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,gs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,gs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,gs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,gs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,gs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,gs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,gs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[gy.EOF];var t=e.ruleName+e.idxInCallingRule+eye.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,gy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,gs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,gs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,gs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=rye;function mq(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=gy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=mq});var fy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(hy,"__esModule",{value:!0});hy.LooksAhead=void 0;var Pa=Pd(),eo=Gt(),Eq=Gn(),Da=fy(),pc=bd(),nye=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,eo.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Eq.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,eo.has)(e,"maxLookahead")?e.maxLookahead:Eq.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,eo.isES2015MapSupported)()?new Map:[],(0,eo.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,eo.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,pc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,eo.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,pc.getProductionDslName)(g)+f,function(){var h=(0,Pa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Da.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Da.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,eo.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Da.MANY_IDX,Pa.PROD_TYPE.REPETITION,g.maxLookahead,(0,pc.getProductionDslName)(g))}),(0,eo.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Da.OPTION_IDX,Pa.PROD_TYPE.OPTION,g.maxLookahead,(0,pc.getProductionDslName)(g))}),(0,eo.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Da.AT_LEAST_ONE_IDX,Pa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,pc.getProductionDslName)(g))}),(0,eo.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Da.AT_LEAST_ONE_SEP_IDX,Pa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,pc.getProductionDslName)(g))}),(0,eo.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Da.MANY_SEP_IDX,Pa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,pc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,Pa.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Da.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Pa.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Pa.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Da.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();hy.LooksAhead=nye});var yq=w(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.addNoneTerminalToCst=Lo.addTerminalToCst=Lo.setNodeLocationFull=Lo.setNodeLocationOnlyOffset=void 0;function sye(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.defineNameProp=OA.functionName=OA.classNameFromInstance=void 0;var lye=Gt();function cye(r){return Bq(r.constructor)}OA.classNameFromInstance=cye;var wq="name";function Bq(r){var e=r.name;return e||"anonymous"}OA.functionName=Bq;function uye(r,e){var t=Object.getOwnPropertyDescriptor(r,wq);return(0,lye.isUndefined)(t)||t.configurable?(Object.defineProperty(r,wq,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}OA.defineNameProp=uye});var xq=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.validateRedundantMethods=Si.validateMissingCstMethods=Si.validateVisitor=Si.CstVisitorDefinitionError=Si.createBaseVisitorConstructorWithDefaults=Si.createBaseSemanticVisitorConstructor=Si.defaultVisit=void 0;var fs=Gt(),Rd=ox();function Qq(r,e){for(var t=(0,fs.keys)(r),i=t.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Si.createBaseSemanticVisitorConstructor=gye;function fye(r,e,t){var i=function(){};(0,Rd.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,fs.forEach)(e,function(s){n[s]=Qq}),i.prototype=n,i.prototype.constructor=i,i}Si.createBaseVisitorConstructorWithDefaults=fye;var ax;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(ax=Si.CstVisitorDefinitionError||(Si.CstVisitorDefinitionError={}));function bq(r,e){var t=Sq(r,e),i=vq(r,e);return t.concat(i)}Si.validateVisitor=bq;function Sq(r,e){var t=(0,fs.map)(e,function(i){if(!(0,fs.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,Rd.functionName)(r.constructor)+" CST Visitor.",type:ax.MISSING_METHOD,methodName:i}});return(0,fs.compact)(t)}Si.validateMissingCstMethods=Sq;var hye=["constructor","visit","validateVisitor"];function vq(r,e){var t=[];for(var i in r)(0,fs.isFunction)(r[i])&&!(0,fs.contains)(hye,i)&&!(0,fs.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,Rd.functionName)(r.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:ax.REDUNDANT_METHOD,methodName:i});return t}Si.validateRedundantMethods=vq});var Dq=w(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.TreeBuilder=void 0;var tf=yq(),_r=Gt(),Pq=xq(),pye=Gn(),dye=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,_r.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:pye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=_r.NOOP,this.cstFinallyStateUpdate=_r.NOOP,this.cstPostTerminal=_r.NOOP,this.cstPostNonTerminal=_r.NOOP,this.cstPostRule=_r.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=tf.setNodeLocationFull,this.setNodeLocationFromNode=tf.setNodeLocationFull,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=tf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=tf.setNodeLocationOnlyOffset,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=_r.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,tf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,tf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,_r.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Pq.createBaseSemanticVisitorConstructor)(this.className,(0,_r.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,_r.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Pq.createBaseVisitorConstructorWithDefaults)(this.className,(0,_r.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();py.TreeBuilder=dye});var Rq=w(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.LexerAdapter=void 0;var kq=Gn(),Cye=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):kq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?kq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();dy.LexerAdapter=Cye});var Nq=w(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.RecognizerApi=void 0;var Fq=Gt(),mye=ef(),Ax=Gn(),Eye=Sd(),Iye=rx(),yye=dn(),wye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG),(0,Fq.contains)(this.definedRulesNames,e)){var n=Eye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Ax.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,Iye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,mye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,yye.serializeGrammar)((0,Fq.values)(this.gastProductionsCache))},r}();Cy.RecognizerApi=wye});var Mq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.RecognizerEngine=void 0;var Pr=Gt(),Yn=fy(),my=ef(),Lq=Pd(),rf=xd(),Tq=Gn(),Bye=sx(),Oq=NA(),Fd=Vg(),Qye=ox(),bye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,Qye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Fd.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Pr.isArray)(e)){if((0,Pr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,"modes")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Fd.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Oq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Fd.tokenStructuredMatcherNoCategories:Fd.tokenStructuredMatcher,(0,Fd.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:Tq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:Tq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Yn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new my.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,my.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new my.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===Bye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Oq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();Ey.RecognizerEngine=bye});var Uq=w(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.ErrorHandler=void 0;var lx=ef(),cx=Gt(),Kq=Pd(),Sye=Gn(),vye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,cx.has)(e,"errorMessageProvider")?e.errorMessageProvider:Sye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,lx.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,cx.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,cx.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,Kq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new lx.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,Kq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lx.NoViableAltException(c,this.LA(1),l))},r}();Iy.ErrorHandler=vye});var Yq=w(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});yy.ContentAssist=void 0;var Hq=xd(),Gq=Gt(),xye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,Gq.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,Hq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,Gq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new Hq.NextAfterTokenWalker(n,e).startWalking();return s},r}();yy.ContentAssist=xye});var Zq=w(Qy=>{"use strict";Object.defineProperty(Qy,"__esModule",{value:!0});Qy.GastRecorder=void 0;var En=Gt(),To=dn(),Pye=yd(),Wq=Vg(),zq=NA(),Dye=Gn(),kye=fy(),By={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(By);var jq=!0,qq=Math.pow(2,kye.BITS_FOR_OCCURRENCE_IDX)-1,Vq=(0,zq.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:Pye.Lexer.NA});(0,Wq.augmentTokenTypes)([Vq]);var Xq=(0,zq.createTokenInstance)(Vq,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Xq);var Rye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Fye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Dye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new To.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Nd.call(this,To.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Nd.call(this,To.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Nd.call(this,To.RepetitionMandatoryWithSeparator,t,e,jq)},r.prototype.manyInternalRecord=function(e,t){Nd.call(this,To.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Nd.call(this,To.RepetitionWithSeparator,t,e,jq)},r.prototype.orInternalRecord=function(e,t){return Nye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(wy(t),!e||(0,En.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=e.ruleName,a=new To.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Rye:By},r.prototype.consumeInternalRecord=function(e,t,i){if(wy(t),!(0,Wq.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=new To.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),Xq},r}();Qy.GastRecorder=Fye;function Nd(r,e,t,i){i===void 0&&(i=!1),wy(t);var n=(0,En.peek)(this.recordingProdStack),s=(0,En.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,En.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),By}function Nye(r,e){var t=this;wy(e);var i=(0,En.peek)(this.recordingProdStack),n=(0,En.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new To.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,En.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,En.some)(s,function(l){return(0,En.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,En.forEach)(s,function(l){var c=new To.Alternative({definition:[]});o.definition.push(c),(0,En.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,En.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),By}function Jq(r){return r===0?"":""+r}function wy(r){if(r<0||r>qq){var e=new Error("Invalid DSL Method idx value: <"+r+`> + `+("Idx value must be a none negative value smaller than "+(qq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var $q=w(by=>{"use strict";Object.defineProperty(by,"__esModule",{value:!0});by.PerformanceTracer=void 0;var _q=Gt(),Lye=Gn(),Tye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,_q.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Lye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,_q.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();by.PerformanceTracer=Tye});var eJ=w(Sy=>{"use strict";Object.defineProperty(Sy,"__esModule",{value:!0});Sy.applyMixins=void 0;function Oye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Sy.applyMixins=Oye});var Gn=w(dr=>{"use strict";var iJ=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var _i=Gt(),Mye=Uj(),tJ=NA(),nJ=Sd(),rJ=gq(),Kye=sx(),Uye=Iq(),Hye=Dq(),Gye=Rq(),Yye=Nq(),jye=Mq(),qye=Uq(),Jye=Yq(),Wye=Zq(),zye=$q(),Vye=eJ();dr.END_OF_FILE=(0,tJ.createTokenInstance)(tJ.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:nJ.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var Xye;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(Xye=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function Zye(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=Zye;var vy=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,_i.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,_i.has)(t,"skipValidations")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,_i.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,_i.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,rJ.resolveGrammar)({rules:(0,_i.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,_i.isEmpty)(n)&&e.skipValidations===!1){var s=(0,rJ.validateGrammar)({rules:(0,_i.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,_i.values)(e.tokensMap),errMsgProvider:nJ.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,_i.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Mye.computeAllProdsFollows)((0,_i.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,_i.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,_i.isEmpty)(e.definitionErrors))throw t=(0,_i.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+t.join(` +------------------------------- +`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=vy;(0,Vye.applyMixins)(vy,[Kye.Recoverable,Uye.LooksAhead,Hye.TreeBuilder,Gye.LexerAdapter,jye.RecognizerEngine,Yye.RecognizerApi,qye.ErrorHandler,Jye.ContentAssist,Wye.GastRecorder,zye.PerformanceTracer]);var _ye=function(r){iJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,_i.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(vy);dr.CstParser=_ye;var $ye=function(r){iJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,_i.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(vy);dr.EmbeddedActionsParser=$ye});var oJ=w(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});xy.createSyntaxDiagramsCode=void 0;var sJ=Dv();function ewe(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+sJ.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+sJ.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` +