@mapcomponents/react-maplibre 0.1.96 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +32 -0
- package/CHANGELOG.md +6 -0
- package/dist/{index.esm.css → assets/index.cjs-Iqz0mZaU.css} +4 -4
- package/dist/assets/index.esm-Iqz0mZaU.css +98 -0
- package/dist/components/MapLibreMap/MapLibreMap.d.ts +30 -31
- package/dist/components/MapLibreMap/lib/MapLibreGlWrapper.d.ts +105 -105
- package/dist/components/MlCenterPosition/MlCenterPosition.d.ts +36 -36
- package/dist/components/MlComponentTemplate/MlComponentTemplate.d.ts +18 -18
- package/dist/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +22 -22
- package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +30 -30
- package/dist/components/MlCreatePdfForm/lib/PdfContext.d.ts +8 -8
- package/dist/components/MlCreatePdfForm/lib/PdfForm.d.ts +11 -11
- package/dist/components/MlCreatePdfForm/lib/PdfPreview.d.ts +26 -26
- package/dist/components/MlCreatePdfForm/lib/pdf.templates.d.ts +11 -11
- package/dist/components/MlCreatePngButton/MlCreatePngButton.d.ts +22 -22
- package/dist/components/MlFeatureEditor/MlFeatureEditor.d.ts +5 -5
- package/dist/components/MlFillExtrusionLayer/MlFillExtrusionLayer.d.ts +62 -62
- package/dist/components/MlFollowGps/MlFollowGps.d.ts +81 -81
- package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.d.ts +97 -97
- package/dist/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.d.ts +9 -2
- package/dist/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.d.ts +8 -2
- package/dist/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.d.ts +4 -4
- package/dist/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.d.ts +4 -4
- package/dist/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.d.ts +2 -2
- package/dist/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.d.ts +5 -5
- package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.d.ts +23 -23
- package/dist/components/MlGpxViewer/MlGpxViewer.d.ts +31 -31
- package/dist/components/MlGpxViewer/util/GeoJsonContext.d.ts +10 -10
- package/dist/components/MlGpxViewer/util/GeoJsonProvider.d.ts +5 -5
- package/dist/components/MlGpxViewer/util/Metadata.d.ts +7 -7
- package/dist/components/MlGpxViewer/util/MlGpxDemoLoader.d.ts +11 -11
- package/dist/components/MlGpxViewer/util/MlGpxViewerInstructions.d.ts +4 -4
- package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.d.ts +39 -39
- package/dist/components/MlLayer/MlLayer.d.ts +33 -33
- package/dist/components/MlLayerMagnify/MlLayerMagnify.d.ts +33 -33
- package/dist/components/MlLayerSwipe/MlLayerSwipe.d.ts +26 -26
- package/dist/components/MlLayerSwitcher/MlLayerSwitcher.d.ts +29 -30
- package/dist/components/MlLayerSwitcher/components/LayerBox.d.ts +10 -6
- package/dist/components/MlMarker/MlMarker.d.ts +34 -34
- package/dist/components/MlMeasureTool/MlMeasureTool.d.ts +36 -36
- package/dist/components/MlMultiMeasureTool/MlMultiMeasureTool.d.ts +55 -55
- package/dist/components/MlNavigationCompass/MlNavigationCompass.d.ts +33 -33
- package/dist/components/MlNavigationTools/MlNavigationTools.d.ts +55 -55
- package/dist/components/MlOrderLayers/MlOrderLayers.d.ts +21 -21
- package/dist/components/MlScaleReference/MlScaleReference.d.ts +9 -9
- package/dist/components/MlShareMapState/MlShareMapState.d.ts +42 -42
- package/dist/components/MlSketchTool/MlSketchTool.d.ts +42 -42
- package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.d.ts +40 -40
- package/dist/components/MlSpatialElevationProfile/util/getElevationData.d.ts +12 -14
- package/dist/components/MlTemporalController/MlTemporalController.d.ts +181 -181
- package/dist/components/MlTemporalController/utils/MlTemporalControllerLabels.d.ts +20 -20
- package/dist/components/MlTemporalController/utils/TemporalControllerPlayer.d.ts +22 -22
- package/dist/components/MlTemporalController/utils/paintPicker.d.ts +59 -59
- package/dist/components/MlTemporalController/utils/useFilterData.d.ts +14 -14
- package/dist/components/MlTerrainLayer/MlTerrainLayer.d.ts +28 -28
- package/dist/components/MlThreeJsLayer/MlThreeJsLayer.d.ts +30 -30
- package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.d.ts +12 -10
- package/dist/components/MlUseMapDebugger/MlUseMapDebugger.d.ts +18 -22
- package/dist/components/MlVectorTileLayer/MlVectorTileLayer.d.ts +19 -19
- package/dist/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.d.ts +29 -22
- package/dist/components/MlWmsLayer/MlWmsLayer.d.ts +104 -104
- package/dist/components/MlWmsLoader/MlWmsLoader.d.ts +125 -125
- package/dist/components/MlWmsLoader/utils/MlWmsLoaderInstructions.d.ts +4 -4
- package/dist/components/MlWmsLoader/utils/WMSLinks.d.ts +8 -8
- package/dist/contexts/LayerContext.d.ts +59 -59
- package/dist/contexts/MapContext.d.ts +24 -24
- package/dist/contexts/SimpleDataContext.d.ts +4 -4
- package/dist/contexts/SimpleDataProvider.d.ts +18 -8
- package/dist/decorators/EmptyMapDecorator.d.ts +4 -2
- package/dist/decorators/GeoJsonMapDecorator.d.ts +4 -2
- package/dist/decorators/LowZoomDecorator.d.ts +4 -2
- package/dist/decorators/MapContextDecorator.d.ts +4 -2
- package/dist/decorators/MapContextDecoratorHooks.d.ts +4 -2
- package/dist/decorators/MultiMapContextDecorator.d.ts +4 -2
- package/dist/decorators/NoNavToolsDecorator.d.ts +4 -2
- package/dist/decorators/ThemeDecorator.d.ts +5 -2
- package/dist/hooks/useAddImage/useAddImage.d.ts +20 -20
- package/dist/hooks/useAddProtocol/useAddProtocol.d.ts +23 -23
- package/dist/hooks/useCameraFollowPath/useCameraFollowPath.d.ts +35 -35
- package/dist/hooks/useExportMap/index.d.ts +11 -11
- package/dist/hooks/useExportMap/lib.d.ts +51 -51
- package/dist/hooks/useFeatureEditor/useFeatureEditor.d.ts +46 -46
- package/dist/hooks/useFeatureEditor/utils/FeatureEditorStyle.d.ts +88 -88
- package/dist/hooks/useFitLayerBounds.d.ts +8 -8
- package/dist/hooks/useGpx/useGpx.d.ts +26 -26
- package/dist/hooks/useLayer.d.ts +36 -36
- package/dist/hooks/useLayerContext.d.ts +2 -2
- package/dist/hooks/useLayerFilter/useLayerFilter.d.ts +8 -8
- package/dist/hooks/useLayerHoverPopup/{useLayerHoverPopup.d.ts → LayerHoverPopup.d.ts} +23 -24
- package/dist/hooks/useMap.d.ts +14 -14
- package/dist/hooks/useMapState.d.ts +62 -62
- package/dist/hooks/useSource.d.ts +17 -17
- package/dist/hooks/useWms.d.ts +26 -26
- package/dist/index.cjs.js +21050 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +87 -89
- package/dist/index.esm.js +19882 -20200
- package/dist/index.esm.js.map +1 -1
- package/dist/omt_styles/bright.d.ts +2495 -2495
- package/dist/omt_styles/config.d.ts +7 -7
- package/dist/omt_styles/gruvbox.d.ts +2420 -2420
- package/dist/omt_styles/medieval_kingdom.d.ts +2420 -2420
- package/dist/omt_styles/monokai.d.ts +2420 -2420
- package/dist/omt_styles/oceanic_next.d.ts +2420 -2420
- package/dist/omt_styles/solarized.d.ts +2420 -2420
- package/dist/protocol_handlers/csv.d.ts +8 -8
- package/dist/protocol_handlers/mbtiles.d.ts +33 -33
- package/dist/protocol_handlers/osm.d.ts +11 -11
- package/dist/protocol_handlers/topojson.d.ts +9 -9
- package/dist/protocol_handlers/utils/getProtocolData.d.ts +1 -1
- package/dist/protocol_handlers/utils/protocolPathParser.d.ts +7 -7
- package/dist/protocol_handlers/xml.d.ts +10 -10
- package/dist/ui_components/AddLayerButton/AddLayerButton.d.ts +17 -17
- package/dist/ui_components/AddLayerButton/AddLayerPopup.d.ts +15 -15
- package/dist/ui_components/AddLayerButton/LayerConfigForms/GeoJsonLayerForm.d.ts +8 -8
- package/dist/ui_components/AddLayerButton/LayerConfigForms/LayerTypeForm.d.ts +10 -10
- package/dist/ui_components/AddLayerButton/LayerConfigForms/MbtilesLayerForm.d.ts +13 -13
- package/dist/ui_components/AddLayerButton/LayerConfigForms/ProtocolHandlerLayerForm.d.ts +10 -10
- package/dist/ui_components/AddLayerButton/LayerConfigForms/WmsLayerForm.d.ts +10 -10
- package/dist/ui_components/AddLayerButton/LayerConfigForms/utils/CSVOptionsFomular.d.ts +6 -6
- package/dist/ui_components/AddLayerButton/LayerConfigForms/utils/MbtilesLayerPropFormular.d.ts +7 -7
- package/dist/ui_components/AddLayerButton/LayerConfigForms/utils/OsmOptionsFomular.d.ts +6 -6
- package/dist/ui_components/ColorPicker/ColorPicker.d.ts +17 -17
- package/dist/ui_components/ColorPicker/transformers.d.ts +10 -10
- package/dist/ui_components/ConfirmDialog.d.ts +16 -16
- package/dist/ui_components/DemoDescriptions.d.ts +12 -12
- package/dist/ui_components/Dropzone.d.ts +6 -6
- package/dist/ui_components/ImageLoader.d.ts +10 -10
- package/dist/ui_components/LayerList/LayerList.d.ts +7 -7
- package/dist/ui_components/LayerList/LayerListFolder.d.ts +9 -9
- package/dist/ui_components/LayerList/LayerListItem.d.ts +26 -26
- package/dist/ui_components/LayerList/LayerListItemFactory.d.ts +18 -18
- package/dist/ui_components/LayerList/util/LayerListItemVectorLayer.d.ts +23 -36
- package/dist/ui_components/LayerList/util/LayerPropertyForm.d.ts +10 -10
- package/dist/ui_components/LayerList/util/SortableContainer.d.ts +7 -7
- package/dist/ui_components/LayerList/util/input/ColorPicker.d.ts +10 -10
- package/dist/ui_components/LoadingOverlayContext.d.ts +10 -10
- package/dist/ui_components/MapcomponentsTheme.d.ts +35 -35
- package/dist/ui_components/SelectStyleButton/SelectStyleButton.d.ts +20 -20
- package/dist/ui_components/SelectStyleButton/SelectStylePopup.d.ts +18 -18
- package/dist/ui_components/Sidebar.d.ts +12 -12
- package/dist/ui_components/SpeedDial/SpeedDial.d.ts +14 -14
- package/dist/ui_components/TopToolbar.d.ts +9 -9
- package/dist/ui_components/UploadButton.d.ts +8 -8
- package/dist/util/BubbleForInstructions.d.ts +16 -2
- package/dist/util/Instructions.d.ts +14 -14
- package/package.json +207 -208
- package/rollup.config.mjs +62 -0
- package/dist/components/MapLibreMap/MapLibreMap.stories.d.ts +0 -20
- package/dist/components/MapLibreMap/MapLibreMap.test.d.ts +0 -1
- package/dist/components/MapLibreMap/lib/MapLibreGlWrapper.test.d.ts +0 -1
- package/dist/components/MlBasicComponent.d.ts +0 -5
- package/dist/components/MlCenterPosition/MlCenterPosition.stories.d.ts +0 -21
- package/dist/components/MlComponentTemplate/MlComponentTemplate.stories.d.ts +0 -14
- package/dist/components/MlCreatePdfButton/MlCreatePdfButton.stories.d.ts +0 -14
- package/dist/components/MlCreatePdfForm/MlCreatePdfForm.cy.d.ts +0 -1
- package/dist/components/MlCreatePdfForm/MlCreatePdfForm.stories.d.ts +0 -15
- package/dist/components/MlCreatePdfForm/lib/_PdfPreview.d.ts +0 -14
- package/dist/components/MlCreatePngButton/MlCreatePngButton.stories.d.ts +0 -14
- package/dist/components/MlFeatureEditor/MlFeatureEditor.stories.d.ts +0 -16
- package/dist/components/MlFeatureEditor/MlFeatureEditor.test.d.ts +0 -1
- package/dist/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.d.ts +0 -27
- package/dist/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.d.ts +0 -1
- package/dist/components/MlFollowGps/MlFollowGps.stories.d.ts +0 -11
- package/dist/components/MlFollowGps/MlFollowGps.test.d.ts +0 -1
- package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.d.ts +0 -18
- package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.test.d.ts +0 -1
- package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.d.ts +0 -14
- package/dist/components/MlGpxViewer/MlGpxViewer.stories.d.ts +0 -18
- package/dist/components/MlGpxViewer/MlGpxViewer.test.d.ts +0 -1
- package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.d.ts +0 -9
- package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.test.d.ts +0 -1
- package/dist/components/MlLayer/MlLayer.test.d.ts +0 -1
- package/dist/components/MlLayerMagnify/MlLayerMagnify.stories.d.ts +0 -15
- package/dist/components/MlLayerMagnify/MlLayerMagnify.test.d.ts +0 -1
- package/dist/components/MlLayerSwipe/MlLayerSwipe.stories.d.ts +0 -14
- package/dist/components/MlLayerSwipe/MlLayerSwipe.test.d.ts +0 -1
- package/dist/components/MlLayerSwitcher/MlLayerSwitcher.stories.d.ts +0 -13
- package/dist/components/MlMarker/MlMarker.stories.d.ts +0 -9
- package/dist/components/MlMeasureTool/MlMeasureTool.stories.d.ts +0 -12
- package/dist/components/MlMultiMeasureTool/MlMultiMeasureTool.stories.d.ts +0 -16
- package/dist/components/MlNavigationCompass/MlNavigationCompass.stories.d.ts +0 -10
- package/dist/components/MlNavigationCompass/MlNavigationCompass.test.d.ts +0 -1
- package/dist/components/MlNavigationTools/MlNavigationTools.stories.d.ts +0 -29
- package/dist/components/MlOrderLayers/MlOrderLayers.stories.d.ts +0 -15
- package/dist/components/MlOsmLayer/MlOsmLayer.d.ts +0 -18
- package/dist/components/MlOsmLayer/MlOsmLayer.stories_.d.ts +0 -16
- package/dist/components/MlOsmLayer/MlOsmLayer.test.d.ts +0 -1
- package/dist/components/MlScaleReference/MlScaleReference.stories.d.ts +0 -15
- package/dist/components/MlShareMapState/MlShareMapState.stories.d.ts +0 -17
- package/dist/components/MlSketchTool/MlSketchTool.stories.d.ts +0 -15
- package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.d.ts +0 -20
- package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.d.ts +0 -1
- package/dist/components/MlTemporalController/MlTemporalController.stories.d.ts +0 -34
- package/dist/components/MlTerrainLayer/MlTerrainLayer.cy.d.ts +0 -1
- package/dist/components/MlTerrainLayer/MlTerrainLayer.stories.d.ts +0 -14
- package/dist/components/MlThreeJsLayer/MlThreeJsLayer.stories.d.ts +0 -22
- package/dist/components/MlThreeJsLayer/MlThreeJsLayer.test.d.ts +0 -1
- package/dist/components/MlThreeJsLayer/lib/GLTFLoader.d.ts +0 -18
- package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.d.ts +0 -13
- package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.d.ts +0 -1
- package/dist/components/MlTransitionGeoJsonLayer/util/transitionFunctions.d.ts +0 -2
- package/dist/components/MlUseMapDebugger/MlUseMapDebugger.stories.d.ts +0 -13
- package/dist/components/MlVectorTileLayer/MlVectorTileLayer.stories.d.ts +0 -13
- package/dist/components/MlVectorTileLayer/MlVectorTileLayer.test.d.ts +0 -1
- package/dist/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.d.ts +0 -22
- package/dist/components/MlWmsLayer/MlWmsLayer.stories.d.ts +0 -13
- package/dist/components/MlWmsLayer/MlWmsLayer.test.d.ts +0 -1
- package/dist/components/MlWmsLoader/MlWmsLoader.stories.d.ts +0 -30
- package/dist/contexts/MapComponentsProvider.test.d.ts +0 -1
- package/dist/contexts/SimpleDataProvider.test.d.ts +0 -1
- package/dist/hooks/useAddImage/useAddImage.stories.d.ts +0 -14
- package/dist/hooks/useAddImage/useaddImage.cy.d.ts +0 -1
- package/dist/hooks/useAddProtocol/useAddProtocol.stories.d.ts +0 -22
- package/dist/hooks/useCameraFollowPath/useCameraFollowPath.stories.d.ts +0 -18
- package/dist/hooks/useGpx/lib/gpxConverter.d.ts +0 -11
- package/dist/hooks/useGpx/useGpx.stories.d.ts +0 -10
- package/dist/hooks/useLayer.test.d.ts +0 -1
- package/dist/hooks/useLayerEvent.d.ts +0 -2
- package/dist/hooks/useLayerFilter/useLayerFilter.stories.d.ts +0 -10
- package/dist/hooks/useLayerHoverPopup/useLayerHoverPopup.stories.d.ts +0 -10
- package/dist/hooks/useMap.test.d.ts +0 -1
- package/dist/hooks/useMapState.stories.d.ts +0 -14
- package/dist/hooks/useSources.stories.d.ts +0 -13
- package/dist/setupTests.d.ts +0 -13
- package/dist/stories/components/Readme.d.ts +0 -2
- package/dist/ui_components/AddLayerButton/AddLayerButton.stories.d.ts +0 -13
- package/dist/ui_components/LayerList/LayerList.stories.d.ts +0 -15
- package/dist/ui_components/SelectStyleButton/SelectStyleButton.stories.d.ts +0 -15
- package/dist/ui_components/SpeedDial/SpeedDial.stories.d.ts +0 -21
- package/dist/util/index.d.ts +0 -3
- package/dist/util/layerRemovalTest.d.ts +0 -2
- package/dist/util/sourceRemovalTest.d.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/components/MapLibreMap/lib/MapLibreGlWrapper.ts","../src/ui_components/MapcomponentsTheme.tsx","../src/omt_styles/config.ts","../src/contexts/LayerContext.tsx","../src/contexts/MapContext.tsx","../src/components/MapLibreMap/MapLibreMap.tsx","../src/hooks/useMapState.ts","../src/hooks/useMap.ts","../src/components/MlCenterPosition/MlCenterPosition.tsx","../src/components/MlComponentTemplate/MlComponentTemplate.tsx","../src/hooks/useExportMap/lib.ts","../src/hooks/useExportMap/index.ts","../src/components/MlCreatePdfButton/MlCreatePdfButton.tsx","../src/components/MlCreatePdfForm/lib/pdf.templates.ts","../src/components/MlCreatePdfForm/lib/PdfContext.tsx","../src/components/MlCreatePdfForm/lib/PdfPreview.tsx","../src/components/MlCreatePdfForm/lib/PdfForm.tsx","../src/components/MlCreatePdfForm/MlCreatePdfForm.tsx","../src/hooks/useFeatureEditor/utils/FeatureEditorStyle.tsx","../src/hooks/useFeatureEditor/useFeatureEditor.tsx","../src/components/MlFeatureEditor/MlFeatureEditor.tsx","../src/hooks/useLayer.ts","../src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx","../src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts","../src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts","../src/hooks/useSource.ts","../src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx","../src/components/MlFollowGps/MlFollowGps.tsx","../src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx","../src/components/MlMeasureTool/MlMeasureTool.tsx","../src/components/MlNavigationCompass/assets/CompassNeedle.svg","../src/components/MlNavigationCompass/assets/CompassBackground.svg","../src/components/MlNavigationCompass/MlNavigationCompass.tsx","../src/components/MlNavigationTools/MlNavigationTools.tsx","../src/components/MlLayer/MlLayer.tsx","../src/components/MlScaleReference/MlScaleReference.tsx","../src/components/MlLayerMagnify/MlLayerMagnify.tsx","../src/components/MlLayerSwipe/assets/icononlyarrow.svg","../src/components/MlLayerSwipe/MlLayerSwipe.tsx","../src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js","../src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx","../src/components/MlMarker/MlMarker.tsx","../src/hooks/useGpx/lib/gpxConverter.js","../src/hooks/useGpx/useGpx.tsx","../src/hooks/useLayerHoverPopup/LayerHoverPopup.tsx","../src/components/MlGpxViewer/MlGpxViewer.tsx","../src/components/MlGpxViewer/util/GeoJsonContext.ts","../src/components/MlGpxViewer/util/GeoJsonProvider.tsx","../src/components/MlShareMapState/MlShareMapState.tsx","../src/components/MlSpatialElevationProfile/util/getElevationData.tsx","../src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx","../src/components/MlVectorTileLayer/MlVectorTileLayer.tsx","../src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.tsx","../src/components/MlWmsLayer/MlWmsLayer.tsx","../src/hooks/useWms.ts","../src/ui_components/ConfirmDialog.tsx","../src/ui_components/LayerList/util/SortableContainer.tsx","../src/components/MlWmsLoader/MlWmsLoader.tsx","../src/components/MlTemporalController/utils/paintPicker.tsx","../src/components/MlTemporalController/utils/MlTemporalControllerLabels.tsx","../src/components/MlTemporalController/utils/TemporalControllerPlayer.tsx","../src/components/MlTemporalController/utils/useFilterData.tsx","../src/components/MlTemporalController/MlTemporalController.tsx","../src/components/MlOrderLayers/MlOrderLayers.tsx","../src/components/MlTerrainLayer/MlTerrainLayer.tsx","../src/ui_components/LayerList/LayerListFolder.tsx","../src/ui_components/ColorPicker/transformers.ts","../src/ui_components/ColorPicker/ColorPicker.tsx","../src/ui_components/LayerList/util/input/ColorPicker.tsx","../src/ui_components/LayerList/util/LayerPropertyForm.tsx","../src/ui_components/LayerList/util/LayerListItemVectorLayer.tsx","../src/ui_components/LayerList/LayerListItem.tsx","../src/components/MlSketchTool/MlSketchTool.tsx","../src/hooks/useCameraFollowPath/useCameraFollowPath.tsx","../src/hooks/useLayerFilter/useLayerFilter.ts","../src/hooks/useLayerEvent.js","../src/hooks/useLayerContext.ts","../src/hooks/useAddProtocol/useAddProtocol.tsx","../src/protocol_handlers/utils/protocolPathParser.ts","../src/protocol_handlers/utils/getProtocolData.ts","../src/protocol_handlers/csv.ts","../src/protocol_handlers/osm.ts","../src/protocol_handlers/topojson.ts","../src/protocol_handlers/xml.ts","../src/hooks/useAddImage/useAddImage.tsx","../src/contexts/SimpleDataContext.tsx","../src/contexts/SimpleDataProvider.tsx","../src/ui_components/LayerList/LayerList.tsx","../src/ui_components/LayerList/LayerListItemFactory.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/GeoJsonLayerForm.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/LayerTypeForm.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/WmsLayerForm.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/utils/CSVOptionsFomular.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/utils/OsmOptionsFomular.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/ProtocolHandlerLayerForm.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/utils/MbtilesLayerPropFormular.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/MbtilesLayerForm.tsx","../src/ui_components/AddLayerButton/AddLayerPopup.tsx","../src/ui_components/AddLayerButton/AddLayerButton.tsx","../src/ui_components/TopToolbar.tsx","../src/ui_components/Sidebar.tsx","../src/ui_components/UploadButton.tsx","../src/ui_components/SelectStyleButton/SelectStylePopup.tsx","../src/omt_styles/monokai.ts","../src/omt_styles/solarized.ts","../src/omt_styles/oceanic_next.ts","../src/omt_styles/medieval_kingdom.ts","../src/omt_styles/gruvbox.ts","../src/ui_components/SelectStyleButton/SelectStyleButton.tsx","../src/ui_components/SpeedDial/SpeedDial.tsx"],"sourcesContent":["import {\n\tMap,\n\tIControl,\n\tMapOptions as MapOptionsType,\n\tMapEventType,\n\tMapLayerEventType,\n\tStyleImageInterface,\n\tLayerSpecification,\n\tCustomLayerInterface,\n\tSourceSpecification,\n\tControlPosition,\n\tStyleImageMetadata,\n} from 'maplibre-gl';\nimport { Map as MapType, Style } from 'maplibre-gl';\n\ntype WrapperEventArgArray = [string, (arg0: unknown) => void];\ntype EventArgArray = [\n\tkeyof MapLayerEventType | keyof MapEventType,\n\tstring | ((arg0: unknown) => void),\n\t((arg0: unknown) => void)?\n];\ntype LayerState = {\n\tid: string;\n\ttype: string;\n\tvisible: boolean;\n\tbaseLayer: boolean;\n};\ntype ViewportState = {\n\tcenter: { lng: number; lat: number };\n\tzoom: number;\n\tbearing: number;\n\tpitch: number;\n};\n\n/**\n * Creates a MapLibre-gl-js instance and offers all of the native MapLibre functions and properties as well as additional functionality such as element registration & cleanup and more events.\n *\n * @param {object} props\n *\n * @class\n */\n\ninterface MapLibreGlWrapper extends MapType {\n\taddImage: (\n\t\tid: string,\n\t\timage:\n\t\t\t| HTMLImageElement\n\t\t\t| ImageBitmap\n\t\t\t| ImageData\n\t\t\t| {\n\t\t\t\t\twidth: number;\n\t\t\t\t\theight: number;\n\t\t\t\t\tdata: Uint8Array | Uint8ClampedArray;\n\t\t\t }\n\t\t\t| StyleImageInterface,\n\t\tkey?: Partial<StyleImageMetadata> | string | undefined,\n\t\tcomponentId?: string | undefined\n\t) => this;\n\taddLayer: (\n\t\tlayer:\n\t\t\t| (LayerSpecification & {\n\t\t\t\t\tsource?: string | SourceSpecification | undefined;\n\t\t\t })\n\t\t\t| (CustomLayerInterface & {\n\t\t\t\t\tsource?: string | SourceSpecification | undefined;\n\t\t\t }),\n\t\tbeforeId?: string | undefined,\n\t\tcomponentId?: string | undefined\n\t) => this;\n\tcancelled: boolean;\n}\nclass MapLibreGlWrapper {\n\tregisteredElements: {\n\t\t[key: string]: {\n\t\t\tlayers: [string?];\n\t\t\tsources: [string?];\n\t\t\timages: [string?];\n\t\t\tcontrols: [(IControl | unknown)?];\n\t\t\tevents: [EventArgArray?];\n\t\t\twrapperEvents: [WrapperEventArgArray?];\n\t\t};\n\t};\n\tbaseLayers: [string?];\n\tfirstSymbolLayer: string | undefined;\n\teventHandlers: {\n\t\tlayerchange: {\n\t\t\thandler: (ev: unknown) => void;\n\t\t\toptions?: object | string;\n\t\t}[];\n\t\tviewportchange: {\n\t\t\thandler: (ev: unknown) => void;\n\t\t}[];\n\t};\n\twrapper: {\n\t\ton: (\n\t\t\teventName: string,\n\t\t\thandler: (ev: unknown) => void,\n\t\t\toptions?: object | string,\n\t\t\tcomponentId?: string\n\t\t) => void;\n\t\toff: (type: string, listener: (ev: unknown) => void) => void;\n\t\tfire: (eventName: string, context?: unknown) => void;\n\t\tlayerState: LayerState[];\n\t\tlayerStateString: string;\n\t\toldLayerStateStrings: object;\n\t\tbuildLayerObject: (layer: ReturnType<Style['getLayer']>) => LayerState | undefined;\n\t\tbuildLayerObjects: () => LayerState[];\n\t\trefreshLayerState: () => void;\n\t\tviewportState: ViewportState;\n\t\tviewportStateString: string;\n\t\toldViewportStateString: string;\n\t\tgetViewport: () => {\n\t\t\tcenter: { lng: number; lat: number };\n\t\t\tzoom: number;\n\t\t\tbearing: number;\n\t\t\tpitch: number;\n\t\t};\n\t\trefreshViewport: () => void;\n\t};\n\tinitRegisteredElements: (componentId: string, force?: boolean | undefined) => void;\n\taddNativeMaplibreFunctionsAndProps: () => void;\n\tmap: MapType;\n\tstyle: Style;\n\n\tstyleJson: object;\n\taddSource: (id: string, source: SourceSpecification, componentId?: string | undefined) => this;\n\taddControl: (\n\t\tcontrol: IControl | unknown,\n\t\tposition?: ControlPosition | undefined,\n\t\tcomponentId?: string | undefined\n\t) => this;\n\ton: (\n\t\ttype: keyof MapLayerEventType | keyof MapEventType | string,\n\t\tlayerId: string | ((ev: unknown) => void),\n\t\thandler?: ((ev: MapEventType & unknown) => Map | void) | string,\n\t\tcomponentId?: string | undefined\n\t) => this;\n\tcleanup: (componentId: string) => void;\n\n\tconstructor(props: {\n\t\tmapOptions: MapOptionsType;\n\t\tonReady: (map: MapType, context: unknown) => void;\n\t}) {\n\t\t// closure variable to safely point to the object context of the current MapLibreGlWrapper instance\n\t\t// eslint-disable-next-line @typescript-eslint/no-this-alias\n\t\tconst self = this;\n\n\t\t// element registration and cleanup on a component level is experimental\n\t\tthis.registeredElements = {};\n\n\t\t// array of base layer ids, all layers that have been added by the style passed to the MapLibreGl coonstructor\n\t\tthis.baseLayers = [];\n\n\t\t// layer id of the first symbol layer\n\t\tthis.firstSymbolLayer = undefined;\n\n\t\t// event handlers registered in MapLibreGlWrapper\n\t\tthis.eventHandlers = {\n\t\t\tlayerchange: [],\n\t\t\tviewportchange: [],\n\t\t};\n\n\t\t// functions and properties provided by the wrapper\n\t\t// Add new functions and properties introduced by the wrapper to this object to prevent collisions due to future MapLibre API changes\n\t\tthis.wrapper = {\n\t\t\t/**\n\t\t\t * Subscribe the given event handler to an event\n\t\t\t *\n\t\t\t * @param {string} eventName\n\t\t\t * @param {function} handler\n\t\t\t * @param {object} options\n\t\t\t * @param {string} componentId\n\t\t\t * @returns {undefined}\n\t\t\t */\n\t\t\ton: (\n\t\t\t\teventName: string,\n\t\t\t\thandler: (ev: unknown) => void,\n\t\t\t\toptions?: object | string,\n\t\t\t\tcomponentId?: string\n\t\t\t) => {\n\t\t\t\tif (!self.eventHandlers[eventName]) return;\n\n\t\t\t\tif (typeof options === 'string') {\n\t\t\t\t\tcomponentId = options;\n\t\t\t\t\toptions = {};\n\t\t\t\t}\n\n\t\t\t\tself.eventHandlers[eventName].push({ handler, options });\n\n\t\t\t\tconst _arguments: WrapperEventArgArray = [eventName, handler];\n\t\t\t\tif (componentId && typeof componentId === 'string') {\n\t\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\t\tself.registeredElements[componentId].wrapperEvents.push(_arguments);\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Unsubscribes the given event handler from an event\n\t\t\t *\n\t\t\t * @param {string} eventName\n\t\t\t * @param {function} handler\n\t\t\t * @returns {undefined}\n\t\t\t */\n\t\t\toff: (eventName, handler) => {\n\t\t\t\tif (!self.eventHandlers[eventName]) return;\n\n\t\t\t\tself.eventHandlers[eventName] = self.eventHandlers[eventName].filter(\n\t\t\t\t\t(item: WrapperEventArgArray) => {\n\t\t\t\t\t\tif (!Object.is(item[1], handler)) {\n\t\t\t\t\t\t\treturn item;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t/**\n\t\t\t * Calls all event handlers that have been subscribed to the given eventName\n\t\t\t *\n\t\t\t * @param {string} eventName\n\t\t\t * @param {object} context\n\t\t\t * @returns {undefined}\n\t\t\t */\n\t\t\tfire: (eventName, context) => {\n\t\t\t\tif (!self.eventHandlers[eventName]) return;\n\n\t\t\t\tconst scope = context || window;\n\t\t\t\tconst event = new Event(eventName);\n\n\t\t\t\tself.eventHandlers[eventName].forEach(function (\n\t\t\t\t\titem:\n\t\t\t\t\t\t| MapLibreGlWrapper['eventHandlers']['layerchange'][0]\n\t\t\t\t\t\t| MapLibreGlWrapper['eventHandlers']['viewportchange'][0]\n\t\t\t\t) {\n\t\t\t\t\titem.handler.call(scope, event, self);\n\t\t\t\t});\n\t\t\t},\n\t\t\t/**\n\t\t\t * Array containing an object for each layer in the MapLibre instance providing information on visibility, loading state, order, paint & layout properties\n\t\t\t */\n\t\t\tlayerState: [],\n\t\t\t/**\n\t\t\t * Maps layerIds to layerState in JSON string form for quick deep comparisons\n\t\t\t */\n\t\t\tlayerStateString: '',\n\t\t\t/**\n\t\t\t * Previous Version of layerStateString\n\t\t\t */\n\t\t\toldLayerStateStrings: {},\n\t\t\t/**\n\t\t\t * Builds the layer info object for a given layer id\n\t\t\t *\n\t\t\t * @param {string} layer\n\t\t\t * @returns object\n\t\t\t */\n\t\t\tbuildLayerObject: (layer: ReturnType<Style['getLayer']>) => {\n\t\t\t\t//if (self.baseLayers.indexOf(layer.id) === -1) {\n\t\t\t\t//let paint = {};\n\t\t\t\t//let values = layer.paint?._values;\n\t\t\t\t//Object.keys(values || {}).map((propName) => {\n\t\t\t\t//\tpaint[propName] =\n\t\t\t\t//\t\ttypeof values[propName].value !== \"undefined\"\n\t\t\t\t//\t\t\t? values[propName].value.value\n\t\t\t\t//\t\t\t: values[propName];\n\t\t\t\t//});\n\t\t\t\t//let layout = {};\n\t\t\t\t//values = layer.layout?._values;\n\t\t\t\t//Object.keys(values || {}).map((propName) => {\n\t\t\t\t//\tlayout[propName] =\n\t\t\t\t//\t\ttypeof values[propName].value !== \"undefined\"\n\t\t\t\t//\t\t\t? values[propName].value.value\n\t\t\t\t//\t\t\t: values[propName];\n\t\t\t\t//});\n\t\t\t\tif(!layer)return;\n\t\t\t\treturn {\n\t\t\t\t\tid: layer.id,\n\t\t\t\t\ttype: layer.type,\n\t\t\t\t\tvisible: layer.visibility === 'none' ? false : true,\n\t\t\t\t\tbaseLayer: self.baseLayers.indexOf(layer.id) !== -1,\n\t\t\t\t\t//paint,\n\t\t\t\t\t//layout,\n\t\t\t\t\t//filter: layers[layerId].filter,\n\t\t\t\t\t//layout: layers[layerId].layout,\n\t\t\t\t\t//maxzoom: layers[layerId].maxzoom,\n\t\t\t\t\t//metadata: layers[layerId].metadata,\n\t\t\t\t\t//minzoom: layers[layerId].minzoom,\n\t\t\t\t\t//paint: layers[layerId].paint.get(),\n\t\t\t\t\t//source: layers[layerId].source,\n\t\t\t\t\t//sourceLayer: layers[layerId].sourceLayer,\n\t\t\t\t};\n\t\t\t\t//}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Returns an array of layer state info objects for all layers in the MapLibre instance\n\t\t\t *\n\t\t\t * @returns array\n\t\t\t */\n\t\t\tbuildLayerObjects: () => {\n\t\t\t\treturn (self.map.style._order\n\t\t\t\t\t.map((layerId: string) => {\n\t\t\t\t\t\treturn self.wrapper.buildLayerObject(self.map.style._layers[layerId]);\n\t\t\t\t\t})\n\t\t\t\t\t.filter((n) => typeof n !== 'undefined')) as LayerState[];\n\t\t\t},\n\t\t\t/**\n\t\t\t * Updates layer state info objects\n\t\t\t */\n\t\t\trefreshLayerState: () => {\n\t\t\t\tself.wrapper.layerState = self.wrapper.buildLayerObjects();\n\t\t\t\tif (JSON.stringify(self.wrapper.layerState) !== self.wrapper.layerStateString) {\n\t\t\t\t\tself.wrapper.fire('layerchange');\n\t\t\t\t\tself.wrapper.layerStateString = JSON.stringify(self.wrapper.layerState);\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Object containing information on the current viewport state\n\t\t\t */\n\t\t\tviewportState: {\n\t\t\t\tcenter: { lng: 0, lat: 0 },\n\t\t\t\tzoom: 0,\n\t\t\t\tbearing: 0,\n\t\t\t\tpitch: 0,\n\t\t\t},\n\t\t\t/**\n\t\t\t * The same data as viewportState in JSON string form for quick deep comparisons\n\t\t\t */\n\t\t\tviewportStateString: '{}',\n\t\t\t/**\n\t\t\t * Previous version of viewportStateString\n\t\t\t */\n\t\t\toldViewportStateString: '{}',\n\t\t\tgetViewport: () =>\n\t\t\t\ttypeof self.map.getCenter === 'function'\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcenter: (({ lng, lat }) => ({ lng, lat }))(self.map.getCenter()),\n\t\t\t\t\t\t\tzoom: self.map.getZoom(),\n\t\t\t\t\t\t\tbearing: self.map.getBearing(),\n\t\t\t\t\t\t\tpitch: self.map.getPitch(),\n\t\t\t\t\t }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tcenter: { lng: 0, lat: 0 },\n\t\t\t\t\t\t\tzoom: 0,\n\t\t\t\t\t\t\tbearing: 0,\n\t\t\t\t\t\t\tpitch: 0,\n\t\t\t\t\t },\n\t\t\trefreshViewport: () => {\n\t\t\t\tself.wrapper.viewportState = self.wrapper.getViewport();\n\t\t\t},\n\t\t};\n\n\t\tthis.cancelled = false;\n\n\t\t/**\n\t\t * Initializes an empty registered elements object for the given componentId\n\t\t *\n\t\t * @param {string} componentId\n\t\t * @param {boolean} force\n\t\t */\n\t\tthis.initRegisteredElements = (componentId: string, force?: boolean | undefined) => {\n\t\t\tif (\n\t\t\t\ttypeof self.registeredElements[componentId] === 'undefined' ||\n\t\t\t\t(typeof force !== 'undefined' && force)\n\t\t\t) {\n\t\t\t\tself.registeredElements[componentId] = {\n\t\t\t\t\tlayers: [],\n\t\t\t\t\tsources: [],\n\t\t\t\t\timages: [],\n\t\t\t\t\tevents: [],\n\t\t\t\t\tcontrols: [],\n\t\t\t\t\twrapperEvents: [],\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js addLayer function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {object} layer\n\t\t * @param {string} beforeId\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.addLayer = (layer, beforeId, componentId) => {\n\t\t\tif (!self.map.style) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif (componentId && typeof componentId === 'string' && typeof layer.id !== 'undefined') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].layers.push(layer.id);\n\n\t\t\t\tif (layer?.source && typeof layer?.source !== 'string') {\n\t\t\t\t\tself.registeredElements[componentId].sources.push(layer.id);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tself.map.addLayer(layer, beforeId);\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js addSource function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {string} sourceId\n\t\t * @param {object} source\n\t\t * @param {object} options\n\t\t * @param {string} componentId\n\t\t * @returns {undefined}\n\t\t */\n\t\tthis.addSource = (sourceId, source, componentId) => {\n\t\t\tif (!self.map.style) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif (componentId && typeof componentId === 'string' && typeof sourceId !== 'undefined') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].sources.push(sourceId);\n\t\t\t}\n\n\t\t\tself.map.addSource(sourceId, source);\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js addImage function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {string} id\n\t\t * @param {*} image\n\t\t * @param {*} ref\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.addImage = (id, image, meta, componentId) => {\n\t\t\tif (!self.map.style) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif (typeof meta === 'string' && typeof componentId === 'undefined') {\n\t\t\t\treturn self.addImage(id, image, undefined, meta);\n\t\t\t}\n\t\t\tif (componentId && typeof componentId === 'string' && typeof id !== 'undefined') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].images.push(id);\n\t\t\t}\n\n\t\t\tself.map.addImage(id, image, meta as Partial<StyleImageMetadata> | undefined);\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js on function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {string} type\n\t\t * @param {string} layerId\n\t\t * @param {function} handler\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.on = (\n\t\t\ttype: keyof MapLayerEventType | keyof MapEventType,\n\t\t\tlayerId: string | ((ev: unknown) => void),\n\t\t\thandler: (ev: MapEventType & unknown) => Map | void,\n\t\t\tcomponentId?: string\n\t\t) => {\n\t\t\tif (typeof handler === 'string' && typeof layerId === 'function') {\n\t\t\t\treturn self.on.call(self, type, undefined, layerId, handler);\n\t\t\t}\n\n\t\t\tlet _arguments: EventArgArray = [type, layerId, handler];\n\t\t\tif (!layerId) {\n\t\t\t\t_arguments = [type, handler];\n\t\t\t}\n\n\t\t\tif (componentId && typeof componentId === 'string') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].events.push(_arguments);\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\tself.map.on(..._arguments);\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js addControl function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {object} control\n\t\t * @param {string} position\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.addControl = (control, position, componentId) => {\n\t\t\tif (componentId && typeof componentId === 'string') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].controls.push(control);\n\t\t\t}\n\n\t\t\tself.map.addControl(control as IControl, position);\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Removes anything that has been added to the maplibre instance referenced with componentId\n\t\t *\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.cleanup = (componentId: string) => {\n\t\t\tif (self.map.style && typeof self.registeredElements[componentId] !== 'undefined') {\n\t\t\t\t// cleanup layers\n\t\t\t\tself.registeredElements[componentId].layers.forEach((item: string) => {\n\t\t\t\t\tif (self.map.style.getLayer(item)) {\n\t\t\t\t\t\tself.map.style.removeLayer(item);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// cleanup sources\n\t\t\t\tself.registeredElements[componentId].sources.forEach((item: string) => {\n\t\t\t\t\tif (self.map.style.getSource(item)) {\n\t\t\t\t\t\tself.map.style.removeSource(item);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// cleanup images\n\t\t\t\tself.registeredElements[componentId].images.forEach((item: string) => {\n\t\t\t\t\tif (self.map.hasImage(item)) {\n\t\t\t\t\t\tself.map.style.removeImage(item);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// cleanup events\n\t\t\t\tself.registeredElements[componentId].events.forEach((item: EventArgArray) => {\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tself.map.off(...item);\n\t\t\t\t});\n\n\t\t\t\t// cleanup controls\n\t\t\t\tself.registeredElements[componentId].controls.forEach((item: IControl | unknown) => {\n\t\t\t\t\tself.map.removeControl(item as IControl);\n\t\t\t\t});\n\n\t\t\t\t// cleanup wrapper events\n\t\t\t\tself.registeredElements[componentId].wrapperEvents.forEach((item: WrapperEventArgArray) => {\n\t\t\t\t\tself.wrapper.off(...item);\n\t\t\t\t});\n\n\t\t\t\tself.initRegisteredElements(componentId, true);\n\t\t\t}\n\t\t};\n\n\t\t// add style prop functions that require map._update to be called afterwards\n\t\tconst updatingStyleFunctions = [\n\t\t\t'moveLayer',\n\t\t\t'removeLayer',\n\t\t\t'removeSource',\n\t\t\t'setPaintProperty',\n\t\t\t'setLayoutProperty',\n\t\t];\n\t\tupdatingStyleFunctions.forEach((item) => {\n\t\t\tthis[item] = (...props: any[]) => {\n\t\t\t\tif (self.map && self.map.style && typeof self.map.style[item] === 'function') {\n\t\t\t\t\tself.map.style[item](...props);\n\t\t\t\t}\n\t\t\t\treturn self.map._update ? self.map._update(true) : undefined;\n\t\t\t};\n\t\t});\n\n\t\t// add style prop functions\n\t\tconst styleFunctions = [\n\t\t\t'getLayer',\n\t\t\t'getSource',\n\t\t\t'listImages',\n\t\t\t'getPaintProperty',\n\t\t\t'getLayoutProperty',\n\t\t\t'removeImage',\n\t\t];\n\t\tstyleFunctions.forEach((item) => {\n\t\t\tthis[item] = (...props: any[]) => {\n\t\t\t\tif (self.map && self.map.style) {\n\t\t\t\t\treturn self.map.style[item](...props);\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\t\t});\n\n\t\tthis.addNativeMaplibreFunctionsAndProps = () => {\n\t\t\t//\tadd MapLibre-gl functions\n\t\t\tObject.getOwnPropertyNames(Object.getPrototypeOf(this.map)).forEach((item) => {\n\t\t\t\tif (typeof this[item] === 'undefined') {\n\t\t\t\t\tthis[item] = (...props: any[]) => self.map[item](...props);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t//\tadd MapLibre-gl properties\n\t\t\tObject.keys(this.map).forEach((item) => {\n\t\t\t\tif (typeof this[item] === 'undefined') {\n\t\t\t\t\tthis[item] = self.map[item];\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\t// add functions that are missing on the MapLibre instances prototype\n\t\tconst missingFunctions = [\n\t\t\t'getZoom',\n\t\t\t'setZoom',\n\t\t\t'getCenter',\n\t\t\t'setCenter',\n\t\t\t'getBearing',\n\t\t\t'setBearing',\n\t\t\t'getPitch',\n\t\t\t'setPitch',\n\t\t\t'jumpTo',\n\t\t\t'flyTo',\n\t\t\t'panTo',\n\t\t\t'panBy',\n\t\t\t'panBy',\n\t\t\t'zoomTo',\n\t\t\t'zoomIn',\n\t\t\t'zoomOut',\n\t\t\t'getPadding',\n\t\t\t'setPadding',\n\t\t\t'rotateTo',\n\t\t\t'resetNorth',\n\t\t\t'resetNorthPitch',\n\t\t\t'snapToNorth',\n\t\t\t'cameraForBounds',\n\t\t\t'fitBounds',\n\t\t\t'fitScreenCoordinates',\n\t\t\t'getFreeCameraOptions',\n\t\t\t'setFreeCameraOptions',\n\t\t\t'easeTo',\n\t\t\t'stop',\n\t\t];\n\t\tmissingFunctions.forEach((item) => {\n\t\t\tthis[item] = (...props: any[]) => {\n\t\t\t\tif (typeof self.map[item] === 'function') {\n\t\t\t\t\treturn self.map[item].call(self.map, ...props);\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t};\n\t\t});\n\n\t\t// initialize the MapLibre-gl instance\n\t\tconst initializeMapLibre = async () => {\n\t\t\t// if mapOptions style URL is given and if it is not a mapbox URL fetch the json and initialize the mapbox object\n\t\t\tif (\n\t\t\t\ttypeof props.mapOptions.style === 'string' &&\n\t\t\t\tprops.mapOptions.style.indexOf('mapbox://') === -1\n\t\t\t) {\n\t\t\t\tawait fetch(props.mapOptions.style)\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tif (response.ok) {\n\t\t\t\t\t\t\treturn response.json();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new Error('error loading map style.json');\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.then((styleJson) => {\n\t\t\t\t\t\tstyleJson.layers.forEach((item: any) => {\n\t\t\t\t\t\t\tself.baseLayers.push(item.id);\n\t\t\t\t\t\t\tif (!self.firstSymbolLayer && item.type === 'symbol') {\n\t\t\t\t\t\t\t\tself.firstSymbolLayer = item.id;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tself.styleJson = styleJson;\n\t\t\t\t\t\tprops.mapOptions.style = styleJson;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsole.log(error);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tself.map = new Map(props.mapOptions) as MapType;\n\t\t\t\n\n\t\t\tself.addNativeMaplibreFunctionsAndProps();\n\t\t\tself.wrapper.refreshViewport();\n\t\t\tself.wrapper.fire('viewportchange');\n\n\t\t\tself.map.on('load', () => {\n\t\t\t\tself.addNativeMaplibreFunctionsAndProps();\n\t\t\t});\n\n\t\t\tself.map.on('move', () => {\n\t\t\t\tself.wrapper.viewportState = self.wrapper.getViewport();\n\t\t\t\tself.wrapper.fire('viewportchange');\n\t\t\t});\n\t\t\tself.map.on('idle', () => {\n\t\t\t\tself.wrapper.refreshLayerState();\n\t\t\t});\n\t\t\tself.map.on('data', () => {\n\t\t\t\tself.wrapper.refreshLayerState();\n\t\t\t});\n\t\t\tif (typeof props.onReady === 'function') {\n\t\t\t\tprops.onReady(self.map, self);\n\t\t\t}\n\t\t};\n\t\tinitializeMapLibre();\n\t}\n}\nexport default MapLibreGlWrapper;\n\nexport type { LayerState, ViewportState };\n","import { ListItemTextProps } from '@mui/material';\nimport { createTheme } from '@mui/material/styles';\nimport { Theme } from '@mui/system';\n\ndeclare module '@mui/material' {\n\tinterface Palette {\n\t\ttopToolbar: { barColor: string };\n\t\tnavigation: { navColor: string; navHover: string };\n\t\tGPS: { GPSActiveColor: string; GPSInactiveColor: string; GPSActiveBackgroundColor: string };\n\t\tcompass: {\n\t\t\tcompColor: string;\n\t\t\tcompHover: string;\n\t\t\tcompStroke: string;\n\t\t\tcompNorth: string;\n\t\t\tcompSouth: string;\n\t\t};\n\t}\n}\ndeclare module '@mui/material/Button' {\n\tinterface ButtonPropsVariantOverrides {\n\t\tnavtools: true;\n\t}\n}\ndeclare module '@mui/material' {\n\texport interface ListItemTextProps {\n\t\tvariant?: 'layerlist';\n\t}\n}\n\nconst lightDefault = createTheme({\n\tpalette: {\n\t\tmode: 'light',\n\t},\n});\nconst darkDefault = createTheme({\n\tpalette: {\n\t\tmode: 'dark',\n\t},\n});\n\nconst getDesignTokens = (mode: 'light' | 'dark') => ({\n\t...(mode === 'light' ? lightDefault : darkDefault),\n\tpalette: {\n\t\tmode,\n\t\t...(mode === 'dark'\n\t\t\t? {\n\t\t\t\t\tprimary: {\n\t\t\t\t\t\tmain: '#009EE0',\n\t\t\t\t\t},\n\t\t\t\t\tsecondary: { main: '#747577' },\n\t\t\t\t\tbackground: { paper: '#313131' },\n\t\t\t\t\ttext: {\n\t\t\t\t\t\tprimary: '#FFF',\n\t\t\t\t\t\tcontrast: '#000',\n\t\t\t\t\t},\n\t\t\t\t\ttopToolbar: { barColor: '#000' },\n\t\t\t\t\tnavigation: { navColor: '#313131', navHover: '#747577' },\n\t\t\t\t\tGPS: {\n\t\t\t\t\t\tGPSActiveColor: '#fff',\n\t\t\t\t\t\tGPSInactiveColor: '#fff',\n\t\t\t\t\t\tGPSActiveBackgroundColor: '#747577',\n\t\t\t\t\t},\n\t\t\t\t\tcompass: {\n\t\t\t\t\t\tcompColor: '#313131',\n\t\t\t\t\t\tcompHover: '#747577',\n\t\t\t\t\t\tcompStroke: '#d3dce1',\n\t\t\t\t\t\tcompNorth: '#cf003f',\n\t\t\t\t\t\tcompSouth: '#d3dcf0',\n\t\t\t\t\t},\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tprimary: {\n\t\t\t\t\t\tmain: '#009EE0',\n\t\t\t\t\t},\n\t\t\t\t\tsecondary: { main: '#747577' },\n\t\t\t\t\ttext: {\n\t\t\t\t\t\tprimary: '#000',\n\t\t\t\t\t\tcontrast: '#fff',\n\t\t\t\t\t},\n\t\t\t\t\ttopToolbar: { barColor: '#fff' },\n\t\t\t\t\tnavigation: { navColor: '#fff', navHover: '#f5f5f5' },\n\t\t\t\t\tGPS: {\n\t\t\t\t\t\tGPSActiveColor: '#009EE0',\n\t\t\t\t\t\tGPSInactiveColor: '#000',\n\t\t\t\t\t\tGPSActiveBackgroundColor: '#fff',\n\t\t\t\t\t},\n\t\t\t\t\tcompass: {\n\t\t\t\t\t\tcompColor: '#fff',\n\t\t\t\t\t\tcompHover: '#f5f5f5',\n\t\t\t\t\t\tcompStroke: '#009ee0',\n\t\t\t\t\t\tcompNorth: '#cf003f',\n\t\t\t\t\t\tcompSouth: '#d3dcf0',\n\t\t\t\t\t},\n\t\t\t }),\n\t},\n});\nconst getTheme = (mode: 'light' | 'dark' | undefined) => {\n\tconst theme: Theme = getDesignTokens(\n\t\tmode && ['light', 'dark'].includes(mode as string) ?\n\t\t(mode) :\n\t\t'light');\n\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\treturn createTheme(theme, {\n\t\tcomponents: {\n\t\t\tMuiTypography: {\n\t\t\t\tstyleOverrides: {\n\t\t\t\t\troot: {},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMuiAppBar: {\n\t\t\t\tstyleOverrides: {\n\t\t\t\t\troot: {\n\t\t\t\t\t\tbackgroundColor: theme.palette.topToolbar.barColor,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMuiButton: {\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tprops: { variant: 'navtools' },\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tminWidth: '20px',\n\t\t\t\t\t\t\tminHeight: '20px',\n\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t[theme.breakpoints.down('md')]: {\n\t\t\t\t\t\t\t\twidth: '50px',\n\t\t\t\t\t\t\t\theight: '50px',\n\t\t\t\t\t\t\t\tfontSize: '1.4em',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[theme.breakpoints.up('md')]: {\n\t\t\t\t\t\t\t\twidth: '30px',\n\t\t\t\t\t\t\t\theight: '30px',\n\t\t\t\t\t\t\t\tfontSize: '1.2em',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolor: theme.palette.text.primary,\n\t\t\t\t\t\t\tbackgroundColor: theme.palette.navigation.navColor,\n\t\t\t\t\t\t\tborderRadius: '23%',\n\t\t\t\t\t\t\tmargin: '0.15px',\n\t\t\t\t\t\t\tmarginTop: '4px',\n\t\t\t\t\t\t\t':hover': {\n\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.navigation.navHover,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tMuiListItemText: {\n\t\t\t\tstyleOverrides: {\n\t\t\t\t\tprimary: ({ ownerState }: { ownerState: ListItemTextProps }) => {\n\t\t\t\t\t\tif (ownerState?.variant === 'layerlist') {\n\t\t\t\t\t\t\treturn { fontSize: '0.9rem' };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t},\n\t\t\t\t\tsecondary: ({ ownerState }: { ownerState: ListItemTextProps }) => {\n\t\t\t\t\t\tif (ownerState?.variant === 'layerlist') {\n\t\t\t\t\t\t\treturn { fontSize: '0.7rem' };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t});\n};\n\nexport default getTheme;\n","export default {\n source_openmaptiles_url:'https://wms.wheregroup.com/tileserver/tile/world-0-14.json',\n sprite:'https://wms.wheregroup.com/tileserver/sprites/osm-bright',\n glyphs:'https://wms.wheregroup.com/tileserver/fonts/{fontstack}/{range}.pbf',\n sourceOptions_tiles:['https://wms.wheregroup.com/tileserver/tile/world-0-14/{z}/{x}/{y}.pbf']\n}","import { LayerSpecification, StyleSpecification } from 'maplibre-gl';\nimport React, { useEffect, useMemo, useCallback } from 'react';\nimport { MlVectorTileLayerProps } from '../components/MlVectorTileLayer/MlVectorTileLayer';\nimport config from '../omt_styles/config';\nimport { MlGeoJsonLayerProps } from '../components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Layer } from 'wms-capabilities';\n\nexport interface LayerContextProps {\n\tchildren: \n\tReact.ReactNode;\n}\n\nexport interface wmsLoaderConfigProps{\n\tgetFeatureInfoUrl: string,\nlayers: Layer[] , \nname: string,\nopen: boolean,\nvisible: boolean ,\nwmsUrl: string\n}\nexport interface wmsConfig{\nfeatureInfoActive?: boolean;\nconfig?: wmsLoaderConfigProps,\nurl: string\n}\n\nexport type WmsLayerConfig = {\n\ttype: 'wms';\n\tname?: string;\n\tid?: string;\n\tconfig: wmsConfig;\n};\nexport type GeojsonLayerConfig = {\n\ttype: 'geojson';\n\tname?: string;\n\tid?: string;\n\tconfig: MlGeoJsonLayerProps;\n};\nexport type VtLayerConfig = {\n\ttype: 'vt';\n\tname?: string;\n\tid?: string;\n\tconfig: MlVectorTileLayerProps;\n};\n\nexport type LayerConfig = WmsLayerConfig | GeojsonLayerConfig | VtLayerConfig;\n\nexport interface LayerContextType {\n\tlayers: LayerConfig[];\n\tsetLayers: (layers: LayerConfig[] | ((layers: LayerConfig[]) => LayerConfig[])) => void;\n\tbackgroundLayers: MlVectorTileLayerProps['layers'];\n\tsetBackgroundLayers: (\n\t\tlayers:\n\t\t\t| MlVectorTileLayerProps['layers']\n\t\t\t| ((layers: MlVectorTileLayerProps['layers']) => MlVectorTileLayerProps['layers'])\n\t) => void;\n\tsymbolLayers: MlVectorTileLayerProps['layers'];\n\tsetSymbolLayers: (\n\t\tlayers:\n\t\t\t| MlVectorTileLayerProps['layers']\n\t\t\t| ((layers: MlVectorTileLayerProps['layers']) => MlVectorTileLayerProps['layers'])\n\t) => void;\n\tupdateStyle: (style: StyleSpecification) => void;\n\tvtLayerConfig: Partial<MlVectorTileLayerProps>;\n\tsetTileUrl: (url: string) => void;\n\ttileUrl: string;\n\tmoveUp: (layerId: string) => void;\n\tmoveDown: (layerId: string) => void;\n\tmoveLayer: (layerId: string, getNewPos: (oldPos: number) => number) => void;\n}\n\nconst LayerContext = React.createContext({} as LayerContextType);\n\nfunction LayerContextProvider(props: LayerContextProps) {\n\tconst [layers, setLayers] = React.useState<LayerConfig[]>([]);\n\tconst [backgroundLayers, setBackgroundLayers] = React.useState<LayerSpecification[]>([]);\n\tconst [symbolLayers, setSymbolLayers] = React.useState<LayerSpecification[]>([]);\n\tconst [tileUrl, setTileUrl] = React.useState<string>(config.sourceOptions_tiles[0]);\n\n\tconst vtLayerConfig = useMemo<Partial<MlVectorTileLayerProps>>(\n\t\t() => ({\n\t\t\tlayerId: 'openmaptiles',\n\t\t\tsourceOptions: {\n\t\t\t\ttype: 'vector' as const,\n\t\t\t\ttiles: [tileUrl],\n\t\t\t},\n\t\t}),\n\t\t[tileUrl]\n\t);\n\n\tconst updateStyle = (style: StyleSpecification) => {\n\t\tif (!style) return;\n\n\t\tconst backgroundLayers: LayerSpecification[] = [];\n\t\tconst symbolLayers: LayerSpecification[] = [];\n\t\tstyle.layers.forEach((layer: LayerSpecification, idx: number) => {\n\t\t\tif (layer.type === 'symbol') {\n\t\t\t\tsymbolLayers.push(layer);\n\t\t\t} else {\n\t\t\t\tif (idx === 0) layer.id = style.name || 'background';\n\t\t\t\tbackgroundLayers.push(layer);\n\t\t\t}\n\t\t});\n\t\tsetBackgroundLayers(backgroundLayers);\n\t\tsetSymbolLayers(symbolLayers);\n\t};\n\n\tuseEffect(() => {\n\t\tif (layers.filter((el) => !el?.id).length) {\n\t\t\tconst _layers = [...layers];\n\t\t\t_layers.forEach((el) => {\n\t\t\t\tif (!el?.id) {\n\t\t\t\t\tel.id = uuidv4();\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetLayers(_layers);\n\t\t}\n\t}, [layers]);\n\n\tconst moveLayer = useCallback(\n\t\t(layerId: string, getNewPos: (oldPos: number) => number) => {\n\t\t\tconst targetLayer = layers?.filter?.((el) => el.id === layerId);\n\n\t\t\tif (targetLayer.length > 0) {\n\t\t\t\tconst newLayers = [...layers];\n\t\t\t\tconst element = targetLayer[0];\n\t\t\t\tconst idx = layers.indexOf(element);\n\t\t\t\tconst newPos = getNewPos(idx);\n\t\t\t\tif (newPos >= 0 && newPos <= layers.length - 1) {\n\t\t\t\t\tnewLayers.splice(idx, 1);\n\t\t\t\t\tnewLayers.splice(newPos, 0, element);\n\t\t\t\t\tsetLayers(newLayers);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[layers]\n\t);\n\n\tconst moveDown = useCallback(\n\t\t(layerId: string) => {\n\t\t\tmoveLayer(layerId, (idx) => idx + 1);\n\t\t},\n\t\t[moveLayer]\n\t);\n\n\tconst moveUp = useCallback(\n\t\t(layerId: string) => {\n\t\t\tmoveLayer(layerId, (idx) => idx - 1);\n\t\t},\n\t\t[moveLayer]\n\t);\n\n\tconst value = {\n\t\tlayers,\n\t\tsetLayers,\n\t\tbackgroundLayers,\n\t\tsetBackgroundLayers,\n\t\tsymbolLayers,\n\t\tsetSymbolLayers,\n\t\tupdateStyle,\n\t\tvtLayerConfig,\n\t\ttileUrl,\n\t\tsetTileUrl,\n\t\tmoveUp,\n\t\tmoveDown,\n\t\tmoveLayer,\n\t} as LayerContextType;\n\n\treturn <LayerContext.Provider value={value}>{props.children}</LayerContext.Provider>;\n}\n\nexport default LayerContext;\nexport { LayerContextProvider };\n","import React, { useState, useRef, ReactNode } from 'react';\nimport MapLibreGlWrapper from '../components/MapLibreMap/lib/MapLibreGlWrapper';\n\nimport { ThemeProvider as MUIThemeProvider } from '@mui/material/styles';\nimport getTheme from '../ui_components/MapcomponentsTheme';\nimport { LayerContextProvider } from './LayerContext';\n\nexport interface MapContextType {\n\tmapIds: string[];\n\tmapExists: (map_id: string | undefined) => boolean;\n\tmaps: MapLibreGlWrapper[];\n\tmap: MapLibreGlWrapper | undefined;\n\tgetMap: (map_id: string | undefined) => MapLibreGlWrapper;\n\tsetMap: (map: MapLibreGlWrapper) => void;\n\tremoveMap: (map_id: string | undefined) => void;\n\tregisterMap: (map_id: string | undefined, map: MapLibreGlWrapper) => void;\n}\nconst MapContext = React.createContext({} as MapContextType);\n\n/**\n * MapComponentsProvider must be imported and wrapped around component where at least one of its child nodes requires access to a MapLibre-gl or openlayers instance that is registered in this mapContext.\nMapComponentsProvider must be used one level higher than the first use of MapContext.\n *\n * MapComponentsProvider requires at least one use of the MapLibreMap component somewhere down the component tree that will create the MapLibre-gl object and set the reference at MapContext.map. For MapLibre maps it is a good idea to provide a mapId attribute to the MapLibreMap Component even if you are only using a single map instance at start. It will make a later transition to using multiple instances within the same project much easier.\n */\n\nconst MapComponentsProvider = ({ children }: { children: ReactNode }) => {\n\tconst [map, setMap] = useState<MapLibreGlWrapper | undefined>(undefined);\n\tconst [mapIds, setMapIds] = useState<[...string[]]>([]);\n\tconst mapIds_raw = useRef<[...string[]]>([]);\n\tconst maps = useRef<{ [key: string]: MapLibreGlWrapper }>({});\n\n\tconst removeMap = (mapId: string) => {\n\t\tif (mapId) {\n\t\t\tif (typeof maps.current[mapId] !== 'undefined') {\n\t\t\t\tdelete maps.current[mapId];\n\t\t\t}\n\t\t\tconst mapIdIndex = mapIds_raw.current.indexOf(mapId);\n\t\t\tif (mapIdIndex > -1) {\n\t\t\t\tmapIds_raw.current.splice(mapIdIndex, 1);\n\t\t\t}\n\t\t\tsetMapIds([...mapIds_raw.current]);\n\n\t\t\tif (mapIds_raw.current.length === 0 && map) {\n\t\t\t\tsetMap(undefined);\n\t\t\t}\n\t\t} else {\n\t\t\tremoveMap('anonymous_map');\n\t\t}\n\t};\n\n\tconst setMapHandler = (mapInstance: MapLibreGlWrapper) => {\n\t\tsetMap(mapInstance);\n\n\t\tif (mapIds.length === 0) {\n\t\t\tconst mapId = 'anonymous_map';\n\t\t\tsetMapIds([...mapIds, mapId]);\n\t\t\tmaps.current[mapId] = mapInstance;\n\t\t}\n\t};\n\n\tconst value = {\n\t\tmap: map,\n\t\tsetMap: setMapHandler,\n\t\tmaps: maps.current,\n\t\tmapIds: mapIds,\n\t\tregisterMap: (mapId: string, mapInstance: MapLibreGlWrapper) => {\n\t\t\tif (mapId && mapInstance) {\n\t\t\t\tmaps.current[mapId] = mapInstance;\n\t\t\t\tmapIds_raw.current.push(mapId);\n\t\t\t\tsetMapIds([...mapIds_raw.current]);\n\n\t\t\t\tif (!map || map?.cancelled === true) {\n\t\t\t\t\tsetMap(mapInstance);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tremoveMap,\n\t\tmapExists: (mapId: string | undefined) => {\n\t\t\tif (mapId && Object.keys(maps.current).indexOf(mapId) === -1) {\n\t\t\t\treturn false;\n\t\t\t} else if (!mapId && !map) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tgetMap: (mapId: string): MapLibreGlWrapper | null => {\n\t\t\tif (mapId && mapIds.indexOf(mapId) !== -1) {\n\t\t\t\treturn maps.current[mapId];\n\t\t\t} else if (!mapId && map) {\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t} as unknown as MapContextType;\n\n\treturn (\n\t\t<MapContext.Provider value={value}>\n\t\t\t<LayerContextProvider>\n\t\t\t\t<MUIThemeProvider theme={getTheme('light')}>{children}</MUIThemeProvider>\n\t\t\t</LayerContextProvider>\n\t\t</MapContext.Provider>\n\t);\n};\n\nexport { MapComponentsProvider };\nexport default MapContext;\n","import React, { useRef, useEffect, useContext, FC, RefObject } from 'react';\n\nimport MapContext, { MapContextType } from '../../contexts/MapContext';\nimport MapLibreGlWrapper from './lib/MapLibreGlWrapper';\n\nimport { MapOptions as MapOptionsType, Map } from 'maplibre-gl';\n//import 'maplibre-gl/dist/maplibre-gl.css';\n\nexport type MapLibreMapProps = {\n\t/**\n\t * Id of the MapLibreGl(Wrapper) instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Config object that is passed to the MapLibreGl constructor as first parameter.\n\t * See https://maplibre.org/maplibre-gl-js-docs/api/map/ for a formal documentation of al\n\t * available properties.\n\t */\n\toptions?: Partial<MapOptionsType>;\n\t/**\n\t * css style definition passed to the map container DOM element\n\t */\n\tstyle?: object;\n};\n\nconst defaultProps: MapLibreMapProps = {\n\tmapId: undefined,\n\toptions: {\n\t\tcenter: { lng: 8.607, lat: 53.1409349 },\n\t\tzoom: 11,\n\t\tcontainer: '',\n\t\tstyle: {\n\t\t\tversion: 8,\n\t\t\tname: 'blank',\n\t\t\tcenter: [0, 0],\n\t\t\tzoom: 0,\n\t\t\tsources: {},\n\t\t\tsprite: 'https://wms.wheregroup.com/tileserver/sprites/osm-bright',\n\t\t\tglyphs: 'https://wms.wheregroup.com/tileserver/fonts/{fontstack}/{range}.pbf',\n\t\t\tlayers: [\n\t\t\t\t{\n\t\t\t\t\tid: '_background',\n\t\t\t\t\ttype: 'background',\n\t\t\t\t\tpaint: {\n\t\t\t\t\t\t'background-color': 'rgba(0,0,0,0)',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n};\n\n/**\n * Creates a MapLibreGlWrapper instance and registers it in MapContext\n * after the MapLibre-gl load event has fired.\n *\n * MapLibreMap returns the html node that will be used by MapLibre-gl to render the map.\n * This Component must be kept unaware of any related components that interact with the MapLibre-gl\n * instance.\n *\n * @category Map components\n */\nconst MapLibreMap: FC<MapLibreMapProps> = (props: MapLibreMapProps) => {\n\tconst mapRef = useRef<MapLibreGlWrapper>();\n\tconst mapContainer = useRef<HTMLDivElement>();\n\n\tconst mapContext = useContext<MapContextType>(MapContext);\n\n\tconst mapIdRef = useRef(props.mapId);\n\tconst initializedRef = useRef(false);\n\tconst currentStyle = useRef(props.options?.style);\n\n\tuseEffect(() => {\n\t\tconst mapId = mapIdRef.current;\n\n\t\treturn () => {\n\t\t\tinitializedRef.current = false;\n\t\t\tmapContext.removeMap(mapId);\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.map?.remove?.();\n\t\t\t\tmapRef.current.cancelled = true;\n\t\t\t\tmapRef.current = undefined;\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (initializedRef.current) return;\n\n\t\tif (mapContainer.current) {\n\t\t\tinitializedRef.current = true;\n\t\t\tmapRef.current = new MapLibreGlWrapper({\n\t\t\t\tmapOptions: {\n\t\t\t\t\tstyle: '',\n\t\t\t\t\t...props.options,\n\t\t\t\t\t...(props?.options?.style ? {} : { style: defaultProps?.options?.style }),\n\t\t\t\t\tcontainer: mapContainer.current,\n\t\t\t\t},\n\t\t\t\tonReady: (map: Map, wrapper: MapLibreGlWrapper) => {\n\t\t\t\t\tmap.once('load', () => {\n\t\t\t\t\t\tif (!wrapper?.cancelled) {\n\t\t\t\t\t\t\t// add maplibre instance to window for debugging purposes\n\t\t\t\t\t\t\twindow['_map'] = map;\n\t\t\t\t\t\t\tif (props.mapId) {\n\t\t\t\t\t\t\t\tmapContext.registerMap(props.mapId, wrapper);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmapContext.setMap(wrapper);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmap.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}, [props.options, props.mapId]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tmapRef.current?.map &&\n\t\t\tprops?.options?.style &&\n\t\t\tcurrentStyle.current !== props.options.style\n\t\t) {\n\t\t\tcurrentStyle.current = props.options.style;\n\t\t\tmapRef.current.map.setStyle(props.options.style);\n\t\t}\n\t}, [props?.options?.style]);\n\n\treturn (\n\t\t<div\n\t\t\tref={mapContainer as RefObject<HTMLDivElement>}\n\t\t\tclassName=\"mapContainer\"\n\t\t\tstyle={props.style}\n\t\t/>\n\t);\n};\n\nMapLibreMap.defaultProps = defaultProps;\n\nexport default MapLibreMap;\n","import { useContext, useCallback, useState, useEffect, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport MapContext, { MapContextType } from \"../contexts/MapContext\";\nimport MapLibreGlWrapper, {\n\tLayerState,\n\tViewportState,\n} from \"../components/MapLibreMap/lib/MapLibreGlWrapper\";\n\ntype useMapStateType = {\n\tlayers: (LayerState | undefined)[];\n\tviewport: ViewportState | undefined;\n};\n\n/**\n * React hook that allows subscribing to map state changes\n *\n * @component\n */\nfunction useMapState(props: {\n\tmapId?: string;\n\twatch?: {\n\t\tlayers?: boolean;\n\t\tsources?: boolean;\n\t\tviewport?: boolean;\n\t};\n\tfilter?: {\n\t\tincludeBaseLayers?: boolean;\n\t\tmatchLayerIds?: RegExp | string;\n\t\tmatchSourceIds?: RegExp | string;\n\t};\n}): useMapStateType {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\tconst mapContext = useContext<MapContextType>(MapContext);\n\n\tconst initializedRef = useRef(false);\n\tconst mapRef = useRef<MapLibreGlWrapper>();\n\n\tconst [viewport, setViewport] = useState<ViewportState | undefined>();\n\tconst viewportRef = useRef(undefined);\n\n\tconst [layers, setLayers] = useState<(LayerState | undefined)[]>([]);\n\tconst layersRef = useRef<string>();\n\t//const mapRef = useRef(props.map);\n\tconst componentId = useRef(uuidv4());\n\n\t/**\n\t * returns the element if it matches the defined filter criteria\n\t * to be used as filter function on the layers array\n\t *\n\t * @param {object} layer\n\t */\n\tconst layerIdFilter = useCallback(\n\t\t(layer:LayerState) => {\n\t\t\tif (!props?.filter?.includeBaseLayers && layer?.baseLayer) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (typeof props.filter?.matchLayerIds !== \"undefined\") {\n\t\t\t\tif (props.filter.matchLayerIds instanceof RegExp) {\n\t\t\t\t\treturn props.filter.matchLayerIds.test(layer.id);\n\t\t\t\t} else {\n\t\t\t\t\treturn layer.id.includes(props.filter.matchLayerIds);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\t[props.filter]\n\t);\n\n\tconst refreshLayerState = useCallback(() => {\n\t\tif (!mapRef.current) return;\n\n\t\tconst _layerState = mapRef.current.wrapper.layerState.filter(layerIdFilter);\n\t\tconst _layerStateString = JSON.stringify(_layerState);\n\t\tif (layersRef.current !== _layerStateString) {\n\t\t\tlayersRef.current = _layerStateString;\n\t\t\tsetLayers(_layerState);\n\t\t}\n\t}, [layerIdFilter]);\n\n\tuseEffect(() => {\n\t\tconst _componentId = componentId.current;\n\n\t\treturn () => {\n\t\t\t// cleanup all event listeners\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.cleanup(_componentId);\n\t\t\t\tmapRef.current = undefined;\n\t\t\t}\n\t\t\tinitializedRef.current = false;\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!mapContext.mapExists(props.mapId) || initializedRef.current) return;\n\t\t// the MapLibre-gl instance (mapContext.getMap(props.mapId)) is accessible here\n\t\t// initialize the layer and add it to the MapLibre-gl instance or do something else with it\n\t\tinitializedRef.current = true;\n\t\tmapRef.current = mapContext.getMap(props.mapId);\n\n\t\tif (!mapRef.current) {\n\t\t\tinitializedRef.current = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (props?.watch?.viewport) {\n\t\t\tsetViewport(mapRef.current.wrapper.viewportState);\n\n\t\t\t// register viewportchange event handler\n\t\t\tmapRef.current.wrapper.on(\n\t\t\t\t\"viewportchange\",\n\t\t\t\t() => {\n\t\t\t\t\tif (viewportRef.current !== mapRef.current?.wrapper.viewportStateString) {\n\t\t\t\t\t\tsetViewport(mapRef.current?.wrapper.viewportState);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcomponentId.current\n\t\t\t);\n\t\t}\n\n\t\t// register layerchange event handler\n\t\tif (props?.watch?.layers) {\n\t\t\trefreshLayerState();\n\n\t\t\tmapRef.current.wrapper.on(\n\t\t\t\t\"layerchange\",\n\t\t\t\trefreshLayerState,\n\t\t\t\t{\n\t\t\t\t\tincludeBaseLayers: props?.filter?.includeBaseLayers,\n\t\t\t\t\tmatchLayerIds: props?.filter?.matchLayerIds,\n\t\t\t\t},\n\t\t\t\tcomponentId.current\n\t\t\t);\n\t\t}\n\t}, [mapContext.mapIds, mapContext, props.mapId, refreshLayerState, props]);\n\n\treturn {\n\t\tlayers,\n\t\tviewport,\n\t};\n}\n\nuseMapState.defaultProps = {\n\tmapId: undefined,\n\twatch: {\n\t\tlayers: true,\n\t\tsources: false,\n\t\tviewport: false,\n\t},\n\tfilter: {\n\t\tincludeBaseLayers: false,\n\t},\n};\n\nuseMapState.propTypes = {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId: PropTypes.string,\n\t/**\n\t * Defines map Resources to watch\n\t */\n\twatch: PropTypes.shape({\n\t\tlayers: PropTypes.bool,\n\t\tsources: PropTypes.bool,\n\t\tviewport: PropTypes.bool,\n\t}),\n\t/**\n\t * Filter string or RegExp to more explicitly define the elements watched and increase performance\n\t * strings will be matched using layerId.includes(matchString)\n\t * RegExps will be matched using matchRegExp.test(layerId)\n\t */\n\tfilter: PropTypes.shape({\n\t\tincludeBaseLayers: PropTypes.bool,\n\t\tmatchLayerIds: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(RegExp)]),\n\t\tmatchSourceIds: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(RegExp)]),\n\t}),\n};\n\nexport default useMapState;\n","import { useContext, useState, useEffect, useRef } from \"react\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport MapContext, { MapContextType } from \"../contexts/MapContext\";\nimport useMapState from \"./useMapState\";\nimport MapLibreGlWrapper, { LayerState } from \"../components/MapLibreMap/lib/MapLibreGlWrapper\";\n\ntype useMapType = {\n\tmap: MapLibreGlWrapper | undefined;\n\tmapIsReady: boolean;\n\tcomponentId: string;\n\tlayers: (LayerState | undefined)[];\n\tcleanup: () => void;\n};\n\nfunction useMap(props?: { mapId?: string; waitForLayer?: string }): useMapType {\n\tconst mapContext: MapContextType = useContext(MapContext);\n\tconst [state, setState] = useState<{map:MapLibreGlWrapper | undefined, ready: boolean}>({map:undefined,ready:false});\n\n\tconst mapState = useMapState({\n\t\tmapId: props?.mapId,\n\t\twatch: {\n\t\t\tviewport: false,\n\t\t\tlayers: props?.waitForLayer ? true : false,\n\t\t\tsources: false,\n\t\t},\n\t\tfilter: {\n\t\t\tincludeBaseLayers: true,\n\t\t},\n\t});\n\n\tconst mapRef = useRef<MapLibreGlWrapper>();\n\n\tconst componentId = useRef(uuidv4());\n\n\n\tconst cleanup = () => {\n\t\tif (mapRef.current) {\n\t\t\tmapRef.current.cleanup(componentId.current);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tcleanup();\n\t\t\tmapRef.current = undefined;\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif(mapRef.current && mapRef.current.cancelled === true){\n\t\t\tmapRef.current = undefined\n\t\t\tsetState({map:undefined, ready: false})\n\t\t}\n\t\tif (mapRef.current || !mapContext.mapExists(props?.mapId)) return;\n\n\t\t// check if waitForLayer (string, layer id of the layer this hook is supposed to wait for)\n\t\t// exists as layer in the MapLibre instance\n\t\tif (props?.waitForLayer) {\n\t\t\tlet layerFound = false;\n\n\t\t\tmapState?.layers?.forEach((layer: any) => {\n\t\t\t\tif (layer.id === props?.waitForLayer) {\n\t\t\t\t\tlayerFound = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!layerFound) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tmapRef.current = mapContext.getMap(props?.mapId);\n\t\tsetState({map:mapRef.current, ready: true});\n\t}, [mapContext.mapIds, mapState.layers, mapContext, props]);\n\n\treturn {\n\t\tmap: state.map,\n\t\tmapIsReady: state.ready,\n\t\tcomponentId: componentId.current,\n\t\tlayers: mapState.layers,\n\t\tcleanup,\n\t};\n}\n\nexport default useMap;\n\nexport type { useMapType };\n","import React, { useState, useCallback } from \"react\";\nimport useMap from \"../../hooks/useMap\";\nimport { Button, SxProps, Theme } from '@mui/material';\nimport FilterCenterFocusIcon from '@mui/icons-material/FilterCenterFocus';\n\nexport interface MlCenterPositionProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Active button font color\n\t */\n\tonColor?: string;\n\t/**\n\t * Inactive button font color\n\t */\n\toffColor?: string;\n\t/**\n\t * CSS style object that is applied to the button component\n\t */\n\tstyle?: SxProps<Theme> | undefined;\n}\n\n/**\n * Component template\n *\n */\nconst MlCenterPosition = (props: MlCenterPositionProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [locationAccessDenied, setLocationAccessDenied] = useState(false);\n\n\tconst centerCurrentLocation = () => {\n\t\tnavigator.geolocation.getCurrentPosition(getLocationSuccess, getLocationError);\n\t};\n\n\tconst getLocationSuccess = useCallback(\n\t\t(location: GeolocationPosition) => {\n\t\t\tmapHook.map?.map.setCenter?.([location.coords.longitude, location.coords.latitude]);\n\t\t},\n\t\t[mapHook.map]\n\t);\n\n\tconst getLocationError = () => {\n\t\tconsole.log('Access of user location denied');\n\t\tsetLocationAccessDenied(true);\n\t};\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"navtools\"\n\t\t\t\tsx={{\n\t\t\t\t\tzIndex: 1002,\n\t\t\t\t\tcolor: !locationAccessDenied ? props.onColor : props.offColor,\n\t\t\t\t}}\n\t\t\t\tonClick={centerCurrentLocation}\n\t\t\t\tdisabled={locationAccessDenied}\n\t\t\t>\n\t\t\t\t<FilterCenterFocusIcon sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t</Button>\n\t\t</>\n\t);\n};\n\nMlCenterPosition.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlCenterPosition;\n","import React from \"react\";\nimport useMap from \"../../hooks/useMap\";\n\nexport interface MlComponentTemplateProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n}\n\n/**\n * Component description\n *\n */\nconst MlComponentTemplate = (props: MlComponentTemplateProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\tconsole.log(mapHook.componentId + \" remove this log\");\n\n\treturn <></>;\n};\n\nMlComponentTemplate.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlComponentTemplate;\n","import { Map } from 'maplibre-gl';\nimport jsPDF from 'jspdf';\nimport MapLibreGlWrapper from '../../components/MapLibreMap/lib/MapLibreGlWrapper';\n\nimport { BBox } from '@turf/turf';\n\ninterface createExportOptions {\n\tmap: MapLibreGlWrapper;\n\twidth: number;\n\theight: number;\n\tbbox: BBox;\n\tbboxUnrotated: BBox;\n\tbearing: number;\n\tformat: string;\n\torientation: string;\n}\nexport type { createExportOptions };\n\nconst createExport = (options: createExportOptions) => {\n\tconst width = options.width;\n\tconst height = options.height;\n\n\t// Create map container\n\tconst hiddenContainer = document.createElement('div');\n\thiddenContainer.className = 'hidden-map';\n\thiddenContainer.style.width = '0px';\n\thiddenContainer.style.height = '0px';\n\thiddenContainer.style.overflow = 'hidden';\n\tdocument.body.appendChild(hiddenContainer);\n\tconst container = document.createElement('div');\n\tcontainer.style.width = width + 'px';\n\tcontainer.style.height = height + 'px';\n\thiddenContainer.appendChild(container);\n\n\tconst style = options.map.map.getStyle();\n\n\t// delete undefined source properties\n\tfor (const name in style.sources) {\n\t\tconst src = style.sources[name];\n\n\t\tObject.keys(src).forEach((key) => {\n\t\t\t// delete property if value is undefined.\n\t\t\t// for instance, raster-dem might have undefined value in \"url\" and \"bounds\"\n\t\t\tif (!src[key]) {\n\t\t\t\tdelete src[key];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Create a new MapLibre-gl instance\n\tconst renderMap = new Map({\n\t\tcontainer: container,\n\t\tcenter: options.map.map.getCenter(),\n\t\tzoom: options.map.map.getZoom(),\n\t\tbearing: 0,\n\t\tpitch: 0,\n\t\tinteractive: false,\n\t\tpreserveDrawingBuffer: true,\n\t\tfadeDuration: 0,\n\t\tattributionControl: false,\n\t\tstyle: style,\n\t});\n\n\tconst bboxCamera = renderMap._cameraForBoxAndBearing(\n\t\t[options.bboxUnrotated[0], options.bboxUnrotated[1]],\n\t\t[options.bboxUnrotated[2], options.bboxUnrotated[3]],\n\t\toptions.bearing + options.map.map.getBearing()\n\t);\n\n\trenderMap._fitInternal(bboxCamera);\n\treturn new Promise<createExportResolverParams>((resolve) => {\n\t\tconsole.log('before idle');\n\n\t\trenderMap.once('idle', function () {\n\t\t\tconst params: createExportResolverParams = {\n\t\t\t\t...options,\n\t\t\t\trenderMap,\n\t\t\t\thiddenContainer,\n\t\t\t\tcreatePdf: (_options?: createJsPdfOptions) =>\n\t\t\t\t\tcreateJsPdf({ ...options, renderMap, hiddenContainer, ..._options }),\n\t\t\t\tcreatePng: (_options?: createPngOptions) =>\n\t\t\t\t\tcreatePng({ ...options, renderMap, hiddenContainer, ..._options }),\n\t\t\t};\n\n\t\t\tresolve(params);\n\t\t});\n\t});\n};\n\ninterface createExportResolverParams extends createExportOptions {\n\tcreatePdf: (_options?: createJsPdfOptions) => Promise<createPdfResolverParams>;\n\tcreatePng: (_options?: createPngOptions) => Promise<createPngResolverParams>;\n\trenderMap: Map;\n\thiddenContainer: HTMLDivElement;\n}\nexport type { createExportResolverParams };\n\ninterface createJsPdfOptions extends createExportOptions {\n\trenderMap: Map;\n\thiddenContainer: HTMLDivElement;\n}\n\nexport type { createJsPdfOptions };\n\nfunction createJsPdf(options: createJsPdfOptions) {\n\tconst pdf = new jsPDF({\n\t\torientation: options?.orientation === 'portrait' ? 'p' : 'l',\n\t\tunit: 'mm',\n\t\tcompress: true,\n\t\tformat: options.format,\n\t});\n\tObject.defineProperty(window, 'devicePixelRatio', {\n\t\tget: function () {\n\t\t\treturn 300 / 96;\n\t\t},\n\t});\n\n\treturn new Promise<createPdfResolverParams>((resolve) => {\n\t\t//Render map image\n\t\tpdf.addImage(\n\t\t\toptions.renderMap.getCanvas().toDataURL('image/png'),\n\t\t\t'png',\n\t\t\t0,\n\t\t\t0,\n\t\t\tpdf.internal.pageSize.getWidth(),\n\t\t\tpdf.internal.pageSize.getHeight(),\n\t\t\tundefined,\n\t\t\t'FAST'\n\t\t);\n\n\t\t// remove DOM Elements\n\t\toptions.renderMap.remove();\n\t\toptions.hiddenContainer.parentNode?.removeChild(options.hiddenContainer);\n\n\t\tconst params: createPdfResolverParams = {\n\t\t\t...options,\n\t\t\tpdf,\n\t\t\tdownloadPdf: (_options?: downloadPdfOptions) => downloadPdf({ ...params, ..._options }),\n\t\t};\n\n\t\tresolve(params);\n\t});\n}\ninterface createPdfResolverParams extends createJsPdfOptions {\n\tpdf: jsPDF;\n\tdownloadPdf: (_options?: downloadPdfOptions) => Promise<downloadPdfOptions>;\n}\n\ninterface downloadPdfOptions extends createJsPdfOptions {\n\tpdf: jsPDF;\n}\n\nfunction downloadPdf(options: downloadPdfOptions) {\n\toptions.pdf.save('Map.pdf');\n\n\treturn new Promise<downloadPdfOptions>(function (resolve) {\n\t\tresolve({ ...options });\n\t});\n}\n\nexport type { createPdfResolverParams };\n\nfunction createPng(options: createPngOptions) {\n\treturn new Promise<createPngResolverParams>((resolve) => {\n\t\tconst png = options.renderMap.getCanvas().toDataURL('image/png');\n\t\tconst params: createPngResolverParams = {\n\t\t\t...options,\n\t\t\tpng,\n\t\t\tdownloadPng: (_options?: downloadPngOptions) => downloadPng({ ...params, ..._options }),\n\t\t};\n\n\t\tresolve(params);\n\t});\n}\n\ninterface createPngOptions extends createExportOptions {\n\trenderMap: Map;\n\thiddenContainer: HTMLDivElement;\n}\n\nexport type { createPngOptions };\n\ninterface createPngResolverParams extends createPngOptions {\n\tpng: string;\n\tdownloadPng: (_options?: downloadPngOptions) => Promise<downloadPngOptions>;\n}\n\nexport type { createPngResolverParams };\n\ninterface downloadPngOptions extends createPngOptions {\n\t// png image as data url\n\tpng: string;\n\t// filename of the downloaded png\n\tname?: string;\n}\n\nfunction downloadPng(options: downloadPngOptions) {\n\tconst _a = document.createElement('a');\n\t_a.download = options?.name ? options.name + '.png' : 'map.png';\n\t_a.href = options.png;\n\tdocument.body.appendChild(_a);\n\t_a.click();\n\tdocument.body.removeChild(_a);\n\n\treturn new Promise<downloadPngOptions>(function (resolve) {\n\t\tresolve({ ...options });\n\t});\n}\n\nexport { createExport };\n","import { useMemo } from 'react';\nimport useMap from '../useMap';\nimport { createExport, createExportOptions } from './lib';\nimport MapLibreGlWrapper from '../../components/MapLibreMap/lib/MapLibreGlWrapper';\n\ninterface exportMapProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n}\n\nexport default function useExportMap(props: exportMapProps) {\n\tconst mapHook = useMap({ mapId: props.mapId });\n\n\tconst _createExport = useMemo(() => {\n\t\tif (mapHook.map) {\n\t\t\treturn (\n\t\t\t\toptions: Omit<createExportOptions, 'map'> & Partial<Pick<createExportOptions, 'map'>>\n\t\t\t) => {\n\t\t\t\treturn createExport({ map: mapHook.map as MapLibreGlWrapper, ...options });\n\t\t\t};\n\t\t}\n\t\treturn;\n\t}, [mapHook.map]);\n\n\treturn {\n\t\tcreateExport: _createExport,\n\t};\n}\n","import React from 'react';\nimport useMap from '../../hooks/useMap';\nimport PrinterIcon from '@mui/icons-material/Print';\nimport Button from '@mui/material/Button';\nimport { CircularProgress } from '@mui/material';\nimport useExportMap from '../../hooks/useExportMap';\nimport { BBox } from '@turf/turf';\nimport { createExportOptions } from 'src/hooks/useExportMap/lib';\n\nexport interface MlCreatePdfButtonProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Option overrides for the createExport function\n\t */\n\texportOptions?: createExportOptions\n}\n\n/**\n * Renders a button that will create a PDF version of the current map view (dimensions adjusted to fit Din A4 Paper).\n */\nconst MlCreatePdfButton = (props: MlCreatePdfButtonProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\tconst exportMap = useExportMap({ mapId: props.mapId });\n\tconst [loading, setLoading] = React.useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tcolor=\"primary\"\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tonClick={() => {\n\t\t\t\t\tif (mapHook.map && exportMap?.createExport) {\n\t\t\t\t\t\tsetLoading(true);\n\t\t\t\t\t\tconst bounds = mapHook.map.getBounds();\n\t\t\t\t\t\tconst bbox: BBox = [\n\t\t\t\t\t\t\tbounds.getWest(),\n\t\t\t\t\t\t\tbounds.getSouth(),\n\t\t\t\t\t\t\tbounds.getEast(),\n\t\t\t\t\t\t\tbounds.getNorth(),\n\t\t\t\t\t\t];\n\t\t\t\t\t\texportMap\n\t\t\t\t\t\t\t.createExport({\n\t\t\t\t\t\t\t\twidth: 595 * 1.4,\n\t\t\t\t\t\t\t\theight: 842 * 1.4,\n\t\t\t\t\t\t\t\tbbox: bbox,\n\t\t\t\t\t\t\t\tbboxUnrotated: bbox,\n\t\t\t\t\t\t\t\tbearing: mapHook.map.getBearing(),\n\t\t\t\t\t\t\t\tformat: 'a4',\n\t\t\t\t\t\t\t\torientation: 'portrait',\n\t\t\t\t\t\t\t\t...props.exportOptions,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then((res) => res.createPdf())\n\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\t\treturn res.downloadPdf();\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tconsole.log(error);\n\t\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{loading ? (\n\t\t\t\t\t<CircularProgress\n\t\t\t\t\t\tsize={24}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tcolor: '#fff',\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<PrinterIcon />\n\t\t\t\t)}\n\t\t\t</Button>\n\t\t</>\n\t);\n};\n\nMlCreatePdfButton.defaultProps = {\n\tmapId: undefined,\n};\n\nexport default MlCreatePdfButton;\n","interface PdfTemplateType{\n\twidth: number;\n\theight: number;\n};\ninterface PdfTemplateObject{\n\t[key:string]:({[key:string]:PdfTemplateType});\n};\n\nconst PdfTemplates:PdfTemplateObject = {\n\tA4: {\n\t\t'300dpi': {\n\t\t\twidth: 2480,\n\t\t\theight: 3508,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 1240,\n\t\t\theight: 1754,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 595,\n\t\t\theight: 842,\n\t\t},\n\t},\n\tA3: {\n\t\t'300dpi': {\n\t\t\twidth: 3505,\n\t\t\theight: 4961,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 1754,\n\t\t\theight: 2480,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 842,\n\t\t\theight: 1191,\n\t\t},\n\t},\n\tA2: {\n\t\t'300dpi': {\n\t\t\twidth: 4961,\n\t\t\theight: 7016,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 2480,\n\t\t\theight: 3508,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 1191,\n\t\t\theight: 1684,\n\t\t},\n\t},\n\tA1: {\n\t\t'300dpi': {\n\t\t\twidth: 7016,\n\t\t\theight: 9933,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 3508,\n\t\t\theight: 4967,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 1684,\n\t\t\theight: 2384,\n\t\t},\n\t},\n\tA0: {\n\t\t'300dpi': {\n\t\t\twidth: 9933,\n\t\t\theight: 14043,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 4967,\n\t\t\theight: 7022,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 2384,\n\t\t\theight: 3370,\n\t\t},\n\t},\n};\n\nexport default PdfTemplates;","import React, { useState, useRef, useMemo } from 'react';\nimport templates from './pdf.templates';\nimport { PdfContextInterface, PdfPreviewOptions } from './pdfContext';\n\n\nconst PdfContext = React.createContext<PdfContextInterface>({} as PdfContextInterface);\n\nconst defaultTemplate = templates['A4']['72dpi'];\nconst PdfContextProvider = ({ children }: { children: React.ReactNode }) => {\n\tconst [format, setFormat] = useState('A4');\n\tconst [quality, setQuality] = useState('72dpi');\n\tconst [options, setOptions] = useState<PdfPreviewOptions>({\n\t\tcenter: undefined,\n\t\tscale: undefined,\n\t\trotate: 0,\n\t\twidth: 210,\n\t\theight: 297,\n\t\torientation: 'portrait',\n\t\tfixedScale: 0,\n\t});\n\n\tconst geojsonRef = useRef();\n\n\tconst template = useMemo(() => {\n\t\tif (typeof templates[format][quality] !== 'undefined') {\n\t\t\treturn options.orientation === 'portrait'\n\t\t\t\t? templates[format][quality]\n\t\t\t\t: {\n\t\t\t\t\t\twidth: templates[format][quality].height,\n\t\t\t\t\t\theight: templates[format][quality].width,\n\t\t\t\t };\n\t\t}\n\t\treturn defaultTemplate;\n\t}, [format, quality, options.orientation]);\n\n\tconst value = {\n\t\toptions,\n\t\tsetOptions,\n\t\tformat,\n\t\tsetFormat,\n\t\tquality,\n\t\tsetQuality,\n\t\tgeojsonRef,\n\t\ttemplate,\n\t};\n\n\treturn <PdfContext.Provider value={value}>{children}</PdfContext.Provider>;\n};\n\nexport { PdfContextProvider };\nexport default PdfContext;\n","import React, { useRef, useEffect, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport Moveable from 'react-moveable';\nimport useMap from '../../../hooks/useMap';\nimport useMapState from '../../../hooks/useMapState';\nimport * as turf from '@turf/turf';\nimport { PdfPreviewOptions } from './pdfContext';\nimport { LngLatLike, Map as MapType, PointLike } from 'maplibre-gl';\nimport { Feature, Units } from '@turf/turf';\n\ntype Props = {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Polygon GeoJson Feature representing the printing area\n\t */\n\tgeojsonRef: React.MutableRefObject<\n\t\t| Feature\n\t\t| undefined\n\t>;\n\t/**\n\t * a state variable containing the PDF previews current state\n\t */\n\toptions: PdfPreviewOptions;\n\t/**\n\t * setter function to update the current PDF preview state\n\t */\n\tsetOptions: (arg1: (val: PdfPreviewOptions) => PdfPreviewOptions) => void;\n};\n\nfunction getTargetRotationAngle(target: HTMLDivElement) {\n\tconst el_style = window.getComputedStyle(target, null);\n\tconst el_transform = el_style.getPropertyValue('transform');\n\n\tlet deg = 0;\n\n\tif (el_transform !== 'none') {\n\t\tconst values = el_transform.split('(')[1].split(')')[0].split(',');\n\t\tconst a = parseFloat(values[0]);\n\t\tconst b = parseFloat(values[1]);\n\t\tdeg = Math.round(Math.atan2(b, a) * (180 / Math.PI));\n\t}\n\n\treturn deg < 0 ? deg + 360 : deg;\n}\n\nfunction calcElemTransformedPoint(\n\tel: HTMLDivElement,\n\tpoint: [number, number],\n\ttransformOrigin: [number, number]\n): PointLike {\n\tconst style = getComputedStyle(el);\n\tconst p = [point[0] - transformOrigin[0], point[1] - transformOrigin[1]];\n\n\tconst matrix = new DOMMatrixReadOnly(style.transform);\n\n\t// transform pixel coordinates according to the css transform state of \"el\" (target)\n\treturn [\n\t\tp[0] * matrix.a + p[1] * matrix.c + matrix.e + transformOrigin[0],\n\t\tp[0] * matrix.b + p[1] * matrix.d + matrix.f + transformOrigin[1],\n\t];\n}\n\n// measure distance in pixels that is used to determine the current css transform.scale relative to the maps viewport.zoom\nconst scaleAnchorInPixels = 10;\n\n// used to determine the MapZoomScale modifier which is multiplied with props.options.scale to relate the scale to the current map viewport.zoom\nfunction getMapZoomScaleModifier(point: [number, number], _map: MapType) {\n\tconst left = _map.unproject(point);\n\tconst right = _map.unproject([point[0] + scaleAnchorInPixels, point[1]]);\n\tconst maxMeters = left.distanceTo(right);\n\treturn scaleAnchorInPixels / maxMeters;\n}\n\n/**\n * PdfPreview component renders a transformable (drag, scale, rotate) preview of the desired export or print content\n */\nexport default function PdfPreview(props: Props) {\n\tconst mapState = useMapState({ mapId: props.mapId, watch: { layers: false, viewport: true } });\n\tconst targetRef = useRef<HTMLDivElement>(null);\n\tconst fixedScaleRef = useRef<number | undefined>();\n\tconst moveableRef = useRef<Moveable>(null);\n\tconst mapContainerRef = useRef<HTMLDivElement>(document.querySelector('.mapContainer'));\n\t//const [transform, setTransform] = useState('translate(452.111px, 15.6148px)');\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\n\tuseEffect(() => {\n\t\tif (!mapState?.viewport?.zoom || !mapHook.map) return;\n\t\t// if the component was initialized with scale or center as undefined derive those values from the current map view state\n\n\t\t//initialize props if not defined\n\t\tconst _centerX = Math.round(mapHook.map.map._container.clientWidth / 2);\n\t\tconst _centerY = Math.round(mapHook.map.map._container.clientHeight / 2);\n\n\t\tif (!props.options.scale) {\n\t\t\t//const scale = parseFloat(/(14/mapState.viewport.zoom));\n\t\t\tconst scale = 1 / getMapZoomScaleModifier([_centerX, _centerY], mapHook.map.map);\n\n\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({ ...val, scale: [scale, scale] }));\n\t\t}\n\t\tif (!props.options.center) {\n\t\t\tconst _center = mapHook.map.map.unproject([_centerX, _centerY]);\n\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({\n\t\t\t\t...val,\n\t\t\t\tcenter: [_center.lng, _center.lat],\n\t\t\t}));\n\t\t}\n\t}, [mapHook.map, mapState.viewport?.zoom]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tmapHook.map.map.setPitch(0);\n\t\tconst _maxPitch = mapHook.map.map.getMaxPitch();\n\t\tmapHook.map.map.setMaxPitch(0);\n\t\treturn () => {\n\t\t\tmapHook.map?.map.setMaxPitch(_maxPitch);\n\t\t};\n\t}, [mapHook.map]);\n\n\tconst transformOrigin = useMemo<[number, number]>(() => {\n\t\tif (props.options.orientation === 'portrait') {\n\t\t\treturn [props.options.width / 2, props.options.height / 2];\n\t\t} else {\n\t\t\treturn [props.options.height / 2, props.options.width / 2];\n\t\t}\n\t}, [props.options.orientation, props.options.width, props.options.height]);\n\n\tconst transform = useMemo(() => {\n\t\tif (!mapHook.map || !props.options.scale) return 'none';\n\n\t\tconst centerInPixels = mapHook.map.map.project(props.options.center as LngLatLike);\n\n\t\tconst x = centerInPixels.x;\n\t\tconst y = centerInPixels.y;\n\t\tconst scale = props.options.scale[0] * getMapZoomScaleModifier([x, y], mapHook.map.map);\n\n\t\tconst viewportBearing = mapState?.viewport?.bearing ? mapState.viewport?.bearing : 0;\n\n\t\tconst _transform = `translate(${Math.floor(\n\t\t\tcenterInPixels.x - transformOrigin[0]\n\t\t)}px,${Math.floor(centerInPixels.y - transformOrigin[1])}px) rotate(${\n\t\t\tprops.options.rotate - viewportBearing\n\t\t}deg) scale(${scale},${scale})`;\n\n\t\tif (targetRef.current) targetRef.current.style.transform = _transform;\n\n\t\treturn _transform;\n\t}, [\n\t\tmapHook.map,\n\t\tmapState.viewport,\n\t\tprops.options.scale,\n\t\tprops.options.rotate,\n\t\tprops.options.center,\n\t\ttransformOrigin,\n\t]);\n\n\tuseEffect(() => {\n\t\tmoveableRef.current?.updateTarget();\n\t}, [transform]);\n\n\tuseEffect(() => {\n\t\t// update props.options.scale if fixedScale was changed\n\t\tif (\n\t\t\t!mapHook.map ||\n\t\t\t!props.options.center ||\n\t\t\t!props.options.fixedScale ||\n\t\t\t(typeof props.options.fixedScale !== 'undefined' &&\n\t\t\t\tfixedScaleRef.current === props.options.fixedScale)\n\t\t)\n\t\t\treturn;\n\n\t\tfixedScaleRef.current = props.options.fixedScale;\n\t\tconst point = turf.point(props.options.center);\n\t\tconst distance = props.options.fixedScale * (props.options.width / 1000);\n\n\t\tconst bearing = 90;\n\t\tconst options = { units: 'meters' as Units };\n\t\tconst destination = turf.destination(point, distance, bearing, options);\n\n\t\tconst centerInPixels = mapHook.map.map.project(point.geometry.coordinates as LngLatLike);\n\t\tconst destinationInPixels = mapHook.map.map.project(\n\t\t\tdestination.geometry.coordinates as LngLatLike\n\t\t);\n\n\t\tconst scaleFactor =\n\t\t\t(Math.round(destinationInPixels.x - centerInPixels.x) / props.options.width) *\n\t\t\t(1 / getMapZoomScaleModifier([centerInPixels.x, centerInPixels.y], mapHook.map.map));\n\t\tprops.setOptions((val: PdfPreviewOptions) => ({ ...val, scale: [scaleFactor, scaleFactor] }));\n\t}, [mapHook.map, props.options.width, props.options.center, props.options.fixedScale]);\n\n\t// update props.geoJsonRef\n\tuseEffect(() => {\n\t\tif (targetRef.current && mapHook.map) {\n\t\t\t// apply orientation\n\t\t\tlet _width = props.options.width;\n\t\t\tlet _height = props.options.height;\n\t\t\tif (props.options.orientation === 'portrait') {\n\t\t\t\ttargetRef.current.style.width = props.options.width + 'px';\n\t\t\t\ttargetRef.current.style.height = props.options.height + 'px';\n\t\t\t} else {\n\t\t\t\ttargetRef.current.style.width = props.options.height + 'px';\n\t\t\t\ttargetRef.current.style.height = props.options.width + 'px';\n\t\t\t\t_width = props.options.height;\n\t\t\t\t_height = props.options.width;\n\t\t\t}\n\t\t\tmoveableRef.current?.updateTarget();\n\n\t\t\tconst topLeft = mapHook.map.map.unproject(\n\t\t\t\tcalcElemTransformedPoint(targetRef.current, [0, 0], transformOrigin)\n\t\t\t);\n\t\t\tconst topRight = mapHook.map.map.unproject(\n\t\t\t\tcalcElemTransformedPoint(targetRef.current, [_width, 0], transformOrigin)\n\t\t\t);\n\t\t\tconst bottomLeft = mapHook.map.map.unproject(\n\t\t\t\tcalcElemTransformedPoint(targetRef.current, [0, _height], transformOrigin)\n\t\t\t);\n\t\t\tconst bottomRight = mapHook.map.map.unproject(\n\t\t\t\tcalcElemTransformedPoint(targetRef.current, [_width, _height], transformOrigin)\n\t\t\t);\n\n\t\t\tconst _geoJson = {\n\t\t\t\ttype: 'Feature',\n\t\t\t\tbbox: [topLeft.lng, topLeft.lat, bottomRight.lng, bottomRight.lat],\n\t\t\t\tgeometry: {\n\t\t\t\t\ttype: 'Polygon',\n\t\t\t\t\tcoordinates: [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t[topLeft.lng, topLeft.lat],\n\t\t\t\t\t\t\t[topRight.lng, topRight.lat],\n\t\t\t\t\t\t\t[bottomRight.lng, bottomRight.lat],\n\t\t\t\t\t\t\t[bottomLeft.lng, bottomLeft.lat],\n\t\t\t\t\t\t\t[topLeft.lng, topLeft.lat],\n\t\t\t\t\t\t],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tproperties: { bearing: getTargetRotationAngle(targetRef.current) },\n\t\t\t} as Feature;\n\t\t\tprops.geojsonRef.current = _geoJson;\n\t\t}\n\n\t\treturn undefined;\n\t}, [\n\t\tmapHook,\n\t\ttransform,\n\t\tprops.options.orientation,\n\t\tprops.geojsonRef,\n\t\tmapState,\n\t\ttargetRef.current,\n\t\ttransformOrigin,\n\t]);\n\n\treturn mapContainerRef.current ? ReactDOM.createPortal(\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName=\"target\"\n\t\t\t\tref={targetRef}\n\t\t\t\tstyle={{ transform: transform, transformOrigin: 'center center' }}\n\t\t\t></div>\n\t\t\t<Moveable\n\t\t\t\t// eslint-disable-next-line\n\t\t\t\t// @ts-ignore:\n\t\t\t\tref={moveableRef}\n\t\t\t\ttarget={targetRef}\n\t\t\t\tcontainer={null}\n\t\t\t\torigin={true}\n\t\t\t\tkeepRatio={true}\n\t\t\t\t/* draggable */\n\t\t\t\tdraggable={true}\n\t\t\t\tonDrag={(e) => {\n\t\t\t\t\tif (mapHook.map) {\n\n\t\t\t\t\t\tlet _transformParts = e.transform.split('translate(');\n\t\t\t\t\t\t_transformParts = _transformParts[1].split('px)')[0].split('px, ');\n\t\t\t\t\t\tconst _center = mapHook.map?.map.unproject([\n\t\t\t\t\t\t\tparseInt(_transformParts[0]) + transformOrigin[0],\n\t\t\t\t\t\t\tparseInt(_transformParts[1]) + transformOrigin[1],\n\t\t\t\t\t\t]);\n\t\t\t\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({\n\t\t\t\t\t\t\t...val,\n\t\t\t\t\t\t\tcenter: [_center.lng, _center.lat],\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\t/* scalable */\n\t\t\t\tscalable={props.options.fixedScale ? false : true}\n\t\t\t\tonScale={(e) => {\n\t\t\t\t\tif (mapHook.map) {\n\t\t\t\t\t\tlet _transformParts = e.drag.transform.split('scale(');\n\t\t\t\t\t\t_transformParts = _transformParts[1].split(')')[0].split(', ');\n\n\t\t\t\t\t\tconst centerInPixels = mapHook.map.map.project(props.options.center as LngLatLike);\n\n\t\t\t\t\t\tconst x = centerInPixels.x;\n\t\t\t\t\t\tconst y = centerInPixels.y;\n\n\t\t\t\t\t\tconst scale =\n\t\t\t\t\t\t\tparseFloat(_transformParts[0]) *\n\t\t\t\t\t\t\t(1 / getMapZoomScaleModifier([x, y], mapHook.map.map));\n\n\n\t\t\t\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({ ...val, scale: [scale, scale] }));\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\t/* rotatable */\n\t\t\t\trotatable={true}\n\t\t\t\tonRotate={(e) => {\n\t\t\t\t\tif (mapHook.map && mapState.viewport) {\n\t\t\t\t\t\tconst _transformParts = e.drag.transform.split('rotate(');\n\t\t\t\t\t\tconst _transformPartString = _transformParts[1].split('deg)')[0];\n\t\t\t\t\t\tconst viewportBearing = mapState?.viewport?.bearing ? mapState.viewport.bearing : 0;\n\n\t\t\t\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({\n\t\t\t\t\t\t\t...val,\n\t\t\t\t\t\t\trotate: parseFloat(_transformPartString) + viewportBearing,\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</>,\n\t\tmapContainerRef.current\n\t):<></>;\n}\n","import React, { useContext, useMemo, useCallback, useState } from 'react';\nimport PdfContext from './PdfContext';\nimport PdfPreview from './PdfPreview';\nimport {\n\tFormControl,\n\tMenuItem,\n\tSelect,\n\tInputLabel,\n\tButton,\n\tFormLabel,\n\tFormControlLabel,\n\tRadio,\n\tRadioGroup,\n\tCircularProgress,\n} from '@mui/material';\n\nimport useMap from '../../../hooks/useMap';\nimport useExportMap from '../../../hooks/useExportMap';\nimport { createPdfResolverParams } from '../../../hooks/useExportMap/lib';\n\nimport * as turf from '@turf/turf';\n\nimport templates from './pdf.templates';\nimport { PdfPreviewOptions } from './pdfContext';\n\nconst scaleOptions = [\n\t{\n\t\tvalue: 0,\n\t\tlabel: 'free scale',\n\t},\n\t{\n\t\tvalue: 250,\n\t\tlabel: '1/250',\n\t},\n\t{\n\t\tvalue: 500,\n\t\tlabel: '1/500',\n\t},\n\t{\n\t\tvalue: 750,\n\t\tlabel: '1/750',\n\t},\n\t{\n\t\tvalue: 1000,\n\t\tlabel: '1/1000',\n\t},\n\t{\n\t\tvalue: 1500,\n\t\tlabel: '1/1500',\n\t},\n\t{\n\t\tvalue: 2000,\n\t\tlabel: '1/2000',\n\t},\n\t{\n\t\tvalue: 10000,\n\t\tlabel: '1/10000',\n\t},\n\t{\n\t\tvalue: 100000,\n\t\tlabel: '1/100000',\n\t},\n];\nconst qualityOptions = [\n\t{\n\t\tvalue: '72dpi',\n\t\tlabel: 'Draft (72dpi)',\n\t},\n\t{\n\t\tvalue: '150dpi',\n\t\tlabel: 'Medium (150dpi)',\n\t},\n\t{\n\t\tvalue: '300dpi',\n\t\tlabel: 'High (300dpi)',\n\t},\n];\n\ninterface PdfFormProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\tonCreatePdf?: (options: createPdfResolverParams) => createPdfResolverParams;\n}\n\nexport default function PdfForm(props: PdfFormProps) {\n\tconst [loading, setLoading] = useState(false);\n\tconst pdfContext = useContext(PdfContext);\n\tconst mapHook = useMap({\n\t\t// eslint-disable-next-line react/prop-types\n\t\tmapId: props.mapId,\n\t});\n\tconst mapExporter = useExportMap({ mapId: props.mapId });\n\n\tconst createPdfHandler = useCallback(() => {\n\t\tif (\n\t\t\tmapHook.map &&\n\t\t\tmapExporter.createExport &&\n\t\t\tpdfContext.template &&\n\t\t\tpdfContext.format &&\n\t\t\tpdfContext.options?.orientation &&\n\t\t\tpdfContext.geojsonRef?.current?.bbox &&\n\t\t\tpdfContext.geojsonRef?.current\n\t\t) {\n\t\t\tsetLoading(true);\n\t\t\tconst bbox = turf.bbox(pdfContext.geojsonRef.current);\n\n\t\t\tmapExporter\n\t\t\t\t.createExport({\n\t\t\t\t\twidth: pdfContext.template.width,\n\t\t\t\t\theight: pdfContext.template.height,\n\t\t\t\t\tbbox: bbox,\n\t\t\t\t\tbboxUnrotated: pdfContext.geojsonRef.current.bbox,\n\t\t\t\t\tbearing: (pdfContext.geojsonRef.current?.properties?.bearing as number) || 0,\n\t\t\t\t\tformat: pdfContext.format.toLowerCase(),\n\t\t\t\t\torientation: pdfContext.options.orientation,\n\t\t\t\t})\n\t\t\t\t.then((res) => res.createPdf())\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (typeof props.onCreatePdf === 'function') {\n\t\t\t\t\t\tprops.onCreatePdf(res);\n\t\t\t\t\t}\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t\treturn res.downloadPdf();\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.log(error);\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t});\n\t\t}\n\t}, [mapHook.map, pdfContext]);\n\n\tconst formControlStyles = useMemo(\n\t\t() => {\n\t\t\treturn {\n\t\t\t\tmargin: '5px 0 15px 0 ',\n\t\t\t\t//...props.formControlStyles,\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\t/*props.formControlStyles*/\n\t\t]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t<InputLabel sx={{ marginTop: '3px' }} id=\"format-select-label\">\n\t\t\t\t\tFormat\n\t\t\t\t</InputLabel>\n\t\t\t\t<Select\n\t\t\t\t\tlabelId=\"format-select-label\"\n\t\t\t\t\tid=\"format-select\"\n\t\t\t\t\tlabel=\"Format\"\n\t\t\t\t\tvalue={pdfContext.format}\n\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\tpdfContext.setFormat?.(event.target.value);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{Object.keys(templates).map((el) => (\n\t\t\t\t\t\t<MenuItem key={el} value={el}>\n\t\t\t\t\t\t\t{el}\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</FormControl>\n\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t<FormLabel id=\"orientation-radio-buttons-group-label\">Orientation</FormLabel>\n\t\t\t\t<RadioGroup\n\t\t\t\t\trow\n\t\t\t\t\taria-labelledby=\"orientation-radio-buttons-group-label\"\n\t\t\t\t\tname=\"orientation-radio-buttons-group\"\n\t\t\t\t\tvalue={pdfContext.options?.orientation}\n\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\tif (!pdfContext.setOptions) return;\n\n\t\t\t\t\t\tpdfContext.setOptions((val: PdfPreviewOptions) => ({\n\t\t\t\t\t\t\t...val,\n\t\t\t\t\t\t\torientation: event.target.value as 'landscape' | 'portrait',\n\t\t\t\t\t\t}));\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<FormControlLabel value=\"portrait\" control={<Radio />} label=\"Portrait\" />\n\t\t\t\t\t<FormControlLabel value=\"landscape\" control={<Radio />} label=\"Landscape\" />\n\t\t\t\t</RadioGroup>\n\t\t\t</FormControl>\n\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t<InputLabel id=\"quality-select-label\">Quality</InputLabel>\n\t\t\t\t<Select\n\t\t\t\t\tlabelId=\"quality-select-label\"\n\t\t\t\t\tid=\"quality-select\"\n\t\t\t\t\tlabel=\"Quality\"\n\t\t\t\t\tvalue={pdfContext.quality}\n\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\tpdfContext.setQuality?.(event.target.value);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{qualityOptions.map((el) => (\n\t\t\t\t\t\t<MenuItem key={el.value} value={el.value}>\n\t\t\t\t\t\t\t{el.label}\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</FormControl>\n\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t<InputLabel id=\"scale-select-label\">Scale</InputLabel>\n\t\t\t\t<Select\n\t\t\t\t\tlabelId=\"scale-select-label\"\n\t\t\t\t\tid=\"scale-select\"\n\t\t\t\t\tlabel=\"Scale\"\n\t\t\t\t\tvalue={pdfContext?.options?.fixedScale}\n\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\tpdfContext.setOptions?.((val) => ({\n\t\t\t\t\t\t\t...val,\n\t\t\t\t\t\t\tfixedScale: event.target.value as number,\n\t\t\t\t\t\t}));\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{scaleOptions.map((el, idx) => (\n\t\t\t\t\t\t<MenuItem key={idx} value={el.value}>\n\t\t\t\t\t\t\t{el.label}\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</FormControl>\n\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"contained\"\n\t\t\t\t\tclassName=\"createPdfButton\"\n\t\t\t\t\tonClick={createPdfHandler}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t>\n\t\t\t\t\tcreate PDF\n\t\t\t\t</Button>\n\t\t\t\t{loading && (\n\t\t\t\t\t<CircularProgress\n\t\t\t\t\t\tsize={24}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tcolor: 'primary.main',\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\ttop: '50%',\n\t\t\t\t\t\t\tleft: '50%',\n\t\t\t\t\t\t\tmarginTop: '-12px',\n\t\t\t\t\t\t\tmarginLeft: '-12px',\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</FormControl>\n\t\t\t{pdfContext.options && pdfContext.setOptions && (\n\t\t\t\t<PdfPreview\n\t\t\t\t\toptions={pdfContext.options}\n\t\t\t\t\tsetOptions={pdfContext.setOptions}\n\t\t\t\t\tgeojsonRef={pdfContext.geojsonRef}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n","import React from 'react';\nimport PdfForm from './lib/PdfForm';\nimport { PdfContextProvider } from './lib/PdfContext';\nimport { createPdfResolverParams } from '../../hooks/useExportMap/lib';\nimport { SxProps } from '@mui/material';\n\ninterface MlCreatePdfFormProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * sx props that will be applied to the form control components\n\t */\n\tformControlStyles?: SxProps;\n\t/**\n\t * Function that will be called before the PDF is created. \n\t * Allowing to access and manipulate the jspdf instance before the PDF is created.\n\t */\n\tonCreatePdf?: (options:createPdfResolverParams) => createPdfResolverParams;\n}\n\nexport type { MlCreatePdfFormProps };\n\n/**\n * Create PDF Form Component\n *\n */\nconst MlCreatePdfForm = (props: MlCreatePdfFormProps) => {\n\treturn (\n\t\t<>\n\t\t\t<PdfContextProvider>\n\t\t\t\t<PdfForm {...props} />\n\t\t\t</PdfContextProvider>\n\t\t</>\n\t);\n};\n\nMlCreatePdfForm.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlCreatePdfForm;\n","import { Theme, useMediaQuery } from '@mui/material';\nfunction featureEditorStyle() {\n\tconst mediaIsMobile = useMediaQuery((theme: Theme) => theme.breakpoints.down('md'));\n\n\tconst featureEditorStyle = [\n\t\t{\n\t\t\tid: 'gl-draw-polygon-fill-inactive',\n\t\t\ttype: 'fill',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'Polygon'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#3bb2d0',\n\t\t\t\t'fill-outline-color': '#3bb2d0',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-fill-active',\n\t\t\ttype: 'fill',\n\t\t\tfilter: ['all', ['==', 'active', 'true'], ['==', '$type', 'Polygon']],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#fbb03b',\n\t\t\t\t'fill-outline-color': '#fbb03b',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-midpoint',\n\t\t\ttype: 'circle',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'meta', 'midpoint']],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 7 : 5,\n\t\t\t\t'circle-color': '#fbb03b',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-stroke-inactive',\n\t\t\ttype: 'line',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'Polygon'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3bb2d0',\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-stroke-active',\n\t\t\ttype: 'line',\n\t\t\tfilter: ['all', ['==', 'active', 'true'], ['==', '$type', 'Polygon']],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fbb03b',\n\t\t\t\t'line-dasharray': [0.2, 2],\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-line-inactive',\n\t\t\ttype: 'line',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3bb2d0',\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-line-active',\n\t\t\ttype: 'line',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['==', 'active', 'true']],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fbb03b',\n\t\t\t\t'line-dasharray': [0.2, 2],\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-and-line-vertex-stroke-inactive',\n\t\t\ttype: 'circle',\n\t\t\tfilter: ['all', ['==', 'meta', 'vertex'], ['==', '$type', 'Point'], ['!=', 'mode', 'static']],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 8 : 6,\n\t\t\t\t'circle-color': '#fff',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-and-line-vertex-inactive',\n\t\t\ttype: 'circle',\n\t\t\tfilter: ['all', ['==', 'meta', 'vertex'], ['==', '$type', 'Point'], ['!=', 'mode', 'static']],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 7 : 5,\n\t\t\t\t'circle-color': '#fbb03b',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-point-stroke-inactive',\n\t\t\ttype: 'circle',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['==', 'meta', 'feature'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 10 : 9,\n\t\t\t\t'circle-opacity': 1,\n\t\t\t\t'circle-color': '#fff',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-inactive',\n\t\t\ttype: 'circle',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['==', 'meta', 'feature'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 7.5 : 6.5,\n\t\t\t\t'circle-color': '#3bb2d0',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-stroke-active',\n\t\t\ttype: 'circle',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['==', 'active', 'true'],\n\t\t\t\t['!=', 'meta', 'midpoint'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 11 : 10,\n\t\t\t\t'circle-color': '#fff',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-active',\n\t\t\ttype: 'circle',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['!=', 'meta', 'midpoint'],\n\t\t\t\t['==', 'active', 'true'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 8.5 : 7.5,\n\t\t\t\t'circle-color': '#fbb03b',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-fill-static',\n\t\t\ttype: 'fill',\n\t\t\tfilter: ['all', ['==', 'mode', 'static'], ['==', '$type', 'Polygon']],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#404040',\n\t\t\t\t'fill-outline-color': '#404040',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-stroke-static',\n\t\t\ttype: 'line',\n\t\t\tfilter: ['all', ['==', 'mode', 'static'], ['==', '$type', 'Polygon']],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#404040',\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-line-static',\n\t\t\ttype: 'line',\n\t\t\tfilter: ['all', ['==', 'mode', 'static'], ['==', '$type', 'LineString']],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#404040',\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-static',\n\t\t\ttype: 'circle',\n\t\t\tfilter: ['all', ['==', 'mode', 'static'], ['==', '$type', 'Point']],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 8.5 : 6.5,\n\t\t\t\t'circle-color': '#404040',\n\t\t\t},\n\t\t},\n\t];\n\treturn featureEditorStyle;\n}\nexport default featureEditorStyle;\n","import { useState, useEffect, useRef, useCallback } from 'react';\n\n\nimport '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css';\nimport MapboxDraw from '@mapbox/mapbox-gl-draw';\n\nimport useMap from '../useMap';\nimport { GeoJSONObject, Feature } from '@turf/turf';\nimport { MapEventType } from 'maplibre-gl';\nimport featureEditorStyle from './utils/FeatureEditorStyle';\n\nexport interface useFeatureEditorProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Input GeoJson data at initialization\n\t */\n\tgeojson?: Feature;\n\t/**\n\t * Callback function that is called each time the GeoJson data has changed within MlFeatureEditor.\n\t * First parameter is the new GeoJson feature.\n\t */\n\tonChange?: (para: GeoJSONObject[]) => void;\n\t/**\n\t * Callback function that is called each time the GeoJson data within has been finished within MlFeatureEditor.\n\t * First parameter is the new GeoJson feature.\n\t */\n\tonFinish?: () => void;\n\t/**\n\t * Feature editor modes:\n\t * - draw_line_string\n\t * - draw_polygon\n\t * - draw_point\n\t * - simple_select\n\t * - direct_select\n\t */\n\tmode?: keyof MapboxDraw.Modes;\n}\n\n/**\n * GeoJson Feature editor that allows to create or manipulate GeoJson data\n */\nconst useFeatureEditor = (props: useFeatureEditorProps) => {\n\tconst draw = useRef<MapboxDraw>();\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst drawToolsInitialized = useRef(false);\n\tconst [drawToolsReady, setDrawToolsReady] = useState(false);\n\tconst [feature, setFeature] = useState<GeoJSONObject[]>();\n\tconst style = featureEditorStyle();\n\n\tconst modeChangeHandler = useCallback(\n\t\t(e: MapEventType & { mode: keyof MapboxDraw.Modes }) => {\n\t\t\tconsole.log('MlFeatureEditor mode change to ' + e.mode);\n\t\t\t//setDrawMode(e.mode);\n\t\t\tif (typeof props.onFinish === 'function' && e.mode === 'simple_select') {\n\t\t\t\tprops.onFinish();\n\t\t\t}\n\t\t},\n\t\t[props.onFinish]\n\t);\n\n\tuseEffect(() => {\n\t\tif (mapHook.map && !drawToolsInitialized.current) {\n\t\t\tdrawToolsInitialized.current = true;\n\n\t\t\tif (\n\t\t\t\tmapHook.map.map.style &&\n\t\t\t\tmapHook.map.map.getSource('mapbox-gl-draw-cold') &&\n\t\t\t\tdraw.current\n\t\t\t) {\n\t\t\t\t// remove old Mapbox-gl-Draw from Mapbox instance when hot-reloading this component during development\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore\n\t\t\t\tdraw.current?.remove();\n\t\t\t}\n\n\t\t\tdraw.current = new MapboxDraw({\n\t\t\t\tdisplayControlsDefault: false,\n\t\t\t\tdefaultMode: props.mode || 'simple_select',\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore\n\t\t\t\tmodes: Object.assign({}, MapboxDraw.modes),\n\t\t\t\tuserProperties: true,\n\t\t\t\tstyles: style,\n\t\t\t});\n\n\t\t\tmapHook.map.addControl(draw.current, 'top-left', mapHook.componentId);\n\n\t\t\tmapHook.map.on('draw.modechange', modeChangeHandler, mapHook.componentId);\n\n\t\t\tsetDrawToolsReady(true);\n\t\t}\n\t}, [mapHook.map, props, drawToolsInitialized, modeChangeHandler]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !drawToolsReady) return;\n\n\t\tconst changeHandler = () => {\n\t\t\tif (draw.current) {\n\t\t\t\t// update drawnFeatures state object\n\t\t\t\tconst currentFeatureCollection = draw.current.getAll?.();\n\t\t\t\tsetFeature(currentFeatureCollection?.features);\n\t\t\t\tif (typeof props.onChange === 'function') {\n\t\t\t\t\tprops.onChange(currentFeatureCollection?.features);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tmapHook.map.on('mouseup', changeHandler);\n\t\tmapHook.map.on('touchend', changeHandler);\n\n\t\treturn () => {\n\t\t\tif (!mapHook.map) return;\n\n\t\t\tmapHook.map.map.off('mouseup', changeHandler);\n\t\t\tmapHook.map.map.off('touchend', changeHandler);\n\t\t};\n\t}, [drawToolsReady, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (draw.current && props.geojson?.geometry) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\tdraw.current.set({ type: 'FeatureCollection', features: [props.geojson] });\n\t\t}\n\t}, [props.geojson, drawToolsReady]);\n\n\tuseEffect(() => {\n\t\tif (props.mode && draw.current && draw.current?.getMode?.() !== props.mode) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\tdraw.current?.changeMode?.(props.mode);\n\t\t\tif (props.mode !== 'simple_select' && props.mode !== 'direct_select') {\n\t\t\t\tdraw.current.set({ type: 'FeatureCollection', features: [] });\n\t\t\t}\n\t\t}\n\t}, [props.mode, mapHook.map]);\n\n\treturn {\n\t\tfeature,\n\t\tdrawToolsReady,\n\t\tdraw: draw.current,\n\t};\n};\n\nexport default useFeatureEditor;\n","import React from 'react';\nimport useFeatureEditor, { useFeatureEditorProps } from '../../hooks/useFeatureEditor/useFeatureEditor';\nimport './MlFeatureEditor.css';\n\nconst MlFeatureEditor: React.FC<useFeatureEditorProps> = (props) => {\n\tuseFeatureEditor({\n\t\tmode: props.mode,\n\t\tgeojson: props.geojson,\n\t\tonChange: props.onChange,\n\t\tonFinish: props.onFinish,\n\t\tmapId: props.mapId,\n\t});\n\n\treturn (\n\t\t<>\n\t\t</>\n\t);\n};\n\nexport default MlFeatureEditor;","import { useState, useEffect, useCallback, useRef } from 'react';\n\nimport useMap, { useMapType } from './useMap';\n\nimport {\n\tGeoJSONSourceSpecification,\n\tLayerSpecification,\n\tMapMouseEvent,\n\tStyle,\n\tMapEventType,\n\tMap,\n\tFilterSpecification,\n} from 'maplibre-gl';\n\nimport MapLibreGlWrapper from '../components/MapLibreMap/lib/MapLibreGlWrapper';\n\nimport { GeoJSONObject } from '@turf/turf';\n\ntype getLayerType = Style['getLayer'];\n\ntype useLayerType = {\n\tmap: MapLibreGlWrapper | undefined;\n\tlayer: ReturnType<getLayerType> | undefined;\n\tlayerId: string;\n\tcomponentId: string;\n\tmapHook: useMapType;\n};\n\nexport type MapEventHandler = (\n\tev: MapMouseEvent & {\n\t\tfeatures?: GeoJSON.Feature[] | undefined;\n\t} & Record<string, unknown>\n) => void;\n\nexport interface useLayerProps {\n\tmapId?: string;\n\tlayerId?: string;\n\tidPrefix?: string;\n\tinsertBeforeLayer?: string;\n\tinsertBeforeFirstSymbolLayer?: boolean;\n\tgeojson?: GeoJSONObject | GeoJSON.Feature | GeoJSON.FeatureCollection;\n\toptions: Partial<\n\t\tLayerSpecification & {\n\t\t\tsource?: GeoJSONSourceSpecification | string;\n\t\t\tid?: string;\n\t\t\tfilter?: FilterSpecification;\n\t\t}\n\t>;\n\tonHover?: (ev: MapEventType & unknown) => Map | void;\n\tonClick?: (ev: MapEventType & unknown) => Map | void;\n\tonLeave?: (ev: MapEventType & unknown) => Map | void;\n}\n\nconst legalLayerTypes = [\n\t'fill',\n\t'line',\n\t'symbol',\n\t'circle',\n\t'heatmap',\n\t'fill-extrusion',\n\t'raster',\n\t'hillshade',\n\t'background',\n];\n\nfunction useLayer(props: useLayerProps): useLayerType {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst layerTypeRef = useRef<string>('');\n\tconst layerPaintConfRef = useRef<string>('');\n\tconst layerLayoutConfRef = useRef<string>('');\n\n\tconst [layer, setLayer] = useState<ReturnType<getLayerType>>();\n\n\tconst initializedRef = useRef<boolean>(false);\n\tconst layerId = useRef(\n\t\tprops.layerId || (props.idPrefix ? props.idPrefix : 'Layer-') + mapHook.componentId\n\t);\n\n\tconst createLayer = useCallback(() => {\n\t\tif (!mapHook.map || mapHook?.map.cancelled) return;\n\n\t\tif (mapHook.map.map.getLayer(layerId.current)) {\n\t\t\tmapHook.cleanup();\n\t\t}\n\t\tif (typeof props?.options?.source !== 'string' && mapHook.map.map.getSource(layerId.current)) {\n\t\t\tmapHook.map.map.removeSource(layerId.current);\n\t\t}\n\n\t\tif (typeof props.options.source === 'string') {\n\t\t\tif (props.options.source === '' || !mapHook.map.map.getSource(props.options.source)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\ttypeof props?.options?.source !== 'string' &&\n\t\t\t!props.geojson &&\n\t\t\t!props?.options?.source?.data &&\n\t\t\tprops?.options?.type !== 'background'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof props.options.type === 'undefined') {\n\t\t\treturn;\n\t\t}\n\n\t\tinitializedRef.current = true;\n\n\t\ttry {\n\t\t\tmapHook.map.addLayer(\n\t\t\t\t{\n\t\t\t\t\t...props.options,\n\t\t\t\t\t...(props.geojson &&\n\t\t\t\t\t(!props.options?.source ||\n\t\t\t\t\t\t(typeof props?.options?.source !== 'string' &&\n\t\t\t\t\t\t\tprops.options?.source?.attribution &&\n\t\t\t\t\t\t\t!props.options?.source?.type)) // if either options.source isn't defined or only options.source.attribution is defined\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\t\t\ttype: 'geojson',\n\t\t\t\t\t\t\t\t\tdata: props.geojson,\n\t\t\t\t\t\t\t\t\tattribution: typeof props?.options?.source !== 'string' && props.options.source?.attribution\n\t\t\t\t\t\t\t\t\t\t? props.options.source?.attribution\n\t\t\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-mixed-spaces-and-tabs\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\t...(typeof props.options?.source === 'string'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tsource: props.options.source,\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-mixed-spaces-and-tabs\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\tid: layerId.current,\n\t\t\t\t} as LayerSpecification,\n\t\t\t\tprops.insertBeforeLayer\n\t\t\t\t\t? props.insertBeforeLayer\n\t\t\t\t\t: props.insertBeforeFirstSymbolLayer\n\t\t\t\t\t? mapHook.map.firstSymbolLayer\n\t\t\t\t\t: undefined,\n\t\t\t\tmapHook.componentId\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tconsole.log(e);\n\t\t}\n\t\tsetLayer(() => mapHook.map?.map.getLayer(layerId.current));\n\n\t\tif (typeof props.onHover !== 'undefined') {\n\t\t\tmapHook.map.on('mousemove', layerId.current, props.onHover, mapHook.componentId);\n\t\t}\n\n\t\tif (typeof props.onClick !== 'undefined') {\n\t\t\tmapHook.map.on('click', layerId.current, props.onClick, mapHook.componentId);\n\t\t}\n\n\t\tif (typeof props.onLeave !== 'undefined') {\n\t\t\tmapHook.map.on('mouseleave', layerId.current, props.onLeave, mapHook.componentId);\n\t\t}\n\n\t\t// recreate layer if style has changed\n\t\tmapHook.map.on(\n\t\t\t'styledata',\n\t\t\t() => {\n\t\t\t\tif (initializedRef.current && !mapHook.map?.map.getLayer(layerId.current)) {\n\t\t\t\t\tcreateLayer();\n\t\t\t\t}\n\t\t\t},\n\t\t\tmapHook.componentId\n\t\t);\n\n\t\tlayerPaintConfRef.current = JSON.stringify(props.options?.paint);\n\t\tlayerLayoutConfRef.current = JSON.stringify(props.options?.layout);\n\t\tlayerTypeRef.current = props.options.type as LayerSpecification['type'];\n\t}, [props, mapHook]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\t\tif (!props.geojson && !props.options.source && props?.options?.type !== 'background') return;\n\n\t\tif (\n\t\t\tmapHook.map?.cancelled === false &&\n\t\t\tinitializedRef.current &&\n\t\t\tmapHook?.map?.map?.getLayer?.(layerId.current) &&\n\t\t\t(legalLayerTypes.indexOf(props.options.type as LayerSpecification['type']) === -1 ||\n\t\t\t\t(legalLayerTypes.indexOf(props.options.type as LayerSpecification['type']) !== -1 &&\n\t\t\t\t\tprops.options.type === layerTypeRef.current))\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tcreateLayer();\n\t}, [mapHook.map, mapHook.mapIsReady, props, createLayer]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tmapHook.map?.cancelled === true ||\n\t\t\t!initializedRef.current ||\n\t\t\t!mapHook.map?.map?.getSource?.(layerId.current)\n\t\t)\n\t\t\treturn;\n\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t//@ts-ignore setData only exists on GeoJsonSource\n\t\tmapHook.map.map.getSource(layerId.current)?.setData?.(props.geojson);\n\t}, [props.geojson, mapHook.map, props.options.type]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tmapHook.map?.cancelled === true ||\n\t\t\t!mapHook.map ||\n\t\t\t!mapHook.map?.map?.getLayer?.(layerId.current) ||\n\t\t\t!initializedRef.current ||\n\t\t\tprops.options.type !== layerTypeRef.current\n\t\t)\n\t\t\treturn;\n\n\t\tlet key;\n\n\t\tconst layoutString = JSON.stringify(props.options.layout);\n\t\tif (props.options.layout && layoutString !== layerLayoutConfRef.current) {\n\t\t\tconst oldLayout = JSON.parse(layerLayoutConfRef.current);\n\n\t\t\tfor (key in props.options.layout) {\n\t\t\t\tif (props.options.layout?.[key] && props.options.layout[key] !== oldLayout[key]) {\n\t\t\t\t\tmapHook.map.map.setLayoutProperty(layerId.current, key, props.options.layout[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tlayerLayoutConfRef.current = layoutString;\n\t\t}\n\n\t\tconst paintString = JSON.stringify(props.options.paint);\n\t\tif (paintString !== layerPaintConfRef.current) {\n\t\t\tconst oldPaint = JSON.parse(layerPaintConfRef.current);\n\t\t\tfor (key in props.options.paint) {\n\t\t\t\tif (props.options.paint?.[key] && props.options.paint[key] !== oldPaint[key]) {\n\t\t\t\t\tmapHook.map.map.setPaintProperty(layerId.current, key, props.options.paint[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tlayerPaintConfRef.current = paintString;\n\t\t}\n\t}, [props.options, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t!props.insertBeforeLayer ||\n\t\t\t!mapHook.map ||\n\t\t\t!mapHook.map.getLayer(props.insertBeforeLayer) ||\n\t\t\t!mapHook.map.getLayer(layerId.current)\n\t\t)\n\t\t\treturn;\n\n\t\tmapHook.map.moveLayer(layerId.current, props.insertBeforeLayer);\n\t}, [mapHook.map, props.insertBeforeLayer]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tinitializedRef.current = false;\n\t\t\tmapHook.cleanup();\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\ttypeof props?.options?.source !== 'string' ||\n\t\t\t!mapHook.map ||\n\t\t\t(typeof props?.options?.source === 'string' &&\n\t\t\t\tmapHook?.map?.getLayer?.(layerId.current) &&\n\t\t\t\tmapHook?.map?.getSource?.(props.options.source))\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst findSourceHandler = () => {\n\t\t\tif (\n\t\t\t\ttypeof props?.options?.source === 'string' &&\n\t\t\t\tmapHook?.map?.getSource?.(props.options.source)\n\t\t\t) {\n\t\t\t\tcreateLayer();\n\t\t\t}\n\t\t};\n\n\t\tmapHook.map.on('sourcedata', findSourceHandler);\n\n\t\treturn () => {\n\t\t\tif (mapHook?.map) {\n\t\t\t\tmapHook.map.off('sourcedata', findSourceHandler);\n\t\t\t}\n\t\t};\n\t}, [mapHook.map, props.options?.source]);\n\n\treturn {\n\t\tmap: mapHook.map,\n\t\tlayer: layer,\n\t\tlayerId: layerId.current,\n\t\tcomponentId: mapHook.componentId,\n\t\tmapHook: mapHook,\n\t};\n}\n\nuseLayer.defaultProps = {};\n\nexport default useLayer;\n","import React from \"react\";\n\nimport { v4 as uuidv4 } from \"uuid\";\nimport useLayer from \"../../hooks/useLayer\";\n\nexport interface MlFillExtrusionLayerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Id of the layer that will be added by this component\n\t */\n\tlayerId?: string;\n\t/**\n\t * Paint properties of the config object that is passed to the MapLibreGl.addLayer call. All\n\t * available properties are documented in the MapLibreGl documentation\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill-extrusion\n\t */\n\tpaint?: object;\n\t/**\n\t * Source id of a vector tile source containing the geometries to use for this fill-extrusion\n\t * layer.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#source-layer\n\t */\n\tsourceId?: string;\n\t/**\n\t * Layer id from a vector tile source containing the geometries to use for this fill-extrusion\n\t * layer.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#source-layer\n\t */\n\tsourceLayer?: string;\n\t/**\n\t * This layer will be hidden for zoom levels lower than defined on this property\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#minzoom\n\t */\n\tminZoom?: number;\n}\n\n/**\n * Adds a fill extrusion layer to the MapLibre instance reference by props.mapId\n *\n */\nconst MlFillExtrusionLayer = (props: MlFillExtrusionLayerProps) => {\n\tuseLayer({\n\t\tmapId: props.mapId,\n\t\tlayerId: props.layerId || \"MlFillExtrusionLayer-\" + uuidv4(),\n\t\toptions: {\n\t\t\tid: \"\",\n\t\t\ttype: \"fill-extrusion\",\n\t\t\tsource: props.sourceId || \"openmaptiles\",\n\t\t\t\"source-layer\": props.sourceLayer || \"building\",\n\t\t\tminzoom: props.minZoom || 6,\n\t\t\tpaint: {\n\t\t\t\t...props.paint,\n\t\t\t},\n\t\t},\n\t\tinsertBeforeFirstSymbolLayer: true,\n\t});\n\n\treturn <></>;\n};\n\nMlFillExtrusionLayer.defaultProps = {\n\tmapId: undefined,\n\tpaint: {\n\t\t\"fill-extrusion-color\": \"hsl(196, 61%, 83%)\",\n\t\t\"fill-extrusion-height\": {\n\t\t\tproperty: \"render_height\",\n\t\t\ttype: \"identity\",\n\t\t},\n\t\t\"fill-extrusion-base\": {\n\t\t\tproperty: \"render_min_height\",\n\t\t\ttype: \"identity\",\n\t\t},\n\t\t\"fill-extrusion-opacity\": 1,\n\t},\n};\n\nexport default MlFillExtrusionLayer;\n","import { LayerSpecification, RasterLayerSpecification } from 'maplibre-gl';\n\nconst getDefaultPaintPropsByType = (\n\ttype: string,\n\tdefaultPaintOverrides?: { [key: string]: unknown }\n): Exclude<LayerSpecification['paint'], RasterLayerSpecification['paint']> => {\n\tswitch (type) {\n\t\tcase 'fill':\n\t\t\tif (defaultPaintOverrides?.fill) {\n\t\t\t\treturn defaultPaintOverrides.fill;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t'fill-color': 'rgba(10,240,256,0.6)',\n\t\t\t\t'fill-outline-color': 'rgba(20,230,256,0.8)',\n\t\t\t};\n\t\tcase 'line':\n\t\t\tif (defaultPaintOverrides?.line) {\n\t\t\t\treturn defaultPaintOverrides.line;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t'line-color': 'rgb(203,211,2)',\n\t\t\t\t'line-width': 5,\n\t\t\t\t'line-blur': 0,\n\t\t\t};\n\t\tcase 'circle':\n\t\t\tif (defaultPaintOverrides?.circle) {\n\t\t\t\treturn defaultPaintOverrides.circle;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t'circle-color': 'rgba(10,240,256,0.8)',\n\t\t\t\t'circle-stroke-color': '#fff',\n\t\t\t\t'circle-stroke-width': 2,\n\t\t\t\t'circle-radius': 4,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn {};\n\t}\n};\n\nexport default getDefaultPaintPropsByType;\n","import { Feature, FeatureCollection } from \"@turf/turf\";\nimport { LayerSpecification } from \"maplibre-gl\";\n\nconst mapGeometryTypesToLayerTypes = {\n\tPosition: \"circle\",\n\tPoint: \"circle\",\n\tMultiPoint: \"circle\",\n\tLineString: \"line\",\n\tMultiLineString: \"line\",\n\tPolygon: \"fill\",\n\tMultiPolygon: \"fill\",\n\tGeometryCollection: \"circle\",\n};\n\nconst getDefaulLayerTypeByGeometry: Function = (\n\tgeojson: Feature | FeatureCollection\n): LayerSpecification['type'] => {\n\tif (geojson?.type === \"Feature\") {\n\t\treturn mapGeometryTypesToLayerTypes?.[geojson?.geometry?.type]\n\t\t\t? mapGeometryTypesToLayerTypes[geojson.geometry.type]\n\t\t\t: \"circle\";\n\t}\n\tif (geojson?.type === \"FeatureCollection\") {\n\t\tif (geojson.features.length) {\n\t\t\treturn getDefaulLayerTypeByGeometry(geojson.features[0]);\n\t\t}\n\t\treturn \"circle\";\n\t}\n\treturn \"fill\";\n};\nexport default getDefaulLayerTypeByGeometry;\n","import { useEffect, useRef, useCallback, useState } from 'react';\nimport useMap, { useMapType } from './useMap';\nimport MapLibreGlWrapper from '../components/MapLibreMap/lib/MapLibreGlWrapper';\nimport { Source, SourceSpecification } from 'maplibre-gl';\n\ntype useSourceType = {\n\tmap: MapLibreGlWrapper | undefined;\n\tsource: Source | undefined;\n\tcomponentId: string;\n\tmapHook: useMapType;\n};\ninterface useSourceProps {\n\tmapId?: string;\n\tidPrefix?: string;\n\tsource: SourceSpecification;\n\tsourceId: string;\n}\n\nfunction useSource(props: useSourceProps): useSourceType {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\n\tconst [source, setSource] = useState<Source>();\n\tconst sourceId = useRef(\n\t\tprops.sourceId || (props.idPrefix ? props.idPrefix : 'Source-') + mapHook.componentId\n\t);\n\n\tconst removeSource = useCallback(() => {\n\t\tif (mapHook.map && mapHook.map?.style?._layers) {\n\t\t\tfor (const [layerId, layer] of Object.entries(mapHook.map.map.style._layers)) {\n\t\t\t\tif (layer.source === sourceId.current) {\n\t\t\t\t\tmapHook.map.removeLayer(layerId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (mapHook.map.getSource(sourceId.current)) {\n\t\t\t\tmapHook.map.removeSource(sourceId.current);\n\t\t\t}\n\t\t}\n\t}, [mapHook.map]);\n\n\tconst createSource = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tif (props.source.type === 'geojson' && !props.source.data) return;\n\n\t\tif (mapHook.map.map.getSource(sourceId.current)) {\n\t\t\tremoveSource();\n\t\t}\n\n\t\tmapHook.map?.addSource(sourceId.current, {\n\t\t\t...props.source,\n\t\t});\n\n\t\tsetSource(mapHook.map.map.getSource(sourceId.current));\n\t}, [props, mapHook, removeSource]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map?.map?.getSource(sourceId.current)) return;\n\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t//@ts-ignore setData only exists on GeoJsonSource\n\t\tmapHook.map.map.getSource(sourceId.current)?.setData?.(props.source.data);\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t//@ts-ignore data only exists on GeoJsonSource\n\t}, [props.source?.data]);\n\n\tuseEffect(() => {\n\t\tif (mapHook?.map?.map?.getSource?.(props.sourceId) && props.sourceId === sourceId.current)\n\t\t\treturn;\n\n\t\tsourceId.current = props.sourceId;\n\t\tcreateSource();\n\t}, [mapHook.map, props, createSource]);\n\n\t//cleanup\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tremoveSource();\n\t\t};\n\t}, [removeSource]);\n\n\treturn {\n\t\tmap: mapHook.map,\n\t\tsource: source,\n\t\tcomponentId: mapHook.componentId,\n\t\tmapHook: mapHook,\n\t};\n}\n\nexport default useSource;\n","import React, { useEffect, useRef } from 'react';\n\nimport useLayer from '../../hooks/useLayer';\n\nimport { v4 as uuidv4 } from 'uuid';\n\nimport getDefaultPaintPropsByType from './util/getDefaultPaintPropsByType';\nimport getDefaulLayerTypeByGeometry from './util/getDefaultLayerTypeByGeometry';\nimport { Feature, FeatureCollection } from '@turf/turf';\nimport { useLayerProps } from '../../hooks/useLayer';\nimport useSource from '../../hooks/useSource';\n\nimport {\n\tLineLayerSpecification,\n\tCircleLayerSpecification,\n\tFillLayerSpecification,\n\tLayerSpecification,\n\tRasterLayerSpecification,\n} from 'maplibre-gl';\n\nexport type MlGeoJsonLayerProps = {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t * This layer will not be added to the maplibre-gl instance until a layer with an\n\t * id that matches the value of insertBeforeLayer is created.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Id of the new layer and source that are added to the MapLibre instance\n\t */\n\tlayerId?: string;\n\t/**\n\t * GeoJSON data that is supposed to be rendered by this component.\n\t */\n\tgeojson?: GeoJSON.Feature | GeoJSON.FeatureCollection | Feature | FeatureCollection | undefined;\n\t/**\n\t * Type of the layer that will be added to the MapLibre instance.\n\t * All types from LayerSpecification union type are supported except the type from\n\t * RasterLayerSpecification\n\t */\n\ttype?: Exclude<LayerSpecification['type'], RasterLayerSpecification['type']>;\n\t/**\n\t * @deprecated The property should not be used. Please use the options.paint property instead. This will be removed in the next major release.\n\t * Paint property object, that is passed to the addLayer call.\n\t * Possible props depend on the layer type.\n\t * See https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/\n\t * Some examples are:\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t * All paint types from LayerSpecification union type are supported except the paint type from\n\t * RasterLayerSpecification\n\t */\n\n\tpaint?: Exclude<LayerSpecification['paint'], RasterLayerSpecification['paint']>;\n\t/**\n\t * @deprecated The property should not be used. Please use the options.layout property instead. This will be removed in the next major release.\n\t * Layout property object, that is passed to the addLayer call.\n\t * Possible props depend on the layer type.\n\t * See https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/\n\t * Some examples are:\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t * All layout types from LayerSpecification union type are supported except the layout type from\n\t * RasterLayerSpecification\n\n\t */\n\tlayout?: LayerSpecification['layout'];\n\n\t/**\n\t * Javascript object that is spread into the addLayer commands first parameter.\n\t */\n\toptions?: useLayerProps['options'];\n\t/**\n\t * Javascript object with optional properties \"fill\", \"line\", \"circle\" to override implicit layer type default paint properties.\n\t */\n\tdefaultPaintOverrides?: {\n\t\tcircle?: CircleLayerSpecification['paint'];\n\t\tfill?: FillLayerSpecification['paint'];\n\t\tline?: LineLayerSpecification['paint'];\n\t};\n\t/**\n\t * Property name in the GeoJSON object to be used as a label.\n\t */\n\tlabelProp?: string;\n\t/**\n\t * Label configuration options.\n\t */\n\tlabelOptions?: useLayerProps['options'];\n\n\t/**\n\t * Hover event handler that is executed whenever a geometry rendered by this component is hovered.\n\t */\n\tonHover?: useLayerProps['onHover'];\n\t/**\n\t * Click event handler that is executed whenever a geometry rendered by this component is clicked.\n\t */\n\tonClick?: useLayerProps['onClick'];\n\t/**\n\t * Leave event handler that is executed whenever a geometry rendered by this component is\n\t * left/unhovered.\n\t */\n\tonLeave?: useLayerProps['onLeave'];\n};\n\n/**\n * Adds source and layer to display GeoJSON data on the map.\n *\n * @component\n */\n\nconst MlGeoJsonLayer = (props: MlGeoJsonLayerProps) => {\n\tconst layerType = props.type || getDefaulLayerTypeByGeometry(props.geojson);\n\tconst layerId = useRef(props.layerId || 'MlGeoJsonLayer-' + uuidv4());\n\tconst labelLayerId = `label-${layerId.current}`;\n\n\tuseEffect(() => {\n\t\tif (!props.layerId) {\n\t\t\tlayerId.current = 'MlGeoJsonLayer-' + uuidv4();\n\t\t} else {\n\t\t\tlayerId.current = props.layerId;\n\t\t}\n\t}, [props.layerId]);\n\n\tuseSource({\n\t\tmapId: props.mapId,\n\t\tsourceId: 'source-' + layerId.current,\n\t\tsource: {\n\t\t\ttype: 'geojson',\n\t\t\tdata: props.geojson as unknown as (string | GeoJSON.GeoJSON),\n\t\t\t...(typeof props?.options?.source !== 'undefined' &&\n\t\t\ttypeof props?.options?.source !== 'string'\n\t\t\t\t? props.options.source\n\t\t\t\t: {}),\n\t\t},\n\t});\n\n\tuseLayer({\n\t\tmapId: props.mapId,\n\t\tlayerId: layerId.current,\n\t\toptions: {\n\t\t\t...props.options,\n\t\t\tsource: 'source-' + layerId.current,\n\t\t\tpaint: {\n\t\t\t\t...(props.paint || getDefaultPaintPropsByType(layerType, props.defaultPaintOverrides)),\n\t\t\t\t...props?.options?.paint,\n\t\t\t},\n\t\t\tlayout: {\n\t\t\t\t...(props?.layout || {}),\n\t\t\t\t...props?.options?.layout,\n\t\t\t},\n\t\t\ttype: layerType as LayerSpecification['type'],\n\t\t} as useLayerProps['options'],\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t\tonHover: props.onHover,\n\t\tonClick: props.onClick,\n\t\tonLeave: props.onLeave,\n\t});\n\n\t// Label useLayer hook can't be called conditionally.\n\t// Using it with geojson and options.source undefined will cause it to return without creating a layer.\n\tuseLayer({\n\t\tmapId: props.mapId,\n\t\toptions: {\n\t\t\tsource: props.labelProp ? 'source-' + layerId.current : undefined,\n\t\t\tid: labelLayerId,\n\t\t\ttype: 'symbol',\n\t\t\tmaxzoom: 24,\n\t\t\tminzoom: 1,\n\t\t\t...(props?.labelOptions ? props.labelOptions : {}),\n\t\t\t...(props?.options?.filter ? { filter: props.options.filter } : {}),\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': `{${props.labelProp}}`,\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t...(props?.labelOptions?.layout ? props.labelOptions.layout : {}),\n\t\t\t\t...(props?.layout?.visibility ? { visibility: props.layout.visibility } : {}),\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#fefefe',\n\t\t\t\t'text-color': '#121212',\n\t\t\t\t...(props?.labelOptions?.paint ? props.labelOptions.paint : {}),\n\t\t\t},\n\t\t} as useLayerProps['options'],\n\t});\n\n\treturn <></>;\n};\n\nexport default MlGeoJsonLayer;\n","import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport useMap from '../../hooks/useMap';\nimport MlGeoJsonLayer from '../MlGeoJsonLayer/MlGeoJsonLayer';\n\nimport { Button } from '@mui/material';\nimport GpsFixedIcon from '@mui/icons-material/GpsFixed';\n\nimport {\n\tpoint,\n\tcircle,\n\tlineArc,\n\tFeature,\n\tPoint,\n\tbbox,\n\tbooleanContains,\n\tbboxPolygon,\n\tBBox,\n} from '@turf/turf';\nimport { CircleLayerSpecification, FillLayerSpecification, LngLatBoundsLike } from 'maplibre-gl';\n\nexport interface MlFollowGpsProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * By default a dot will be shown on the map at the user's location. Set to false to disable.\n\t */\n\tshowUserLocation?: boolean;\n\t/**\n\t * By default a cone will be shown on the map at the user's location to indicate the device's orientation.\n\t * Set to false to disable.\n\t */\n\tshowOrientation?: boolean;\n\t/**\n\t * By default, if showUserLocation is true, a transparent circle will be drawn around the user location\n\t * indicating the accuracy (95% confidence level) of the user's location. Set to false to disable.\n\t */\n\tshowAccuracyCircle?: boolean;\n\t/**\n\t * Use the MapLibre.flyTo function to center the map to the current users position if true.\n\t * Otherwise the MapLibre.setCenter function is used.\n\t */\n\tuseFlyTo?: boolean;\n\t/**\n\t * Center map to current position once updated location data is recieved.\n\t * \"false\" will center the map once on component activation and then display the updated user location on the map.\n\t */\n\tcenterUserPosition?: boolean;\n\t/**\n\t * Orientation cone paint property object, that is passed to the MlGeoJsonLayer responsible for drawing the orientation cone polygon.\n\t * Use any available paint prop from layer type \"fill\".\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t */\n\torientationConePaint?: FillLayerSpecification['paint'];\n\t/**\n\t * Position circle paint property object, that is passed to the MlGeoJsonLayer responsible for drawing the position circle.\n\t * Use any available paint prop from layer type \"circle\".\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle\n\t */\n\tcirclePaint?: CircleLayerSpecification['paint'];\n\t/**\n\t * Active button font color\n\t */\n\tonColor?: string;\n\t/**\n\t * Inactive button font color\n\t */\n\toffColor?: string;\n\t/**\n\t * Accuracy paint property object, that is passed to the MlGeoJsonLayer responsible for drawing the accuracy polygon.\n\t * Use any available paint prop from layer type \"fill\".\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t */\n\taccuracyPaint?: FillLayerSpecification['paint'];\n}\n\n/**\n * Adds a button that makes the map follow the users GPS position using\n * navigator.geolocation.watchPosition if activated\n *\n */\nconst MlFollowGps = (props: MlFollowGpsProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [isFollowed, setIsFollowed] = useState(false);\n\tconst [userLocationGeoJson, setUserLocationGeoJson] = useState<Feature<Point>>();\n\tconst [locationAccessDenied, setLocationAccessDenied] = useState(false);\n\tconst [accuracyGeoJson, setAccuracyGeoJson] = useState<Feature>();\n\tconst [deviceOrientation, setDeviceOrientation] = useState(0);\n\tconst initiallyCentered = useRef(false);\n\n\tconst getLocationSuccess = useCallback(\n\t\t(pos: GeolocationPosition) => {\n\t\t\tif (!mapHook.map) return;\n\n\t\t\tif ((!props.centerUserPosition && !initiallyCentered.current) || props.centerUserPosition) {\n\t\t\t\tif (props.useFlyTo) {\n\t\t\t\t\tmapHook.map.map.flyTo({\n\t\t\t\t\t\tcenter: [pos.coords.longitude, pos.coords.latitude],\n\t\t\t\t\t\tzoom: 18,\n\t\t\t\t\t\tspeed: 1,\n\t\t\t\t\t\tcurve: 1,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tmapHook.map.map.setCenter([pos.coords.longitude, pos.coords.latitude]);\n\t\t\t\t}\n\n\t\t\t\tinitiallyCentered.current = true;\n\t\t\t}\n\t\t\tif (!props.showUserLocation) return;\n\t\t\tconst geoJsonPoint = point([pos.coords.longitude, pos.coords.latitude]);\n\t\t\tsetUserLocationGeoJson(geoJsonPoint);\n\t\t\tsetAccuracyGeoJson(circle(geoJsonPoint, pos.coords.accuracy / 1000));\n\t\t},\n\t\t[mapHook.map, props]\n\t);\n\n\tconst getLocationError = () => {\n\t\tconsole.log('Access of user location denied');\n\t\tsetLocationAccessDenied(true);\n\t};\n\n\tconst orientationCone = useMemo(() => {\n\t\tif (!userLocationGeoJson) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst radius = 0.02;\n\t\tconst bearing1 = deviceOrientation - 15;\n\t\tconst bearing2 = deviceOrientation + 15;\n\t\tconst options = { steps: 65 };\n\t\tconst arc = lineArc(userLocationGeoJson, radius, bearing1, bearing2, options);\n\t\tconst copy = arc;\n\t\tcopy.geometry.coordinates.push(userLocationGeoJson.geometry.coordinates);\n\t\tcopy.geometry.coordinates.slice(0, 0);\n\t\treturn copy;\n\t}, [deviceOrientation, userLocationGeoJson]);\n\n\tconst handleOrientation = (event: DeviceOrientationEvent) => {\n\t\tif (event?.alpha) {\n\t\t\tsetDeviceOrientation(-event.alpha);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (isFollowed) {\n\t\t\tconst _handleOrientation = handleOrientation;\n\t\t\twindow.addEventListener('deviceorientation', _handleOrientation);\n\t\t\treturn () => {\n\t\t\t\twindow.removeEventListener('deviceorientation', _handleOrientation);\n\t\t\t};\n\t\t} else {\n\t\t\tinitiallyCentered.current = false;\n\t\t}\n\t\treturn;\n\t}, [isFollowed]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tif (isFollowed) {\n\t\t\tconst _watchId = navigator.geolocation.watchPosition(getLocationSuccess, getLocationError);\n\n\t\t\treturn () => {\n\t\t\t\tnavigator.geolocation.clearWatch(_watchId);\n\t\t\t};\n\t\t}\n\t\treturn;\n\t}, [mapHook.map, isFollowed, getLocationSuccess]);\n\n\tuseEffect(() => {\n\t\tif (accuracyGeoJson?.type) {\n\t\t\tconst getBounds = mapHook.map?.getBounds();\n\t\t\tconst actualBounds = [\n\t\t\t\tgetBounds?._ne.lng,\n\t\t\t\tgetBounds?._ne.lat,\n\t\t\t\tgetBounds?._sw.lng,\n\t\t\t\tgetBounds?._sw.lat,\n\t\t\t];\n\t\t\tconst accurancyBounds = bbox(accuracyGeoJson) as LngLatBoundsLike;\n\t\t\tconst contained = booleanContains(\n\t\t\t\tbboxPolygon(actualBounds as BBox),\n\t\t\t\tbboxPolygon(accurancyBounds as BBox)\n\t\t\t);\n\n\t\t\tif (contained === false) {\n\t\t\t\tmapHook.map?.fitBounds(accurancyBounds, {\n\t\t\t\t\tpadding: { top: 25, bottom: 25 },\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, [accuracyGeoJson]);\n\n\treturn (\n\t\t<>\n\t\t\t{isFollowed && userLocationGeoJson && (\n\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\tgeojson={accuracyGeoJson}\n\t\t\t\t\ttype={'fill'}\n\t\t\t\t\tpaint={{\n\t\t\t\t\t\t'fill-color': '#cbd300',\n\t\t\t\t\t\t'fill-opacity': 0.3,\n\t\t\t\t\t\t...props.accuracyPaint,\n\t\t\t\t\t}}\n\t\t\t\t\tinsertBeforeLayer={props.insertBeforeLayer}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{isFollowed && orientationCone && (\n\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\tgeojson={orientationCone}\n\t\t\t\t\ttype={'fill'}\n\t\t\t\t\tpaint={{\n\t\t\t\t\t\t'fill-color': '#0000ff',\n\t\t\t\t\t\t'fill-antialias': false,\n\t\t\t\t\t\t'fill-opacity': 0.3,\n\t\t\t\t\t\t...props.orientationConePaint,\n\t\t\t\t\t}}\n\t\t\t\t\tinsertBeforeLayer={props.insertBeforeLayer}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{isFollowed && userLocationGeoJson && (\n\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\tgeojson={userLocationGeoJson}\n\t\t\t\t\ttype={'circle'}\n\t\t\t\t\tpaint={{\n\t\t\t\t\t\t'circle-color': '#009ee0',\n\t\t\t\t\t\t'circle-radius': 5,\n\t\t\t\t\t\t'circle-stroke-color': '#fafaff',\n\t\t\t\t\t\t'circle-stroke-width': 1,\n\t\t\t\t\t\t...props.circlePaint,\n\t\t\t\t\t}}\n\t\t\t\t\tinsertBeforeLayer={props.insertBeforeLayer}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<Button\n\t\t\t\tvariant=\"navtools\"\n\t\t\t\tsx={{\n\t\t\t\t\tzIndex: 1002,\n\t\t\t\t\tcolor: isFollowed\n\t\t\t\t\t\t? (theme) => theme.palette.GPS.GPSActiveColor\n\t\t\t\t\t\t: (theme) => theme.palette.GPS.GPSInactiveColor,\n\t\t\t\t\tbackgroundColor: isFollowed\n\t\t\t\t\t\t? (theme) => theme.palette.GPS.GPSActiveBackgroundColor\n\t\t\t\t\t\t: (theme) => theme.palette.navigation.navColor,\n\t\t\t\t}}\n\t\t\t\tdisabled={locationAccessDenied}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetIsFollowed(!isFollowed);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<GpsFixedIcon sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t</Button>\n\t\t</>\n\t);\n};\n\nMlFollowGps.defaultProps = {\n\tmapId: undefined,\n\toffColor: '#666',\n\tshowAccuracyCircle: true,\n\tshowUserLocation: true,\n\tshowOrientation: true,\n\tcenterUserPosition: true,\n\tuseFlyTo: false,\n};\n\nexport default MlFollowGps;\n","import React, { useRef, useEffect, useState } from 'react';\n\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useLayer from '../../hooks/useLayer';\nimport useMap from '../../hooks/useMap';\nimport { SymbolLayerSpecification } from 'maplibre-gl';\nimport { Feature, FeatureCollection } from '@turf/turf';\n\nexport interface MlImageMarkerLayerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Id of the layer that will be added by this component to the maplibre-gl instance\n\t */\n\tlayerId?: string;\n\t/**\n\t * Id of the image that will be added by this component to the maplibre-gl instance\n\t */\n\timageId?: string;\n\t/**\n\t * Path or URL to a supported raster image\n\t */\n\timgSrc?: string;\n\t/**\n\t * Javascript object that is passed the addLayer command as first parameter.\n\t */\n\toptions?: {\n\t\tsource?: { type?: string | undefined; data: Feature | FeatureCollection | undefined };\n\t\tlayout?: SymbolLayerSpecification['layout'];\n\t\tpaint?: SymbolLayerSpecification['paint'];\n\t};\n}\n\nconst MlImageMarkerLayer = (props: MlImageMarkerLayerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [imageId, setImageId] = useState<string>();\n\tconst imageIdRef = useRef(props.imageId || 'img_' + uuidv4());\n\tconst layerId = useRef(props.layerId || 'MlImageMarkerLayer-' + mapHook.componentId);\n\n\tuseLayer({\n\t\tgeojson: props.options?.source?.data,\n\t\tlayerId: layerId.current,\n\t\toptions: {\n\t\t\ttype: 'symbol',\n\t\t\tlayout: {\n\t\t\t\t...props.options?.layout,\n\t\t\t\t'icon-image': imageId || imageIdRef.current,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t...props.options?.paint,\n\t\t\t},\n\t\t},\n\t});\n\n\tconst createImage = (mapHook: ReturnType<typeof useMap>, props: MlImageMarkerLayerProps) => {\n\t\tif (!mapHook.map) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (props.imgSrc && !mapHook.map.map.hasImage(imageIdRef.current)) {\n\t\t\tmapHook.map.map.loadImage(props.imgSrc).then(function (res) {\n\t\t\t\tif (!res?.data){\n\t\t\t\t\tconsole.log('image ' + props.imgSrc + 'could not be loaded');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!mapHook.map || mapHook.map.map.hasImage(imageIdRef.current)) return;\n\n\t\t\t\tmapHook.map.addImage(\n\t\t\t\t\timageIdRef.current,\n\t\t\t\t\tres.data as unknown as ImageData,\n\t\t\t\t\tmapHook.componentId\n\t\t\t\t);\n\n\t\t\t\tsetImageId(imageIdRef.current);\n\t\t\t});\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tif (props.imgSrc) {\n\t\t\tcreateImage(mapHook, props);\n\t\t}\n\t}, [props, mapHook]);\n\n\treturn <></>;\n};\n\nexport default MlImageMarkerLayer;\n","import React, { useEffect, useState } from 'react';\nimport MlFeatureEditor from '../MlFeatureEditor/MlFeatureEditor';\nimport * as turf from '@turf/turf';\nimport { Feature, GeoJSONObject } from '@turf/turf';\nimport { Typography } from '@mui/material';\n\nexport interface MlMeasureToolProps {\n\t/**\n\t * String that specify if the Tool measures an area (\"polygon\") or length (\"line\")\n\t */\n\tmeasureType?: 'polygon' | 'line';\n\t/**\n\t * String that dictates which unit of measurement is used\n\t */\n\tunit?: turf.Units;\n\t/**\n\t * Callback function that is called each time measurment geometry within has changed within MlMeasureTool.\n\t * First parameter is the new GeoJson feature.\n\t */\n\tonChange?: (options: {\n\t\tvalue: number;\n\t\tunit: string | undefined;\n\t\tgeojson: GeoJSONObject;\n\t\tgeometries?: [];\n\t}) => void;\n\t/**\n\t * Callback function that is called by the end of drawing geometries.\n\t */\n\tonFinish?: () => void;\n}\n\n//const unitSquareConvert = {\n//\tkilometers: 1,\n//\tmiles: 1 / 2.58998811,\n//};\nfunction getUnitSquareMultiplier(measureType: string | undefined) {\n\treturn measureType === 'miles' ? 1 / 2.58998811 : 1;\n}\nfunction getUnitLabel(measureType: string | undefined) {\n\treturn measureType === 'miles' ? 'mi' : 'km';\n}\n\nconst MlMeasureTool = (props: MlMeasureToolProps) => {\n\tconst [displayValue, setDisplayValue] = useState({ value: 0, label: 'km' });\n\tconst [currentFeatures, setCurrentFeatures] = useState<GeoJSONObject[]>([]);\n\n\tuseEffect(() => {\n\t\tif (currentFeatures[0]) {\n\t\t\tconst result =\n\t\t\t\tprops.measureType === 'polygon'\n\t\t\t\t\t? // for \"polyong\" mode calculate km²\n\t\t\t\t\t (turf.area(currentFeatures[0] as Feature) / 1000000) *\n\t\t\t\t\t getUnitSquareMultiplier(props.unit)\n\t\t\t\t\t: turf.length(currentFeatures[0] as Feature, { units: props.unit });\n\n\t\t\tif (typeof props.onChange === 'function') {\n\t\t\t\tprops.onChange({ value: result, unit: props.unit, geojson: currentFeatures[0] });\n\t\t\t}\n\n\t\t\tif (result >= 0.1) {\n\t\t\t\tsetDisplayValue({ value: result, label: getUnitLabel(props.unit) });\n\t\t\t} else {\n\t\t\t\tlet label = 'm';\n\t\t\t\tlet value = result * 1000;\n\t\t\t\tif (props.measureType === 'polygon') {\n\t\t\t\t\tvalue = result * 1000000;\n\t\t\t\t}\n\t\t\t\tif (getUnitLabel(props.unit) === 'mi') {\n\t\t\t\t\tlabel = 'Yard';\n\t\t\t\t\tvalue = result * 1760;\n\t\t\t\t\tif (props.measureType === 'polygon') {\n\t\t\t\t\t\tvalue = result * 3097600;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsetDisplayValue({ value: value, label: label });\n\t\t\t}\n\t\t}\n\t}, [props.unit, currentFeatures]);\n\n\treturn (\n\t\t<>\n\t\t\t<MlFeatureEditor\n\t\t\t\tonChange={(features) => {\n\t\t\t\t\tfeatures && setCurrentFeatures(features);\n\t\t\t\t}}\n\t\t\t\tmode={props.measureType === 'polygon' ? 'draw_polygon' : 'draw_line_string'}\n\t\t\t\tonFinish={props.onFinish}\n\t\t\t/>\n\t\t\t{displayValue.value.toFixed(2)} {''}\n\t\t\t<Typography>\n\t\t\t\t{displayValue.label}\n\t\t\t\t{props.measureType === 'polygon' ? ' ²' : ''}\n\t\t\t</Typography>\n\t\t</>\n\t);\n};\n\nMlMeasureTool.defaultProps = {\n\tmapId: undefined,\n\tmeasureType: 'line',\n\tunit: 'kilometers',\n};\nexport default MlMeasureTool;\n","export default \"data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%20standalone%3D%22no%22%3F%3E%3Csvg%20width%3D%2210%22%20height%3D%2240%22%20viewBox%3D%220%200%2010%2040%22%20fill%3D%22none%22%20version%3D%221.1%22%20id%3D%22svg6%22%3E%20%20%3Cg%20id%3D%22g14%22%20transform%3D%22translate%280.67544%2C-1.25e-5%29%22%3E%20%3Cpath%20d%3D%22m%203.34715%2C4.52028%20c%200.22737%2C-1.05154%201.72745%2C-1.05154%201.95482%2C0%20L%208.64912%2C20%20H%200%20Z%22%20fill%3D%22%23cf003d%22%20%2F%3E%20%3Cpath%20d%3D%22m%203.34715%2C35.4797%20c%200.22737%2C1.0516%201.72745%2C1.0516%201.95482%2C0%20L%208.64912%2C20%20H%200%20Z%22%20fill%3D%22%23d3dcf0%22%20%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2252%22%20height%3D%2253%22%20viewBox%3D%220%200%2052%2053%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2226.0001%22%20cy%3D%2226.1843%22%20r%3D%2224%22%20fill%3D%22white%22%20stroke%3D%22%23009EE0%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M26.4915%207.59161C26.3524%208.07338%2025.6698%208.07338%2025.5307%207.59161L24.2998%203.3276C24.2075%203.0079%2024.4474%202.68893%2024.7802%202.68893H27.242C27.5748%202.68893%2027.8147%203.0079%2027.7224%203.3276L26.4915%207.59161Z%22%20fill%3D%22%23009EE0%22%2F%3E%3Cpath%20d%3D%22M25.5085%2044.7598C25.6476%2044.278%2026.3302%2044.278%2026.4693%2044.7598L27.7002%2049.0238C27.7925%2049.3435%2027.5526%2049.6625%2027.2198%2049.6625H24.758C24.4252%2049.6625%2024.1853%2049.3435%2024.2776%2049.0238L25.5085%2044.7598Z%22%20fill%3D%22%23009EE0%22%2F%3E%3Cpath%20d%3D%22M44.6641%2026.4915C44.1823%2026.3524%2044.1823%2025.6698%2044.6641%2025.5307L48.9281%2024.2998C49.2478%2024.2075%2049.5668%2024.4474%2049.5668%2024.7802V27.242C49.5668%2027.5747%2049.2478%2027.8147%2048.9281%2027.7224L44.6641%2026.4915Z%22%20fill%3D%22%23009EE0%22%2F%3E%3Cpath%20d%3D%22M7.3959%2025.6085C7.87766%2025.7476%207.87766%2026.4302%207.3959%2026.5693L3.13189%2027.8002C2.81218%2027.8925%202.49321%2027.6526%202.49321%2027.3198L2.49321%2024.858C2.49321%2024.5253%202.81218%2024.2853%203.13189%2024.3776L7.3959%2025.6085Z%22%20fill%3D%22%23009EE0%22%2F%3E%3C%2Fsvg%3E\"","import React, { useState, useEffect, CSSProperties } from 'react';\nimport { Box, styled } from '@mui/material';\nimport { ReactComponent as CompassNeedle } from './assets/CompassNeedle.svg';\nimport { ReactComponent as CompassBackground } from './assets/CompassBackground.svg';\nimport useMap from '../../hooks/useMap';\n\nconst BoxStyled = styled(Box)(({ theme }) => ({\n\tzIndex: 1000,\n\tcursor: 'pointer',\n\ttransform: 'scale(1)',\n\t[theme.breakpoints.down('md')]: {\n\t\ttransform: 'scale(1.6)',\n\t},\n}));\nconst CompassBox = styled(Box)(({ theme }) => ({\n\tposition: 'absolute',\n\tright: '-10px',\n\ttop: '-52px',\n\twidth: '52px',\n\theight: '52px',\n\tdisplay: 'flex',\n\tflexDirection: 'row',\n\tjustifyContent: 'center',\n\talignItems: 'center',\n\t[theme.breakpoints.down('md')]: {\n\t\tright: '0px',\n\t\ttop: '-52px',\n\t},\n\tcircle: {\n\t\tfill: theme.palette.compass.compColor,\n\t\tstroke: theme.palette.compass.compStroke,\n\t},\n\tpath: {\n\t\tfill: theme.palette.compass.compStroke,\n\t},\n\t'&:hover circle': {\n\t\tfill: theme.palette.compass.compHover,\n\t},\n}));\nconst NeedleBox = styled(Box)(({ theme }) => ({\n\tdisplay: 'flex',\n\tflexDirection: 'row',\n\t'path:nth-of-type(2)': {\n\t\tfill: theme.palette.compass.compSouth,\n\t},\n\t'path:nth-of-type(1)': {\n\t\tfill: theme.palette.compass.compNorth,\n\t},\n}));\n\nexport interface MlNavigationCompassProps {\n\t/**\n\t * Id of the target MapLibre instance in mapHook\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Style object to adjust css definitions of the component.\n\t */\n\tstyle?: CSSProperties;\n\t/**\n\t * Style object to adjust css definitions of the background.\n\t */\n\tbackgroundStyle?: CSSProperties;\n\t/**\n\t * Style object to adjust css definitions of the compass needle.\n\t */\n\tneedleStyle?: CSSProperties;\n}\n/**\n * Navigation component that displays a compass component which indicates the current oriantation of the map it is registered for and offers controls to turn the bearing 90° left/right or reset north to point up.\n *\n * All style props are applied using @mui/material/styled to allow more complex css selectors.\n *\n * @component\n */\nconst MlNavigationCompass = (props: MlNavigationCompassProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [bearing, setBearing] = useState(0);\n\tconst _updateBearing = () => {\n\t\tif (!mapHook.map?.map?.getBearing) return;\n\t\tsetBearing(Math.round(mapHook.map.map.getBearing()));\n\t};\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\t\tmapHook.map.on('rotate', _updateBearing, mapHook.componentId);\n\t\t_updateBearing();\n\t\treturn () => {\n\t\t\tmapHook.map?.map.off('rotate', _updateBearing);\n\t\t};\n\t}, [mapHook.map, props.mapId]);\n\n\tconst rotate = () => {\n\t\tif (bearing == 0) {\n\t\t\tmapHook.map?.map.setBearing(-90);\n\t\t} else if (bearing == -90) {\n\t\t\tmapHook.map?.map.setBearing(180);\n\t\t} else if (bearing == 180) {\n\t\t\tmapHook.map?.map.setBearing(90);\n\t\t} else {\n\t\t\tmapHook.map?.map.setBearing(0);\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BoxStyled sx={{ ...props.style }}>\n\t\t\t\t<CompassBox onClick={rotate} sx={{ ...props.backgroundStyle }}>\n\t\t\t\t\t<CompassBackground style={{ position: 'absolute', top: 0, left: 0 }} />\n\t\t\t\t\t<NeedleBox onClick={rotate} sx={{ ...props.needleStyle }}>\n\t\t\t\t\t\t<CompassNeedle\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\ttransform: 'rotate(' + (bearing > 0 ? '-' + bearing : -1 * bearing) + 'deg)',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</NeedleBox>\n\t\t\t\t</CompassBox>\n\t\t\t</BoxStyled>\n\t\t</>\n\t);\n};\n\nexport default MlNavigationCompass;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport Button from '@mui/material/Button';\nimport ButtonGroup from '@mui/material/ButtonGroup';\nimport ControlPointIcon from '@mui/icons-material/ControlPoint';\nimport RemoveCircleOutlineIcon from '@mui/icons-material/RemoveCircleOutline';\nimport Box from '@mui/material/Box';\nimport { SxProps, Theme } from '@mui/material';\nimport Divider from '@mui/material/Divider';\nimport MlNavigationCompass from '../MlNavigationCompass/MlNavigationCompass';\nimport MlFollowGps from '../MlFollowGps/MlFollowGps';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport useMap from '../../hooks/useMap';\nimport MlCenterPosition from '../MlCenterPosition/MlCenterPosition';\n\nexport interface MlNavigationToolsProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Show 3D button\n\t */\n\tshow3DButton?: boolean;\n\t/**\n\t * Show zoom button\n\t */\n\tshowZoomButtons?: boolean;\n\t/**\n\t * Show follow GPS button\n\t */\n\tshowFollowGpsButton?: boolean;\n\t/**\n\t * Show center on current position button\n\t */\n\tshowCenterLocationButton?: boolean;\n\t/**\n\t * Additional JSX Elements to be rendered below MlNavigationTools buttons\n\t */\n\tchildren?: JSX.Element;\n\t/**\n\t * Style attribute for NavigationTools container\n\t */\n\tsx?: SxProps;\n\t/**\n\t * Style attribute for NavigationTools container\n\t */\n\tmediaIsMobile?: boolean;\n}\n\n/**\n * @component\n */\n\nconst MlNavigationTools = (props: MlNavigationToolsProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [pitch, setPitch] = useState(0);\n\tconst mediaIsMobile = useMediaQuery((theme: Theme) => theme.breakpoints.down('md'));\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tmapHook.map.on(\n\t\t\t'pitchend',\n\t\t\t() => {\n\t\t\t\tif (!mapHook.map) return;\n\n\t\t\t\tsetPitch(mapHook.map.getPitch());\n\t\t\t},\n\t\t\tmapHook.componentId\n\t\t);\n\t\tsetPitch(mapHook.map.getPitch());\n\t}, [mapHook.map, props.mapId]);\n\n\tconst zoomIn = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tif (mapHook.map.transform._zoom + 0.5 <= mapHook.map.transform._maxZoom) {\n\t\t\tmapHook.map.easeTo({ zoom: mapHook.map.transform._zoom + 0.5 });\n\t\t}\n\t}, [mapHook.map]);\n\n\tconst zoomOut = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tif (mapHook.map.transform._zoom - 0.5 >= mapHook.map.transform._minZoom) {\n\t\t\tmapHook.map.easeTo({ zoom: mapHook.map.transform._zoom - 0.5 });\n\t\t}\n\t}, [mapHook.map]);\n\n\tconst adjustPitch = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tsetPitch(mapHook.map.getPitch());\n\t\tconst targetPitch = mapHook.map.getPitch() !== 0 ? 0 : 60;\n\t\tmapHook.map.easeTo({ pitch: targetPitch });\n\t\t\n\t}, [mapHook.map]);\n\n\treturn (\n\t\t<Box\n\t\t\tsx={{\n\t\t\t\tzIndex: 501,\n\t\t\t\tposition: 'absolute',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\tright: mediaIsMobile ? '15px' : '25px',\n\t\t\t\tbottom: mediaIsMobile ? '20px' : '30px',\n\t\t\t\t...(mediaIsMobile ? { margin: '80px 10px 50px 10px' } : { marginTop: '50px' }),\n\t\t\t\t...props.sx,\n\t\t\t}}\n\t\t>\n\t\t\t<MlNavigationCompass />\n\t\t\t{props.show3DButton && (\n\t\t\t\t<Button variant=\"navtools\" onClick={adjustPitch}>\n\t\t\t\t\t{pitch < 29 ? '3D' : '2D'}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t{props.showFollowGpsButton && <MlFollowGps />}\n\t\t\t{props.showCenterLocationButton && <MlCenterPosition />}\n\t\t\t<ButtonGroup\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tsx={{\n\t\t\t\t\tborder: 'none',\n\t\t\t\t\tButton: { minWidth: '20px !important' },\n\t\t\t\t\t'Button:hover': { border: 'none' },\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{props.showZoomButtons && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Button variant=\"navtools\" onClick={zoomIn}>\n\t\t\t\t\t\t\t<ControlPointIcon sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Divider sx={{ zIndex: 500, marginLeft: '7px', marginRight: '7px' }} />\n\t\t\t\t\t\t<Button variant=\"navtools\" onClick={zoomOut}>\n\t\t\t\t\t\t\t<RemoveCircleOutlineIcon sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</ButtonGroup>\n\t\t\t{props.children && React.cloneElement(props.children, {})}\n\t\t</Box>\n\t);\n};\n\nMlNavigationTools.defaultProps = {\n\tmapId: undefined,\n\tshow3DButton: true,\n\tshowFollowGpsButton: true,\n\tshowCenterLocationButton: false,\n\tshowZoomButtons: true,\n};\n\nexport default MlNavigationTools;\n","import React from 'react';\nimport useLayer, { useLayerProps } from '../../hooks/useLayer';\nimport { Feature, FeatureCollection } from '@turf/turf';\n\n\ninterface MlLayerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Id of the layer that will be added by this component to the maplibre-gl instance\n\t */\n\tlayerId?: string;\n\t/**\n\t * Javascript object that is passed the addLayer command as first parameter.\n\t */\n\toptions?: useLayerProps['options'];\n\n\t/**\n\t * GeoJSON data that is supposed to be rendered by this component.\n\t */\n\tgeojson?: Feature | FeatureCollection | undefined;\n}\n\n/**\n * Basic layer component that create a layer in a MapLibre-gl instance and keeps it updated according to it attribute configuration.\n *\n * @category Map components\n */\nconst MlLayer = (props: MlLayerProps) => {\n\t\n\n\n\tuseLayer({\n\t\tidPrefix: 'MlLayer-',\n\t\tlayerId: props.layerId,\n\t\tmapId: props.mapId,\n\t\tgeojson: props.geojson || undefined,\n\t\toptions: {\n\t\t\ttype: 'background',\n\t\t\tpaint: {\n\t\t\t\t'background-color': 'rgba(0,0,0,0)',\n\t\t\t},\n\t\t\t...props.options,\n\t\t} as useLayerProps['options'],\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t});\n\n\n\n\treturn <></>;\n};\n\nexport default MlLayer;\n","import React, { useRef, useEffect, useState, useCallback } from 'react';\nimport useMap from '../../hooks/useMap';\n\nexport interface MlScaleReferenceProps {\n\tmapId?: string;\n\tinsertBeforeLayer?: string | undefined;\n\tmaxWidth?: number;\n\tunit?: string;\n}\n\nconst MlScaleReference = (props: MlScaleReferenceProps) => {\n\tconst zoomRef = useRef(0);\n\tconst mapHook = useMap({ mapId: props.mapId, waitForLayer: props.insertBeforeLayer });\n\n\tconst [pxWidth, setPxWidth] = useState(0);\n\tconst [text, setText] = useState('');\n\n\tconst updateScale = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tif (mapHook.map?.map.getZoom() === zoomRef.current) {\n\t\t\treturn;\n\t\t}\n\n\t\tzoomRef.current = mapHook.map?.map.getZoom();\n\t\t// Calculation from MapLibre\n\t\t// A horizontal scale is imagined to be present at center of the map\n\t\t// Using spherical law of cosines approximation, the real distance is\n\t\t// found between the two coordinates.\n\t\tconst maxWidth = props.maxWidth || 100;\n\n\t\tconst y = mapHook.map.map._container.clientHeight / 2;\n\t\tconst left = mapHook.map.map.unproject([0, y]);\n\t\tconst right = mapHook.map.map.unproject([maxWidth, y]);\n\t\tconst maxMeters = left.distanceTo(right);\n\t\t// The real distance corresponding to 100px scale length is rounded off to\n\t\t// near pretty number and the scale length for the same is found out.\n\t\t// Default unit of the scale is based on User's locale.\n\t\tif (props.unit === 'imperial') {\n\t\t\tconst maxFeet = 3.2808 * maxMeters;\n\t\t\tif (maxFeet > 5280) {\n\t\t\t\tconst maxMiles = maxFeet / 5280;\n\t\t\t\tsetScale(maxWidth, maxMiles, mapHook.map.map._getUIString('ScaleControl.Miles'));\n\t\t\t} else {\n\t\t\t\tsetScale(maxWidth, maxFeet, mapHook.map.map._getUIString('ScaleControl.Feet'));\n\t\t\t}\n\t\t} else if (props.unit === 'nautical') {\n\t\t\tconst maxNauticals = maxMeters / 1852;\n\t\t\tsetScale(maxWidth, maxNauticals, mapHook.map.map._getUIString('ScaleControl.NauticalMiles'));\n\t\t} else if (maxMeters >= 1000) {\n\t\t\tsetScale(maxWidth, maxMeters / 1000, mapHook.map.map._getUIString('ScaleControl.Kilometers'));\n\t\t} else {\n\t\t\tsetScale(maxWidth, maxMeters, mapHook.map.map._getUIString('ScaleControl.Meters'));\n\t\t}\n\t}, [mapHook.map, props.unit, props.maxWidth]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tconst _updateScale = updateScale;\n\t\tmapHook.map.on('move', _updateScale, mapHook.componentId);\n\t\tupdateScale();\n\n\t\treturn () => {\n\t\t\tmapHook.map?.map.off('move', _updateScale);\n\t\t};\n\t}, [mapHook.map, updateScale]);\n\n\tconst setScale = (maxWidth: number, maxDistance: number, unit: string) => {\n\t\tconst distance = getRoundNum(maxDistance);\n\t\tconst ratio = distance / maxDistance;\n\t\tsetPxWidth(maxWidth * ratio);\n\t\tsetText(distance + ' ' + unit);\n\t};\n\n\tconst getDecimalRoundNum = (d: number) => {\n\t\tconst multiplier = Math.pow(10, Math.ceil(-Math.log(d) / Math.LN10));\n\t\treturn Math.round(d * multiplier) / multiplier;\n\t};\n\n\tconst getRoundNum = (num: number) => {\n\t\tconst pow10 = Math.pow(10, `${Math.floor(num)}`.length - 1);\n\t\tlet d = num / pow10;\n\n\t\td = d >= 10 ? 10 : d >= 5 ? 5 : d >= 3 ? 3 : d >= 2 ? 2 : d >= 1 ? 1 : getDecimalRoundNum(d);\n\n\t\treturn pow10 * d;\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: 'hsla(0,0%,100%,.75)',\n\t\t\t\t\tfontSize: '10px',\n\t\t\t\t\tborder: '2px solid #333',\n\t\t\t\t\tborderTop: '#333',\n\t\t\t\t\tpadding: '0 5px',\n\t\t\t\t\tcolor: '#333',\n\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\twidth: pxWidth + 'px',\n\t\t\t\t\tfontFamily: 'sans-serif',\n\t\t\t\t}}\n\t\t\t\tdangerouslySetInnerHTML={{ __html: text }}\n\t\t\t></div>\n\t\t</>\n\t);\n};\n\nexport default MlScaleReference;\n","import React, { useContext, useCallback, useRef, useEffect, useState, useMemo } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport syncMove from '@mapbox/mapbox-gl-sync-move';\nimport './style.css';\nimport MapContext, { MapContextType } from '../../contexts/MapContext';\n\nexport interface MlLayerMagnifyProps {\n\t/**\n\t * Id of the first MapLibre instance\n\t */\n\tmap1Id: string;\n\t/**\n\t * Id of the second MapLibre instance\n\t */\n\tmap2Id: string;\n\t/**\n\t * Size of the \"magnifier\"-circle\n\t */\n\tmagnifierRadius?: number;\n\t/**\n\t * object (React.CSSProperties) that is added to the magnifier default style\n\t */\n\tmagnifierStyle: React.CSSProperties | undefined;\n}\n\n/**\n *\n * Hides the MapLibreMap referenced by props.map2Id except for the \"magnifier\"-circle that reveals\n * the map and can be dragged around on top of the MapLibreMap referenced by props.map1Id\n */\nconst MlLayerMagnify = (props: MlLayerMagnifyProps) => {\n\tconst mapContext: MapContextType = useContext(MapContext);\n\tconst syncMoveInitializedRef = useRef(false);\n\tconst syncCleanupFunctionRef = useRef(() => {});\n\n\tconst [swipeX, setSwipeX] = useState(50);\n\tconst swipeXRef = useRef(50);\n\tconst [swipeY, setSwipeY] = useState(50);\n\tconst swipeYRef = useRef(50);\n\n\tconst magnifierRadius = useMemo(() => {\n\t\treturn props.magnifierRadius || 200;\n\t}, [props.magnifierRadius]);\n\n\tconst mapExists = useCallback(() => {\n\t\tif (!props.map1Id || !props.map2Id) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!mapContext.getMap(props.map1Id) || !mapContext.getMap(props.map2Id)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}, [props, mapContext]);\n\n\tconst onResize = useRef(() => {\n\t\tif (!mapExists()) return;\n\n\t\tonMove({\n\t\t\tclientX: swipeXRef.current,\n\t\t\tclientY: swipeYRef.current,\n\t\t} as (TouchEvent & MouseEvent));\n\t});\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('resize', onResize.current);\n\t\tconst _onResize = onResize.current;\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', _onResize);\n\t\t\tsyncCleanupFunctionRef.current();\n\t\t};\n\t}, []);\n\n\tconst onMove = useCallback(\n\t\t(e:(TouchEvent & MouseEvent)) => {\n\t\t\tif (!mapExists()) return;\n\n\t\t\tconst bounds = mapContext.maps[props.map1Id].getCanvas().getBoundingClientRect();\n\t\t\tlet clientX =\n\t\t\t\te?.clientX ||\n\t\t\t\t(typeof e?.touches !== 'undefined' && typeof e?.touches[0] !== 'undefined'\n\t\t\t\t\t? e?.touches[0].clientX\n\t\t\t\t\t: 0);\n\t\t\tlet clientY =\n\t\t\t\te?.clientY ||\n\t\t\t\t(typeof e.touches !== 'undefined' && typeof e.touches[0] !== 'undefined'\n\t\t\t\t\t? e.touches[0].clientY\n\t\t\t\t\t: 0);\n\n\t\t\tclientX -= bounds.x;\n\t\t\tclientY -= bounds.y;\n\t\t\tconst swipeX_tmp = parseFloat(((clientX / bounds.width) * 100).toFixed(2));\n\t\t\tconst swipeY_tmp = parseFloat(((clientY / bounds.height) * 100).toFixed(2));\n\n\t\t\tif (swipeXRef.current !== swipeX_tmp || swipeYRef.current !== swipeY_tmp) {\n\t\t\t\tsetSwipeX(swipeX_tmp);\n\t\t\t\tswipeXRef.current = swipeX_tmp;\n\t\t\t\tsetSwipeY(swipeY_tmp);\n\t\t\t\tswipeYRef.current = swipeY_tmp;\n\n\t\t\t\tmapContext.maps[props.map2Id].getContainer().style.clipPath =\n\t\t\t\t\t`circle(${magnifierRadius}px at ` +\n\t\t\t\t\t(swipeXRef.current * bounds.width) / 100 +\n\t\t\t\t\t'px ' +\n\t\t\t\t\t(swipeYRef.current * bounds.height) / 100 +\n\t\t\t\t\t'px)';\n\t\t\t}\n\t\t},\n\t\t[mapContext, mapExists, props, magnifierRadius]\n\t);\n\n\tuseEffect(() => {\n\t\tif (!mapExists() || syncMoveInitializedRef.current) return;\n\n\t\tsyncMoveInitializedRef.current = true;\n\t\tsyncCleanupFunctionRef.current = syncMove(\n\t\t\tmapContext.getMap(props.map1Id).map,\n\t\t\tmapContext.getMap(props.map2Id).map\n\t\t);\n\n\t\tonMove({\n\t\t\tclientX: swipeXRef.current,\n\t\t\tclientY: swipeYRef.current,\n\t\t} as (TouchEvent & MouseEvent));\n\t\t/*\n\t\tautomatically adjust radius for small screens\n\t\tif (\n\t\t\tmapContext.maps[props.map1Id].getCanvas().clientWidth >\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientHeight &&\n\t\t\tmagnifierRadius * 2 >\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientHeight\n\t\t) {\n\t\t\tmagnifierRadius = Math.floor(\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientHeight / 2\n\t\t\t);\n\t\t\tsetMagnifierRadius(magnifierRadius);\n\t\t}\n\n\t\tif (\n\t\t\tmapContext.maps[props.map1Id].getCanvas().clientHeight >\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientWidth &&\n\t\t\tmagnifierRadius * 2 >\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientWidth\n\t\t) {\n\t\t\tmagnifierRadius = Math.floor(\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientWidth / 2\n\t\t\t);\n\t\t\tsetMagnifierRadius(magnifierRadius);\n\t\t}\n\t\t*/\n\n\t\tonMove({\n\t\t\tclientX: mapContext.maps[props.map1Id].getCanvas().clientWidth / 2,\n\t\t\tclientY: mapContext.maps[props.map1Id].getCanvas().clientHeight / 2,\n\t\t} as (TouchEvent & MouseEvent));\n\t}, [mapContext.mapIds, mapContext, mapExists, props, onMove]);\n\n\tconst onDown = (e: React.MouseEvent | React.TouchEvent) => {\n\t\tif (e.nativeEvent instanceof TouchEvent) {\n\t\t\tdocument.addEventListener('touchmove', onMove);\n\t\t\tdocument.addEventListener('touchend', onTouchEnd);\n\t\t} else {\n\t\t\tdocument.addEventListener('mousemove', onMove);\n\t\t\tdocument.addEventListener('mouseup', onMouseUp);\n\t\t}\n\t};\n\n\tconst onTouchEnd = () => {\n\t\tdocument.removeEventListener('touchmove', onMove);\n\t\tdocument.removeEventListener('touchend', onTouchEnd);\n\t};\n\n\tconst onMouseUp = () => {\n\t\tdocument.removeEventListener('mousemove', onMove);\n\t\tdocument.removeEventListener('mouseup', onMouseUp);\n\t};\n\n\tconst onWheel = (e: React.WheelEvent) => {\n\t\tconst evCopy = new WheelEvent(e.type, e as unknown as WheelEventInit);\n\t\tmapContext.map?.map.getCanvas().dispatchEvent(evCopy);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: swipeX + '%',\n\t\t\t\ttop: swipeY + '%',\n\t\t\t\tborderRadius: '50%',\n\t\t\t\twidth: magnifierRadius * 2 - 2 + 'px',\n\t\t\t\theight: magnifierRadius * 2 - 2 + 'px',\n\t\t\t\tbackground: 'rgba(0,0,0,0)',\n\t\t\t\tborder: '2px solid #fafafa',\n\t\t\t\tboxShadow: '1px 2px 2px rgba(19, 19, 19, .5), inset 1px 1px 1px rgba(19, 19, 19, .2)',\n\t\t\t\tcursor: 'pointer',\n\t\t\t\tzIndex: '110',\n\t\t\t\tmarginLeft: magnifierRadius * -1 - 1 + 'px',\n\t\t\t\tmarginTop: magnifierRadius * -1 - 1 + 'px',\n\t\t\t\ttextAlign: 'center',\n\t\t\t\tlineHeight: '91px',\n\t\t\t\tfontSize: '2em',\n\t\t\t\tcolor: '#fafafa',\n\t\t\t\tuserSelect: 'none',\n\t\t\t\t...props.magnifierStyle,\n\t\t\t}}\n\t\t\tonTouchStart={onDown}\n\t\t\tonMouseDown={onDown}\n\t\t\tonWheel={onWheel}\n\t\t></div>\n\t);\n};\n\nMlLayerMagnify.defaultProps = {\n\tmagnifierRadius: 200,\n\tmagnifierStyle: {},\n};\n\nexport default MlLayerMagnify;\n","export default \"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2047%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M29.5%2021.25L35.75%2015L29.5%208.75V21.25Z%22%20fill%3D%22%23009EE0%22%2F%3E%3Cpath%20d%3D%22M17.5%208.75L11.25%2015L17.5%2021.25V8.75Z%22%20fill%3D%22%23009EE0%22%2F%3E%3C%2Fsvg%3E\"","import React, { useContext, useCallback, useRef, useEffect, useState } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport syncMove from '@mapbox/mapbox-gl-sync-move';\nimport './style.css';\nimport MapContext, { MapContextType } from '../../contexts/MapContext';\nimport { ReactComponent as SwipeIcon } from './assets/icononlyarrow.svg';\n\nexport interface MlLayerSwipeProps {\n\t/**\n\t * Id of the first MapLibre instance.\n\t */\n\tmap1Id: string;\n\t/**\n\t * Id of the second MapLibre instance.\n\t */\n\tmap2Id: string;\n\t/**\n\t * object (React.CSSProperties) that is added to the button default style\n\t */\n\tbuttonStyle: React.CSSProperties | undefined;\n}\n\n/**\n *\tcreates a split view of 2 synchronised maplibre instances\n */\n\nconst MlLayerSwipe = (props: MlLayerSwipeProps) => {\n\tconst mapContext: MapContextType = useContext(MapContext);\n\tconst initializedRef = useRef(false);\n\n\tconst [swipeX, setSwipeX] = useState(50);\n\tconst swipeXRef = useRef(0);\n\n\tconst syncCleanupFunctionRef = useRef(() => {});\n\n\tconst mapExists = useCallback(() => {\n\t\tif (!props.map1Id || !props.map2Id) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!mapContext.getMap(props.map1Id) || !mapContext.getMap(props.map2Id)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}, [mapContext, props.map1Id, props.map2Id]);\n\n\tconst cleanup = () => {\n\t\tsyncCleanupFunctionRef.current();\n\t};\n\n\tconst onMove = useCallback(\n\t\t(e: TouchEvent & MouseEvent) => {\n\t\t\tif (!mapExists()) return;\n\n\t\t\tconst bounds = mapContext.maps[props.map1Id].getCanvas().getBoundingClientRect();\n\t\t\tlet clientX =\n\t\t\t\te.clientX ||\n\t\t\t\t(typeof e.touches !== 'undefined' && typeof e.touches[0] !== 'undefined'\n\t\t\t\t\t? e.touches[0].clientX\n\t\t\t\t\t: 0);\n\n\t\t\tclientX -= bounds.x;\n\t\t\tconst swipeX_tmp = parseFloat(((clientX / bounds.width) * 100).toFixed(2));\n\n\t\t\tif (swipeXRef.current !== swipeX_tmp) {\n\t\t\t\tsetSwipeX(swipeX_tmp);\n\t\t\t\tswipeXRef.current = swipeX_tmp;\n\n\t\t\t\tconst clipA = 'rect(0, ' + (swipeXRef.current * bounds.width) / 100 + 'px, 999em, 0)';\n\n\t\t\t\tmapContext.maps[props.map2Id].getContainer().style.clip = clipA;\n\t\t\t}\n\t\t},\n\t\t[mapContext, mapExists, props.map1Id, props.map2Id]\n\t);\n\n\tuseEffect(() => {\n\t\treturn cleanup;\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!mapExists() || initializedRef.current) return;\n\n\t\tinitializedRef.current = true;\n\t\tsyncCleanupFunctionRef.current = syncMove(\n\t\t\tmapContext.getMap(props.map1Id).map,\n\t\t\tmapContext.getMap(props.map2Id).map\n\t\t);\n\t\tonMove({\n\t\t\tclientX: mapContext.maps[props.map1Id].getCanvas().clientWidth / 2,\n\t\t} as TouchEvent & MouseEvent);\n\t}, [mapContext.mapIds, mapContext, props, onMove, mapExists]);\n\n\tconst onDown = (e: React.MouseEvent | React.TouchEvent) => {\n\t\tif (window?.TouchEvent && e.nativeEvent instanceof window.TouchEvent) {\n\t\t\tdocument.addEventListener('touchmove', onMove);\n\t\t\tdocument.addEventListener('touchend', onTouchEnd);\n\t\t} else {\n\t\t\tdocument.addEventListener('mousemove', onMove);\n\t\t\tdocument.addEventListener('mouseup', onMouseUp);\n\t\t}\n\t};\n\n\tconst onTouchEnd = () => {\n\t\tdocument.removeEventListener('touchmove', onMove);\n\t\tdocument.removeEventListener('touchend', onTouchEnd);\n\t};\n\n\tconst onMouseUp = () => {\n\t\tdocument.removeEventListener('mousemove', onMove);\n\t\tdocument.removeEventListener('mouseup', onMouseUp);\n\t};\n\n\tfunction adjustWindowSize() {\n\t\tconst clipWidth = mapContext.maps[props.map2Id]\n\t\t\t.getContainer()\n\t\t\t.style.clip.split(',')[1]\n\t\t\t.replace('px', '');\n\t\tconst canvasWidth = mapContext.maps[props.map1Id].getCanvas().getBoundingClientRect().width;\n\n\t\tif (parseFloat(clipWidth) < canvasWidth) {\n\t\t\tconst newPosition = parseFloat(((clipWidth / canvasWidth) * 100).toFixed(2));\n\t\t\tsetSwipeX(newPosition);\n\t\t} else {\n\t\t\tconst newClip = 'rect(0, ' + canvasWidth / 2 + 'px, 999em, 0)';\n\t\t\tmapContext.maps[props.map2Id].getContainer().style.clip = newClip;\n\t\t\tsetSwipeX(50);\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('resize', adjustWindowSize);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', adjustWindowSize);\n\t\t};\n\t}, [mapContext]);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: swipeX + '%',\n\t\t\t\ttop: '50%',\n\t\t\t\tborderRadius: '50%',\n\t\t\t\twidth: '65px',\n\t\t\t\theight: '65px',\n\t\t\t\tbackground: 'rgba(234, 235, 241, 0.75)',\n\t\t\t\tborder: '2px solid rgba(0, 158, 224, 0.75)',\n\t\t\t\tcursor: 'pointer',\n\t\t\t\tzIndex: '110',\n\t\t\t\tmarginLeft: '-35px',\n\t\t\t\tmarginTop: '-50px',\n\t\t\t\ttextAlign: 'center',\n\n\t\t\t\tlineHeight: '91px',\n\t\t\t\tfontSize: '2em',\n\t\t\t\tcolor: '#fafafa',\n\t\t\t\tuserSelect: 'none',\n\t\t\t\t...props.buttonStyle,\n\t\t\t}}\n\t\t\tonTouchStart={onDown}\n\t\t\tonMouseDown={onDown}\n\t\t>\n\t\t\t<SwipeIcon\n\t\t\t\tcolor=\"#0066ff\"\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: '65px',\n\t\t\t\t\theight: '65px',\n\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\tzIndex: 1100,\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nMlLayerSwipe.defaultProps = {\n\tbuttonStyle: {},\n};\n\nexport default MlLayerSwipe;\n","import * as turf from \"@turf/turf\";\n\nconst _showNextTransitionSegment = function (\n\tprops,\n\tmap,\n\ttransitionInProgressRef,\n\ttransitionGeojsonDataRef,\n\ttransitionGeojsonCommonDataRef,\n\tcurrentTransitionStepRef,\n\tmsPerStep,\n\ttransitionTimeoutRef,\n\tsetDisplayGeojson\n) {\n\tif (typeof transitionGeojsonDataRef.current[currentTransitionStepRef.current] !== \"undefined\") {\n\t\t// if at last transition step set to target geojson\n\t\t// else to an assembled LineString from common geometry and the current transition step geometry\n\t\tlet newData =\n\t\t\tcurrentTransitionStepRef.current + 1 === transitionGeojsonDataRef.current.length\n\t\t\t\t? props.geojson\n\t\t\t\t: turf.lineString([\n\t\t\t\t\t\t...transitionGeojsonCommonDataRef.current,\n\t\t\t\t\t\t...transitionGeojsonDataRef.current[currentTransitionStepRef.current].geometry\n\t\t\t\t\t\t\t.coordinates,\n\t\t\t\t\t]);\n\n\t\tsetDisplayGeojson(newData);\n\n\t\tif (typeof props.onTransitionFrame === \"function\") {\n\t\t\tprops.onTransitionFrame(newData);\n\t\t}\n\n\t\tcurrentTransitionStepRef.current++;\n\t\tif (\n\t\t\ttransitionInProgressRef.current &&\n\t\t\tcurrentTransitionStepRef.current < transitionGeojsonDataRef.current.length\n\t\t) {\n\t\t\ttransitionTimeoutRef.current = setTimeout(\n\t\t\t\t() => _showNextTransitionSegment(...arguments),\n\t\t\t\tmsPerStep\n\t\t\t);\n\t\t} else {\n\t\t\tif (typeof props.onTransitionEnd === \"function\") {\n\t\t\t\tprops.onTransitionEnd(props.geojson);\n\t\t\t}\n\t\t\ttransitionInProgressRef.current = false;\n\t\t}\n\t}\n};\n\nconst _transitionToGeojson = (\n\tprops,\n\ttransitionGeojsonCommonDataRef,\n\ttransitionGeojsonDataRef,\n\ttransitionInProgressRef,\n\toldGeojsonRef,\n\tmsPerStep,\n\tcurrentTransitionStepRef,\n\tmap,\n\ttransitionTimeoutRef,\n\tsetDisplayGeojson\n) => {\n\t// create the transition geojson between oldGeojsonRef.current and props.geojson\n\n\t// create a geojson that contains no common point between the two line features\n\tlet transitionCoordinatesShort = [];\n\tlet transitionCoordinatesLong = [];\n\tlet targetCoordinates = [];\n\tlet srcCoordinates = [];\n\ttransitionGeojsonCommonDataRef.current = [];\n\tlet sourceGeojson = oldGeojsonRef.current || {\n\t\tgeometry: {\n\t\t\ttype: \"LineString\",\n\t\t\tcoordinates: [],\n\t\t},\n\t\tproperties: {},\n\t\ttype: \"Feature\",\n\t};\n\n\tlet targetGeojson = props.geojson;\n\n\tlet longerGeojson = targetGeojson;\n\tlet shorterGeojson = sourceGeojson;\n\tlet reverseOrder = false;\n\t// In case one geojson is missing completely use the first two coordinates of the other geojson\n\tif (\n\t\ttypeof longerGeojson.geometry === \"undefined\" &&\n\t\ttypeof shorterGeojson.geometry !== \"undefined\" &&\n\t\tshorterGeojson.geometry.coordinates.length > 1\n\t) {\n\t\tlongerGeojson = turf.lineString(shorterGeojson.geometry.coordinates.slice(0, 2));\n\t} else if (\n\t\ttypeof shorterGeojson.geometry === \"undefined\" &&\n\t\ttypeof longerGeojson.geometry !== \"undefined\" &&\n\t\tlongerGeojson.geometry.coordinates.length > 1\n\t) {\n\t\tshorterGeojson = turf.lineString(longerGeojson.geometry.coordinates.slice(0, 2));\n\t} else if (\n\t\ttypeof shorterGeojson.geometry === \"undefined\" &&\n\t\ttypeof longerGeojson.geometry === \"undefined\"\n\t) {\n\t\treturn;\n\t}\n\n\tif (longerGeojson.geometry.coordinates.length < shorterGeojson.geometry.coordinates.length) {\n\t\tlongerGeojson = sourceGeojson;\n\t\tshorterGeojson = targetGeojson;\n\t\treverseOrder = true;\n\t}\n\n\tif (longerGeojson && shorterGeojson) {\n\t\tfor (var i = 0, len = longerGeojson.geometry.coordinates.length; i < len; i++) {\n\t\t\tif (\n\t\t\t\ttypeof shorterGeojson.geometry.coordinates[i] !== \"undefined\" &&\n\t\t\t\tlongerGeojson.geometry.coordinates[i][0] === shorterGeojson.geometry.coordinates[i][0] &&\n\t\t\t\tlongerGeojson.geometry.coordinates[i][1] === shorterGeojson.geometry.coordinates[i][1]\n\t\t\t) {\n\t\t\t\t// if coordinates are equal\n\t\t\t\ttransitionGeojsonCommonDataRef.current.push(longerGeojson.geometry.coordinates[i]);\n\t\t\t} else {\n\t\t\t\tif (typeof longerGeojson.geometry.coordinates[i] !== \"undefined\") {\n\t\t\t\t\ttransitionCoordinatesLong.push(longerGeojson.geometry.coordinates[i]);\n\t\t\t\t}\n\t\t\t\tif (typeof shorterGeojson.geometry.coordinates[i] !== \"undefined\") {\n\t\t\t\t\ttransitionCoordinatesShort.push(shorterGeojson.geometry.coordinates[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (reverseOrder) {\n\t\ttargetCoordinates = transitionCoordinatesShort;\n\t\tsrcCoordinates = transitionCoordinatesLong;\n\t} else {\n\t\ttargetCoordinates = transitionCoordinatesLong;\n\t\tsrcCoordinates = transitionCoordinatesShort;\n\t}\n\n\tif (targetCoordinates.length < 2 && srcCoordinates < 2) return;\n\t// create props.transitionTime / msPerStep (=: transitionSteps) Versions of transitionGeojsonCommonDataRef.current + transitionCoordinates making the transitionCoordinates transitionCoordinatesDistance / transitionSteps longer on each step\n\n\tlet transitionSteps = props.transitionTime / msPerStep;\n\tlet srcCoordinatesDistance =\n\t\tsrcCoordinates.length > 1 ? Math.round(turf.length(turf.lineString(srcCoordinates))) : 0;\n\tlet targetCoordinatesDistance =\n\t\ttargetCoordinates.length > 1 ? Math.round(turf.length(turf.lineString(targetCoordinates))) : 0;\n\tlet transitionDistance = targetCoordinatesDistance + srcCoordinatesDistance;\n\n\tlet srcCoordinatesShare = srcCoordinatesDistance / transitionDistance;\n\tlet srcTransitionSteps = Math.round(transitionSteps * srcCoordinatesShare);\n\tlet srcPerStepDistance = Math.round((srcCoordinatesDistance / srcTransitionSteps) * 100) / 100;\n\n\tlet targetCoordinatesShare = targetCoordinatesDistance / transitionDistance;\n\tlet targetTransitionSteps = Math.round(transitionSteps * targetCoordinatesShare);\n\tlet targetPerStepDistance =\n\t\tMath.round((targetCoordinatesDistance / targetTransitionSteps) * 100) / 100;\n\n\t// use srcPerStepDistance as src coordinates are always animated backwards\n\tlet loopStepDistance = srcCoordinatesDistance;\n\tif (loopStepDistance <= 0) {\n\t\tloopStepDistance = 0.1;\n\t}\n\n\t// create transition step data as an array of all required FeatureCollection states until the transition is complete\n\tlet transitionStepData;\n\n\ttransitionStepData = [\n\t\t...createTransitionSteps(srcCoordinates, srcPerStepDistance, srcTransitionSteps),\n\t];\n\ttransitionStepData.reverse();\n\n\ttransitionStepData = [\n\t\t...transitionStepData,\n\t\t...createTransitionSteps(targetCoordinates, targetPerStepDistance, targetTransitionSteps),\n\t];\n\n\ttransitionStepData.push(targetGeojson);\n\n\ttransitionGeojsonDataRef.current = transitionStepData;\n\n\tcurrentTransitionStepRef.current = 1;\n\ttransitionInProgressRef.current = true;\n\ttransitionTimeoutRef.current = setTimeout(\n\t\t() =>\n\t\t\t_showNextTransitionSegment(\n\t\t\t\tprops,\n\t\t\t\tmap,\n\t\t\t\ttransitionInProgressRef,\n\t\t\t\ttransitionGeojsonDataRef,\n\t\t\t\ttransitionGeojsonCommonDataRef,\n\t\t\t\tcurrentTransitionStepRef,\n\t\t\t\tmsPerStep,\n\t\t\t\ttransitionTimeoutRef,\n\t\t\t\tsetDisplayGeojson\n\t\t\t),\n\t\tmsPerStep\n\t);\n};\n\nlet createTransitionSteps = (linestringCoordinates, perStepDistance, stepCnt) => {\n\tlet transitionSteps = [];\n\n\tif (linestringCoordinates.length > 1) {\n\t\tlet tmpChunks = turf.lineChunk(turf.lineString(linestringCoordinates), perStepDistance);\n\t\t// tmpLineString contains all coordinates of all previous plus current loop iteration\n\t\tlet tmpLinestring = tmpChunks.features[0];\n\t\tfor (let i = 0; i < stepCnt; i++) {\n\t\t\ttransitionSteps.push(tmpLinestring);\n\t\t\tif (typeof tmpChunks.features[i] !== \"undefined\") {\n\t\t\t\ttmpLinestring = turf.lineString([\n\t\t\t\t\t...tmpLinestring.geometry.coordinates,\n\t\t\t\t\t...tmpChunks.features[i].geometry.coordinates,\n\t\t\t\t]);\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn transitionSteps;\n};\n\nexport { _showNextTransitionSegment, _transitionToGeojson };\n","import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport * as turf from '@turf/turf';\nimport useMap from '../../hooks/useMap';\nimport { _transitionToGeojson } from './util/transitionFunctions';\nimport MlGeoJsonLayer from '../MlGeoJsonLayer/MlGeoJsonLayer';\nimport { Feature, FeatureCollection } from '@turf/turf';\nimport { MlGeoJsonLayerProps } from '../MlGeoJsonLayer/MlGeoJsonLayer';\n\nconst msPerStep = 50;\n\nexport type MlTransitionGeoJsonLayerProps = MlGeoJsonLayerProps & {\n\ttransitionTime?: number;\n\tgeojson?: Feature | GeoJSON.Feature;\n};\n\n/**\n * Adds source and layer of types \"line\", \"fill\" or \"circle\" to display GeoJSON data on the map.\n */\nconst MlTransitionGeoJsonLayer = (props: MlTransitionGeoJsonLayerProps) => {\n\t// ignore eslint. Only using `geojson` for destructuring\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst { geojson, ...restProps } = props;\n\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\tconst initializedRef = useRef(false);\n\n\t// transition effect variables\n\tconst oldGeojsonRef = useRef<GeoJSON.Feature | Feature | FeatureCollection>();\n\tconst transitionInProgressRef = useRef(false);\n\tconst transitionTimeoutRef = useRef(undefined);\n\tconst currentTransitionStepRef = useRef(false);\n\tconst transitionGeojsonDataRef = useRef([]);\n\tconst transitionGeojsonCommonDataRef = useRef([]);\n\tconst [displayGeojson, setDisplayGeojson] = useState(turf.featureCollection([]));\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\t// This is the cleanup function, it is called when this react component is removed from react-dom\n\t\t\tif (transitionTimeoutRef.current) {\n\t\t\t\tclearTimeout(transitionTimeoutRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tconst transitionToGeojson = useCallback(() => {\n\t\t_transitionToGeojson(\n\t\t\tprops,\n\t\t\ttransitionGeojsonCommonDataRef,\n\t\t\ttransitionGeojsonDataRef,\n\t\t\ttransitionInProgressRef,\n\t\t\toldGeojsonRef,\n\t\t\tmsPerStep,\n\t\t\tcurrentTransitionStepRef,\n\t\t\tmapHook.map,\n\t\t\ttransitionTimeoutRef,\n\t\t\tsetDisplayGeojson\n\t\t);\n\t}, [props, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !initializedRef.current) return;\n\n\t\tif (\n\t\t\ttypeof props.transitionTime !== 'undefined' &&\n\t\t\tprops.type === 'line' &&\n\t\t\toldGeojsonRef.current\n\t\t) {\n\t\t\ttransitionInProgressRef.current = false;\n\t\t\tcurrentTransitionStepRef.current = false;\n\t\t\ttransitionGeojsonDataRef.current = [];\n\t\t\ttransitionGeojsonCommonDataRef.current = [];\n\t\t\ttransitionToGeojson();\n\t\t}\n\t\toldGeojsonRef.current = props.geojson;\n\t}, [mapHook.map, transitionToGeojson, props]);\n\n\tconst startTransition = useCallback(() => {\n\t\tif (\n\t\t\tprops.type === 'line' &&\n\t\t\ttypeof props.transitionTime !== 'undefined' &&\n\t\t\tprops.transitionTime &&\n\t\t\ttypeof props.geojson !== 'undefined' &&\n\t\t\tJSON.stringify(oldGeojsonRef.current) !== JSON.stringify(props.geojson)\n\t\t) {\n\t\t\ttransitionToGeojson();\n\t\t\toldGeojsonRef.current = props.geojson;\n\t\t}\n\t}, [props, transitionToGeojson]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.mapIsReady || !props.geojson) return;\n\n\t\tinitializedRef.current = true;\n\n\t\tstartTransition();\n\t}, [mapHook.mapIsReady, startTransition, props]);\n\n\treturn (\n\t\t<>\n\t\t\t<MlGeoJsonLayer {...restProps} geojson={displayGeojson} />\n\t\t</>\n\t);\n};\n\nexport default MlTransitionGeoJsonLayer;\n","import React, { useRef, useState, useEffect } from \"react\";\nimport MlGeoJsonLayer from \"../MlGeoJsonLayer/MlGeoJsonLayer\";\nimport Paper from \"@mui/material/Paper\";\nimport useMapState from \"../../hooks/useMapState\";\nimport useMap from \"../../hooks/useMap\";\n\nimport Point from \"@mapbox/point-geometry\";\n\nexport interface MlMarkerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Longitude of the marker position\n\t */\n\tlng: number;\n\t/**\n\t * Latitude of the marker position\n\t */\n\tlat: number;\n\t/**\n\t * Content of the description popup\n\t */\n\tcontent?: string;\n}\n\n/**\n * Adds a marker to the map and displays the contents of the \"content\" property in an iframe next to it\n */\nconst MlMarker = (props: MlMarkerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst mapState = useMapState({\n\t\tmapId: props.mapId,\n\t\twatch: { viewport: true },\n\t});\n\n\tconst iframe = useRef<HTMLIFrameElement>(null);\n\n\tconst [iframeDimensions, setIframeDimensions] = useState({\n\t\twidth: \"400px\",\n\t\theight: \"500px\",\n\t});\n\n\tconst [markerPixelPos, setMarkerPixelPos] = useState<Point>();\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map?.map?.project) return;\n\n\t\tconst _pixelPos = mapHook.map.map.project([props.lng, props.lat]);\n\n\t\tsetMarkerPixelPos(_pixelPos);\n\t}, [mapHook.map, props.lng, props.lat, mapState.viewport]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t!mapHook.map ||\n\t\t\t!iframe.current?.contentWindow?.document?.body?.scrollHeight\n\t\t)\n\t\t\treturn;\n\n\t\tconst mapHeight = mapHook.map.map._container.clientHeight;\n\n\t\tconst _pixelPos = mapHook.map.map.project([props.lng, props.lat]);\n\t\tconst pixelToBottom = mapHeight - _pixelPos.y;\n\t\tconst iframeHeight =\n\t\t\tiframe.current?.contentWindow?.document?.body?.scrollHeight;\n\t\tconst iframeWidth =\n\t\t\tiframe.current?.contentWindow?.document?.body?.scrollWidth;\n\n\t\tsetIframeDimensions({\n\t\t\twidth: iframeWidth + \"px\",\n\t\t\theight:\n\t\t\t\t(pixelToBottom < iframeHeight ? pixelToBottom : iframeHeight) + \"px\",\n\t\t});\n\t}, [props.lng, props.lat, props.content]);\n\n\treturn (\n\t\t<>\n\t\t\t<MlGeoJsonLayer\n\t\t\t\tgeojson={{\n\t\t\t\t\ttype: \"Feature\",\n\t\t\t\t\tgeometry: {\n\t\t\t\t\t\ttype: \"Point\",\n\t\t\t\t\t\tcoordinates: [props.lng, props.lat],\n\t\t\t\t\t},\n\t\t\t\t\tproperties: {},\n\t\t\t\t}}\n\t\t\t\tpaint={{\n\t\t\t\t\t\"circle-radius\": 14,\n\t\t\t\t\t\"circle-color\": \"rgba(40,200,20,0.5)\",\n\t\t\t\t}}\n\t\t\t\ttype=\"circle\"\n\t\t\t\tmapId={props.mapId}\n\t\t\t></MlGeoJsonLayer>\n\t\t\t{markerPixelPos && (\n\t\t\t\t<Paper\n\t\t\t\t\tsx={{\n\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\tposition: \"fixed\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t/** TODO: fix positioning delay when moving the map */\n\t\t\t\t\t\tleft: markerPixelPos.x,\n\t\t\t\t\t\ttop: markerPixelPos.y,\n\t\t\t\t\t\twidth: iframeDimensions.width,\n\t\t\t\t\t\theight: iframeDimensions.height,\n\t\t\t\t\t\t\"&:hover\": {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tzIndex: -1,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<iframe\n\t\t\t\t\t\tstyle={{ width: \"100%\" }}\n\t\t\t\t\t\tsrcDoc={props.content}\n\t\t\t\t\t\tref={iframe}\n\t\t\t\t\t\tsandbox=\"allow-same-origin allow-popups-to-escape-sandbox\"\n\t\t\t\t\t\tframeBorder=\"0\"\n\t\t\t\t\t\ttitle={mapHook.componentId}\n\t\t\t\t\t></iframe>\n\t\t\t\t</Paper>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nMlMarker.defaultProps = {\n\tmapId: undefined,\n};\n\nexport default MlMarker;\n","import * as xmldom from '@xmldom/xmldom';\n\n/**\n * https://github.com/mapbox/togeojson\n *\n * Copyright (c) 2016 Mapbox All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\nvar toGeoJSON = (function () {\n\tvar removeSpace = /\\s*/g,\n\t\ttrimSpace = /^\\s*|\\s*$/g,\n\t\tsplitSpace = /\\s+/;\n\t// generate a short, numeric hash of a string\n\tfunction okhash(x) {\n\t\tif (!x || !x.length) return 0;\n\t\tfor (var i = 0, h = 0; i < x.length; i++) {\n\t\t\th = ((h << 5) - h + x.charCodeAt(i)) | 0;\n\t\t}\n\t\treturn h;\n\t}\n\t// all Y children of X\n\tfunction get(x, y) {\n\t\treturn x.getElementsByTagName(y);\n\t}\n\tfunction attr(x, y) {\n\t\treturn x.getAttribute(y);\n\t}\n\tfunction attrf(x, y) {\n\t\treturn parseFloat(attr(x, y));\n\t}\n\t// one Y child of X, if any, otherwise null\n\tfunction get1(x, y) {\n\t\tvar n = get(x, y);\n\t\treturn n.length ? n[0] : null;\n\t}\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize\n\tfunction norm(el) {\n\t\tif (el.normalize) {\n\t\t\tel.normalize();\n\t\t}\n\t\treturn el;\n\t}\n\t// cast array x into numbers\n\tfunction numarray(x) {\n\t\tfor (var j = 0, o = []; j < x.length; j++) {\n\t\t\to[j] = parseFloat(x[j]);\n\t\t}\n\t\treturn o;\n\t}\n\t// get the content of a text node, if any\n\tfunction nodeVal(x) {\n\t\tif (x) {\n\t\t\tnorm(x);\n\t\t}\n\t\treturn (x && x.textContent) || '';\n\t}\n\t// get the contents of multiple text nodes, if present\n\tfunction getMulti(x, ys) {\n\t\tvar o = {},\n\t\t\tn,\n\t\t\tk;\n\t\tfor (k = 0; k < ys.length; k++) {\n\t\t\tn = get1(x, ys[k]);\n\t\t\tif (n) o[ys[k]] = nodeVal(n);\n\t\t}\n\t\treturn o;\n\t}\n\t// add properties of Y to X, overwriting if present in both\n\tfunction extend(x, y) {\n\t\tfor (var k in y) x[k] = y[k];\n\t}\n\t// get one coordinate from a coordinate array, if any\n\tfunction coord1(v) {\n\t\treturn numarray(v.replace(removeSpace, '').split(','));\n\t}\n\t// get all coordinates from a coordinate array as [[],[]]\n\tfunction coord(v) {\n\t\tvar coords = v.replace(trimSpace, '').split(splitSpace),\n\t\t\to = [];\n\t\tfor (var i = 0; i < coords.length; i++) {\n\t\t\to.push(coord1(coords[i]));\n\t\t}\n\t\treturn o;\n\t}\n\tfunction coordPair(x) {\n\t\tvar ll = [attrf(x, 'lon'), attrf(x, 'lat')],\n\t\t\tele = get1(x, 'ele'),\n\t\t\t// handle namespaced attribute in browser\n\t\t\theartRate = get1(x, 'gpxtpx:hr') || get1(x, 'hr'),\n\t\t\ttime = get1(x, 'time'),\n\t\t\te;\n\t\tif (ele) {\n\t\t\te = parseFloat(nodeVal(ele));\n\t\t\tif (!isNaN(e)) {\n\t\t\t\tll.push(e);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tcoordinates: ll,\n\t\t\ttime: time ? nodeVal(time) : null,\n\t\t\theartRate: heartRate ? parseFloat(nodeVal(heartRate)) : null,\n\t\t};\n\t}\n\n\t// create a new feature collection parent object\n\tfunction fc() {\n\t\treturn {\n\t\t\ttype: 'FeatureCollection',\n\t\t\tfeatures: [],\n\t\t};\n\t}\n\n\tvar serializer;\n\tif (typeof XMLSerializer !== 'undefined') {\n\t\t/* istanbul ignore next */\n\t\tserializer = new XMLSerializer();\n\t} else {\n\t\tvar isNodeEnv = typeof process === 'object' && !process.browser;\n\t\tvar isTitaniumEnv = typeof Titanium === 'object';\n\t\tif (typeof exports === 'object' && (isNodeEnv || isTitaniumEnv)) {\n\t\t\tserializer = xmldom.XMLSerializer;\n\t\t} else {\n\t\t\tthrow new Error('Unable to initialize serializer');\n\t\t}\n\t}\n\tfunction xml2str(str) {\n\t\t// IE9 will create a new XMLSerializer but it'll crash immediately.\n\t\t// This line is ignored because we don't run coverage tests in IE9\n\t\t/* istanbul ignore next */\n\t\tif (str.xml !== undefined) return str.xml;\n\t\treturn serializer.serializeToString(str);\n\t}\n\n\tvar t = {\n\t\tkml: function (doc) {\n\t\t\tvar gj = fc(),\n\t\t\t\t// styleindex keeps track of hashed styles in order to match features\n\t\t\t\tstyleIndex = {},\n\t\t\t\tstyleByHash = {},\n\t\t\t\t// stylemapindex keeps track of style maps to expose in properties\n\t\t\t\tstyleMapIndex = {},\n\t\t\t\t// atomic geospatial types supported by KML - MultiGeometry is\n\t\t\t\t// handled separately\n\t\t\t\tgeotypes = ['Polygon', 'LineString', 'Point', 'Track', 'gx:Track'],\n\t\t\t\t// all root placemarks in the file\n\t\t\t\tplacemarks = get(doc, 'Placemark'),\n\t\t\t\tstyles = get(doc, 'Style'),\n\t\t\t\tstyleMaps = get(doc, 'StyleMap');\n\n\t\t\tfor (var k = 0; k < styles.length; k++) {\n\t\t\t\tvar hash = okhash(xml2str(styles[k])).toString(16);\n\t\t\t\tstyleIndex['#' + attr(styles[k], 'id')] = hash;\n\t\t\t\tstyleByHash[hash] = styles[k];\n\t\t\t}\n\t\t\tfor (var l = 0; l < styleMaps.length; l++) {\n\t\t\t\tstyleIndex['#' + attr(styleMaps[l], 'id')] = okhash(xml2str(styleMaps[l])).toString(16);\n\t\t\t\tvar pairs = get(styleMaps[l], 'Pair');\n\t\t\t\tvar pairsMap = {};\n\t\t\t\tfor (var m = 0; m < pairs.length; m++) {\n\t\t\t\t\tpairsMap[nodeVal(get1(pairs[m], 'key'))] = nodeVal(get1(pairs[m], 'styleUrl'));\n\t\t\t\t}\n\t\t\t\tstyleMapIndex['#' + attr(styleMaps[l], 'id')] = pairsMap;\n\t\t\t}\n\t\t\tfor (var j = 0; j < placemarks.length; j++) {\n\t\t\t\tgj.features = gj.features.concat(getPlacemark(placemarks[j]));\n\t\t\t}\n\t\t\tfunction kmlColor(v) {\n\t\t\t\tvar color, opacity;\n\t\t\t\tv = v || '';\n\t\t\t\tif (v.substr(0, 1) === '#') {\n\t\t\t\t\tv = v.substr(1);\n\t\t\t\t}\n\t\t\t\tif (v.length === 6 || v.length === 3) {\n\t\t\t\t\tcolor = v;\n\t\t\t\t}\n\t\t\t\tif (v.length === 8) {\n\t\t\t\t\topacity = parseInt(v.substr(0, 2), 16) / 255;\n\t\t\t\t\tcolor = '#' + v.substr(6, 2) + v.substr(4, 2) + v.substr(2, 2);\n\t\t\t\t}\n\t\t\t\treturn [color, isNaN(opacity) ? undefined : opacity];\n\t\t\t}\n\t\t\tfunction gxCoord(v) {\n\t\t\t\treturn numarray(v.split(' '));\n\t\t\t}\n\t\t\tfunction gxCoords(root) {\n\t\t\t\tvar elems = get(root, 'coord', 'gx'),\n\t\t\t\t\tcoords = [],\n\t\t\t\t\ttimes = [];\n\t\t\t\tif (elems.length === 0) elems = get(root, 'gx:coord');\n\t\t\t\tfor (var i = 0; i < elems.length; i++) coords.push(gxCoord(nodeVal(elems[i])));\n\t\t\t\tvar timeElems = get(root, 'when');\n\t\t\t\tfor (var j = 0; j < timeElems.length; j++) times.push(nodeVal(timeElems[j]));\n\t\t\t\treturn {\n\t\t\t\t\tcoords: coords,\n\t\t\t\t\ttimes: times,\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getGeometry(root) {\n\t\t\t\tvar geomNode,\n\t\t\t\t\tgeomNodes,\n\t\t\t\t\ti,\n\t\t\t\t\tj,\n\t\t\t\t\tk,\n\t\t\t\t\tgeoms = [],\n\t\t\t\t\tcoordTimes = [];\n\t\t\t\tif (get1(root, 'MultiGeometry')) {\n\t\t\t\t\treturn getGeometry(get1(root, 'MultiGeometry'));\n\t\t\t\t}\n\t\t\t\tif (get1(root, 'MultiTrack')) {\n\t\t\t\t\treturn getGeometry(get1(root, 'MultiTrack'));\n\t\t\t\t}\n\t\t\t\tif (get1(root, 'gx:MultiTrack')) {\n\t\t\t\t\treturn getGeometry(get1(root, 'gx:MultiTrack'));\n\t\t\t\t}\n\t\t\t\tfor (i = 0; i < geotypes.length; i++) {\n\t\t\t\t\tgeomNodes = get(root, geotypes[i]);\n\t\t\t\t\tif (geomNodes) {\n\t\t\t\t\t\tfor (j = 0; j < geomNodes.length; j++) {\n\t\t\t\t\t\t\tgeomNode = geomNodes[j];\n\t\t\t\t\t\t\tif (geotypes[i] === 'Point') {\n\t\t\t\t\t\t\t\tgeoms.push({\n\t\t\t\t\t\t\t\t\ttype: 'Point',\n\t\t\t\t\t\t\t\t\tcoordinates: coord1(nodeVal(get1(geomNode, 'coordinates'))),\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else if (geotypes[i] === 'LineString') {\n\t\t\t\t\t\t\t\tgeoms.push({\n\t\t\t\t\t\t\t\t\ttype: 'LineString',\n\t\t\t\t\t\t\t\t\tcoordinates: coord(nodeVal(get1(geomNode, 'coordinates'))),\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else if (geotypes[i] === 'Polygon') {\n\t\t\t\t\t\t\t\tvar rings = get(geomNode, 'LinearRing'),\n\t\t\t\t\t\t\t\t\tcoords = [];\n\t\t\t\t\t\t\t\tfor (k = 0; k < rings.length; k++) {\n\t\t\t\t\t\t\t\t\tcoords.push(coord(nodeVal(get1(rings[k], 'coordinates'))));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tgeoms.push({\n\t\t\t\t\t\t\t\t\ttype: 'Polygon',\n\t\t\t\t\t\t\t\t\tcoordinates: coords,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else if (geotypes[i] === 'Track' || geotypes[i] === 'gx:Track') {\n\t\t\t\t\t\t\t\tvar track = gxCoords(geomNode);\n\t\t\t\t\t\t\t\tgeoms.push({\n\t\t\t\t\t\t\t\t\ttype: 'LineString',\n\t\t\t\t\t\t\t\t\tcoordinates: track.coords,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tif (track.times.length) coordTimes.push(track.times);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tgeoms: geoms,\n\t\t\t\t\tcoordTimes: coordTimes,\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getPlacemark(root) {\n\t\t\t\tvar geomsAndTimes = getGeometry(root),\n\t\t\t\t\ti,\n\t\t\t\t\tproperties = {},\n\t\t\t\t\tname = nodeVal(get1(root, 'name')),\n\t\t\t\t\taddress = nodeVal(get1(root, 'address')),\n\t\t\t\t\tstyleUrl = nodeVal(get1(root, 'styleUrl')),\n\t\t\t\t\tdescription = nodeVal(get1(root, 'description')),\n\t\t\t\t\ttimeSpan = get1(root, 'TimeSpan'),\n\t\t\t\t\ttimeStamp = get1(root, 'TimeStamp'),\n\t\t\t\t\textendedData = get1(root, 'ExtendedData'),\n\t\t\t\t\tlineStyle = get1(root, 'LineStyle'),\n\t\t\t\t\tpolyStyle = get1(root, 'PolyStyle'),\n\t\t\t\t\tvisibility = get1(root, 'visibility');\n\n\t\t\t\tif (!geomsAndTimes.geoms.length) return [];\n\t\t\t\tif (name) properties.name = name;\n\t\t\t\tif (address) properties.address = address;\n\t\t\t\tif (styleUrl) {\n\t\t\t\t\tif (styleUrl[0] !== '#') {\n\t\t\t\t\t\tstyleUrl = '#' + styleUrl;\n\t\t\t\t\t}\n\n\t\t\t\t\tproperties.styleUrl = styleUrl;\n\t\t\t\t\tif (styleIndex[styleUrl]) {\n\t\t\t\t\t\tproperties.styleHash = styleIndex[styleUrl];\n\t\t\t\t\t}\n\t\t\t\t\tif (styleMapIndex[styleUrl]) {\n\t\t\t\t\t\tproperties.styleMapHash = styleMapIndex[styleUrl];\n\t\t\t\t\t\tproperties.styleHash = styleIndex[styleMapIndex[styleUrl].normal];\n\t\t\t\t\t}\n\t\t\t\t\t// Try to populate the lineStyle or polyStyle since we got the style hash\n\t\t\t\t\tvar style = styleByHash[properties.styleHash];\n\t\t\t\t\tif (style) {\n\t\t\t\t\t\tif (!lineStyle) lineStyle = get1(style, 'LineStyle');\n\t\t\t\t\t\tif (!polyStyle) polyStyle = get1(style, 'PolyStyle');\n\t\t\t\t\t\tvar iconStyle = get1(style, 'IconStyle');\n\t\t\t\t\t\tif (iconStyle) {\n\t\t\t\t\t\t\tvar icon = get1(iconStyle, 'Icon');\n\t\t\t\t\t\t\tif (icon) {\n\t\t\t\t\t\t\t\tvar href = nodeVal(get1(icon, 'href'));\n\t\t\t\t\t\t\t\tif (href) properties.icon = href;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (description) properties.description = description;\n\t\t\t\tif (timeSpan) {\n\t\t\t\t\tvar begin = nodeVal(get1(timeSpan, 'begin'));\n\t\t\t\t\tvar end = nodeVal(get1(timeSpan, 'end'));\n\t\t\t\t\tproperties.timespan = { begin: begin, end: end };\n\t\t\t\t}\n\t\t\t\tif (timeStamp) {\n\t\t\t\t\tproperties.timestamp = nodeVal(get1(timeStamp, 'when'));\n\t\t\t\t}\n\t\t\t\tif (lineStyle) {\n\t\t\t\t\tvar linestyles = kmlColor(nodeVal(get1(lineStyle, 'color'))),\n\t\t\t\t\t\tcolor = linestyles[0],\n\t\t\t\t\t\topacity = linestyles[1],\n\t\t\t\t\t\twidth = parseFloat(nodeVal(get1(lineStyle, 'width')));\n\t\t\t\t\tif (color) properties.stroke = color;\n\t\t\t\t\tif (!isNaN(opacity)) properties['stroke-opacity'] = opacity;\n\t\t\t\t\tif (!isNaN(width)) properties['stroke-width'] = width;\n\t\t\t\t}\n\t\t\t\tif (polyStyle) {\n\t\t\t\t\tvar polystyles = kmlColor(nodeVal(get1(polyStyle, 'color'))),\n\t\t\t\t\t\tpcolor = polystyles[0],\n\t\t\t\t\t\tpopacity = polystyles[1],\n\t\t\t\t\t\tfill = nodeVal(get1(polyStyle, 'fill')),\n\t\t\t\t\t\toutline = nodeVal(get1(polyStyle, 'outline'));\n\t\t\t\t\tif (pcolor) properties.fill = pcolor;\n\t\t\t\t\tif (!isNaN(popacity)) properties['fill-opacity'] = popacity;\n\t\t\t\t\tif (fill) properties['fill-opacity'] = fill === '1' ? properties['fill-opacity'] || 1 : 0;\n\t\t\t\t\tif (outline)\n\t\t\t\t\t\tproperties['stroke-opacity'] = outline === '1' ? properties['stroke-opacity'] || 1 : 0;\n\t\t\t\t}\n\t\t\t\tif (extendedData) {\n\t\t\t\t\tvar datas = get(extendedData, 'Data'),\n\t\t\t\t\t\tsimpleDatas = get(extendedData, 'SimpleData');\n\n\t\t\t\t\tfor (i = 0; i < datas.length; i++) {\n\t\t\t\t\t\tproperties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value'));\n\t\t\t\t\t}\n\t\t\t\t\tfor (i = 0; i < simpleDatas.length; i++) {\n\t\t\t\t\t\tproperties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (visibility) {\n\t\t\t\t\tproperties.visibility = nodeVal(visibility);\n\t\t\t\t}\n\t\t\t\tif (geomsAndTimes.coordTimes.length) {\n\t\t\t\t\tproperties.coordTimes =\n\t\t\t\t\t\tgeomsAndTimes.coordTimes.length === 1\n\t\t\t\t\t\t\t? geomsAndTimes.coordTimes[0]\n\t\t\t\t\t\t\t: geomsAndTimes.coordTimes;\n\t\t\t\t}\n\t\t\t\tvar feature = {\n\t\t\t\t\ttype: 'Feature',\n\t\t\t\t\tgeometry:\n\t\t\t\t\t\tgeomsAndTimes.geoms.length === 1\n\t\t\t\t\t\t\t? geomsAndTimes.geoms[0]\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\ttype: 'GeometryCollection',\n\t\t\t\t\t\t\t\t\tgeometries: geomsAndTimes.geoms,\n\t\t\t\t\t\t\t },\n\t\t\t\t\tproperties: properties,\n\t\t\t\t};\n\t\t\t\tif (attr(root, 'id')) feature.id = attr(root, 'id');\n\t\t\t\treturn [feature];\n\t\t\t}\n\t\t\treturn gj;\n\t\t},\n\t\tgpx: function (doc) {\n\t\t\tvar i,\n\t\t\t\ttracks = get(doc, 'trk'),\n\t\t\t\troutes = get(doc, 'rte'),\n\t\t\t\twaypoints = get(doc, 'wpt'),\n\t\t\t\t// a feature collection\n\t\t\t\tgj = fc(),\n\t\t\t\tfeature;\n\t\t\tfor (i = 0; i < tracks.length; i++) {\n\t\t\t\tfeature = getTrack(tracks[i]);\n\t\t\t\tif (feature) gj.features.push(feature);\n\t\t\t}\n\t\t\tfor (i = 0; i < routes.length; i++) {\n\t\t\t\tfeature = getRoute(routes[i]);\n\t\t\t\tif (feature) gj.features.push(feature);\n\t\t\t}\n\t\t\tfor (i = 0; i < waypoints.length; i++) {\n\t\t\t\tgj.features.push(getPoint(waypoints[i]));\n\t\t\t}\n\t\t\tfunction initializeArray(arr, size) {\n\t\t\t\tfor (var h = 0; h < size; h++) {\n\t\t\t\t\tarr.push(null);\n\t\t\t\t}\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\tfunction getPoints(node, pointname) {\n\t\t\t\tvar pts = get(node, pointname),\n\t\t\t\t\tline = [],\n\t\t\t\t\ttimes = [],\n\t\t\t\t\theartRates = [],\n\t\t\t\t\tl = pts.length;\n\t\t\t\tif (l < 2) return {}; // Invalid line in GeoJSON\n\t\t\t\tfor (var i = 0; i < l; i++) {\n\t\t\t\t\tvar c = coordPair(pts[i]);\n\t\t\t\t\tline.push(c.coordinates);\n\t\t\t\t\tif (c.time) times.push(c.time);\n\t\t\t\t\tif (c.heartRate || heartRates.length) {\n\t\t\t\t\t\tif (!heartRates.length) initializeArray(heartRates, i);\n\t\t\t\t\t\theartRates.push(c.heartRate || null);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tline: line,\n\t\t\t\t\ttimes: times,\n\t\t\t\t\theartRates: heartRates,\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getTrack(node) {\n\t\t\t\tvar segments = get(node, 'trkseg'),\n\t\t\t\t\ttrack = [],\n\t\t\t\t\ttimes = [],\n\t\t\t\t\theartRates = [],\n\t\t\t\t\tline;\n\t\t\t\tfor (var i = 0; i < segments.length; i++) {\n\t\t\t\t\tline = getPoints(segments[i], 'trkpt');\n\t\t\t\t\tif (line) {\n\t\t\t\t\t\tif (line.line) track.push(line.line);\n\t\t\t\t\t\tif (line.times && line.times.length) times.push(line.times);\n\t\t\t\t\t\tif (heartRates.length || (line.heartRates && line.heartRates.length)) {\n\t\t\t\t\t\t\tif (!heartRates.length) {\n\t\t\t\t\t\t\t\tfor (var s = 0; s < i; s++) {\n\t\t\t\t\t\t\t\t\theartRates.push(initializeArray([], track[s].length));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (line.heartRates && line.heartRates.length) {\n\t\t\t\t\t\t\t\theartRates.push(line.heartRates);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\theartRates.push(initializeArray([], line.line.length || 0));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (track.length === 0) return;\n\t\t\t\tvar properties = getProperties(node);\n\t\t\t\textend(properties, getLineStyle(get1(node, 'extensions')));\n\t\t\t\tif (times.length) properties.coordTimes = track.length === 1 ? times[0] : times;\n\t\t\t\tif (heartRates.length)\n\t\t\t\t\tproperties.heartRates = track.length === 1 ? heartRates[0] : heartRates;\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'Feature',\n\t\t\t\t\tproperties: properties,\n\t\t\t\t\tgeometry: {\n\t\t\t\t\t\ttype: track.length === 1 ? 'LineString' : 'MultiLineString',\n\t\t\t\t\t\tcoordinates: track.length === 1 ? track[0] : track,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getRoute(node) {\n\t\t\t\tvar line = getPoints(node, 'rtept');\n\t\t\t\tif (!line.line) return;\n\t\t\t\tvar prop = getProperties(node);\n\t\t\t\textend(prop, getLineStyle(get1(node, 'extensions')));\n\t\t\t\tvar routeObj = {\n\t\t\t\t\ttype: 'Feature',\n\t\t\t\t\tproperties: prop,\n\t\t\t\t\tgeometry: {\n\t\t\t\t\t\ttype: 'LineString',\n\t\t\t\t\t\tcoordinates: line.line,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treturn routeObj;\n\t\t\t}\n\t\t\tfunction getPoint(node) {\n\t\t\t\tvar prop = getProperties(node);\n\t\t\t\textend(prop, getMulti(node, ['sym']));\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'Feature',\n\t\t\t\t\tproperties: prop,\n\t\t\t\t\tgeometry: {\n\t\t\t\t\t\ttype: 'Point',\n\t\t\t\t\t\tcoordinates: coordPair(node).coordinates,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getLineStyle(extensions) {\n\t\t\t\tvar style = {};\n\t\t\t\tif (extensions) {\n\t\t\t\t\tvar lineStyle = get1(extensions, 'line');\n\t\t\t\t\tif (lineStyle) {\n\t\t\t\t\t\tvar color = nodeVal(get1(lineStyle, 'color')),\n\t\t\t\t\t\t\topacity = parseFloat(nodeVal(get1(lineStyle, 'opacity'))),\n\t\t\t\t\t\t\twidth = parseFloat(nodeVal(get1(lineStyle, 'width')));\n\t\t\t\t\t\tif (color) style.stroke = color;\n\t\t\t\t\t\tif (!isNaN(opacity)) style['stroke-opacity'] = opacity;\n\t\t\t\t\t\t// GPX width is in mm, convert to px with 96 px per inch\n\t\t\t\t\t\tif (!isNaN(width)) style['stroke-width'] = (width * 96) / 25.4;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn style;\n\t\t\t}\n\t\t\tfunction getProperties(node) {\n\t\t\t\tvar prop = getMulti(node, ['name', 'cmt', 'desc', 'type', 'time', 'keywords']),\n\t\t\t\t\tlinks = get(node, 'link');\n\t\t\t\tif (links.length) prop.links = [];\n\t\t\t\tfor (var i = 0, link; i < links.length; i++) {\n\t\t\t\t\tlink = { href: attr(links[i], 'href') };\n\t\t\t\t\textend(link, getMulti(links[i], ['text', 'type']));\n\t\t\t\t\tprop.links.push(link);\n\t\t\t\t}\n\t\t\t\treturn prop;\n\t\t\t}\n\t\t\treturn gj;\n\t\t},\n\t};\n\treturn t;\n})();\n\nexport default toGeoJSON;\n","import { useState, useEffect } from 'react';\nimport toGeoJSON from './lib/gpxConverter';\nimport { FeatureCollection } from '@turf/turf';\n\nexport interface useGpxProps {\n\t/**\n\t * a string containing GPX data that is supposed to be parsed and converted to GeoJSON by this hook\n\t */\n\tdata?: string;\n}\n\nexport interface MetadataType {\n\ttitle: string;\n\tvalue: string;\n\tid: number;\n}\n\n/**\n * useGpx hook converts GPX data to GeoJSON\n *\n */\nconst useGpx = (props: useGpxProps) => {\n\tconst [geojson, setGeojson] = useState<FeatureCollection | undefined>();\n\tconst [metadata, setMetadata] = useState<MetadataType[]>([]);\n\n\tconst parseGpx = (gpxAsString: string) => {\n\t\ttry {\n\t\t\tsetMetadata([]);\n\t\t\tconst domParser = new DOMParser();\n\t\t\tconst gpxDoc = domParser.parseFromString(gpxAsString, 'application/xml');\n\t\t\tconst metadata = gpxDoc.querySelector('metadata');\n\t\t\tmetadata?.childNodes.forEach((node: Element) => {\n\t\t\t\tlet value = node.textContent;\n\t\t\t\tconst title = node.nodeName;\n\n\t\t\t\tif (node.nodeName === 'link') {\n\t\t\t\t\tvalue = node.getAttribute('href');\n\t\t\t\t}\n\t\t\t\tif (value?.trim().length) {\n\t\t\t\t\tconst metaDataEntry = {\n\t\t\t\t\t\ttitle: title,\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tid: new Date().getTime(),\n\t\t\t\t\t};\n\t\t\t\t\tsetMetadata((prevState) => [...prevState, metaDataEntry]);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst data = toGeoJSON.gpx(gpxDoc);\n\t\t\tsetGeojson(data as FeatureCollection);\n\t\t} catch (e) {\n\t\t\tconsole.log(e);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!props.data) return;\n\n\t\tparseGpx(props.data);\n\t}, [props.data]);\n\n\treturn {\n\t\tgeojson,\n\t\tmetadata,\n\t};\n};\n\nuseGpx.defaultProps = {\n\tdata: undefined,\n};\nexport default useGpx;\n","import React, { useRef, useEffect } from 'react';\nimport useMap from '../useMap';\nimport {\n\tLngLatLike,\n\tPopup,\n\tMapEventType,\n} from 'maplibre-gl';\n\nexport interface LayerHoverPopupProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance this event will be registered to\n\t */\n\tlayerId?: string;\n\tgetPopupContent: (feature: GeoJSON.Feature) => string;\n}\n\n/**\n * useLayerHoverPopup hook registers a mouseenter event to display feature properties in a MapLibre popup if a feature on the configured layer is hovered\n *\n */\nconst LayerHoverPopup = (props: LayerHoverPopupProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.layerId,\n\t});\n\tconst popup = useRef(\n\t\tnew Popup({\n\t\t\tcloseButton: false,\n\t\t\tcloseOnClick: true,\n\t\t})\n\t);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !props.layerId) return;\n\t\tmapHook.map.on(\n\t\t\t'mouseenter',\n\t\t\tprops.layerId,\n\t\t\t(\n\t\t\t\te: MapEventType & {\n\t\t\t\t\tfeatures?: ({[key:string]:string} & { geometry:{coordinates:[number,number]}})[] | undefined;\n\t\t\t\t\tlngLat: { lng: number; lat: number };\n\t\t\t\t}\n\t\t\t) => {\n\t\t\t\tif (!mapHook.map) return;\n\t\t\t\t// Change the cursor style as a UI indicator.\n\n\t\t\t\tconst coordinates = e?.features?.[0].geometry.coordinates.slice();\n\t\t\t\t//const description = e.features[0].properties.desc;\n\t\t\t\tlet content = '';\n\t\t\t\tif (e?.features?.[0] && typeof props.getPopupContent === 'function') {\n\t\t\t\t\tcontent = props.getPopupContent(e.features[0] as unknown as GeoJSON.Feature);\n\t\t\t\t}\n\n\t\t\t\tif (coordinates?.[0]) {\n\t\t\t\t\t// Ensure that if the map is zoomed out such that multiple\n\t\t\t\t\t// copies of the feature are visible, the popup appears\n\t\t\t\t\t// over the copy being pointed to.\n\t\t\t\t\twhile (Math.abs(e.lngLat.lng - coordinates[0]) > 180) {\n\t\t\t\t\t\tcoordinates[0] += e.lngLat.lng > coordinates[0] ? 360 : -360;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Populate the popup and set its coordinates\n\n\t\t\t\t\t// based on the feature found.\n\t\t\t\t\tpopup.current.setLngLat(coordinates as LngLatLike).setHTML(content).addTo(mapHook.map.map);\n\t\t\t\t}\n\t\t\t},\n\t\t\tmapHook.componentId\n\t\t);\n\t}, [mapHook.map]);\n\n\treturn <></>;\n};\n\nLayerHoverPopup.defaultProps = {\n\tmapId: undefined,\n};\nexport default LayerHoverPopup;\n","import React, { useEffect, useRef } from 'react';\nimport { bbox, featureCollection, FeatureCollection } from '@turf/turf';\nimport { LngLatBoundsLike } from 'maplibre-gl';\nimport useMap from '../../hooks/useMap';\nimport useGpx, { MetadataType } from '../../hooks/useGpx/useGpx';\nimport useLayerHoverPopup from '../../hooks/useLayerHoverPopup/LayerHoverPopup';\nimport useSource from '../../hooks/useSource';\nimport useLayer from '../../hooks/useLayer';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport interface MlGpxViewerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapHook\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Prefix of the component id this component uses when adding elements to the MapLibreGl-instance\n\t */\n\tidPrefix?: string;\n\tgpxData: string | undefined;\n\tonParseGpxData: (arg0: {\n\t\tgeojson: FeatureCollection | undefined;\n\t\tmetadata: MetadataType[];\n\t}) => void;\n}\n\n/**\n * MlGpxViewer visualizes a given GPX Track on the map\n */\nconst MlGpxViewer = (props: MlGpxViewerProps) => {\n\tconst parsedGpx = useGpx({ data: props.gpxData });\n\tconst mapHook = useMap({ mapId: props.mapId, waitForLayer: props.insertBeforeLayer });\n\tconst sourceName = useRef('gpx-viewer-source-' + uuidv4());\n\tconst layerNameLines = useRef('importer-layer-lines-' + uuidv4());\n\tconst layerNamePoints = useRef('importer-layer-points-' + uuidv4());\n\n\tuseLayerHoverPopup({\n\t\tlayerId: layerNamePoints.current,\n\t\tgetPopupContent: (feature) => feature?.properties?.name,\n\t});\n\n\tuseSource({\n\t\tmapId: props.mapId,\n\t\tsourceId: sourceName.current,\n\t\tsource: {\n\t\t\ttype: 'geojson',\n\t\t\tdata: (parsedGpx.geojson || featureCollection([])) as (string | GeoJSON.GeoJSON),\n\t\t},\n\t});\n\n\tuseLayer({\n\t\tlayerId: layerNameLines.current,\n\t\toptions: {\n\t\t\ttype: 'line',\n\t\t\tpaint: {\n\t\t\t\t'line-width': 4,\n\t\t\t\t'line-color': 'rgba(212, 55, 23,0.5)',\n\t\t\t},\n\t\t\tsource: sourceName.current,\n\t\t},\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t});\n\n\tuseLayer({\n\t\tlayerId: layerNamePoints.current,\n\t\toptions: {\n\t\t\ttype: 'circle',\n\t\t\tpaint: {\n\t\t\t\t'circle-color': 'rgba(72, 77, 99,0.5)',\n\t\t\t\t'circle-radius': 7,\n\t\t\t},\n\t\t\tfilter: ['==', '$type', 'Point'],\n\t\t\tsource: sourceName.current,\n\t\t},\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t});\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !parsedGpx.geojson) return;\n\n\t\tif (typeof props.onParseGpxData === 'function') {\n\t\t\tprops.onParseGpxData(parsedGpx);\n\t\t}\n\n\t\t// fit map view to GeoJSON bbox\n\n\t\tconst bounds = bbox(parsedGpx.geojson);\n\t\tmapHook.map.map.fitBounds(bounds as LngLatBoundsLike);\n\t}, [parsedGpx]);\n\n\treturn <></>;\n};\n\nMlGpxViewer.defaultProps = {};\n\nexport default MlGpxViewer;\n","import React from \"react\";\nimport { FeatureCollection } from '@turf/turf';\n\ntype ContextProps = { \n\t\tdata: FeatureCollection,\n\t\tsetData: Function,\n\t\tgetEmptyFeatureCollection: Function\n\t};\n\nconst GeoJsonContext = React.createContext<Partial<ContextProps>>({});\n\nexport const GeoJsonContextProvider = GeoJsonContext.Provider;\nexport default GeoJsonContext;\n","import React, { useState } from \"react\";\nimport { GeoJsonContextProvider } from \"./GeoJsonContext\";\nimport { FeatureCollection } from '@turf/turf';\n\nconst GeoJsonProvider = ({ children }:{children:JSX.Element}) => {\n\tconst [data, setData] = useState<FeatureCollection>({\n\t\ttype: \"FeatureCollection\",\n\t\tfeatures: [],\n\t});\n\tconst getEmptyFeatureCollection = () => {\n\t\treturn {\n\t\t\ttype: \"FeatureCollection\",\n\t\t\tfeatures: [],\n\t\t};\n\t};\n\tconst value = {\n\t\tdata,\n\t\tsetData,\n\t\tgetEmptyFeatureCollection,\n\t};\n\n\treturn <GeoJsonContextProvider value={value}>{children}</GeoJsonContextProvider>;\n};\n\nexport default GeoJsonProvider;\n","import React, { useRef, useEffect, useContext, useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\n\nimport MapContext from '../../contexts/MapContext';\nimport { v4 as uuidv4 } from 'uuid';\nimport useMapState from '../../hooks/useMapState';\nimport MapLibreGlWrapper from '../MapLibreMap/lib/MapLibreGlWrapper';\n\nexport interface MapState {\n\tlat?: number;\n\tlng?: number;\n\tzoom?: number;\n\tbearing?: number;\n\tpitch?: number;\n\tlayers?: {\n\t\tvisible: boolean;\n\t\tid: string;\n\t}[];\n}\n\nconst getCurrentUrlParameters = (): MapState => {\n\tconst currentParams = Object.fromEntries(new URLSearchParams(window.location.search));\n\tcurrentParams.layers = JSON.parse(currentParams?.layers ? currentParams.layers : '[]');\n\n\treturn currentParams;\n};\n\nconst initialUrlParams = getCurrentUrlParameters();\n\n/**\n * TODO: Add short & useful description\n *\n * @param {object} props\n * @param {string} props.mapId Id of the target MapLibre instance in mapContext\n *\n * @component\n */\n\nexport interface MlShareMapStateProps {\n\t//\n\tmapId?: string;\n\tidPrefix?: string;\n\tactive?: boolean;\n}\n\nexport interface LayerStatesInterface {\n\t//\n\t[key: string]: boolean;\n}\n\nconst MlShareMapState = (props: MlShareMapStateProps) => {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\tconst mapContext = useContext(MapContext);\n\tconst initializedRef = useRef(false);\n\tconst mapRef = useRef<MapLibreGlWrapper | undefined>();\n\tconst [map, setMap] = useState<MapLibreGlWrapper | undefined>(undefined);\n\tconst layersFromUrlParamsRef = useRef({});\n\tconst componentId = useRef((props.idPrefix ? props.idPrefix : 'MlShareMapState-') + uuidv4());\n\tconst mapState = useMapState({\n\t\twatch: {\n\t\t\tviewport: false,\n\t\t\tlayers: true,\n\t\t\tsources: false,\n\t\t},\n\t\tfilter: {\n\t\t\tincludeBaseLayers: false,\n\t\t},\n\t});\n\n\tconst allStatesRestoredRef = useRef(false);\n\tconst layerStatesRestored = useRef<LayerStatesInterface>();\n\tconst restoredStatesRef = useRef({\n\t\tviewport: {\n\t\t\tcenter: false,\n\t\t\tbearing: false,\n\t\t\tpitch: false,\n\t\t\tzoom: false,\n\t\t},\n\t\tlayers: {\n\t\t\t...layersFromUrlParamsRef,\n\t\t},\n\t});\n\n\t// initial URL-Params\n\tconst mapStateRef = useRef<MapState>({});\n\n\tconst refreshUrlParameters = useCallback(() => {\n\t\tif (!props.active) return;\n\n\t\tconst mapLayers = [];\n\t\tfor (const x in mapState.layers) {\n\t\t\tmapLayers.push({\n\t\t\t\tid: mapState.layers[x]?.id,\n\t\t\t\ttype: mapState.layers[x]?.type,\n\t\t\t\tvisible: mapState.layers[x]?.visible,\n\t\t\t});\n\t\t}\n\t\trefreshMapState();\n\t\tconst urlParams = new URLSearchParams({\n\t\t\t...(getCurrentUrlParameters() as Record<string, string>),\n\t\t\t...(mapStateRef.current as Record<string, string>),\n\t\t\tlayers: JSON.stringify(mapLayers),\n\t\t});\n\t\tJSON.parse(Object.fromEntries(urlParams).layers).forEach((el: { id: number }) => {\n\t\t\t// is iD a number?\n\t\t\tlayersFromUrlParamsRef.current[el.id] = false;\n\t\t});\n\n\t\tconst currentParams = new URLSearchParams(window.location.search);\n\t\tif (urlParams.toString() !== currentParams.toString()) {\n\t\t\twindow.history.pushState(\n\t\t\t\t{ ...mapStateRef.current },\n\t\t\t\tdocument.title,\n\t\t\t\t'?' + urlParams.toString()\n\t\t\t);\n\t\t}\n\t}, [mapState.layers, props.active]);\n\n\tuseEffect(() => {\n\t\tconst _componentId = componentId.current;\n\n\t\tmapStateRef.current = getCurrentUrlParameters();\n\n\t\treturn () => {\n\t\t\t// This is the cleanup function, it is called when this react component is removed from react-dom\n\t\t\t// try to remove anything this component has added to the MapLibre-gl instance\n\t\t\t// e.g.: remove the layer\n\t\t\t// mapContext.getMap(props.mapId).removeLayer(layerRef.current);\n\t\t\t// check for the existence of map.style before calling getLayer or getSource\n\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.cleanup(_componentId);\n\t\t\t\tmapRef.current = undefined;\n\t\t\t}\n\t\t\tinitializedRef.current = false;\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!mapRef.current) return;\n\n\t\trefreshUrlParameters();\n\t}, [refreshUrlParameters]);\n\n\tuseEffect(() => {\n\t\tif (!mapRef.current) return;\n\n\t\tconst _refreshUrlParameters = refreshUrlParameters;\n\n\t\tmapRef.current.on('moveend', _refreshUrlParameters, componentId.current);\n\n\t\treturn () => {\n\t\t\tmapRef.current?.map.off('moveend', _refreshUrlParameters);\n\t\t};\n\t}, [refreshUrlParameters, map]);\n\n\tuseEffect(() => {\n\t\tif (!mapContext?.mapExists?.(props.mapId) || initializedRef.current) return;\n\t\t// the MapLibre-gl instance (mapContext.getMap(props.mapId)) is accessible here\n\t\t// initialize the layer and add it to the MapLibre-gl instance or do something else with it\n\t\tinitializedRef.current = true;\n\t\tmapRef.current = mapContext.getMap(props.mapId);\n\t\tsetMap(mapRef.current);\n\t\tif (mapStateRef.current.lat && mapStateRef.current.lng) {\n\t\t\trestoreViewportState();\n\t\t}\n\t}, [mapContext.mapIds, mapContext, props.mapId, props.active]);\n\n\tuseEffect(() => {\n\t\tif (!mapState?.layers?.length) return;\n\n\t\tif (typeof layerStatesRestored.current === 'undefined') {\n\t\t\tlayerStatesRestored.current = undefined;\n\t\t\tinitialUrlParams?.layers?.forEach((layer: { id: string }) => {\n\t\t\t\tif (layerStatesRestored.current?.[layer.id]) {\n\t\t\t\t\tlayerStatesRestored.current[layer.id] = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfor (const key in layerStatesRestored.current) {\n\t\t\tlet _allDone = true;\n\t\t\tif (layerStatesRestored.current[key] === false) {\n\t\t\t\t_allDone = false;\n\t\t\t}\n\t\t\tif (_allDone) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (initialUrlParams.layers) {\n\t\t\tinitialUrlParams.layers.forEach((layer) => {\n\t\t\t\tif (\n\t\t\t\t\tmapRef.current?.map.getLayer(layer.id) && //number oder str?\n\t\t\t\t\tlayerStatesRestored.current?.[layer.id] === false\n\t\t\t\t) {\n\t\t\t\t\tlayerStatesRestored.current[layer.id] = true;\n\t\t\t\t\tmapRef.current.map\n\t\t\t\t\t\t?.getLayer(layer.id)\n\t\t\t\t\t\t?.setLayoutProperty('visibility', layer.visible ? 'visible' : 'none');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [mapState.layers, props.mapId, props.active]);\n\n\tuseEffect(() => {\n\t\tif (!map) return;\n\t\tif (!mapState.layers) return;\n\n\t\tif (!props.active) {\n\t\t\tmap.cleanup(componentId.current);\n\t\t}\n\t}, [props.active, map, mapState.layers]);\n\n\t//ist .current?.map. richtig?\n\n\tconst refreshMapState = () => {\n\t\tmapStateRef.current.lat = mapRef.current?.map.getCenter().lat;\n\t\tmapStateRef.current.lng = mapRef.current?.map.getCenter().lng;\n\t\tmapStateRef.current.zoom = mapRef.current?.map.getZoom();\n\t\tmapStateRef.current.bearing = mapRef.current?.map.getBearing();\n\t\tmapStateRef.current.pitch = mapRef.current?.map.getPitch();\n\t};\n\n\tconst restoreViewportState = () => {\n\t\tif (!restoredStatesRef.current.viewport.center) {\n\t\t\trestoredStatesRef.current.viewport.center = true;\n\n\t\t\tif (mapStateRef.current.lng && mapStateRef.current.lat) {\n\t\t\t\tmapRef.current?.map.setCenter([mapStateRef.current.lng, mapStateRef.current.lat]);\n\t\t\t}\n\t\t\tif (mapStateRef.current.zoom) {\n\t\t\t\tmapRef.current?.map.setZoom(mapStateRef.current.zoom);\n\t\t\t}\n\t\t\tif (mapStateRef.current.bearing) {\n\t\t\t\tmapRef.current?.map.setBearing(mapStateRef.current.bearing);\n\t\t\t}\n\t\t\tif (mapStateRef.current.pitch) {\n\t\t\t\tmapRef.current?.map.setPitch(mapStateRef.current.pitch);\n\t\t\t}\n\t\t}\n\n\t\tallStatesRestoredRef.current = true;\n\t};\n\n\twindow.onpopstate = (event) => {\n\t\tif (event.state && event.state.lng && event.state.lat && event.state.zoom) {\n\t\t\tmapRef.current?.map.easeTo({\n\t\t\t\t// so möglich?\n\t\t\t\tzoom: event.state.zoom,\n\t\t\t\tcenter: [event.state.lng, event.state.lat],\n\t\t\t});\n\t\t}\n\t};\n\n\treturn <></>;\n};;\n\nMlShareMapState.defaultProps = {\n\tmapId: undefined,\n};\n\nMlShareMapState.propTypes = {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId: PropTypes.string,\n};\nexport default MlShareMapState;\n","import { distance, lineOffset } from '@turf/turf';\nimport { polygon, lineString, featureCollection} from '@turf/helpers';\n\ninterface geometry{\ncoordinates: Array<number>\n}\ninterface line {\ngeometry: geometry\n}\ninterface _geojsonInfo {\nline: line, \nmin: number\n}\n\n\n\nexport default function getElevationData(_geojsonInfo: _geojsonInfo, elevationFactor: number) {\n\n const createStep = (x: number, y: number, z: number, x2: number, y2: number) => {\n //const summand = 0.0002;\n const line = lineString([\n [x, y],\n [x2, y2],\n ]);\n const offsetLine = lineOffset(line, 5, { units: 'meters' });\n const x3 = offsetLine.geometry.coordinates[0][0];\n const y3 = offsetLine.geometry.coordinates[0][1];\n const x4 = offsetLine.geometry.coordinates[1][0];\n const y4 = offsetLine.geometry.coordinates[1][1];\n \n return polygon(\n [\n [\n [x, y],\n [x2, y2],\n \n [x4, y4],\n [x3, y3],\n [x, y],\n ],\n ],\n { height: z * elevationFactor }\n );\n };\n \n const lerp = (x: number, y: number, a: number) => x * (1 - a) + y * a;\n\t\tconst points: GeoJSON.Feature[] = [];\n\n\t\t_geojsonInfo.line.geometry.coordinates.forEach((coordinate: number, index: number) => {\n\t\t\t//const point = createPoint(coordinate[0],coordinate[1],coordinate[2]-min);\n\t\t\t//points.push(point);\n\t\t\tif (_geojsonInfo.line.geometry.coordinates[index + 1]) {\n\t\t\t\tconst wayLength = distance(\n\t\t\t\t\t[coordinate[0], coordinate[1]],\n\t\t\t\t\t[\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index + 1][0],\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index + 1][1],\n\t\t\t\t\t],\n\t\t\t\t\t{ units: 'kilometers' }\n\t\t\t\t);\n\t\t\t\tlet listLength = ~~((wayLength * 1000) / 10);\n\t\t\t\tlistLength = listLength < 1 ? 1 : listLength;\n\t\t\t\tfor (let i = 0; i < listLength; i++) {\n\t\t\t\t\tconst x = lerp(\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index][0],\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index + 1][0],\n\t\t\t\t\t\ti / listLength\n\t\t\t\t\t);\n\t\t\t\t\tconst y = lerp(\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index][1],\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index + 1][1],\n\t\t\t\t\t\ti / listLength\n\t\t\t\t\t);\n\t\t\t\t\tconst z = lerp(\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index][2] - _geojsonInfo.min,\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index + 1][2] - _geojsonInfo.min,\n\t\t\t\t\t\ti / listLength\n\t\t\t\t\t);\n\n\t\t\t\t\tconst x2 = lerp(\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index][0],\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index + 1][0],\n\t\t\t\t\t\t(i + 1) / listLength\n\t\t\t\t\t);\n\t\t\t\t\tconst y2 = lerp(\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index][1],\n\t\t\t\t\t\t_geojsonInfo.line.geometry.coordinates[index + 1][1],\n\t\t\t\t\t\t(i + 1) / listLength\n\t\t\t\t\t);\n\n\t\t\t\t\tconst point = createStep(x, y, z, x2, y2);\n\t\t\t\t\tpoints.push(point as unknown as GeoJSON.Feature);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tconst output = featureCollection(points);\n\n\t\treturn output;\n \n}\n\n","import React, { useRef, useMemo } from 'react';\nimport { featureCollection } from '@turf/helpers';\nimport { Feature, FeatureCollection } from '@turf/turf';\nimport { v4 as uuidv4 } from 'uuid';\nimport useSource from '../../hooks/useSource';\nimport useLayer from '../../hooks/useLayer';\nimport getElevationData from './util/getElevationData';\nimport { Coordinates, DataDrivenPropertyValueSpecification } from 'maplibre-gl';\n\nconst defaultFillExtrusionColor: (string | number | string[])[] = [\n\t'interpolate',\n\t['linear'],\n\t['get', 'height'],\n\t0,\n\t'rgba(0, 0, 255, 0)',\n\t0.1,\n\t'royalblue',\n\t0.3,\n\t'cyan',\n\t0.5,\n\t'lime',\n\t0.7,\n\t'yellow',\n\t1,\n\t'yellow',\n];\n/**\n * MlSpatialElevationProfile returns a Button that will add a standard OSM tile layer to the maplibre-gl instance.\n *\n * @component\n */\n\ninterface geojson {\n\tfeatures: Feature | FeatureCollection | undefined;\n}\n\nexport interface MlSpatialElevationProfileProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * GeoJSON data that is supposed to be rendered by this component.\n\t */\n\t//geojson: {features: Feature | FeatureCollection | undefined };\n\tgeojson: geojson | FeatureCollection | undefined;\n\t/**\n\t * Prefix of the component id this component uses when adding elements to the MapLibreGl-instance\n\t */\n\tidPrefix?: string;\n\t/**\n\t * Number describes the factor of the height of the elevation\n\t */\n\televationFactor?: number;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n}\n\nconst MlSpatialElevationProfile = (props: MlSpatialElevationProfileProps) => {\n\tconst sourceName = useRef('elevationprofile-' + uuidv4());\n\tconst layerName = useRef('elevationprofile-layer-' + uuidv4());\n\tconst elevationFactor =\n\t\tprops.elevationFactor || MlSpatialElevationProfile.defaultProps.elevationFactor;\n\n\tconst _geojsonInfo = useMemo(() => {\n\t\tif (!props?.geojson?.features) return;\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore\n\t\tconst line = props.geojson.features?.find((element: Feature) => {\n\t\t\treturn element.geometry.type === 'LineString';\n\t\t});\n\n\t\tif (!line || !line.geometry) return;\n\n\t\tconst heights = line.geometry.coordinates.map((coordinate: Coordinates) => {\n\t\t\treturn coordinate[2];\n\t\t});\n\n\t\tconst min = Math.min(...heights);\n\n\t\tlet max = Math.max(...heights) - min;\n\n\t\tmax = max === 0 ? 1 : max;\n\n\t\treturn { max, min, line };\n\t}, [props.geojson]);\n\n\tconst _fillExtrusionColor: (string | number | string[])[] = useMemo(() => {\n\t\tif (!_geojsonInfo) return defaultFillExtrusionColor;\n\n\t\treturn [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', 'height'],\n\t\t\t0,\n\t\t\t'rgb(0,255,55)',\n\t\t\t_geojsonInfo.max * elevationFactor,\n\t\t\t'rgb(255,0,0)',\n\t\t];\n\t}, [_geojsonInfo, props.elevationFactor]);\n\n\tconst _geojson = useMemo(() => {\n\t\tif (!props.geojson?.features || !_geojsonInfo) return;\n\n\t\tconst newData = getElevationData(_geojsonInfo, elevationFactor);\n\t\treturn newData;\n\t}, [_geojsonInfo, elevationFactor]);\n\n\tuseSource({\n\t\tmapId: props.mapId,\n\t\tsourceId: sourceName.current,\n\t\tsource: {\n\t\t\ttype: 'geojson',\n\t\t\tdata: (_geojson || featureCollection([])) as (string | GeoJSON.GeoJSON),\n\t\t},\n\t});\n\n\tuseLayer({\n\t\tlayerId: layerName.current,\n\t\toptions: {\n\t\t\tsource: sourceName.current,\n\t\t\ttype: 'fill-extrusion',\n\t\t\tpaint: {\n\t\t\t\t'fill-extrusion-height': ['get', 'height'],\n\t\t\t\t'fill-extrusion-opacity': 0.9,\n\t\t\t\t'fill-extrusion-color': (_fillExtrusionColor ||\n\t\t\t\t\tdefaultFillExtrusionColor) as DataDrivenPropertyValueSpecification<string>,\n\t\t\t},\n\t\t},\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t});\n\n\treturn <></>;\n};\n\nMlSpatialElevationProfile.defaultProps = {\n\televationFactor: 1,\n};\n\nexport default MlSpatialElevationProfile;\n","import React, { useRef, useEffect, useCallback } from 'react';\nimport useMap from '../../hooks/useMap';\nimport { LayerSpecification } from 'maplibre-gl';\nimport { VectorSourceSpecification } from 'maplibre-gl';\n\nexport type MlVectorTileLayerProps = {\n\tmapId?: string;\n\tinsertBeforeLayer?: string;\n\tlayerId?: string;\n\tsourceOptions?: VectorSourceSpecification;\n\turl?: string;\n\tlayers: LayerSpecification[];\n};\n\n/**\n * Adds a vector-tile source and 0...n vector-tile-layers to the MapLibre instance referenced by\n * props.mapId\n *\n * @component\n */\nconst MlVectorTileLayer = (props: MlVectorTileLayerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst layerId = useRef(props.layerId || 'MlVectorTileLayer-' + mapHook.componentId);\n\tconst layerPaintConfsRef = useRef({});\n\tconst layerLayoutConfsRef = useRef({});\n\tconst initializedRef = useRef(false);\n\n\tconst createLayers = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tinitializedRef.current = true;\n\n\t\tif (mapHook.map.map.getSource(layerId.current)) {\n\t\t\tmapHook.cleanup();\n\t\t}\n\n\t\t// Add the new layer to the maplibre instance once it is available\n\t\tif (!mapHook.map.map.getSource(layerId.current)) {\n\t\t\tmapHook.map.addSource(\n\t\t\t\tlayerId.current,\n\t\t\t\t{\n\t\t\t\t\ttype: 'vector',\n\t\t\t\t\ttiles: [props.url || ''],\n\t\t\t\t\tattribution: '',\n\t\t\t\t\tminzoom: 0,\n\t\t\t\t\tmaxzoom: 14,\n\t\t\t\t\t...props.sourceOptions,\n\t\t\t\t},\n\t\t\t\tmapHook.componentId\n\t\t\t);\n\t\t}\n\n\t\tprops.layers.forEach((layer) => {\n\t\t\tif (!mapHook.map) return;\n\t\t\tmapHook.map.addLayer(\n\t\t\t\t{\n\t\t\t\t\tsource: layerId.current,\n\t\t\t\t\tminzoom: 0,\n\t\t\t\t\tmaxzoom: 22,\n\t\t\t\t\tlayout: {},\n\t\t\t\t\tpaint: {\n\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t'line-opacity': 0.5,\n\t\t\t\t\t\t'line-color': 'rgb(80, 80, 80)',\n\t\t\t\t\t\t'line-width': 2,\n\t\t\t\t\t},\n\t\t\t\t\t...layer,\n\t\t\t\t},\n\t\t\t\tprops.insertBeforeLayer,\n\t\t\t\tmapHook.componentId\n\t\t\t);\n\t\t\tlayerPaintConfsRef.current[layer.id] = JSON.stringify(layer.paint);\n\t\t\tlayerLayoutConfsRef.current[layer.id] = JSON.stringify(layer.layout);\n\n\t\t\t// recreate layer if style has changed\n\t\t\tmapHook.map.on(\n\t\t\t\t'styledata',\n\t\t\t\t() => {\n\t\t\t\t\tif (initializedRef.current && !mapHook.map?.map.getSource(layerId.current)) {\n\t\t\t\t\t\tconsole.log('Recreate Layer ' + layerId.current);\n\t\t\t\t\t\tcreateLayers();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tmapHook.componentId\n\t\t\t);\n\t\t});\n\t}, [mapHook.map, props]);\n\n\tconst updateLayers = useCallback(() => {\n\t\tif (!initializedRef.current) return;\n\n\t\tprops.layers.forEach((layer) => {\n\t\t\tif (!mapHook.map) return;\n\t\t\tif (mapHook.map.map.getLayer(layer.id)) {\n\t\t\t\t// update changed paint property\n\t\t\t\tconst layerPaintConfString = JSON.stringify(layer.paint);\n\n\t\t\t\tif (layerPaintConfString !== layerPaintConfsRef.current[layer.id]) {\n\t\t\t\t\tfor (const paintKey in layer.paint) {\n\t\t\t\t\t\tmapHook.map.map.setPaintProperty(layer.id, paintKey, layer.paint[paintKey]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlayerPaintConfsRef.current[layer.id] = layerPaintConfString;\n\n\t\t\t\t// update changed layout property\n\t\t\t\tconst layerLayoutConfString = JSON.stringify(layer.layout);\n\n\t\t\t\tif (layerLayoutConfString !== layerLayoutConfsRef.current[layer.id]) {\n\t\t\t\t\tfor (const layoutKey in layer.layout) {\n\t\t\t\t\t\tmapHook.map.map.setLayoutProperty(layer.id, layoutKey, layer.layout[layoutKey]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlayerLayoutConfsRef.current[layer.id] = layerLayoutConfString;\n\t\t\t}\n\t\t});\n\t}, [mapHook.map, props.layers]);\n\n\t// initial layer creation\n\tuseEffect(() => {\n\t\tif (initializedRef.current) return;\n\t\tcreateLayers();\n\t}, [createLayers]);\n\n\t// if layers get removed or added\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !initializedRef.current) return;\n\t\tcreateLayers();\n\t}, [props.layers.length, mapHook.map]);\n\n\t// on layout/paint update\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !initializedRef.current) return;\n\t\tupdateLayers();\n\t}, [props.layers, mapHook.map]);\n\n\treturn <></>;\n};\n\nexport default MlVectorTileLayer;\n","import React, { useRef, useEffect, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport MapContext from \"../../contexts/MapContext\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport MapLibreGlWrapper from \"../MapLibreMap/lib/MapLibreGlWrapper\";\n\nexport interface MlWmsFeatureInfoPopupProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n}\n/**\n * TODO: Add short & useful description\n *\n * @param {object} props\n * @param {string} props.mapId Id of the target MapLibre instance in mapContext\n *\n * @component\n */\nconst MlWmsFeatureInfoPopup = (props:MlWmsFeatureInfoPopupProps) => {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\tconst mapContext = useContext(MapContext);\n\n\tconst initializedRef = useRef(false);\n\tconst mapRef = useRef<MapLibreGlWrapper | undefined>(undefined);\n\tconst componentId = useRef((\"MlWmsFeatureInfoPopup-\") + uuidv4());\n\n\tuseEffect(() => {\n\t\tconst _componentId = componentId.current;\n\n\t\treturn () => {\n\t\t\t// This is the cleanup function, it is called when this react component is removed from react-dom\n\t\t\t// try to remove anything this component has added to the MapLibre-gl instance\n\t\t\t// e.g.: remove the layer\n\t\t\t// mapContext.getMap(props.mapId).removeLayer(layerRef.current);\n\t\t\t// check for the existence of map.style before calling getLayer or getSource\n\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.cleanup(_componentId);\n\t\t\t\tmapRef.current = undefined;\n\t\t\t}\n\t\t\tinitializedRef.current = false;\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!mapContext.mapExists(props.mapId) || initializedRef.current) return;\n\t\t// the MapLibre-gl instance (mapContext.getMap(props.mapId)) is accessible here\n\t\t// initialize the layer and add it to the MapLibre-gl instance or do something else with it\n\t\tinitializedRef.current = true;\n\t\tmapRef.current = mapContext.getMap(props.mapId);\n\n\t\tmapRef.current.setCenter([7.132122000552613, 50.716405378037706]);\n\t}, [mapContext.mapIds, mapContext, props.mapId]);\n\n\treturn <></>;\n};\n\nMlWmsFeatureInfoPopup.defaultProps = {\n\tmapId: undefined,\n};\n\nMlWmsFeatureInfoPopup.propTypes = {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId: PropTypes.string,\n};\nexport default MlWmsFeatureInfoPopup;\n","import React, { useMemo, useRef, useEffect, useCallback } from 'react';\nimport useMap from '../../hooks/useMap';\n\nimport PropTypes from 'prop-types';\nimport { RasterLayerSpecification, RasterSourceSpecification } from 'maplibre-gl';\n\nconst defaultProps = {\n\tvisible: true,\n\turlParameters: {\n\t\tbbox: '{bbox-epsg-3857}',\n\t\tformat: 'image/png',\n\t\tservice: 'WMS',\n\t\tversion: '1.1.1',\n\t\trequest: 'GetMap',\n\t\tsrs: 'EPSG:3857',\n\t\twidth: 256,\n\t\theight: 256,\n\t\tstyles: '',\n\t},\n\tattribution: '',\n\tsourceOptions: {\n\t\tminZoom: 0,\n\t\tmaxZoom: 20,\n\t},\n\tlayerOptions: {\n\t\tminZoom: 0,\n\t\tmaxZoom: 20,\n\t},\n};\n\nexport interface MlWmsLayerProps {\n\turlParameters?: { [key: string]: string };\n\turl: string;\n\tvisible?: boolean;\n\tattribution?: string;\n\tmapId?: string;\n\tsourceOptions?: RasterSourceSpecification;\n\tlayerOptions?: RasterLayerSpecification;\n\tinsertBeforeLayer?: string;\n\tlayerId?: string;\n}\n/**\n * Adds a WMS raster source & layer to the maplibre-gl instance\n *\n * @param {object} props\n * @param {object} props.urlParameters URL query parameters that will be added to the WMS URL. A layers property (string) is mandatory. Any value defined on this attribute will extend the default object\n * @param {string} props.url WMS URL\n * @param {bool}\t props.visible Sets layer \"visibility\" property to \"visible\" if true or \"none\" if false\n * @param {string} props.attribution MapLibre attribution shown in the bottom right of the map, if this layer is visible\n * @param {string} props.mapId Id of the target MapLibre instance in mapContext\n * @param {object} props.sourceOptions Object that is passed to the MapLibre.addSource call as config option parameter\n * @param {object} props.layerOptions Object that is passed to the MapLibre.addLayer call as config option parameter\n * @param {string} props.insertBeforeLayer Id of an existing layer in the mapLibre instance to help specify the layer order\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t This layer will be visually beneath the layer with the \"insertBeforeLayer\" id\n *\n * @component\n */\nconst MlWmsLayer = (props: MlWmsLayerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst initializedRef = useRef(false);\n\tconst layerId = useRef(props.layerId || 'MlWmsLayer-' + mapHook.componentId);\n\n\tconst tileUrl = useMemo(() => {\n\t\tlet _propsUrlParams;\n\t\tlet _wmsUrl = props.url;\n\t\tif (props.url.indexOf('?') !== -1) {\n\t\t\t_propsUrlParams = props.url.split('?');\n\t\t\t_wmsUrl = _propsUrlParams[0];\n\t\t}\n\t\tconst _urlParamsFromUrl = new URLSearchParams(_propsUrlParams?.[1]);\n\t\t// first spread in default props manually to enable overriding a single parameter without replacing the whole default urlParameters object\n\t\tconst urlParamsObj = {\n\t\t\t...defaultProps.urlParameters,\n\t\t\t...Object.fromEntries(_urlParamsFromUrl),\n\t\t\t...props.urlParameters,\n\t\t};\n\t\tconst urlParams = new URLSearchParams(urlParamsObj as unknown as Record<string, string>);\n\t\tconst urlParamsStr =\n\t\t\tdecodeURIComponent(urlParams.toString()) + ''.replace(/%2F/g, '/').replace(/%3A/g, ':');\n\n\t\treturn _wmsUrl + '?' + urlParamsStr;\n\t}, [props.urlParameters, props.url]);\n\n\tconst createLayer = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tinitializedRef.current = true;\n\n\t\tif (mapHook.map.map.getLayer(layerId.current)) {\n\t\t\tmapHook.cleanup();\n\t\t}\n\n\t\tmapHook.map.addSource(\n\t\t\tlayerId.current,\n\t\t\t{\n\t\t\t\ttype: 'raster',\n\t\t\t\ttiles: [tileUrl],\n\t\t\t\ttileSize: 256,\n\t\t\t\tattribution: props.attribution,\n\t\t\t\t...props.sourceOptions,\n\t\t\t},\n\t\t\tmapHook.componentId\n\t\t);\n\n\t\tmapHook.map.addLayer(\n\t\t\t{\n\t\t\t\tid: layerId.current,\n\t\t\t\ttype: 'raster',\n\t\t\t\tsource: layerId.current,\n\t\t\t\t...props.layerOptions,\n\t\t\t},\n\t\t\tprops.insertBeforeLayer,\n\t\t\tmapHook.componentId\n\t\t);\n\n\t\t// recreate layer if map style.json has changed\n\t\tmapHook.map.on(\n\t\t\t'styledata',\n\t\t\t() => {\n\t\t\t\tif (initializedRef.current && !mapHook.map?.map.getLayer(layerId.current)) {\n\t\t\t\t\tconsole.log('Recreate Layer ' + layerId.current);\n\t\t\t\t\tcreateLayer();\n\t\t\t\t}\n\t\t\t},\n\t\t\tmapHook.componentId\n\t\t);\n\t\tif (!props.visible) {\n\t\t\tmapHook.map.map.setLayoutProperty(layerId.current, 'visibility', 'none');\n\t\t}\n\t}, [mapHook.map, props, tileUrl]);\n\n\tuseEffect(() => {\n\t\tif (initializedRef.current) return;\n\n\t\tcreateLayer();\n\t}, [createLayer]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !mapHook.map?.map?.style?.sourceCaches?.[layerId.current] || !initializedRef.current) return;\n\n\t\tconst source = mapHook.map.map.getSource(layerId.current) as RasterSourceSpecification;\n\t\tsource.tiles = [tileUrl];\n\n\t\tmapHook.map.map.style.sourceCaches[layerId.current].clearTiles();\n\n\t\tmapHook.map.map.style.sourceCaches[layerId.current].update(mapHook.map.map.transform);\n\n\t\tmapHook.map.map.triggerRepaint();\n\t}, [mapHook.map, tileUrl]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !initializedRef.current) return;\n\n\t\t// toggle layer visibility by changing the layout object's visibility property\n\t\tif (props.visible) {\n\t\t\tmapHook.map.map.setLayoutProperty(layerId.current, 'visibility', 'visible');\n\t\t} else {\n\t\t\tmapHook.map.map.setLayoutProperty(layerId.current, 'visibility', 'none');\n\t\t}\n\t}, [props.visible, mapHook.map]);\n\n\treturn <></>;\n};\n\nMlWmsLayer.defaultProps = {\n\t...defaultProps,\n};\n\nMlWmsLayer.propTypes = {\n\t/**\n\t * WMS URL\n\t */\n\turl: PropTypes.string.isRequired,\n\t/**\n\t * URL query parameters that will be added to the WMS URL. A layers property (string) is mandatory. Any value defined on this attribute will extend the default object.\n\t */\n\turlParameters: PropTypes.shape({\n\t\tlayers: PropTypes.string.isRequired,\n\t\tbbox: PropTypes.string,\n\t\tformat: PropTypes.string,\n\t\tservice: PropTypes.string,\n\t\tversion: PropTypes.string,\n\t\trequest: PropTypes.string,\n\t\tsrs: PropTypes.string,\n\t\twidth: PropTypes.number,\n\t\theight: PropTypes.number,\n\t}),\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId: PropTypes.string,\n\t/**\n\t * MapLibre attribution shown in the bottom right of the map, if this layer is visible\n\t */\n\tattribution: PropTypes.string,\n\t/**\n\t * Object that is passed to the MapLibre.addLayer call as config option parameter\n\t */\n\tlayerOptions: PropTypes.object,\n\t/**\n\t * Object that is passed to the MapLibre.addSource call as config option parameter\n\t */\n\tsourceOptions: PropTypes.object,\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer: PropTypes.string,\n\t/**\n\t * Sets layer \"visibility\" property to \"visible\" if true or \"none\" if false\n\t */\n\tvisible: PropTypes.bool,\n};\nexport default MlWmsLayer;\n","import { useState, useEffect } from \"react\";\nimport WMSCapabilities, { WMSCapabilitiesJSON } from \"wms-capabilities\";\n\nexport interface useWmsProps{\n\turl?:string;\n\turlParameters?:{[key: string]: string};\n}\n\nexport interface useWmsReturnType{\n\t\tcapabilities:WMSCapabilitiesJSON | null | undefined;\n\t\tgetFeatureInfoUrl:string | undefined;\n\t\twmsUrl:string | undefined;\n\t\terror:string | undefined;\n\t\tsetUrl:(value:string|undefined) => void;\n}\n\nfunction useWms(props:useWmsProps):useWmsReturnType {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\tconst [getFeatureInfoUrl, setGetFeatureInfoUrl] = useState<string>();\n\tconst [url, setUrl] = useState(props.url);\n\tconst [wmsUrl, setWmsUrl] = useState(\"\");\n\tconst [capabilities, setCapabilities] = useState<WMSCapabilitiesJSON | null | undefined>();\n\tconst [error, setError] = useState();\n\n\tconst clearState = () => {\n\t\tsetGetFeatureInfoUrl(undefined);\n\t\tsetCapabilities(undefined);\n\t\t//setLayers([]);\n\t\tsetWmsUrl(\"\");\n\t};\n\n\tuseEffect(() => {\n\t\t// extract URL parameters from the given URL\n\t\tclearState();\n\t\tsetError(undefined);\n\n\t\tif (!url) return;\n\n\t\tlet _propsUrlParams;\n\t\tlet _wmsUrl = url;\n\t\tif (url.indexOf(\"?\") !== -1) {\n\t\t\t_propsUrlParams = url.split(\"?\");\n\t\t\t_wmsUrl = _propsUrlParams[0];\n\t\t}\n\t\tconst _urlParamsFromUrl = new URLSearchParams(_propsUrlParams?.[1]);\n\n\t\tconst urlParamsObj = {\n\t\t\t...Object.fromEntries(_urlParamsFromUrl),\n\t\t\t...props.urlParameters,\n\t\t};\n\t\t// create URLSearchParams object to assemble the URL Parameters\n\t\tconst urlParams = new URLSearchParams(urlParamsObj);\n\n\t\tconst urlParamsStr =\n\t\t\tdecodeURIComponent(urlParams.toString()) + \"\".replace(/%2F/g, \"/\").replace(/%3A/g, \":\");\n\n\t\tfetch(_wmsUrl + \"?\" + urlParamsStr)\n\t\t\t.then((res) => {\n\t\t\t\tif (!res.ok) {\n\t\t\t\t\tthrow Error(res.statusText + \" (\" + res.status + \" - \" + res.type + \")\");\n\t\t\t\t} else {\n\t\t\t\t\treturn res.text();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((data:string) => {\n\t\t\t\tsetCapabilities(new WMSCapabilities(data, window.DOMParser).toJSON());\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\t//reset local state\n\t\t\t\tclearState();\n\t\t\t\tconsole.log(error);\n\t\t\t\tsetError(error.message);\n\t\t\t});\n\t}, [url, props.urlParameters]);\n\n\tuseEffect(() => {\n\t\tif (!capabilities?.Service) return;\n\n\t\tsetWmsUrl(capabilities.Capability?.Request?.GetMap?.DCPType?.[0]?.HTTP?.Get?.OnlineResource);\n\t\t// set getFeatureInfo url\n\t\tsetGetFeatureInfoUrl(\n\t\t\tcapabilities.Capability?.Request?.GetFeatureInfo?.DCPType?.[0]?.HTTP?.Get?.OnlineResource\n\t\t);\n\t}, [capabilities]);\n\n\treturn {\n\t\tcapabilities,\n\t\tgetFeatureInfoUrl,\n\t\twmsUrl,\n\t\terror,\n\t\tsetUrl,\n\t};\n}\n\nuseWms.defaultProps = {\n\turl: \"\",\n\turlParameters: {\n\t\tSERVICE: \"WMS\",\n\t\tVERSION: \"1.3.0\",\n\t\tREQUEST: \"GetCapabilities\",\n\t},\n};\n\nexport default useWms;\n","import * as React from 'react';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\n\nexport interface ConfirmDialogProps {\n open: boolean;\n title: string;\n text: string;\n onConfirm: () => void;\n onCancel: () => void;\n}\n\nexport default function ConfirmDialog(props: ConfirmDialogProps) {\n\n return (\n <>\n <Dialog\n open={props.open}\n onClose={props.onCancel}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">\n {props.title}\n </DialogTitle>\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">\n {props.text}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={props.onCancel}>Cancel</Button>\n <Button onClick={props.onConfirm} autoFocus>\n Confirm\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nConfirmDialog.defaultProps = {\n title: 'Confirm',\n text: 'Are you sure?',\n};","import React, { ReactNode } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\ninterface SortableContainerProps {\n\tchildren: ReactNode;\n\tlayerId: string;\n}\n\nfunction SortableContainer({ children, layerId }: SortableContainerProps) {\n\tconst { attributes, listeners, setNodeRef, transform } = useSortable({\n\t\tid: layerId,\n\t});\n\tconst style = {\n\t\ttransform: CSS.Transform.toString(transform),\n\t};\n\n\treturn (\n\t\t<li ref={setNodeRef} style={style} {...attributes} {...listeners}>\n\t\t\t{children}\n\t\t</li>\n\t);\n}\n\nexport default SortableContainer;\n","import React, { useEffect, useCallback, useState, useMemo } from 'react';\n\nimport MlWmsLayer from '../MlWmsLayer/MlWmsLayer';\nimport MlMarker from '../MlMarker/MlMarker';\nimport useWms, { useWmsProps } from '../../hooks/useWms';\n\nimport InfoIcon from '@mui/icons-material/Info';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport IconButton from '@mui/material/IconButton';\nimport { LngLat, MapMouseEvent } from 'maplibre-gl';\nimport { Layer2, Layer3 } from 'wms-capabilities';\nimport { useWmsReturnType } from '../../hooks/useWms';\nimport useMap from '../../hooks/useMap';\nimport { Box, Checkbox, ListItemIcon, Snackbar } from '@mui/material';\nimport { ExpandLess, ExpandMore } from '@mui/icons-material';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport ConfirmDialog from '../../ui_components/ConfirmDialog';\n\nimport * as turf from '@turf/turf';\nimport SortableContainer from '../../ui_components/LayerList/util/SortableContainer';\n\nconst originShift = (2 * Math.PI * 6378137) / 2.0;\nconst lngLatToMeters = function (lnglat: LngLat, accuracy = { enable: true, decimal: 1 }) {\n\tconst lng = lnglat.lng;\n\tconst lat = lnglat.lat;\n\tlet x = (lng * originShift) / 180.0;\n\tlet y = Math.log(Math.tan(((90 + lat) * Math.PI) / 360.0)) / (Math.PI / 180.0);\n\ty = (y * originShift) / 180.0;\n\tif (accuracy.enable) {\n\t\tx = Number(x.toFixed(accuracy.decimal));\n\t\ty = Number(y.toFixed(accuracy.decimal));\n\t}\n\treturn [x, y];\n};\n\nexport interface WmsConfig {\n\t/**\n\t * The URL to use for the getFeatureInfo request\n\t */\n\tgetFeatureInfoUrl: useWmsReturnType['getFeatureInfoUrl'];\n\t/**\n\t * The URL of the WMS service\n\t */\n\twmsUrl: useWmsReturnType['wmsUrl'];\n\t/**\n\t * The layers to display on the map\n\t */\n\tlayers: LayerType[];\n\t/**\n\t * If true, the WMS layer is visible\n\t */\n\tvisible: boolean;\n\t/**\n\t * If true, the WMS layer is open\n\t */\n\topen: boolean;\n\t/**\n\t * The name of the WMS layer\n\t */\n\tname?: string;\n}\n\nexport interface MlWmsLoaderProps {\n\t/**\n\t * WMS URL\n\t */\n\turl: string;\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\tlayerId?: string;\n\tinsertBeforeLayer?: string;\n\t/**\n\t * URL parameters that will be used in the getCapabilities request\n\t */\n\turlParameters?: useWmsProps['urlParameters'];\n\t/**\n\t * URL parameters that will be added when requesting WMS capabilities\n\t */\n\twmsUrlParameters?: { [key: string]: string };\n\t/**\n\t * If true, zooms to the extent of the WMS layer after loading the getCapabilities response\n\t */\n\tzoomToExtent?: boolean;\n\t/**\n\t * The name of the ListItem element representing the WmsLoader\n\t */\n\tname?: string;\n\t/**\n\t * If true, enables the feature info functionality\n\t */\n\tfeatureInfoEnabled?: boolean;\n\t/**\n\t * If true, the feature info functionality is active\n\t */\n\tfeatureInfoActive?: boolean;\n\t/**\n\t * A function to set the feature info active state\n\t */\n\tsetFeatureInfoActive?: (val: boolean | ((current: boolean) => boolean)) => void;\n\t/**\n\t * The WMS configuration object\n\t */\n\tconfig?: WmsConfig;\n\t/**\n\t * A function to handle changes to the WMS configuration\n\t */\n\tonConfigChange?: (config: WmsConfig | false) => void;\n\t/**\n\t * A function to update a LayerType config array that is passed to this component at props.config.layers\n\t */\n\tsetLayers?: (layers: LayerType[]) => void;\n\t/**\n\t * If true, shows the delete button for the WMSLoader\n\t */\n\tshowDeleteButton?: boolean;\n\t/**\n\t * Custom buttons to display for the WMSLoader\n\t */\n\tbuttons?: JSX.Element;\n\tsortable?: boolean;\n}\n\nexport type LayerType = {\n\tvisible: boolean;\n\tName: string;\n\tAttribution?: { Title: string };\n} & Omit<Layer2, 'Layer' | 'CRS'> &\n\tPartial<Pick<Layer2, 'Layer'>>;\n/**\n * Loads a WMS getCapabilities xml document and adds a MlWmsLayer component for each layer that is\n * offered by the WMS.\n *\n * @component\n */\nconst MlWmsLoader = (props: MlWmsLoaderProps) => {\n\n\tconst {\n\t\tcapabilities: _capabilities,\n\t\terror,\n\t\tsetUrl,\n\t\tgetFeatureInfoUrl: _getFeatureInfoUrl,\n\t\twmsUrl: _wmsUrl,\n\t}: useWmsReturnType = useWms({\n\t\turlParameters: props.urlParameters,\n\t});\n\tconst [open, setOpen] = useState(props?.config?.open || false);\n\tconst [visible, setVisible] = useState<boolean>(props?.config?.visible || true);\n\tconst [showDeletionConfirmationDialog, setShowDeletionConfirmationDialog] = useState(false);\n\n\tconst mapHook = useMap({ mapId: props?.mapId });\n\tconst [_layers, _setLayers] = useState<Array<LayerType>>(props?.config?.layers || []);\n\n\tconst [featureInfoEventsEnabled, setFeatureInfoEventsEnabled] = useState<boolean>(false);\n\tconst [featureInfoLngLat, setFeatureInfoLngLat] = useState<\n\t\t{ lng: number; lat: number } | undefined\n\t>();\n\tconst [featureInfoContent, setFeatureInfoContent] = useState<string | undefined>(undefined);\n\n\tuseEffect(() => {\n\t\tif (props.config) return;\n\t\tsetUrl(props.url);\n\t}, [props.url]);\n\n\tconst wmsUrl = useMemo(() => {\n\t\treturn props?.config?.wmsUrl || _wmsUrl;\n\t}, [props?.config?.wmsUrl, _wmsUrl]);\n\n\tconst getFeatureInfoUrl = useMemo(() => {\n\t\treturn props?.config?.getFeatureInfoUrl || _getFeatureInfoUrl;\n\t}, [props?.config?.getFeatureInfoUrl, _getFeatureInfoUrl]);\n\n\tconst capabilities = useMemo(() => {\n\t\treturn _capabilities;\n\t}, [_capabilities]);\n\n\tconst name = useMemo(() => {\n\t\treturn props?.name || props?.config?.name || capabilities?.Service?.Title;\n\t}, [props?.name, props?.config?.name, capabilities?.Service?.Title]);\n\n\tconst layers = useMemo(() => {\n\t\tif (!props?.setLayers) return _layers;\n\t\treturn props?.config?.layers || _layers;\n\t}, [props?.config?.layers, _layers]);\n\n\tconst setLayers = useMemo(() => {\n\t\treturn props?.setLayers || _setLayers;\n\t}, [props?.setLayers, _setLayers]);\n\n\tuseEffect(() => {\n\t\tprops?.onConfigChange?.({\n\t\t\tlayers,\n\t\t\t//capabilities,\n\t\t\tgetFeatureInfoUrl,\n\t\t\twmsUrl,\n\t\t\tvisible,\n\t\t\topen,\n\t\t\tname,\n\t\t});\n\t}, [layers, capabilities, getFeatureInfoUrl, wmsUrl, visible, open, name]);\n\n\tconst attribution = useMemo(() => {\n\t\treturn layers\n\t\t\t.filter((el: LayerType) => el.visible && el?.Attribution?.Title)\n\t\t\t.map((el: LayerType) => el?.Attribution?.Title)\n\t\t\t.filter((value: string, index: number, self: string[]) => self.indexOf(value) === index)\n\t\t\t.join(' ');\n\t}, [layers]);\n\n\tconst resetFeatureInfo = function () {\n\t\tsetFeatureInfoLngLat(undefined);\n\t\tsetFeatureInfoContent(undefined);\n\t};\n\n\tconst getFeatureInfo = useCallback(\n\t\t(ev: MapMouseEvent & unknown) => {\n\t\t\tif (!mapHook.map) return;\n\t\t\tresetFeatureInfo();\n\t\t\tconst unprojected = mapHook.map.unproject([ev.point.x, ev.point.y]);\n\t\t\tconst point = turf.point([unprojected.lng, unprojected.lat]);\n\t\t\tconst buffered = turf.buffer(point, 50, { units: 'meters' });\n\t\t\tconst _bbox = turf.bbox(buffered);\n\t\t\tconst _sw = lngLatToMeters({ lng: _bbox[0], lat: _bbox[1] } as LngLat);\n\t\t\tconst _ne = lngLatToMeters({ lng: _bbox[2], lat: _bbox[3] } as LngLat);\n\t\t\tconst bbox = [_sw[0], _sw[1], _ne[0], _ne[1]];\n\t\t\tconst _getFeatureInfoUrlParams = {\n\t\t\t\tREQUEST: 'GetFeatureInfo',\n\n\t\t\t\tBBOX: bbox.join(','),\n\t\t\t\tSERVICE: 'WMS',\n\t\t\t\tINFO_FORMAT:\n\t\t\t\t\tcapabilities?.Capability?.Request?.GetFeatureInfo.Format.indexOf('text/html') !== -1\n\t\t\t\t\t\t? 'text/html'\n\t\t\t\t\t\t: 'text/plain',\n\t\t\t\tFEATURE_COUNT: '10',\n\t\t\t\tLAYERS: layers\n\t\t\t\t\t.map((layer: LayerType) => (layer.visible && layer.queryable ? layer.Name : undefined))\n\t\t\t\t\t.filter((n) => n),\n\t\t\t\tQUERY_LAYERS: layers\n\t\t\t\t\t.map((layer: LayerType) => (layer.visible && layer.queryable ? layer.Name : undefined))\n\t\t\t\t\t.filter((n) => n),\n\t\t\t\tWIDTH: 100,\n\t\t\t\tHEIGHT: 100,\n\t\t\t\tsrs: 'EPSG:3857',\n\t\t\t\tCRS: 'EPSG:3857',\n\t\t\t\tversion: '1.3.0',\n\t\t\t\tX: 50,\n\t\t\t\tY: 50,\n\t\t\t\tI: 50,\n\t\t\t\tJ: 50,\n\t\t\t\tbuffer: '50',\n\t\t\t};\n\n\t\t\tlet _gfiUrl: string | undefined = getFeatureInfoUrl;\n\t\t\tlet _gfiUrlParts;\n\t\t\tif (_gfiUrl?.indexOf?.('?') !== -1) {\n\t\t\t\t_gfiUrlParts = props.url.split('?');\n\t\t\t\t_gfiUrl = _gfiUrlParts[0];\n\t\t\t}\n\t\t\tconst _urlParamsFromUrl = new URLSearchParams(_gfiUrlParts?.[1]);\n\n\t\t\tconst urlParamsObj = {\n\t\t\t\t...Object.fromEntries(_urlParamsFromUrl),\n\t\t\t\t..._getFeatureInfoUrlParams,\n\t\t\t};\n\t\t\t// create URLSearchParams object to assemble the URL Parameters\n\t\t\t// \"as any\" can be removed once the URLSearchParams ts spec is fixed\n\t\t\tconst urlParams = new URLSearchParams(urlParamsObj as unknown as Record<string, string>);\n\n\t\t\tfetch(props.url + '?' + urlParams.toString())\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (!res.ok) {\n\t\t\t\t\t\tthrow new Error('FeatureInfo could not be fetched');\n\t\t\t\t\t}\n\t\t\t\t\treturn res.text();\n\t\t\t\t})\n\t\t\t\t.then((text) => {\n\t\t\t\t\tsetFeatureInfoLngLat(ev.lngLat);\n\t\t\t\t\tsetFeatureInfoContent(text);\n\t\t\t\t})\n\t\t\t\t.catch((error) => console.log(error));\n\t\t},\n\t\t[capabilities, getFeatureInfoUrl, props, mapHook, layers]\n\t);\n\n\tconst _featureInfoEventsEnabled = useMemo(() => {\n\t\treturn (\n\t\t\t((typeof props?.featureInfoActive !== 'undefined' && props.featureInfoActive) ||\n\t\t\t\tfeatureInfoEventsEnabled) &&\n\t\t\tlayers?.some((layer) => layer.visible && layer.queryable) &&\n\t\t\t!!mapHook.map\n\t\t);\n\t}, [props?.featureInfoActive, featureInfoEventsEnabled, layers, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (!_featureInfoEventsEnabled) {\n\t\t\tresetFeatureInfo();\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst _getFeatureInfo = getFeatureInfo;\n\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore: ts appears not to consider overloads\n\t\tmapHook.map.map.on('click', _getFeatureInfo);\n\t\treturn () => {\n\t\t\tmapHook.map?.map.off?.('click', _getFeatureInfo);\n\t\t};\n\t}, [_featureInfoEventsEnabled, getFeatureInfo, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (!capabilities?.Service) return;\n\n\t\tif (\n\t\t\tcapabilities?.Capability?.Layer?.CRS?.indexOf?.('EPSG:3857') === -1 &&\n\t\t\tcapabilities?.Capability?.Layer?.CRS?.indexOf?.('CRS:84') === -1\n\t\t) {\n\t\t\tconsole.log(\n\t\t\t\t'MlWmsLoader (' + capabilities.Service.Title + '): No WGS 84/Pseudo-Mercator support'\n\t\t\t);\n\t\t} else {\n\t\t\tconsole.log(\n\t\t\t\t'MlWmsLoader (' + capabilities.Service.Title + '): WGS 84/Pseudo-Mercator supported'\n\t\t\t);\n\n\t\t\tlet _LatLonBoundingBox: Array<number> = [];\n\n\t\t\t// collect queriable Layer2 layers\n\t\t\tlet _layers: LayerType[] = capabilities?.Capability?.Layer?.Layer.filter(\n\t\t\t\t(el) => !el.Layer?.length\n\t\t\t).map((layer: Layer2 & { Name: string }, idx: number) => {\n\t\t\t\tif (idx === 0) {\n\t\t\t\t\t_LatLonBoundingBox = layer.EX_GeographicBoundingBox;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tvisible: capabilities?.Capability?.Layer?.Layer?.length > 2 ? idx > 1 : true,\n\t\t\t\t\tAttribution: { Title: '' },\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\t\t\t...(({ CRS, ..._layer }) => _layer)(layer),\n\t\t\t\t};\n\t\t\t});\n\n\t\t\t// collect queriable Layer3 layers\n\t\t\tcapabilities?.Capability?.Layer?.Layer.forEach((el) => {\n\t\t\t\tconst tmpLayers = el?.Layer?.filter((el) => el.CRS.length).map(\n\t\t\t\t\t(layer: Layer3, idx: number) => {\n\t\t\t\t\t\tif (idx === 0) {\n\t\t\t\t\t\t\t_LatLonBoundingBox = layer.EX_GeographicBoundingBox;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvisible: false,\n\t\t\t\t\t\t\tAttribution: { Title: '' },\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\t\t\t\t\t...(({ CRS, ..._layer }) => _layer)(layer),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif (tmpLayers) {\n\t\t\t\t\t_layers = [..._layers, ...tmpLayers];\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetLayers(_layers);\n\n\t\t\t// zoom to extent of first layer\n\t\t\tif (props.zoomToExtent && mapHook?.map && _LatLonBoundingBox.length > 3) {\n\t\t\t\tmapHook?.map.fitBounds([\n\t\t\t\t\t[_LatLonBoundingBox[0], _LatLonBoundingBox[1]],\n\t\t\t\t\t[_LatLonBoundingBox[2], _LatLonBoundingBox[3]],\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}, [capabilities, mapHook.map]);\n\tconst listContent = (\n\t\t<ListItem\n\t\t\tsecondaryAction={\n\t\t\t\t<>\n\t\t\t\t\t{props.buttons}\n\t\t\t\t\t{props.featureInfoEnabled && (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tpadding: '4px',\n\t\t\t\t\t\t\t\tmarginTop: '-3px',\n\t\t\t\t\t\t\t\tmarginRight: '4px',\n\t\t\t\t\t\t\t\tbackground: (theme) => {\n\t\t\t\t\t\t\t\t\tif (!layers?.some((layer) => layer.visible && layer.queryable)) return 'initial';\n\t\t\t\t\t\t\t\t\tif (_featureInfoEventsEnabled) return theme.palette.info.light;\n\t\t\t\t\t\t\t\t\treturn theme.palette.grey[300];\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-label=\"featureinfo\"\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tif (typeof props?.setFeatureInfoActive === 'function') {\n\t\t\t\t\t\t\t\t\tprops.setFeatureInfoActive((current: boolean) => !current);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetFeatureInfoEventsEnabled((current: boolean) => !current);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={!layers?.some((layer) => layer.visible && layer.queryable)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<InfoIcon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t)}\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\tedge={props.showDeleteButton ? false : 'end'}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tpadding: '4px',\n\t\t\t\t\t\t\tmarginTop: '-3px',\n\t\t\t\t\t\t\t...(props.showDeleteButton ? { marginRight: '4px' } : {}),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-label=\"open\"\n\t\t\t\t\t\tonClick={() => setOpen((current) => !current)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{open ? <ExpandLess /> : <ExpandMore />}\n\t\t\t\t\t</IconButton>\n\t\t\t\t\t{props.showDeleteButton && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\taria-label=\"delete\"\n\t\t\t\t\t\t\t\tedge=\"end\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tif (typeof props.onConfigChange === 'function') {\n\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(true);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsx={{ padding: '4px', marginTop: '-3px' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DeleteIcon />\n\t\t\t\t\t\t\t</IconButton>\n\n\t\t\t\t\t\t\t{showDeletionConfirmationDialog && (\n\t\t\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\t\t\topen={showDeletionConfirmationDialog}\n\t\t\t\t\t\t\t\t\tonConfirm={() => {\n\t\t\t\t\t\t\t\t\t\tif (typeof props.onConfigChange === 'function') {\n\t\t\t\t\t\t\t\t\t\t\tprops.onConfigChange(false);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonCancel={() => {\n\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttitle=\"Delete layer\"\n\t\t\t\t\t\t\t\t\ttext=\"Are you sure you want to delete this layer?\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t}\n\t\t\tsx={{\n\t\t\t\tpaddingRight: 0,\n\t\t\t\tpaddingLeft: 0,\n\t\t\t\tpaddingTop: 0,\n\t\t\t\tpaddingBottom: '4px',\n\t\t\t}}\n\t\t>\n\t\t\t<ListItemIcon sx={{ minWidth: '30px' }}>\n\t\t\t\t<Checkbox\n\t\t\t\t\tsx={{ padding: 0 }}\n\t\t\t\t\tchecked={visible}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tsetVisible((val) => !val);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</ListItemIcon>\n\t\t\t<ListItemText primary={name} variant=\"layerlist\" />\n\t\t</ListItem>\n\t);\n\treturn (\n\t\t<>\n\t\t\t{error && (\n\t\t\t\t<Snackbar>\n\t\t\t\t\t<Box>{error}</Box>\n\t\t\t\t</Snackbar>\n\t\t\t)}\n\t\t\t{wmsUrl && (\n\t\t\t\t<>\n\t\t\t\t\t{props.layerId && props.sortable && (\n\t\t\t\t\t\t<SortableContainer layerId={props.layerId}>{listContent}</SortableContainer>\n\t\t\t\t\t)}\n\t\t\t\t\t{props.layerId && !props.sortable && (\n\t\t\t\t\t\tlistContent\n\t\t\t\t\t)}\n\t\t\t\t\t<Box sx={{ display: open ? 'block' : 'none' }}>\n\t\t\t\t\t\t<List dense component=\"div\" disablePadding sx={{ paddingLeft: '18px' }}>\n\t\t\t\t\t\t\t{wmsUrl &&\n\t\t\t\t\t\t\t\tlayers?.map?.((layer, idx) => {\n\t\t\t\t\t\t\t\t\treturn layer?.Name ? (\n\t\t\t\t\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\t\t\t\t\tkey={layer.Name + idx}\n\t\t\t\t\t\t\t\t\t\t\tsecondaryAction={<>{layer?.queryable && <InfoIcon />}</>}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<ListItemIcon sx={{ minWidth: '30px' }}>\n\t\t\t\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={layer.visible}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{ padding: 0 }}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst _layers: Array<LayerType> = [...layers];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_layers[idx].visible = !_layers[idx].visible;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetLayers([..._layers]);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t\t\t\t\t<ListItemText primary={layer?.Title} variant=\"layerlist\" />\n\t\t\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<></>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</List>\n\t\t\t\t\t\t{wmsUrl && layers?.length && (\n\t\t\t\t\t\t\t<MlWmsLayer\n\t\t\t\t\t\t\t\tkey={mapHook.componentId}\n\t\t\t\t\t\t\t\turl={wmsUrl}\n\t\t\t\t\t\t\t\tattribution={attribution}\n\t\t\t\t\t\t\t\tvisible={visible}\n\t\t\t\t\t\t\t\turlParameters={{\n\t\t\t\t\t\t\t\t\t...props.wmsUrlParameters,\n\t\t\t\t\t\t\t\t\tlayers: layers\n\t\t\t\t\t\t\t\t\t\t?.filter?.((layer) => layer.visible)\n\t\t\t\t\t\t\t\t\t\t.map((el) => el.Name)\n\t\t\t\t\t\t\t\t\t\t.reverse()\n\t\t\t\t\t\t\t\t\t\t.join(','),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinsertBeforeLayer={props?.insertBeforeLayer}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Box>\n\n\t\t\t\t\t{props.featureInfoEnabled && featureInfoLngLat && (\n\t\t\t\t\t\t<MlMarker {...featureInfoLngLat} content={featureInfoContent} />\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</>\n\t);\n};\n//<p key=\"description\" style={{ fontSize: '.7em' }}>\n//\t{capabilities?.Capability?.Layer?.['Abstract']}\n//</p>\n\nMlWmsLoader.defaultProps = {\n\tmapId: undefined,\n\turl: '',\n\turlParameters: {\n\t\tSERVICE: 'WMS',\n\t\tVERSION: '1.3.0',\n\t\tREQUEST: 'GetCapabilities',\n\t},\n\twmsUrlParameters: {\n\t\tTRANSPARENT: 'TRUE',\n\t},\n\tfeatureInfoEnabled: true,\n\tzoomToExtent: false,\n\tshowDeleteButton: false,\n};\n\nexport default MlWmsLoader;\n","import {\n\tLineLayerSpecification,\n\tCircleLayerSpecification,\n\tFillLayerSpecification,\n\n} from 'maplibre-gl';\n\ninterface paintPickerProps {\n\ttype: 'fill' | 'line' | 'circle' | undefined,\n\ttimeField: string,\n\tcurrentVal: number,\n\tminVal: number,\n\tisPlaying: boolean,\n\tfadeIn: number ,\n\tfadeOut: number,\n\tstep: number,\n\tfeaturesColor: string,\n\taccumulate: boolean,\n\tuserPaint: CircleLayerSpecification['paint']\n\t| FillLayerSpecification['paint']\n\t| LineLayerSpecification['paint'];\n}\n\nexport default function paintPicker(props: paintPickerProps) {\n\tconst circleNoShow = { 'circle-color': 'rgba(0,0,0,0)' };\n\tconst fillNoShow = { 'fill-color': 'rgba(0,0,0,0)', 'fill-outline-color':'rgba(0,0,0,0)' };\n\tconst lineNoShow = {'line-color': 'rgba(0,0,0,0)'}\n\n\n\tconst opacityInterpolate = [\n\t\t'interpolate',\n\t\t['linear'],\n\t\t['get', props.timeField],\n\t\tprops.currentVal - props.fadeIn * props.step,\n\t\t0,\n\t\tprops.currentVal,\n\t\t1,\n\t\tprops.currentVal + props.fadeOut * props.step,\n\t\t0,\n\t];\n\n\tconst accumulatedOpacityInterpolate = [\n\t\t'interpolate',\n\t\t['linear'],\n\t\t['get', props.timeField],\n\t\tprops.currentVal,\n\t\t1,\n\t\tprops.currentVal + props.fadeOut * props.step,\n\t\t0,\n\t];\n\n\tconst defaultFillPaint = {\n\t\t'fill-color': props.featuresColor,\n\t\t'fill-opacity': opacityInterpolate,\n\t\t'fill-outline-color': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\tprops.currentVal - props.fadeIn * props.step,\n\t\t\t'rgba(255, 0, 0, 0)',\n\t\t\tprops.currentVal,\n\t\t\t'rgb(0,0,0)',\n\t\t\tprops.currentVal + props.fadeIn * props.step,\n\t\t\t'rgba(255, 0, 0, 0)',\n\t\t],\n\t};\n\n\tconst defaultCirclePaint = {\n\t\t'circle-color': props.featuresColor,\n\t\t'circle-radius': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\tprops.currentVal - props.fadeIn * props.step,\n\t\t\t1,\n\t\t\tprops.currentVal,\n\t\t\t20,\n\t\t\tprops.currentVal + props.fadeOut * props.step,\n\t\t\t1,\n\t\t],\n\t\t'circle-opacity': opacityInterpolate,\n\t};\n\tconst defaultLinePaint = {\n'line-color': props.featuresColor,\n'line-width': 3,\n'line-opacity': opacityInterpolate\n\n\t};\n\n\tconst circleAccumulatePaint = {\n\t\t'circle-color': props.featuresColor,\n\n\t\t'circle-radius': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\tprops.currentVal,\n\t\t\t20,\n\t\t\tprops.currentVal + props.fadeOut * props.step,\n\t\t\t1,\n\t\t],\n\n\t\t'circle-opacity': accumulatedOpacityInterpolate,\n\t};\n\n\tconst fillAccumulatePaint = {\n\t\t'fill-color': props.featuresColor,\n\t\t'fill-opacity': accumulatedOpacityInterpolate,\n\t\t'fill-outline-color': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\tprops.currentVal,\n\t\t\t'rgb(0,0,0)',\n\t\t\tprops.currentVal + props.fadeIn * props.step,\n\t\t\t'rgba(255, 0, 0, 0)',\n\t\t],\n\t};\n\n\tconst lineAccumulatePaint = {\n\t\t'line-color': props.featuresColor,\n\t\t'line-width': 3,\n\t\t'line-opacity': accumulatedOpacityInterpolate\n\t};\n\n\tif (props.userPaint !== undefined) {\n\t\treturn props.userPaint;\n\t} else {\n\t\tswitch (props.type) {\n\t\t\tcase 'circle':\n\t\t\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\t\t\treturn circleNoShow;\n\t\t\t\t} else if (props.accumulate ) {\n\t\t\t\t\treturn circleAccumulatePaint;\n\t\t\t\t} else {\n\t\t\t\t\treturn defaultCirclePaint;\n\t\t\t\t}\n\t\t\t\t\n\t\t\tcase 'fill':\n\t\t\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\t\t\treturn fillNoShow;\n\t\t\t\t} else if (props.accumulate ) {\n\t\t\t\t\treturn fillAccumulatePaint;\n\t\t\t\t} else {\n\t\t\t\t\treturn defaultFillPaint;\n\t\t\t\t}\n\n\t\t\t\tcase 'line':\n\t\t\t\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\t\t\t\treturn lineNoShow;\n\t\t\t\t\t} else if (props.accumulate ) {\n\t\t\t\t\t\treturn lineAccumulatePaint;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn defaultLinePaint;\n\t\t\t\t\t}\n\t\t\t\tcase undefined:\n\t\t\t\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\t\t\t\treturn circleNoShow;\n\t\t\t\t\t} else if (props.accumulate ) {\n\t\t\t\t\t\treturn circleAccumulatePaint;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn defaultCirclePaint;\n\t\t\t\t\t}\n\t\t}\n\t}\n}\n","import React from 'react';\n\nimport MlLayer from '../../MlLayer/MlLayer';\nimport {\n\tSymbolLayerSpecification,\n\tSymbolLayoutProps,\n} from 'maplibre-gl';\nimport { FeatureCollection } from '@turf/turf';\nimport { useLayerProps } from '../../../hooks/useLayer';\n\n\ninterface MlTemporalControllerLabelsProps {\n\tdata: FeatureCollection;\n\tcurrentVal: number;\n\tfadeIn: number;\n\tfadeOut: number;\n\tstep: number;\n\tlabelField: string;\n\tlabelColor: string;\n\ttimeField: string;\n\tminVal: number;\n\taccumulate: boolean;\n\tisPlaying: boolean;\n\tlabelLayout?: SymbolLayoutProps;\n\tlabelPaint?: SymbolLayerSpecification;\n\t}\n\nexport default function MlTemporalControllerLabels(props: MlTemporalControllerLabelsProps) {\n\nconst fadeInSteps = props.currentVal - props.fadeIn * props.step;\nconst fadeOutSteps = props.currentVal + props.fadeIn * props.step;\n\nconst noShow: SymbolLayerSpecification[\"paint\"] = { 'text-color': 'rgba(0,0,0,0)' };\nconst defaultPaint: SymbolLayerSpecification[\"paint\"] = {\n\t\t'text-color': props.labelColor,\n\t\t'text-opacity': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\t\n\t\t\tfadeInSteps,\n\t\t\t0,\n\t\t\tprops.currentVal,\n\t\t\t1,\n\t\t\tfadeOutSteps,\n\t\t\t0,\n\t\t\n\t\t]\t \n\t}; \n\n\tconst accumulatePaint: SymbolLayerSpecification[\"paint\"] = {\n\t\t'text-color': props.labelColor,\n\t\t'text-opacity': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\t\n\t\t\tprops.currentVal,\n\t\t\t1,\n\t\t\tfadeOutSteps,\n\t\t\t0,\n\t\t]\t\n\t}\n\n\tconst currentPaint = ()=>{\n\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\treturn noShow;\n\t\t}\n\t\tif (props.accumulate) {\n\t\t\treturn accumulatePaint;\n\t\t} else {\n\t\t\treturn defaultPaint;\n\t\t}\n\t}\n\n\t\n\tconst defaultLayout: SymbolLayerSpecification[\"layout\"] = {\n\t\t'text-field': ['get', props.labelField],\n\t\t'text-font': ['Metropolis Regular'],\n\t}\n\n\n\treturn (\n\t\t<MlLayer\n\t\t\toptions={{\n\t\t\t\ttype: 'symbol',\n\t\t\t\tlayout: props.labelLayout || defaultLayout,\n\t\t\t\tpaint: props.labelPaint || currentPaint(),\n\t\t\t} as useLayerProps['options']}\n\t\t\tgeojson={props.data}\n\t\t\tlayerId={'timeControllerLabels'}\n\t\t/>\n\t);\n}\n","import React, { useState, useEffect, useRef } from 'react';\nimport PlayArrowIcon from '@mui/icons-material/PlayArrow';\nimport PauseIcon from '@mui/icons-material/Pause';\nimport StopIcon from '@mui/icons-material/Stop';\nimport FastForwardIcon from '@mui/icons-material/FastForward';\nimport FastRewindIcon from '@mui/icons-material/FastRewind';\nimport { Slider, Drawer, Button, Grid, Typography, useMediaQuery, Theme } from '@mui/material';\n\nexport interface TemporalControllerPlayerProps {\n\tcurrentVal: number;\n\tisPlaying: boolean;\n\tstep: number;\n\tinterval: number;\n\tminVal: number;\n\tmaxVal: number;\n\treturnCurrent: React.Dispatch<React.SetStateAction<number>>;\n\treturnPlaying: React.Dispatch<React.SetStateAction<boolean>>;\n\tfadeIn: number;\n\topen: boolean;\n\tfadeOut: number;\n\tfeaturesColor: string;\n\tlabels: boolean;\n\tlabelColor: string;\n\tlabelFadeIn: number;\n\tlabelFadeOut: number;\n\taccumulate: boolean;\n\tdisplay: boolean;\n}\n\nconst bigScreenBoxStyle = {\n\tmarginLeft: '15%',\n\tmarginBottom: '3%',\n\twidth: '70%',\n\theight: '90px',\n\talignItems: 'center',\n};\n\nconst mobileScreenBoxStyle = {\n\ttop: '10%',\n\t//width: '100%',\n\theight: '100px',\n\talignItems: 'center',\n};\n\nexport default function TemporalControllerPlayer(props: TemporalControllerPlayerProps) {\n\tconst [currentVal, setCurrentVal] = useState(props.currentVal);\n\tconst [isPlaying, setIsPlaying] = useState(props.isPlaying);\n\tconst range = props.maxVal - props.minVal;\n\tconst intervalRef = useRef<ReturnType<typeof setInterval> | undefined>();\n\tconst mediaIsMobile = useMediaQuery((theme: Theme) => theme.breakpoints.down('md'));\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (intervalRef.current) {\n\t\t\t\tclearInterval(intervalRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tprops.returnCurrent(currentVal);\n\t\tprops.returnPlaying(isPlaying);\n\t}, [currentVal, isPlaying]);\n\n\tconst play = React.useCallback(() => {\n\t\tlet counter = currentVal - props.minVal;\n\t\tif (intervalRef.current) {\n\t\t\tclearInterval(intervalRef.current);\n\t\t}\n\n\t\tintervalRef.current = setInterval(function () {\n\t\t\tif (counter >= range) {\n\t\t\t\tclearInterval(intervalRef.current);\n\t\t\t\tsetIsPlaying(false);\n\t\t\t} else {\n\t\t\t\tsetCurrentVal((val) => val + props.step);\n\t\t\t}\n\t\t\tcounter = counter + props.step;\n\t\t}, props.interval);\n\t}, [props.step, props.maxVal, currentVal]);\n\n\t// Player buttons\n\n\tconst handlePlayPause = () => {\n\t\tif (!isPlaying) {\n\t\t\tsetIsPlaying(true);\n\t\t\tplay();\n\t\t} else {\n\t\t\tsetIsPlaying(false);\n\t\t\tif (isPlaying) {\n\t\t\t\tclearInterval(intervalRef.current);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleStop = () => {\n\t\tclearInterval(intervalRef.current);\n\t\tsetCurrentVal(props.minVal);\n\t\tsetIsPlaying(false);\n\t};\n\n\tconst handleFastRewind = () => {\n\t\tif (isPlaying) {\n\t\t\tclearInterval(intervalRef.current);\n\t\t\tsetCurrentVal(currentVal - range / 10);\n\t\t\tplay();\n\t\t} else {\n\t\t\tsetCurrentVal(currentVal - range / 10);\n\t\t}\n\t};\n\tconst handleFastForward = () => {\n\t\tif (isPlaying) {\n\t\t\tclearInterval(intervalRef.current);\n\t\t\tsetCurrentVal(currentVal + range / 10);\n\t\t\tplay();\n\t\t} else {\n\t\t\tsetCurrentVal(currentVal + range / 10);\n\t\t}\n\t};\n\n\t//Slider\n\n\tconst handleChange = (e: Event, newValue: number | number[]) => {\n\t\tif (!isPlaying) {\n\t\t\tsetCurrentVal(newValue as number);\n\t\t} else {\n\t\t\tif (e) {\n\t\t\t\tclearInterval(intervalRef.current);\n\t\t\t\tsetCurrentVal(newValue as number);\n\t\t\t\tplay();\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Drawer\n\t\t\t\tanchor=\"bottom\"\n\t\t\t\topen={props.open || true}\n\t\t\t\tvariant=\"persistent\"\n\t\t\t\tsx={{\n\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t'& .MuiDrawer-paper': mediaIsMobile ? mobileScreenBoxStyle : bigScreenBoxStyle,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Grid container>\n\t\t\t\t\t{mediaIsMobile ? <></> : <Grid item xs={3} />}\n\t\t\t\t\t<Grid item xs={mediaIsMobile ? 12 : 6} textAlign=\"center\">\n\t\t\t\t\t\t<Button onClick={handleFastRewind}>\n\t\t\t\t\t\t\t<FastRewindIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button onClick={handleStop}>\n\t\t\t\t\t\t\t<StopIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button onClick={handlePlayPause}>\n\t\t\t\t\t\t\t{isPlaying ? <PauseIcon /> : <PlayArrowIcon />}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button onClick={handleFastForward}>\n\t\t\t\t\t\t\t<FastForwardIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Grid>\n\n\t\t\t\t\t{props.display && !mediaIsMobile && (\n\t\t\t\t\t\t<Grid item xs={3}>\n\t\t\t\t\t\t\t<Typography variant={'h5'} textAlign={'right'} sx={{ paddingRight: '25px' }}>\n\t\t\t\t\t\t\t\t{Math.floor(currentVal)}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t)}\n\t\t\t\t</Grid>\n\n\t\t\t\t<Slider\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tposition: 'flex',\n\t\t\t\t\t\twidth: '95%',\n\t\t\t\t\t\tpaddingTop: '10px',\n\t\t\t\t\t\talignSelf: 'center',\n\t\t\t\t\t}}\n\t\t\t\t\taria-label=\"Custom marks\"\n\t\t\t\t\tdefaultValue={props.minVal}\n\t\t\t\t\tvalue={currentVal}\n\t\t\t\t\tstep={props.step}\n\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\tmin={props.minVal}\n\t\t\t\t\tmax={props.maxVal}\n\t\t\t\t/>\n\t\t\t\t{mediaIsMobile && props.display && (\n\t\t\t\t\t<Typography variant={'body1'} textAlign={'right'}>\n\t\t\t\t\t\t{Math.floor(currentVal)}\n\t\t\t\t\t</Typography>\n\t\t\t\t)}\n\t\t\t</Drawer>\n\t\t</>\n\t);\n}\n","import { featureCollection, FeatureCollection } from '@turf/turf';\nimport { useMemo } from 'react';\nimport useMap from '../../../hooks/useMap';\n\nexport interface useTemporalControllerProps {\n\tgeojson: FeatureCollection;\n\ttimeField: string;\n\tinitialVal?: number;\n\tminVal?: number;\n\tmaxVal?: number;\n\tmapId: string | undefined;\n\t}\n\nfunction getMinVal(geojson: FeatureCollection | undefined, timeField: string) {\n\tif (geojson?.features) {\n\t\tconst tempFeatures = [...(geojson.features ? geojson.features : [])];\n\t\ttempFeatures.sort((a, b) => (a.properties?.[timeField] < b.properties?.[timeField] ? 1 : -1));\n\t\treturn tempFeatures[tempFeatures.length - 1]?.properties?.[timeField] || 0;\n\t}\n\treturn 0;\n}\n\nfunction getMaxVal(geojson: FeatureCollection | undefined, timeField: string) {\n\tif (geojson?.features) {\n\t\tconst tempFeatures = [...(geojson?.features ? geojson.features : [])];\n\t\ttempFeatures.sort((a, b) => (a.properties?.[timeField] < b.properties?.[timeField] ? -1 : 1));\n\t\treturn tempFeatures[tempFeatures.length - 1]?.properties?.[timeField] || 0;\n\t}\n\treturn 0;\n}\n\nexport default function useFilterData(props: useTemporalControllerProps) {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\n const minVal = useMemo(() => {\n\t\tif (props.minVal) {\n\t\t\treturn props.minVal;\n\t\t} \n\t\tif (minVal === undefined){\n\t\t\treturn getMinVal(props.geojson, props.timeField);\n\t\t}\n\t\t\n\t}, [props.minVal, props.geojson, props.timeField]);\n\n\tconst maxVal = useMemo(() => {\n\t\tif (props.maxVal) {\n\t\t\treturn props.maxVal;\n\t\t}\n\t\tif (maxVal === undefined){\n\t\treturn getMaxVal(props.geojson, props.timeField);\n\t\t}\n\t}, [props.maxVal, props.geojson, props.timeField]);\n\n\n\n\t\n\t// filter geojson\n\tconst filteredData = useMemo<FeatureCollection | undefined>(() => {\n\t\tif (props.geojson !== undefined && mapHook.map && minVal && maxVal) {\n\t\t\treturn featureCollection(\n\t\t\t\tprops.geojson.features.filter((e) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\te.properties?.[props.timeField] >= minVal &&\n\t\t\t\t\t\te.properties?.[props.timeField] <= maxVal\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn;\n\t}, [props.geojson, mapHook.map, props.timeField]);\n\n\n return {filteredData, minVal, maxVal }\n}\n","import React, { useEffect, useState } from 'react';\nimport useMap from '../../hooks/useMap';\nimport MlGeoJsonLayer from '../MlGeoJsonLayer/MlGeoJsonLayer';\nimport { FeatureCollection, bbox } from '@turf/turf';\nimport {\n\tLineLayerSpecification,\n\tCircleLayerSpecification,\n\tFillLayerSpecification,\n\tSymbolLayoutProps,\n\tSymbolPaintProps,\n\tLngLatBoundsLike,\n\tMapEventType,\n} from 'maplibre-gl';\nimport usePaintPicker from './utils/paintPicker';\nimport MlTemporalControllerLabels from './utils/MlTemporalControllerLabels';\nimport TemporalControllerPlayer from './utils/TemporalControllerPlayer';\nimport useFilterData from './utils/useFilterData';\nimport { useTheme } from '@mui/material/styles';\nimport { useLayerProps } from 'src/hooks/useLayer';\n\nexport interface MlTemporalControllerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order.\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * GeoJSON data that is supposed to be rendered by this component.\n\t */\n\tgeojson: FeatureCollection;\n\t/**\n\t * If true,the component creates and loads a MlGeoJsonLayer to show the data.\n\t */\n\townLayer?: boolean;\n\t/**\n\t * MapLibre attribution shown in the bottom right of the map, if this layer is visible\n\t */\n\tattribution?: string;\n\t/**\n\t * Type of the layer that will be added to the MapLibre instance.\n\t * Possible values: \"line\", \"circle\", \"fill\"\n\t */\n\ttype?: 'fill' | 'line' | 'circle';\n\t/**\n\t * Property field where the time informations is available.\n\t */\n\ttimeField: string;\n\t/**\n\t * Lowest time value to be shown in the time line.\n\t * By default, it is set to the lowest value in the time field.\n\t */\n\tminVal?: number;\n\t/**\n\t *When true, a label layer will be added by the component. In that case, the \"labelField\" propertie is mandatory.\n\t */\n\tlabel?: boolean;\n\t/**\n\t * Property field where the label information is available.\n\t */\n\tlabelField?: string;\n\t/**\n\t * Highest time value to be shown in the time line.\n\t * By default, it is set to the highest value in the time field.\n\t */\n\tmaxVal?: number;\n\t/**\n\t * the value at which the component is to be loaded.\n\t * If not specified, the component starts at the minimum value.\n\t */\n\tinitialVal?: number;\n\t/**\n\t * When true, the features will be accumulated in the map.\n\t * This option ist by default false.\n\t */\n\taccumulate?: boolean;\n\t/**\n\t * When true, the component will fit the map bounds to the shown features.\n\t * This option ist by default true.\n\t */\n\tfitBounds?: boolean;\n\t/**\n\t * Boolean value that disables and enables the controls drawer.\n\t */\n\tshowControls?: boolean;\n\t/**\n\t * Paint property object for the features layer.\n\t * Possible props depend on the layer type.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t */\n\tpaint?:\n\t\t| CircleLayerSpecification['paint']\n\t\t| FillLayerSpecification['paint']\n\t\t| LineLayerSpecification['paint'];\n\t/**\n\t * Sets the color of the features rendered by this component.\n\t */\n\tfeaturesColor?: string;\n\t/**\n\t * How many units the timeline runs through at each step.\n\t * By default it is set to 1.\n\t */\n\tstep?: number;\n\t/**\n\t * The time between each addition to the counter, expressed in milliseconds. \n\t * By default, 200 ms.\n\t */\n interval?: number;\n\t/**\n\t * A numeric value that sets how many steps before the feature starts to appear.\n\t * By default it is set to 5 steps.\n\t */\n\tfadeIn?: number;\n\t/**\n\t * A numeric value that sets how many steps the feature fades out after it proper time value.\n\t * By default it is set to 5 steps.\n\t */\n\tfadeOut?: number;\n\t/**\n\t * Sets the color of the features rendered by this component.\n\t */\n\tlabelColor?: string;\n\t/**\n\t * Layout property object, that is passed to the labels layer.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#symbol\n\t */\n\tlabelLayout?: SymbolLayoutProps;\n\t// | SymbolLayoutArray;\n\n\t/**\n\t * Paint property object for the features layer.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#symbol\n\t */\n\tlabelPaint?: SymbolPaintProps;\n\t/**\n\t * Hover event handler that is executed whenever a geometry rendered by this component is hovered.\n\t */\n\t/**\n\t * A numeric value that sets how many steps before the labels start to appear.\n\t * By default it is set to 5 steps.\n\t */\n\tlabelFadeIn?: number;\n\t/**\n\t * A numeric value that sets how many steps the labels fade out after their proper time value.\n\t * By default it is set to 5 steps.\n\t */\n\tlabelFadeOut?: number;\n\t/**\n\t * If true, the current time value will be displayed in the controlls panel.\n\t */\n\tdisplayCurrentValue?: boolean;\n\t/**\n\t * Click event handler that is executed whenever a geometry rendered by this component is clicked.\n\t */\n\tonClick?: useLayerProps['onClick'];\n\t/**\n\t * Click event handler that is executed whenever a geometry rendered by this component is hovered.\n\t */\n\tonHover?: useLayerProps['onHover'];\n\t/**\n\t * Leave event handler that is executed whenever a geometry rendered by this component is\n\t * left/unhovered.\n\t */\n\tonLeave?: useLayerProps['onLeave'];\n\t/**\n\t * Callback function defined by the user to recive the current time value and paint property in the parent component.\n\t */\n\tonStateChange?: React.Dispatch<React.SetStateAction<TemporalControllerValues | undefined>>;\n}\n\n/**\n * Select a GeoJSON object to be displayed in a temporal line.\n *@component\n */\n\nexport interface TemporalControllerValues {\n\tcurrent: number;\n\tpaint:\n\t\t| CircleLayerSpecification['paint']\n\t\t| FillLayerSpecification['paint']\n\t\t| LineLayerSpecification['paint'];\n}\n\nconst MlTemporalController = (props: MlTemporalControllerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\tconst labelField = props.labelField || props.geojson?.features[0]?.properties?.[0] || '';\n\n\tconst { filteredData, minVal, maxVal } = useFilterData({\n\t\tgeojson: props.geojson,\n\t\ttimeField: props.timeField,\n\t\tminVal: props.minVal,\n\t\tmaxVal: props.maxVal,\n\t\tinitialVal: props.initialVal,\n\t\tmapId: props.mapId,\n\t});\n\tconst theme = useTheme();\n\tconst [currentVal, setCurrentVal] = useState<number>(props.initialVal || minVal);\n\tconst featuresColor = props.featuresColor || theme.palette.primary.main;\n\tconst labelColor = props.labelColor || theme.palette.text.primary;\n\tconst [isPlaying, setIsPlaying] = useState(false);\n\n\tconst paint = usePaintPicker({\n\t\ttype: props.type,\n\t\ttimeField: props.timeField,\n\t\tcurrentVal: currentVal,\n\t\tminVal: minVal,\n\t\tisPlaying: isPlaying,\n\t\tfadeIn: props.fadeIn as number,\n\t\tfadeOut: props.fadeOut as number,\n\t\tstep: props.step as number,\n\t\tfeaturesColor: featuresColor,\n\t\taccumulate: props.accumulate as boolean,\n\t\tuserPaint: props.paint,\n\t});\n\n\t//Set Initial values and clear references\n\tuseEffect(() => {\n\t\tif (!props.initialVal && minVal) {\n\t\t\tsetCurrentVal(minVal);\n\t\t} else if (props.initialVal) {\n\t\t\tsetCurrentVal(props.initialVal);\n\t\t}\n\t}, []);\n\n\tif (typeof props.onStateChange === 'function') {\n\t\t// this is not in a useEffect hook because currentVal and paint are changing on almost every render\n\t\tprops.onStateChange({\n\t\t\tcurrent: currentVal,\n\t\t\tpaint: paint as\n\t\t\t\t| CircleLayerSpecification['paint']\n\t\t\t\t| FillLayerSpecification['paint']\n\t\t\t\t| LineLayerSpecification['paint'],\n\t\t});\n\t}\n\n\t// Fit map to bbox\n\tuseEffect(() => {\n\t\tif (props.fitBounds && typeof filteredData !== 'undefined') {\n\t\t\tconst geojsonBbox = bbox(filteredData);\n\t\t\tmapHook.map?.map.fitBounds(geojsonBbox as LngLatBoundsLike);\n\t\t}\n\t}, [filteredData]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tlet _onClick: ((ev: MapEventType) => void) | undefined,\n\t\t\t_onHover: ((ev: MapEventType) => void) | undefined,\n\t\t\t_onLeave: ((ev: MapEventType) => void) | undefined;\n\t\tif (props.onClick) {\n\t\t\t_onClick = props.onClick;\n\t\t\tmapHook.map?.on('click', 'timeController', _onClick);\n\t\t}\n\t\tif (props.onHover) {\n\t\t\t_onHover = props.onHover;\n\t\t\tmapHook.map?.on('mouseenter', 'timeController', _onHover);\n\t\t}\n\t\tif (props.onLeave) {\n\t\t\t_onLeave = props.onLeave;\n\t\t\tmapHook.map?.on('mouseleave', 'timeController', _onLeave);\n\t\t}\n\t\treturn () => {\n\t\t\tif (_onClick) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore ignore supposedly incompatible function definition\n\t\t\t\tmapHook.map?.off('click', 'timeController', _onClick);\n\t\t\t}\n\t\t\tif (_onHover) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore ignore supposedly incompatible function definition\n\t\t\t\tmapHook.map?.off('mouseenter', 'timeController', _onHover);\n\t\t\t}\n\t\t\tif (_onLeave) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore ignore supposedly incompatible function definition\n\t\t\t\tmapHook.map?.off('mouseleave', 'timeController', _onLeave);\n\t\t\t}\n\t\t};\n\t}, [mapHook.map, props.onClick, props.onHover, props.onLeave]);\n\n\treturn (\n\t\t<>\n\t\t\t{filteredData && props.ownLayer && (\n\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\ttype={props.type}\n\t\t\t\t\tmapId={props.mapId}\n\t\t\t\t\t//layerId=\"timeController\"\n\t\t\t\t\t//insertBeforeLayer={props.insertBeforeLayer || 'timeControllerLabels'}\n\t\t\t\t\tpaint={\n\t\t\t\t\t\tprops.paint ||\n\t\t\t\t\t\t(paint as\n\t\t\t\t\t\t\t| CircleLayerSpecification['paint']\n\t\t\t\t\t\t\t| FillLayerSpecification['paint']\n\t\t\t\t\t\t\t| LineLayerSpecification['paint'])\n\t\t\t\t\t}\n\t\t\t\t\toptions={{\n\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\ttype: 'geojson',\n\t\t\t\t\t\t\tattribution: props.attribution as string,\n\t\t\t\t\t\t\tdata: filteredData\n\t\t\t\t\t\t} as useLayerProps['options']['source'],\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{filteredData && props.label && (\n\t\t\t\t<MlTemporalControllerLabels\n\t\t\t\t\tdata={(filteredData as FeatureCollection)}\n\t\t\t\t\tcurrentVal={currentVal}\n\t\t\t\t\tfadeIn={props.labelFadeIn as number}\n\t\t\t\t\tfadeOut={props.labelFadeOut as number}\n\t\t\t\t\tstep={props.step as number}\n\t\t\t\t\tlabelField={labelField}\n\t\t\t\t\tlabelColor={labelColor}\n\t\t\t\t\ttimeField={props.timeField}\n\t\t\t\t\tminVal={minVal}\n\t\t\t\t\taccumulate={props.accumulate as boolean}\n\t\t\t\t\tisPlaying={isPlaying}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<TemporalControllerPlayer\n\t\t\t\tcurrentVal={currentVal}\n\t\t\t\tisPlaying={isPlaying}\n\t\t\t\tstep={props.step as number}\n\t\t\t\tinterval={props.interval as number}\n\t\t\t\tminVal={minVal}\n\t\t\t\tmaxVal={maxVal}\n\t\t\t\treturnCurrent={setCurrentVal}\n\t\t\t\treturnPlaying={setIsPlaying}\n\t\t\t\topen={false}\n\t\t\t\tfadeIn={props.fadeIn as number}\n\t\t\t\tfadeOut={props.fadeOut as number}\n\t\t\t\tfeaturesColor={featuresColor}\n\t\t\t\tlabels={props.label as boolean}\n\t\t\t\tlabelColor={labelColor}\n\t\t\t\tlabelFadeIn={props.labelFadeIn as number}\n\t\t\t\tlabelFadeOut={props.labelFadeOut as number}\n\t\t\t\taccumulate={props.accumulate as boolean}\n\t\t\t\tdisplay={(props.displayCurrentValue as boolean)}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nMlTemporalController.defaultProps = {\n\tmapId: undefined,\n\townLayer: true,\n\ttype: 'circle',\n\tstep: 1,\n\tinterval: 200,\n\tfadeIn: 5,\n\tfadeOut: 5,\n\tlabelFadeIn: 5,\n\tlabelFadeOut: 5,\n\taccumulate: false,\n\tfitBounds: true,\n\tlabel: true,\n\tattribution: '',\n\tdisplayCurrentValue: false\n};\n\nexport default MlTemporalController;\n","import React from 'react';\nimport MlLayer from '../MlLayer/MlLayer';\nimport { useLayerProps } from '../../hooks/useLayer';\n\nexport interface MlOrderLayersProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\tlayerIds: string[];\n\tinsertBeforeLayer?: string;\n}\n\n/**\n * Creates an invisible layer for each entry in props.layerIds with the id `order-{entry}` and a reliable order\n *\n */\nconst MlOrderLayers = (props: MlOrderLayersProps) => {\n\treturn (\n\t\t<>\n\t\t\t{props?.layerIds?.map((layer, idx) => (\n\t\t\t\t<MlLayer\n\t\t\t\t\tlayerId={layer}\n\t\t\t\t\toptions={{\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t} as useLayerProps['options']}\n\t\t\t\t\tkey={layer}\n\t\t\t\t\t{...(idx > 0\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tinsertBeforeLayer: props?.layerIds?.[idx - 1],\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: { insertBeforeLayer: props.insertBeforeLayer })}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</>\n\t);\n};\n\nMlOrderLayers.defaultProps = {\n\tmapId: undefined,\n\tinsertBeforeLayer: undefined,\n};\nexport default MlOrderLayers;\n","import React, { useEffect } from 'react';\nimport useMap from '../../hooks/useMap';\nimport { TerrainSpecification } from 'maplibre-gl';\n\ninterface MlTerrainLayerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Source of tiles with possibles options\n\t */\n\tsourceOptions?: object;\n\t/**\n\t * Options for new exaggeration value\n\t */\n\tterrainOptions?: TerrainSpecification;\n}\n\nexport type { MlTerrainLayerProps };\n\n/**\n * Create Terrain Layer Component\n *\n */\nconst MlTerrainLayer = (props: MlTerrainLayerProps) => {\n\tconst mapHook = useMap({ mapId: 'map_1' });\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tif (!mapHook.map.map.getSource('terrain')) {\n\t\t\tmapHook.map.map.addSource('terrain', {\n\t\t\t\ttype: 'raster-dem',\n\t\t\t\tencoding: 'mapbox',\n\t\t\t\tmaxzoom: 12,\n\t\t\t\tminzoom: 4,\n\t\t\t\t...props.sourceOptions,\n\t\t\t});\n\t\t}\n\t\tmapHook.map.map.setTerrain({\n\t\t\tsource: 'terrain',\n\t\t\texaggeration: 1,\n\t\t\t...props.terrainOptions,\n\t\t});\n\n\t\tmapHook.map.addLayer({\n\t\t\tid: 'hills',\n\t\t\ttype: 'hillshade',\n\t\t\tsource: 'terrain',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'hillshade-shadow-color': 'rgba(71,59,36,0.4)' },\n\t\t});\n\n\t\treturn () => {\n\t\t\tmapHook.map?.map.setTerrain(null as unknown as TerrainSpecification);\n\t\t\tif (mapHook.map?.map.getSource('terrain')) {\n\t\t\t\tmapHook.map.map.removeLayer('hills');\n\t\t\t\tmapHook.map.map.removeSource('terrain');\n\t\t\t}\n\t\t};\n\t}, [mapHook.map, props.sourceOptions, props.terrainOptions]);\n\n\treturn <></>;\n};\n\nMlTerrainLayer.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlTerrainLayer;\n","import React, { useMemo, useState } from 'react';\nimport { Box, styled } from '@mui/system';\nimport { ListItemIcon, ListItemText, List, Checkbox, ListItem, IconButton } from '@mui/material';\nimport { KeyboardArrowRight as ExpandLess, ExpandMore } from '@mui/icons-material';\n\nconst ListItemStyled = styled(ListItem)({\n\tpaddingRight: 0,\n\tpaddingLeft: 0,\n\tpaddingTop: 0,\n\tpaddingBottom: '4px',\n});\nconst ListItemIconStyled = styled(ListItemIcon)({\n\tminWidth: '30px',\n});\nconst IconButtonStyled = styled(IconButton)({\n\tmarginRight: '0px',\n\tpadding: '0px',\n});\nconst CheckboxStyled = styled(Checkbox)({\n\tpadding: 0,\n\tmarginRight: '5px',\n});\nconst BoxStyled = styled(Box)<{ open: boolean }>(({ open }) => ({\n\tdisplay: open ? 'block' : 'none',\n}));\nconst ListStyled = styled(List)({\n\tmarginLeft: '50px',\n});\n\ninterface LayerListFolderProps {\n\tvisible: boolean;\n\tname?: string;\n\tchildren: JSX.Element | JSX.Element[];\n\tsetVisible?: (visible: boolean | ((val: unknown) => boolean)) => void;\n}\n\nfunction LayerListFolder({ visible = true, name, children, setVisible }: LayerListFolderProps) {\n\tconst [open, setOpen] = useState(false);\n\tconst [localVisible, setLocalVisible] = useState(true);\n\tconst _visible = useMemo(() => {\n\t\tif (!visible) {\n\t\t\treturn false;\n\t\t}\n\t\treturn localVisible;\n\t}, [visible, localVisible]);\n\n\tconst _children = useMemo(() => {\n\t\tif (children) {\n\t\t\tif (Array.isArray(children)) {\n\t\t\t\treturn children.map((element) => {\n\t\t\t\t\treturn React.cloneElement(element, {\n\t\t\t\t\t\tvisible: _visible,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn React.cloneElement(children, {\n\t\t\t\tvisible: _visible,\n\t\t\t});\n\t\t}\n\t\treturn <></>;\n\t}, [_visible]);\n\n\treturn (\n\t\t<>\n\t\t\t<ListItemStyled>\n\t\t\t\t<ListItemIconStyled>\n\t\t\t\t\t<IconButtonStyled edge=\"end\" aria-label=\"open\" onClick={() => setOpen(!open)}>\n\t\t\t\t\t\t{open ? <ExpandMore /> : <ExpandLess />}\n\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t<CheckboxStyled\n\t\t\t\t\t\tdisabled={setVisible ? false : !visible}\n\t\t\t\t\t\tchecked={setVisible ? visible : localVisible}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tif (setVisible) {\n\t\t\t\t\t\t\t\tsetVisible((val) => !val);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsetLocalVisible((val) => !val);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</ListItemIconStyled>\n\t\t\t\t<ListItemText primary={name} variant=\"layerlist\" />\n\t\t\t</ListItemStyled>\n\t\t\t<BoxStyled open={open}>\n\t\t\t\t<ListStyled disablePadding>{_children}</ListStyled>\n\t\t\t</BoxStyled>\n\t\t</>\n\t);\n}\nexport default LayerListFolder;\n","\nimport { ColorResult } from 'react-color';\n\nexport const DEFAULT_CONVERTER = 'rgba_hex'\nexport const converters = {\n rgba: (c:ColorResult) => `rgba(${c.rgb.r}, ${c.rgb.g}, ${c.rgb.b}, ${c.rgb.a})`,\n rgb: (c:ColorResult) => `rgb(${c.rgb.r}, ${c.rgb.g}, ${c.rgb.b})`,\n hex: (c:ColorResult) => c.hex,\n\n rgba_rgb: (c:ColorResult) => c.rgb.a === 1 ? converters.rgb(c) : converters.rgba(c),\n rgba_hex: (c:ColorResult) => c.rgb.a === 1 ? converters.hex(c) : converters.rgba(c)\n}\n\nexport default converters","import React, { useState } from 'react';\n\nimport { ChromePicker } from 'react-color';\nimport { Button, Grid } from '@mui/material';\nimport { converters } from './transformers';\n\nexport interface ColorPickerProps {\n\tonChange?: (value: string) => void;\n\tconvert: 'rgb' | 'rgba' | 'rgba_hex' | 'hex' | 'rgba_rgb';\n\tinternalValue?: string;\n\tsetValue?: (value: string) => void;\n\tvalue?: string;\n}\n\nconst ColorPicker = ({ convert, ...props }: ColorPickerProps) => {\n\tconst [showPicker, setShowPicker] = useState(false);\n\tconst [value, setValue] = useState(props?.value || '');\n\n\treturn (\n\t\t<>\n\t\t\t<Grid container sx={{ flexWrap: 'nowrap' }}>\n\t\t\t\t<Grid xs={12} item>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\tonClick={() => setShowPicker(true)}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tminWidth: '100%',\n\t\t\t\t\t\t\tpadding: '5px',\n\t\t\t\t\t\t\tmarginBottom: '10px',\n\t\t\t\t\t\t\tjustifyContent: 'flex-start',\n\t\t\t\t\t\t\tborderColor: (theme) => theme.palette.text.primary,\n\t\t\t\t\t\t\tcolor: (theme) => theme.palette.text.primary,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: '25px',\n\t\t\t\t\t\t\t\theight: '25px',\n\t\t\t\t\t\t\t\tmarginRight: '10px',\n\t\t\t\t\t\t\t\tbackgroundColor: value,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{value}\n\t\t\t\t\t</Button>\n\t\t\t\t</Grid>\n\t\t\t</Grid>\n\t\t\t{showPicker && (\n\t\t\t\t<div style={{ position: 'relative', marginTop: 0 }}>\n\t\t\t\t\t<div style={{ position: 'absolute', zIndex: 1000 }}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{ position: 'fixed', top: '0px', right: '0px', bottom: '0px', left: '0px' }}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetShowPicker(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={value}\n\t\t\t\t\t\t\tonChange={(c) => {\n\t\t\t\t\t\t\t\tconst newValue = converters[convert](c);\n\t\t\t\t\t\t\t\tsetValue(newValue);\n\t\t\t\t\t\t\t\tprops?.onChange?.(newValue);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nColorPicker.defaultProps = {\n\tconvert: 'rgba_hex',\n\tlabel: 'Color',\n\tname: 'color',\n};\n\nexport default ColorPicker;\n","import React from 'react';\nimport { paintPropsType } from '../LayerPropertyForm';\nimport ColorPicker from '../../../ColorPicker/ColorPicker';\n\ninterface PaintPropsColorPickerProps {\n\tkey: string;\n\tvalue: string;\n\tpropKey: string;\n\tsetPaintProps: (\n\t\tpaintProps: paintPropsType | ((current: paintPropsType) => paintPropsType)\n\t) => void;\n}\n\nfunction PaintPropsColorPicker({ propKey, value, setPaintProps }: PaintPropsColorPickerProps) {\n\treturn (\n\t\t<ColorPicker\n\t\t\tvalue={value}\n\t\t\tlabel=\"Color\"\n\t\t\tonChange={(value: string) => {\n\t\t\t\tsetPaintProps((current: paintPropsType): paintPropsType => {\n\t\t\t\t\tconst newProps = {\n\t\t\t\t\t\t...current,\n\t\t\t\t\t\t[propKey]: value,\n\t\t\t\t\t};\n\t\t\t\t\treturn newProps;\n\t\t\t\t});\n\t\t\t}}\n\t\t/>\n\t);\n}\nexport default PaintPropsColorPicker;\n","import React, { useRef, useCallback } from 'react';\nimport {\n\tCircleLayerSpecification,\n\tFillLayerSpecification,\n\tLineLayerSpecification,\n} from 'maplibre-gl';\nimport { Box, ListItem, Paper, Slider, TextField, Typography, styled } from '@mui/material';\nimport ColorPicker from './input/ColorPicker';\n\nconst PaperStyled = styled(Paper)({\n\tmarginLeft: '-100px',\n\tmarginRight: '-21px',\n\tpaddingLeft: '53px',\n\tborderRadius: '0px',\n\tboxShadow: 'none',\n\tbackgroundColor: 'rgb(0, 0, 0, 0)',\n});\nconst BoxStyled = styled(Box)({\n\tmarginLeft: '61px',\n});\n\nconst mapPropKeyToFormInputType = {\n\t'circle-color': 'colorpicker',\n\t'circle-radius': 'slider',\n\t'circle-stroke-color': 'colorpicker',\n\t'circle-stroke-width': 'slider',\n\t'fill-color': 'colorpicker',\n\t'fill-outline-color': 'colorpicker',\n\t'line-color': 'colorpicker',\n\t'line-width': 'slider',\n\t'line-blur': 'slider',\n};\nconst mapPropKeyToFormInputTypeKeys = Object.keys(mapPropKeyToFormInputType);\n\nconst inputPropsByPropKey = {\n\t'circle-stroke-width': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 20,\n\t},\n\t'circle-radius': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 100,\n\t},\n\t'line-blur': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 100,\n\t},\n\t'line-width': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 100,\n\t},\n};\n\nexport type paintPropsType =\n\t| CircleLayerSpecification['paint']\n\t| FillLayerSpecification['paint']\n\t| LineLayerSpecification['paint'];\n\ninterface LayerPropertyFormProps {\n\tpaintProps: paintPropsType;\n\tsetPaintProps: (\n\t\tpaintProps: paintPropsType | ((current: paintPropsType) => paintPropsType)\n\t) => void;\n\tlayerType: string;\n}\n\nfunction LayerPropertyForm({ paintProps = {}, setPaintProps }: LayerPropertyFormProps) {\n\tconst key = useRef(Math.round(Math.random() * 10000000000));\n\n\tconst getFormInputByType = useCallback(\n\t\t(key: string) => {\n\t\t\tif (\n\t\t\t\tmapPropKeyToFormInputTypeKeys.indexOf(key) !== -1 &&\n\t\t\t\t(typeof paintProps[key] === 'number' || typeof paintProps[key] === 'string')\n\t\t\t) {\n\t\t\t\tconst label = (\n\t\t\t\t\t<Typography id={key + '_label'} gutterBottom>\n\t\t\t\t\t\t{key}\n\t\t\t\t\t</Typography>\n\t\t\t\t);\n\t\t\t\tswitch (mapPropKeyToFormInputType[key]) {\n\t\t\t\t\tcase 'slider':\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\t{...inputPropsByPropKey[key]}\n\t\t\t\t\t\t\t\t\tinputProps={{ inputMode: 'decimal', pattern: '[0-9]*' }}\n\t\t\t\t\t\t\t\t\tvalue={paintProps[key]}\n\t\t\t\t\t\t\t\t\tvalueLabelDisplay=\"auto\"\n\t\t\t\t\t\t\t\t\tonChange={(_ev: Event, value: number) => {\n\t\t\t\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\t\t\t\tsetPaintProps((current) => ({ ...current, [key]: value }));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'numberfield':\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t<TextField\n\t\t\t\t\t\t\t\t\tinputProps={{ inputMode: 'decimal', pattern: '[0-9]*' }}\n\t\t\t\t\t\t\t\t\tvalue={paintProps[key]}\n\t\t\t\t\t\t\t\t\tonChange={(ev: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\t\t\tif (ev?.target?.value) {\n\t\t\t\t\t\t\t\t\t\t\tsetPaintProps((current) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t...current,\n\t\t\t\t\t\t\t\t\t\t\t\t[key]: parseInt(ev.target.value),\n\t\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'colorpicker':\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t<Box sx={{ '& > div': { width: 'initial !important' } }}>\n\t\t\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\t\t\tvalue={paintProps[key]}\n\t\t\t\t\t\t\t\t\t\tpropKey={key}\n\t\t\t\t\t\t\t\t\t\tsetPaintProps={setPaintProps}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\t[paintProps]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PaperStyled>\n\t\t\t\t<ListItem key={key + '_paintPropForm'}>\n\t\t\t\t\t<BoxStyled>\n\t\t\t\t\t\t{Object.keys(paintProps).map((el: string) => getFormInputByType(el))}\n\t\t\t\t\t</BoxStyled>\n\t\t\t\t</ListItem>\n\t\t\t</PaperStyled>\n\t\t</>\n\t);\n}\nexport default LayerPropertyForm;\n","import React, { useEffect, useState } from 'react';\nimport { ListItem, IconButton, ListItemIcon, Checkbox, ListItemText, styled } from '@mui/material';\nimport TuneIcon from '@mui/icons-material/Tune';\nimport LayerPropertyForm from './LayerPropertyForm';\nimport { MlVectorTileLayerProps } from '../../../components/MlVectorTileLayer/MlVectorTileLayer';\n\nexport const ListItemStyled = styled(ListItem)((configurable) => ({\n\tpaddingRight: configurable ? '56px' : 0,\n\tpaddingLeft: 0,\n\tpaddingTop: 0,\n\tpaddingBottom: '4px',\n}));\nconst TuneIconButton = styled(IconButton)({\n\tpadding: '4px',\n\tmarginTop: '-3px',\n});\nexport const CheckboxListItemIcon = styled(ListItemIcon)({\n\tminWidth: '30px',\n});\nexport const CheckboxStyled = styled(Checkbox)({\n\tpadding: 0,\n});\n\ninterface LayerListItemVectorLayerProps {\n\tid: string;\n\tconfigurable?: boolean;\n\tvtProps: MlVectorTileLayerProps;\n\tsetVtProps: ((state: unknown) => void) | undefined;\n\tvisibleMaster?: boolean;\n}\n\nfunction LayerListItemVectorLayer({\n\tconfigurable,\n\tvtProps,\n\tsetVtProps,\n\tid,\n\t...props\n}: LayerListItemVectorLayerProps) {\n\tconst [paintPropsFormVisible, setPaintPropsFormVisible] = useState(false);\n\tconst [visible, setVisible] = useState(true);\n\tconst [paintProps, setPaintProps] = useState(vtProps.layers[id].paint);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t!setVtProps ||\n\t\t\t(typeof vtProps.layers[id]?.layout?.visibility === 'undefined' && visible) ||\n\t\t\t(!visible && vtProps.layers[id]?.layout?.visibility === 'none') ||\n\t\t\t(visible && vtProps.layers[id]?.layout?.visibility === 'visible')\n\t\t)\n\t\t\treturn;\n\n\t\tconst _layers = [...vtProps.layers];\n\t\tif (!_layers[id].layout) {\n\t\t\t_layers[id].layout = { visibility: visible ? 'visible' : 'none' };\n\t\t} else {\n\t\t\t_layers[id].layout.visibility = visible ? 'visible' : 'none';\n\t\t}\n\n\t\tsetVtProps({ ...vtProps, layers: _layers });\n\t}, [visible, id, setVtProps, vtProps]);\n\n\tuseEffect(() => {\n\t\tsetVisible(!!props.visibleMaster);\n\t}, [props.visibleMaster]);\n\n\tuseEffect(() => {\n\t\tif (!setVtProps) return;\n\n\t\tif (JSON.stringify(paintProps) !== JSON.stringify(vtProps.layers[id].paint)) {\n\t\t\tconst _paintProps = { ...paintProps };\n\t\t\tconst _layers = [...vtProps.layers];\n\t\t\t_layers[id].paint = _paintProps;\n\t\t\tsetVtProps({ ...vtProps, layers: _layers });\n\t\t}\n\t}, [paintProps, id, setVtProps, vtProps]);\n\n\treturn (\n\t\t<>\n\t\t\t<ListItemStyled\n\t\t\t\tkey={id}\n\t\t\t\tsecondaryAction={\n\t\t\t\t\tconfigurable ? (\n\t\t\t\t\t\t<TuneIconButton\n\t\t\t\t\t\t\tedge=\"end\"\n\t\t\t\t\t\t\taria-label=\"comments\"\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetPaintPropsFormVisible((current) => {\n\t\t\t\t\t\t\t\t\treturn !current;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TuneIcon />\n\t\t\t\t\t\t</TuneIconButton>\n\t\t\t\t\t) : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<CheckboxListItemIcon>\n\t\t\t\t\t<CheckboxStyled\n\t\t\t\t\t\tchecked={visible}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tsetVisible((val) => !val);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</CheckboxListItemIcon>\n\t\t\t\t<ListItemText primary={vtProps.layers[id].id} variant=\"layerlist\" />\n\t\t\t</ListItemStyled>\n\t\t\t{configurable && paintPropsFormVisible && (\n\t\t\t\t<LayerPropertyForm\n\t\t\t\t\tpaintProps={paintProps}\n\t\t\t\t\tsetPaintProps={setPaintProps}\n\t\t\t\t\tlayerType={vtProps.layers[id].type}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nLayerListItemVectorLayer.defaultProps = {\n\tconfigurable: true,\n};\n\nexport default LayerListItemVectorLayer;\n","import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { LayerSpecification } from 'maplibre-gl';\nimport { IconButton, ListItemText, SxProps, styled } from '@mui/material';\nimport { Delete as DeleteIcon, Tune as TuneIcon } from '@mui/icons-material';\nimport LayerListFolder from './LayerListFolder';\nimport LayerPropertyForm from './util/LayerPropertyForm';\nimport LayerListItemVectorLayer, {\n\tListItemStyled,\n\tCheckboxListItemIcon,\n\tCheckboxStyled,\n} from './util/LayerListItemVectorLayer';\nimport ConfirmDialog from '../ConfirmDialog';\nimport getDefaultLayerTypeByGeometry from '../../components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry';\nimport getDefaultPaintPropsByType from '../../components/MlGeoJsonLayer/util/getDefaultPaintPropsByType';\nimport SortableContainer from './util/SortableContainer';\n\nconst TuneIconButton = styled(IconButton)({\n\tpadding: '4px',\n\tmarginTop: '-3px',\n});\nconst DeleteIconButton = styled(IconButton)({\n\tmarginLeft: '20px',\n});\n\ninterface LayerListItemProps {\n\tlayerComponent: JSX.Element;\n\tvisible: boolean;\n\tconfigurable: boolean;\n\ttype?: 'background' | 'background-labels' | 'layer' | 'wms-layer' | 'vector-tile-layer';\n\tname: string;\n\tdescription?: string;\n\tsetLayerState?: (state: unknown) => void;\n\tshowDeleteButton?: boolean;\n\tlistItemSx?: SxProps;\n\tbuttons?: JSX.Element;\n\tlayerId?: string;\n\tsortable?: boolean;\n}\n\nfunction LayerListItem({\n\tlayerComponent,\n\tvisible,\n\ttype,\n\tname,\n\tdescription,\n\tconfigurable,\n\tsetLayerState,\n\t...props\n}: LayerListItemProps) {\n\tconst [localVisible, setLocalVisible] = useState(true);\n\tconst [paintPropsFormVisible, setPaintPropsFormVisible] = useState(false);\n\tconst [showDeletionConfirmationDialog, setShowDeletionConfirmationDialog] = useState(false);\n\tconst deletedRef = useRef<boolean>(false);\n\tconst visibleRef = useRef<boolean>(visible);\n\n\t// this state variable is used for layer components that provide a paint attribute\n\tconst [paintProps, setPaintProps] = useState(\n\t\tlayerComponent?.props?.paint || layerComponent?.props?.options?.paint ||\n\t\t\tgetDefaultPaintPropsByType(\n\t\t\t\tlayerComponent?.props?.type || getDefaultLayerTypeByGeometry(layerComponent.props.geojson)\n\t\t\t)\n\t);\n\n\tconst _visible = useMemo(() => {\n\t\tif (!visible) {\n\t\t\treturn false;\n\t\t}\n\t\treturn localVisible;\n\t}, [visible, localVisible]);\n\n\tuseEffect(() => {\n\t\tif (!setLayerState || !layerComponent?.props?.layers || _visible === visibleRef.current) return;\n\n\t\tvisibleRef.current = _visible;\n\n\t\tconst state = { ...layerComponent?.props };\n\t\tswitch (layerComponent.type.name) {\n\t\t\tcase 'MlWmsLayer':\n\t\t\t\tbreak;\n\t\t\tcase 'MlVectorTileLayer':\n\t\t\t\tif (layerComponent?.props?.layers && !deletedRef.current) {\n\t\t\t\t\tstate.layers = layerComponent?.props?.layers.map((el: LayerSpecification) => {\n\t\t\t\t\t\tif (el.layout) {\n\t\t\t\t\t\t\tel.layout['visibility'] = _visible ? 'visible' : 'none';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.layout = { visibility: _visible ? 'visible' : 'none' };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn el;\n\t\t\t\t\t});\n\t\t\t\t\tconsole.log('setLayerState', state.layers);\n\t\t\t\t\tsetLayerState(state);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'MlGeoJsonLayer':\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}, [_visible, setLayerState, layerComponent]);\n\n\tuseEffect(() => {\n\t\tif (!setLayerState || deletedRef.current || !paintProps || layerComponent?.props?.layers)\n\t\t\treturn;\n\n\t\tif (JSON.stringify(paintProps) === JSON.stringify(layerComponent.props?.paint)) return;\n\n\t\tsetLayerState({ ...layerComponent.props, paint: paintProps });\n\t}, [paintProps, setLayerState, layerComponent.props?.paint]);\n\n\tconst _layerComponent = useMemo(() => {\n\t\tif (layerComponent && type === 'layer') {\n\t\t\tswitch (layerComponent.type.name) {\n\t\t\t\tcase 'MlWmsLayer':\n\t\t\t\t\treturn React.cloneElement(layerComponent, {\n\t\t\t\t\t\t...layerComponent?.props,\n\t\t\t\t\t\tvisible: _visible,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'MlVectorTileLayer':\n\t\t\t\t\treturn React.cloneElement(layerComponent, {\n\t\t\t\t\t\t...layerComponent?.props,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\tcase 'MlGeoJsonLayer':\n\t\t\t\t\treturn React.cloneElement(layerComponent, {\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tvisibility: _visible ? 'visible' : 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\toptions:{\n\t\t\t\t\t\t\t...layerComponent?.props?.options,\n\t\t\t\t\t\t\t...(setLayerState ? {} : { paint: paintProps }),\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn <></>;\n\t}, [type, layerComponent, paintProps, _visible, layerComponent?.props?.layers, setLayerState]);\n\n\tconst layerType = useMemo(() => {\n\t\tif (layerComponent && type === 'layer') {\n\t\t\tif (layerComponent.props.type) {\n\t\t\t\treturn layerComponent.props.type;\n\t\t\t}\n\t\t\tif (layerComponent.props.geojson) {\n\t\t\t\treturn getDefaultLayerTypeByGeometry(layerComponent.props.geojson);\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}, [layerComponent]);\n\tconst listContent = (\n\t\t<ListItemStyled\n\t\t\tsx={{ ...props.listItemSx }}\n\t\t\tsecondaryAction={\n\t\t\t\tconfigurable && Object.keys(paintProps)?.length > 0 ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{props?.buttons}\n\t\t\t\t\t\t<TuneIconButton\n\t\t\t\t\t\t\tedge={'end'}\n\t\t\t\t\t\t\taria-label=\"settings\"\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetPaintPropsFormVisible((current) => {\n\t\t\t\t\t\t\t\t\treturn !current;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TuneIcon />\n\t\t\t\t\t\t</TuneIconButton>\n\t\t\t\t\t</>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t>\n\t\t\t<CheckboxListItemIcon>\n\t\t\t\t<CheckboxStyled\n\t\t\t\t\tdisabled={!visible}\n\t\t\t\t\tchecked={localVisible}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tsetLocalVisible((val) => !val);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</CheckboxListItemIcon>\n\t\t\t<ListItemText\n\t\t\t\tvariant=\"layerlist\"\n\t\t\t\tprimary={name}\n\t\t\t\tsecondary={description}\n\t\t\t\tprimaryTypographyProps={{ overflow: 'hidden' }}\n\t\t\t/>\n\t\t</ListItemStyled>\n\t);\n\treturn (\n\t\t<>\n\t\t\t{props.sortable && props.layerId && !layerComponent?.props?.layers && (\n\t\t\t\t<SortableContainer layerId={props.layerId}>{listContent}</SortableContainer>\n\t\t\t)}\n\t\t\t{!props.sortable && !layerComponent?.props?.layers && (listContent)}\n\t\t\t{_layerComponent}\n\t\t\t{!layerComponent?.props?.layers &&\n\t\t\t\tObject.keys(paintProps).length > 0 &&\n\t\t\t\tconfigurable &&\n\t\t\t\tpaintPropsFormVisible && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{props.showDeleteButton && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<DeleteIconButton\n\t\t\t\t\t\t\t\t\tedge=\"end\"\n\t\t\t\t\t\t\t\t\taria-label=\"delete\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tif (typeof setLayerState === 'function') {\n\t\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(true);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<DeleteIcon />\n\t\t\t\t\t\t\t\t</DeleteIconButton>\n\t\t\t\t\t\t\t\t{showDeletionConfirmationDialog && (\n\t\t\t\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\t\t\t\topen={showDeletionConfirmationDialog}\n\t\t\t\t\t\t\t\t\t\tonConfirm={() => {\n\t\t\t\t\t\t\t\t\t\t\tif (typeof setLayerState === 'function') {\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedRef.current = true;\n\t\t\t\t\t\t\t\t\t\t\t\tsetLayerState(false);\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(false);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonCancel={() => {\n\t\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(false);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ttitle=\"Delete layer\"\n\t\t\t\t\t\t\t\t\t\ttext=\"Are you sure you want to delete this layer?\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<LayerPropertyForm\n\t\t\t\t\t\t\tpaintProps={paintProps}\n\t\t\t\t\t\t\tsetPaintProps={setPaintProps}\n\t\t\t\t\t\t\tlayerType={layerType}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\n\t\t\t{layerComponent?.props?.layers && (\n\t\t\t\t<LayerListFolder visible={localVisible} setVisible={setLocalVisible} name={name}>\n\t\t\t\t\t{layerComponent?.props?.layers?.map?.((_el: LayerSpecification, idx: number) => (\n\t\t\t\t\t\t<LayerListItemVectorLayer\n\t\t\t\t\t\t\tvtProps={layerComponent?.props}\n\t\t\t\t\t\t\tsetVtProps={setLayerState}\n\t\t\t\t\t\t\tid={'' + idx}\n\t\t\t\t\t\t\tkey={'' + idx}\n\t\t\t\t\t\t\tvisibleMaster={_visible}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</LayerListFolder>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nLayerListItem.defaultProps = {\n\ttype: 'layer',\n\tvisible: true,\n\tshowDeleteButton: false,\n\tbuttons: <></>,\n};\n\nexport default LayerListItem;\n","import React, { useEffect, useState } from 'react';\nimport PentagonIcon from '@mui/icons-material/Pentagon';\nimport { Box } from '@mui/system';\nimport MlFeatureEditor from '../MlFeatureEditor/MlFeatureEditor';\nimport List from '@mui/material/List';\nimport EditIcon from '@mui/icons-material/Edit';\nimport MlGeoJsonLayer from '../MlGeoJsonLayer/MlGeoJsonLayer';\nimport useMap from '../../hooks/useMap';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport * as turf from '@turf/turf';\nimport ButtonGroup from '@mui/material/ButtonGroup';\nimport Tooltip from '@mui/material/Tooltip';\nimport LayerListItem from '../../ui_components/LayerList/LayerListItem';\nimport GpsFixedIcon from '@mui/icons-material/GpsFixed';\nimport { Feature } from '@turf/turf';\nimport { LngLatLike } from 'maplibre-gl';\nimport { SxProps } from '@mui/system/styleFunctionSx/styleFunctionSx';\nimport { Button, Theme, Typography } from '@mui/material';\nimport ScatterPlotIcon from '@mui/icons-material/ScatterPlot';\nimport PolylineIcon from '@mui/icons-material/Polyline';\n\nconst sketchTools = [\n\t{ name: 'Point', mode: 'draw_point', icon: <ScatterPlotIcon /> },\n\t{ name: 'LineString', mode: 'draw_line_string', icon: <PolylineIcon /> },\n\t{ name: 'Polygon', mode: 'draw_polygon', icon: <PentagonIcon /> },\n];\n\nexport interface MlSketchToolProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Style attribute for the button-style\n\t * https://mui.com/system/getting-started/the-sx-prop/\n\t */\n\tbuttonStyleOverride?: SxProps;\n\t/**\n\t * Callback function that is called each time GeoJson data has changed within MlSketchTool.\n\t * First parameter contains all geometries in the `geometries` prop.\n\t */\n\tonChange?: (para: SketchStateType) => void;\n}\n\ntype SketchStateType = {\n\tselectedGeoJson?: Feature;\n\tactiveGeometryIndex?: number;\n\tgeometries: Feature[];\n\tdrawMode?: keyof MapboxDraw.Modes;\n};\n\n/**\n * Component template\n *\n */\n\nconst MlSketchTool = (props: MlSketchToolProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\tconst [hoveredGeometry, setHoveredGeometry] = useState<Feature>();\n\tconst [sketchState, setSketchState] = useState<SketchStateType>({\n\t\tactiveGeometryIndex: undefined,\n\t\tselectedGeoJson: undefined,\n\t\tgeometries: [],\n\t\tdrawMode: undefined,\n\t});\n\n\tuseEffect(() => {\n\t\tif(!(typeof props.onChange === 'function'))return;\n\n\t\tprops.onChange(sketchState)\n\t}, [sketchState, props.onChange])\n\n\tconst buttonStyle = {\n\t\t...props.buttonStyleOverride,\n\t};\n\n\tconst buttonClickHandler = (buttonDrawMode: keyof MapboxDraw.Modes) => {\n\t\tsetSketchState((_state) => ({\n\t\t\tdrawMode: _state.drawMode !== buttonDrawMode ? buttonDrawMode : undefined,\n\t\t\tgeometries: _state.geometries,\n\t\t\tactiveGeometryIndex: undefined,\n\t\t\tselectedGeoJson: undefined,\n\t\t}));\n\t};\n\n\tconst removeGeoJson = (geoJson: Feature): void => {\n\t\tsetSketchState((_sketchState) => {\n\t\t\tconst _geometries = [..._sketchState.geometries];\n\t\t\t_geometries.splice(_geometries.indexOf(geoJson), 1);\n\n\t\t\treturn {\n\t\t\t\t..._sketchState,\n\t\t\t\tgeometries: _geometries,\n\t\t\t\tactiveGeometryIndex: _sketchState.activeGeometryIndex\n\t\t\t\t\t? _sketchState.activeGeometryIndex - 1\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t});\n\t};\n\n\tconst SketchToolButtons = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{sketchTools.map((el) => {\n\t\t\t\t\tconst stateColor = (theme: Theme) => {\n\t\t\t\t\t\tif (sketchState.drawMode === el.mode) {\n\t\t\t\t\t\t\treturn theme.palette.primary.main;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn theme.palette.navigation.navColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tconst stateIconColor = (theme: Theme) => {\n\t\t\t\t\t\tif (sketchState.drawMode !== el.mode) {\n\t\t\t\t\t\t\treturn theme.palette.primary.main;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn theme.palette.navigation.navColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Tooltip title={el.name}>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tcolor: stateIconColor,\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: stateColor,\n\n\t\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: stateColor,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t...buttonStyle,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonClick={() => buttonClickHandler(el.mode as keyof MapboxDraw.Modes)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{el.icon}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Box\n\t\t\t\tsx={{\n\t\t\t\t\tzIndex: 104,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<ButtonGroup>\n\t\t\t\t\t<SketchToolButtons />\n\t\t\t\t</ButtonGroup>\n\t\t\t</Box>\n\n\t\t\t{sketchState.drawMode && (\n\t\t\t\t<MlFeatureEditor\n\t\t\t\t\tmode={sketchState.drawMode}\n\t\t\t\t\tgeojson={sketchState.selectedGeoJson}\n\t\t\t\t\tonChange={(feature: object) => {\n\t\t\t\t\t\tif (!feature?.[0]) return;\n\n\t\t\t\t\t\tsetSketchState((_sketchState) => {\n\t\t\t\t\t\t\tconst _geometries = [...sketchState.geometries];\n\t\t\t\t\t\t\tif (typeof _sketchState.activeGeometryIndex === 'undefined') {\n\t\t\t\t\t\t\t\tconst tempFeature = feature[0];\n\t\t\t\t\t\t\t\ttempFeature.properties.id = tempFeature.id;\n\n\t\t\t\t\t\t\t\t_sketchState.activeGeometryIndex = _geometries.length;\n\t\t\t\t\t\t\t\t_geometries.push(tempFeature);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_geometries[_sketchState.activeGeometryIndex] = feature[0];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t..._sketchState,\n\t\t\t\t\t\t\t\tgeometries: _geometries,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\tonFinish={() => {\n\t\t\t\t\t\tsetSketchState((_sketchState) => ({\n\t\t\t\t\t\t\t..._sketchState,\n\t\t\t\t\t\t\tdrawMode: undefined,\n\t\t\t\t\t\t\tactiveGeometryIndex: undefined,\n\t\t\t\t\t\t\tselectedGeoJson: undefined,\n\t\t\t\t\t\t}));\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<List sx={{ zIndex: 105, marginBottom: '-10px' }}>\n\t\t\t\t{sketchState.geometries.map((el) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Box key={el.id} sx={{ display: 'flex', flexDirection: 'column' }}>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\tflexDirection={'row'}\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: 'rgb(177, 177, 177, 0.2)',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmarginTop: '25px',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseOver={() => {\n\t\t\t\t\t\t\t\t\tsetHoveredGeometry(el);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\t\tsetHoveredGeometry(undefined);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t\t\t\t\t{/* @ts-ignore-next-line */}\n\t\t\t\t\t\t\t\t<LayerListItem\n\t\t\t\t\t\t\t\t\tlistItemSx={buttonStyle}\n\t\t\t\t\t\t\t\t\tconfigurable={true}\n\t\t\t\t\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t\t\t\t\t<MlGeoJsonLayer mapId={props.mapId} geojson={el} layerId={String(el.id)} />\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttype={'layer'}\n\t\t\t\t\t\t\t\t\tname={String(el.id)}\n\t\t\t\t\t\t\t\t\tdescription={el.geometry.type}\n\t\t\t\t\t\t\t\t></LayerListItem>\n\t\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tpadding: '3px 30px',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ButtonGroup size=\"small\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tmapHook?.map?.map.setCenter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tel.geometry.type === 'Point'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (el.geometry.coordinates as LngLatLike)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: (turf.centerOfMass(el).geometry.coordinates as LngLatLike)\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<GpsFixedIcon />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsx={buttonStyle}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetSketchState((_sketchState) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\t..._sketchState,\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedGeoJson: el,\n\t\t\t\t\t\t\t\t\t\t\t\t\tactiveGeometryIndex: _sketchState.geometries.indexOf(el),\n\t\t\t\t\t\t\t\t\t\t\t\t\tdrawMode: 'simple_select',\n\t\t\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<EditIcon />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsx={buttonStyle}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tremoveGeoJson(el);\n\t\t\t\t\t\t\t\t\t\t\t\tsetHoveredGeometry(undefined);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<DeleteIcon />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t</>\n\t\t\t\t))}\n\t\t\t\t{hoveredGeometry && (\n\t\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\t\tmapId={props.mapId}\n\t\t\t\t\t\tgeojson={{ type: 'FeatureCollection', features: [hoveredGeometry] }}\n\t\t\t\t\t\tlayerId={'highlightBorder'}\n\t\t\t\t\t\tdefaultPaintOverrides={{\n\t\t\t\t\t\t\tcircle:{\n\t\t\t\t\t\t\t'circle-color': '#dd9900',\n\t\t\t\t\t\t\t'circle-opacity': 0.4,\n\t\t\t\t\t\t\t'circle-radius': 10,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\tline:{\n\t\t\t\t\t\t\t'line-color': '#dd9900',\n\t\t\t\t\t\t\t'line-opacity': 0.4,\n\t\t\t\t\t\t\t'line-width': 10,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\tfill:{\n\t\t\t\t\t\t\t'fill-color': '#dd9900',\n\t\t\t\t\t\t\t'fill-opacity': 0.4\n\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</List>\n\t\t\t{sketchState.drawMode === 'simple_select' && (\n\t\t\t\t<Typography sx={{ fontSize: '0.6em' }}>\n\t\t\t\t\tEdit {sketchState.selectedGeoJson?.geometry?.type}\n\t\t\t\t</Typography>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nMlSketchTool.defaultProps = {\n\tmapId: undefined,\n\tbuttonStyleOverride: {},\n};\nexport default MlSketchTool;\n","import { useEffect, useCallback, useRef } from 'react';\n\nimport * as turf from '@turf/turf';\nimport useMap from '../useMap';\nimport { LngLatBoundsLike, LngLatLike } from 'maplibre-gl';\n\ninterface useCameraFollowPathProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/* pause is an useRef const and is triggerd in the storie */\n\tpause?: boolean;\n\t/* zoom is an useRef const and is triggerd in the storie */\n\tzoom?: number;\n\t/* pitch is an useRef const and is triggerd in the storie */\n\tpitch?: number;\n\t/* speed is an useRef const and is triggerd in the storie */\n\tspeed?: number;\n\t/* kmPerStep is an useRef const */\n\tkmPerStep?: number;\n\t/* route is a json file, which is defined loaded in the storie */\n\troute?: any;\n\t/* stepDuration is a const */\n\tstepDuration?: number;\n\t/* timeoutId is an useRef const */\n\ttimeoutId?: number;\n}\nexport type { useCameraFollowPathProps };\n\n/**\n * Component template\n *\n */\nconst useCameraFollowPath = (props: useCameraFollowPathProps) => {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\t// without the requirement of adding it to the dependency list (ignore the false eslint exhaustive deps warning)\n\tconst initializedRef = useRef(false);\n\tconst pause = useRef<boolean | undefined>(props.pause);\n\tconst zoom = useRef<number | undefined>(props.zoom);\n\tconst pitch = useRef<number | undefined>(props.pitch);\n\tconst step = useRef(1);\n\tconst speed = useRef<number | undefined>(props.speed);\n\tconst timeoutId = useRef();\n\n\tconst kmPerStep = props.kmPerStep || 0.01;\n\tconst routeDistance = turf.lineDistance(props.route);\n\tconst stepDuration = props.stepDuration || 70;\n\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tuseEffect(() => {\n\t\tpause.current = props.pause;\n\t\tif (!pause.current) {\n\t\t\tplay();\n\t\t}\n\t}, [props.pause]);\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\t\tzoom.current = props.zoom;\n\t\tif (typeof zoom.current !== 'undefined' && mapHook.map.map.getZoom() !== zoom.current) {\n\t\t\tmapHook.map.map.setZoom(zoom.current);\n\t\t}\n\t}, [mapHook.map, props.zoom]);\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\t\tpitch.current = props.pitch;\n\t\tif (typeof pitch.current !== 'undefined' && pitch.current !== mapHook.map.map.getPitch()) {\n\t\t\tmapHook.map.map.setPitch(pitch.current);\n\t\t}\n\t}, [mapHook.map, props.pitch]);\n\tuseEffect(() => {\n\t\tspeed.current = props.speed;\n\t}, [props.speed]);\n\n\tconst disableInteractivity = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tmapHook.map.map['scrollZoom'].disable();\n\t\tmapHook.map.map['boxZoom'].disable();\n\t\tmapHook.map.map['dragRotate'].disable();\n\t\tmapHook.map.map['dragPan'].disable();\n\t\tmapHook.map.map['keyboard'].disable();\n\t\tmapHook.map.map['doubleClickZoom'].disable();\n\t\tmapHook.map.map['touchZoomRotate'].disable();\n\t}, [mapHook.map]);\n\tconst enableInteractivity = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tmapHook.map.map['scrollZoom'].enable();\n\t\tmapHook.map.map['boxZoom'].enable();\n\t\tmapHook.map.map['dragRotate'].enable();\n\t\tmapHook.map.map['dragPan'].enable();\n\t\tmapHook.map.map['keyboard'].enable();\n\t\tmapHook.map.map['doubleClickZoom'].enable();\n\t\tmapHook.map.map['touchZoomRotate'].enable();\n\t}, [mapHook.map]);\n\n\tfunction centerRoute() {\n\t\tif (!mapHook.map || !props.route) return;\n\t\tconst bbox = turf.bbox(props.route);\n\t\tlet bounds: LngLatBoundsLike;\n\t\tif (bbox && bbox.length > 3) {\n\t\t\tbounds = [\n\t\t\t\t[bbox[0], bbox[1]],\n\t\t\t\t[bbox[2], bbox[3]],\n\t\t\t];\n\t\t\tmapHook.map.map.fitBounds(bounds, { padding: 100 });\n\t\t}\n\t}\n\tfunction play() {\n\t\tif (!mapHook.map) return;\n\n\t\tif (!pause.current) {\n\t\t\tdisableInteractivity();\n\t\t\tif (typeof zoom.current !== 'undefined' && mapHook.map.map.getZoom() !== zoom.current) {\n\t\t\t\tmapHook.map.map.setZoom(zoom.current);\n\t\t\t}\n\n\t\t\tconst alongRoutelati: number[] = turf.along(props.route, step.current * kmPerStep).geometry\n\t\t\t\t.coordinates;\n\n\t\t\tif (step.current * kmPerStep < routeDistance) {\n\t\t\t\tmapHook.map.map.easeTo({\n\t\t\t\t\tcenter: alongRoutelati as LngLatLike,\n\t\t\t\t\tbearing: turf.bearing(\n\t\t\t\t\t\tturf.point([mapHook.map.map.getCenter().lng, mapHook.map.map.getCenter().lat]),\n\t\t\t\t\t\tturf.point(alongRoutelati)\n\t\t\t\t\t),\n\t\t\t\t\tduration: stepDuration,\n\t\t\t\t\tessential: true,\n\t\t\t\t});\n\t\t\t\tif (typeof speed.current !== 'undefined') {\n\t\t\t\t\tstep.current = step.current + speed.current;\n\t\t\t\t} else {\n\t\t\t\t\tstep.current++;\n\t\t\t\t}\n\t\t\t\tconsole.log('PAN MOVE');\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tplay();\n\t\t\t\t}, 100);\n\t\t\t} else {\n\t\t\t\tmapHook.map.map.setPitch(0);\n\t\t\t\tcenterRoute();\n\t\t\t\tenableInteractivity();\n\t\t\t\tconsole.log('ENABLE CONTROLS');\n\t\t\t\tstep.current = 1;\n\t\t\t}\n\t\t} else {\n\t\t\tenableInteractivity();\n\t\t}\n\t}\n\n\tfunction reset() {\n\t\tif (!mapHook.map) return;\n\t\tcenterRoute();\n\t\tenableInteractivity();\n\t\tstep.current = 1;\n\t}\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || initializedRef.current) return;\n\t\tinitializedRef.current = true;\n\t\tcenterRoute();\n\t}, [mapHook.map]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (timeoutId.current) {\n\t\t\t\tclearTimeout(timeoutId.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\treturn {\n\t\tplay: play,\n\t\treset: reset,\n\t};\n};\n\nuseCameraFollowPath.defaultProps = {\n\tmapId: undefined,\n\tzoom: 18,\n};\n\nexport default useCameraFollowPath;\n","import { useEffect } from 'react';\nimport useMap from '../useMap';\nimport { FilterSpecification } from 'maplibre-gl';\n\nexport interface UseLayerFilterProps {\n\tmapId?: string;\n\tlayerId?: string;\n\tfilter?: FilterSpecification;\n}\n\nfunction useLayerFilter(props: UseLayerFilterProps) {\n\tconst mapHook = useMap({ mapId: props.mapId });\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !props.layerId || !props.filter) return;\n\n\t\tif (mapHook.map.map.getLayer(props.layerId)) {\n\t\t\tconst _layerId = props.layerId;\n\n\t\t\tmapHook.map.map.setFilter(_layerId, props.filter);\n\t\t\treturn () => {\n\t\t\t\tif (mapHook.map) {\n\t\t\t\t\tmapHook.map.map.setFilter(_layerId, null);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\treturn;\n\t}, [props, mapHook.map]);\n\n\treturn {};\n}\n\nexport default useLayerFilter;\n","import React from 'react';\nimport { useEffect } from 'react';\nimport useMapState from './useMapState';\nimport useMap from './useMap';\n\nconst touchEquivalents = {\n\tmousedown: 'touchstart',\n\tmouseup: 'touchend',\n\tmousemove: 'touchmove',\n};\nconst touchEquivalentsKeys = Object.keys(touchEquivalents);\nfunction useLayerEvent(props) {\n\tconst mapState = useMapState({ mapId: props.mapId, watch: { layers: true } });\n\tconst mapHook = useMap({ mapId: props.mapId });\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return true;\n\t\tif (typeof props.condition !== 'undefined' && props.condition === false) return;\n\t\t//console.log('useLayerEvent');\n\t\t//console.log(mapState);\n\n\t\tif (mapHook.map.map.getLayer(props.layerId)) {\n\t\t\t//console.log(\"layer avail\");\n\t\t\tvar _event = props.event;\n\t\t\tvar _layerId = props.layerId;\n\t\t\tvar _eventHandler = props.eventHandler;\n\n\t\t\t//console.log(_event);\n\t\t\tmapHook.map.on(_event, _layerId, _eventHandler, mapHook.componentId);\n\t\t\tif (props?.addTouchEvents === true) {\n\t\t\t\tif (touchEquivalentsKeys.indexOf(_event) !== -1) {\n\t\t\t\t\tmapHook.map.on(touchEquivalents[_event], _layerId, _eventHandler, mapHook.componentId);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tmapHook.map.off(_event, _layerId, _eventHandler);\n\t\t\t\tif (props?.addTouchEvents === true) {\n\t\t\t\t\tif (touchEquivalentsKeys.indexOf(_event) !== -1) {\n\t\t\t\t\t\tmapHook.map.off(touchEquivalents[_event], _layerId, _eventHandler, mapHook.componentId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}, [props, mapState, mapHook.map]);\n\n\treturn {};\n}\n\nexport default useLayerEvent;\n","import { useContext } from 'react';\nimport LayerContext from '../contexts/LayerContext';\n\n\nconst useLayerContext = () => {\n\tconst layerContext = useContext(LayerContext);\n\treturn layerContext;\n};\nexport default useLayerContext;\n","import maplibregl, { AddProtocolAction } from 'maplibre-gl';\nimport { useEffect } from 'react';\n\nexport interface useAddProtocolProps {\n\t/**\n\t * the protocol string, for example `mbtiles`\n\t * In this example the handler function is called for all tile requests that start with the string `mbtiles://`\n\t */\n\tprotocol: string;\n\t/**\n\t * Custom load tile function that will be called when using a source that starts with a custom url schema.\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\thandler: AddProtocolAction;\n}\n\n/**\n * Enables the use of custom protocols (basically custom tile load functions) in the maplibre-gl-js library.\n *\n */\nconst useAddProtocol = (props: useAddProtocolProps) => {\n\tuseEffect(() => {\n\t\tif (!props.protocol || typeof props.handler !== 'function') return;\n\n\t\tmaplibregl.addProtocol(props.protocol, props.handler);\n\n\t\treturn () => {\n\t\t\tmaplibregl.removeProtocol(props.protocol);\n\t\t};\n\t}, [props]);\n\n\treturn {};\n};\n\nuseAddProtocol.defaultProps = {\n\tmapId: undefined,\n};\nexport default useAddProtocol;\n","\nexport default function protocolPathParser(url: string){\n\tconst test = url.split('?')\n\tconst urlParts = test[0].split('://');\n const protocolId = urlParts[0];\n\tconst csvUrl = urlParts.length >2 ? urlParts[1] + '://' + urlParts[2] : urlParts[1] ;\n\tconst csvParts = csvUrl.split('/');\n\tconst filename = csvParts.join('/');\n\n\tconst optionsString = decodeURI(test[1]);\n const options = Object.fromEntries(new URLSearchParams(optionsString))\n\n\treturn {\n protocolId,\n\t\tfilename,\n\t\toptions,\n\t};\n};","\nexport default async function getProtocolData(path: string) {\n\ttry {\n\n\t\tconst response = await fetch(path);\n\t\tconst rawData = await response.text();\n\t\t\n\t\treturn rawData;\n\t} catch (error) {\n\t\tconsole.error('File could not be loaded: ', error);\n\t\treturn error;\n\t}\n//}\n\t\n}","import { RequestParameters } from 'maplibre-gl';\nimport { FeatureCollection } from '@turf/turf';\nimport * as csv2geojsonType from './csv2geojson';\nimport * as csv2geojson from 'csv2geojson';\nimport protocolPathParser from './utils/protocolPathParser';\nimport getProtocolData from './utils/getProtocolData';\n\nasync function convertCsv(filename: string, options: csv2geojsonType.csvOptions ): Promise<FeatureCollection> {\n\n\n\tconst geojson = await new Promise<FeatureCollection>((resolve, reject) => {\n\t\n\t\tconst useOptions: csv2geojsonType.csvOptions= options || {};\n\t \tconst extension = filename.substring(filename.length -3)\n\n\t\t\t\t\t\t\n\t\tif(extension === 'tsv'){\n\t\t\toptions.delimiter = '\\t';\n\t\t}\n\n\t\tgetProtocolData(filename).then((rawData) => {\n\t\t// Use the csv2geojson library to convert the CSV to GeoJSON\t\n\t\t\n\t\tcsv2geojson.csv2geojson(rawData, useOptions, (err: string, data: FeatureCollection) => {\n\t\t\t\tif (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n\treturn geojson;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst CSVProtocolHandler = async (params: RequestParameters) => {\n\tconst parsedParams = protocolPathParser(params.url);\n\n\tconst data = await convertCsv(parsedParams.filename, parsedParams.options);\n\t\tif (data !== undefined) {\n\t\t\treturn {data:data}\n\t\t}\n\t\t\tthrow new Error('CSV not found ' + parsedParams.filename);\n};\n\nexport { CSVProtocolHandler, convertCsv };\n","import { RequestParameters} from 'maplibre-gl';\nimport { FeatureCollection, Geometry, GeometryCollection, Properties } from '@turf/turf';\nimport osm2geojson from 'osm2geojson-lite';\nimport protocolPathParser from './utils/protocolPathParser';\nimport getProtocolData from './utils/getProtocolData';\n\nasync function convertOSM(params: {\n\tfilename: string;\n\toptions: osm2geojson.Options;\n}): Promise<FeatureCollection> {\n\tconst options = params.options || {};\n\n\t// Use the csv2geojson library to convert the CSV to GeoJSON\n\tconst geojson = await new Promise<FeatureCollection>((resolve, reject) => {\n\t\tgetProtocolData(params.filename).then((rawData) => {\n\t\t\tconst newData: FeatureCollection<Geometry | GeometryCollection, Properties> = osm2geojson(\n\t\t\t\trawData,\n\t\t\t\toptions\n\t\t\t) as FeatureCollection<Geometry | GeometryCollection, Properties>;\n\n\t\t\tif (!newData) {\n\t\t\t\treject('Conversion failed');\n\t\t\t} else {\n\t\t\t\tresolve(newData);\n\t\t\t}\n\t\t});\n\t});\n\n\treturn geojson;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst OSMProtocolHandler = async (params: RequestParameters) => {\n\tconst parsedParams = protocolPathParser(params.url);\n\n\tconst data = await convertOSM(parsedParams);\n\tif (data !== undefined) {\n\t\treturn { data: data };\n\t}\n\tthrow new Error('OSM File not found ' + parsedParams.filename);\n};\n\nexport { OSMProtocolHandler, convertOSM };\n","import { LngLatLike, RequestParameters } from 'maplibre-gl';\nimport { Feature, FeatureCollection, Geometry, GeometryCollection, Properties } from '@turf/turf';\nimport { feature as topojsonFeature } from 'topojson-client';\nimport protocolPathParser from './utils/protocolPathParser';\nimport getProtocolData from './utils/getProtocolData';\nimport { Topology } from '../../node_modules/@types/topojson-specification';\n\ntype TopoJson = {\n\ttype?: 'Topology';\n\tobjects?: { key: string; features?: Feature | FeatureCollection };\n\tarcs?: LngLatLike[];\n\ttransform?: { scale: [number, number]; translate: LngLatLike };\n};\n\nfunction reduceFeatures(geojson: FeatureCollection) {\n\tconst newFeatures: Feature[] = [];\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tgeojson.features.forEach((e: any) => {\n\t\tif (!e.features) {\n\t\t\tnewFeatures.push({\n\t\t\t\ttype: e.type,\n\t\t\t\tgeometry: e.geometry,\n\t\t\t\tproperties: e.properties,\n\t\t\t});\n\t\t} else {\n\t\t\te.features.forEach((el: Feature<Geometry | GeometryCollection, Properties>) => {\n\t\t\t\tnewFeatures.push({ type: el.type, geometry: el.geometry, properties: el.properties });\n\t\t\t});\n\t\t}\n\t});\n\treturn newFeatures as Feature<Geometry | GeometryCollection, Properties>[];\n}\n\nasync function convertTopojson(params: { filename: string }): Promise<FeatureCollection> {\n\t/**\n\t * Loads TopoJSON data and converts it into a GeoJSON FeatureCollection\n\t */\n\tconst geojson = await new Promise<FeatureCollection>((resolve) => {\n\t\tlet topoJsonData: TopoJson = {\n\t\t\ttype: 'Topology',\n\t\t\tobjects: { key: '' },\n\t\t\tarcs: [],\n\t\t};\n\n\t\tgetProtocolData(params.filename).then((rawData) => {\n\t\t\ttry {\n\t\t\t\ttopoJsonData = JSON.parse(rawData);\n\t\t\t} catch (e) {\n\t\t\t\tthrow 'Invalid TopoJson';\n\t\t\t}\n\t\t\t// Convert the data\n\t\t\tlet result: FeatureCollection = {\n\t\t\t\ttype: 'FeatureCollection',\n\t\t\t\tfeatures: [],\n\t\t\t};\n\n\t\t\tif (topoJsonData.type === 'Topology' && topoJsonData.objects !== undefined) {\n\t\t\t\t// add the \"fromObject\" property in each topojson feature\n\t\t\t\tObject.keys(topoJsonData.objects).map((key) => {\n\t\t\t\t\tif (topoJsonData.objects?.[key].type === 'GeometryCollection') {\n\t\t\t\t\t\ttopoJsonData.objects?.[key].geometries?.forEach(\n\t\t\t\t\t\t\t(e: Feature) => (e.properties = { fromObject: key, ...e.properties })\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\ttopoJsonData?.objects?.[key] &&\n\t\t\t\t\t\ttopoJsonData?.objects?.[key]?.type !== 'GeometryCollection'\n\t\t\t\t\t) {\n\t\t\t\t\t\ttopoJsonData.objects[key].properties = {\n\t\t\t\t\t\t\tfromObject: key,\n\t\t\t\t\t\t\t...topoJsonData.objects?.[key].properties,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t//convert the data into a geoJson object\n\t\t\t\tresult = {\n\t\t\t\t\ttype: 'FeatureCollection',\n\t\t\t\t\tfeatures: Object.keys(topoJsonData.objects).map((key) =>\n\t\t\t\t\t\ttopojsonFeature(topoJsonData as unknown as Topology, key)\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t\tresult.features = reduceFeatures(result);\n\t\t\t}\n\n\t\t\tresolve(result);\n\t\t});\n\t});\n\n\treturn geojson;\n}\n\nconst TopojsonProtocolHandler = async (params: RequestParameters) => {\n\tconst parsedParams = protocolPathParser(params.url);\n\n\tconst data = await convertTopojson(parsedParams);\n\tif (data !== undefined) {\n\t\treturn { data: data };\n\t}\n\tthrow new Error('Topojson not found ' + parsedParams.filename);\n};\n\nexport { TopojsonProtocolHandler, convertTopojson };\n","import { RequestParameters } from 'maplibre-gl';\nimport { FeatureCollection, Geometry, GeometryCollection, Properties } from '@turf/turf';\nimport * as externParser from '@tmcw/togeojson';\nimport toGeoJSON from '../hooks/useGpx/lib/gpxConverter';\nimport protocolPathParser from './utils/protocolPathParser';\nimport getProtocolData from './utils/getProtocolData';\n\nasync function convertXML(params: {\n\tfilename: string;\n\tprotocolId: string;\n}): Promise<FeatureCollection> {\n\tconst geojson = await new Promise<FeatureCollection>((resolve, reject) => {\n\t\tgetProtocolData(params.filename).then((rawData) => {\n\t\t\tconst newData = () => {\n\t\t\t\t// use an extern converter for tcx files\n\n\t\t\t\tif (params.protocolId === 'tcx') {\n\t\t\t\t\treturn externParser[params.protocolId](\n\t\t\t\t\t\tnew DOMParser().parseFromString(rawData, 'text/xml')\n\t\t\t\t\t) as FeatureCollection<Geometry | GeometryCollection, Properties>;\n\n\t\t\t\t\t// use the projects gpxConverter function for gpx and kml files\n\t\t\t\t} else {\n\t\t\t\t\treturn toGeoJSON[params.protocolId](\n\t\t\t\t\t\tnew DOMParser().parseFromString(rawData, 'text/xml')\n\t\t\t\t\t) as FeatureCollection<Geometry | GeometryCollection, Properties>;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (!newData()) {\n\t\t\t\treject('Conversion failed');\n\t\t\t} else {\n\t\t\t\tresolve(newData());\n\t\t\t}\n\t\t});\n\t});\n\n\treturn geojson;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst XMLProtocolHandler = async (params: RequestParameters) => {\n\tconst parsedParams = protocolPathParser(params.url);\n\n\tconst data = await convertXML(parsedParams);\n\tif (data !== undefined) {\n\t\treturn { data: data };\n\t}\n\tthrow new Error('XML not found ' + parsedParams.filename);\n};\n\nexport { XMLProtocolHandler, convertXML };\n","import { useEffect, useRef } from 'react';\nimport useMap from '../useMap';\n\nexport interface useAddImageProps {\n\t/**\n\t *\n\t */\n\timageId: string;\n\t/**\n\t *\n\t */\n\timagePath: string;\n}\n\n/**\n *\n */\nconst useAddImage = (props: useAddImageProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: undefined,\n\t});\n\n\tconst initializedRef = useRef(false);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || initializedRef.current) return;\n\n\t\tmapHook.map?.loadImage(props.imagePath).then(function (res) {\n\t\t\tif (!res?.data) {\n\t\t\t\tconsole.log('image ' + props.imagePath + 'could not be loaded');\n\t\t\t\treturn; \n\t\t\t}\n\n\t\t\tmapHook.map?.addImage(props.imageId, res.data);\n\t\t\treturn; \n\t\t});\n\t\treturn () => {\n\t\t\tmapHook.map?.removeImage(props.imageId);\n\t\t};\n\t}, [mapHook.map, props]);\n\n\treturn;\n};\n\nuseAddImage.defaultProps = {\n\tmapId: undefined,\n};\nexport default useAddImage;\n","import React from \"react\";\n\nconst SimpleDataContext = React.createContext({});\n\nexport const SimpleDataContextProvider = SimpleDataContext.Provider;\nexport default SimpleDataContext;\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { SimpleDataContextProvider } from \"./SimpleDataContext\";\nimport * as d3 from \"d3\";\n\n\nexport interface SimpleDataProviderProps{\nurl: string;\nformat: 'json' | 'csv' | 'xml';\nnodeType:string;\ndata_property:string;\nformatData?:(data:any) => any;\nonData: () => void;\nchildren: React.ReactNode\n}\n\nconst SimpleDataProvider = (props:SimpleDataProviderProps) => {\n\tconst [data, setData] = useState<any[] | undefined>();\n\tuseEffect(() => {\n\t\tif (!props.url) return;\n\n\t\tlet data_promise = null;\n\t\tif (props.format === \"json\") {\n\t\t\tdata_promise = d3.json(props.url);\n\t\t} else if (props.format === \"csv\") {\n\t\t\tdata_promise = d3.csv(props.url);\n\t\t} else if (props.format === \"xml\") {\n\t\t\tdata_promise = d3.xml(props.url);\n\t\t}\n\n\t\tif (data_promise) {\n\t\t\tdata_promise.then((received_data) => {\n\t\t\t\tif (props.format === \"xml\") {\n\t\t\t\t\tif (props.nodeType) {\n\t\t\t\t\t\tconst dataTmp:any[] = [];\n\t\t\t\t\t\t(received_data as XMLDocument).querySelectorAll(props.nodeType).forEach((el) => {\n\n\t\t\t\t\tif (typeof props.formatData === \"function\") {\n\t\t\t\t\t\t\tdataTmp.push(props.formatData(el));\n\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetData(dataTmp);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet dataTmp:any[] = received_data as any[];\n\t\t\t\t\tif (props.data_property) {\n\t\t\t\t\t\tdataTmp = (received_data as any)[props.data_property] as any[];\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof props.formatData === \"function\") {\n\t\t\t\t\t\tsetData(dataTmp.map(props.formatData));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetData(dataTmp);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (typeof props.onData === \"function\") {\n\t\t\t\t\tprops.onData();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [props.url, props]);\n\n\tconst value = {\n\t\tdata: data,\n\t\tsetData: setData,\n\t};\n\n\treturn (\n\t\t<SimpleDataContextProvider value={value}>\n\t\t\t{props.children}\n\t\t</SimpleDataContextProvider>\n\t);\n};\n\nSimpleDataProvider.propTypes = {\n\tchildren: PropTypes.node.isRequired,\n};\n\nexport default SimpleDataProvider;\n","import React from 'react';\nimport { List, styled } from '@mui/material';\n\nconst ListStyled = styled(List)({\n\tmarginTop: '15px',\n});\ninterface LayerListProps {\n\tmapId?: string;\n\tchildren?: JSX.Element | JSX.Element[];\n}\n\nfunction LayerList(props: LayerListProps) {\n\treturn <ListStyled>{props?.children}</ListStyled>;\n}\n\nexport default LayerList;\n","import React, { useMemo } from 'react';\nimport { IconButton, styled } from '@mui/material';\nimport {\n\tArrowCircleDown as ArrowCircleDownIcon,\n\tArrowCircleUp as ArrowCircleUpIcon,\n\tCenterFocusWeak as CenterLayerIcon,\n} from '@mui/icons-material';\nimport LayerListItem from './LayerListItem';\nimport MlGeoJsonLayer from '../../components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport MlWmsLoader from '../../components/MlWmsLoader/MlWmsLoader';\nimport MlOrderLayers from '../../components/MlOrderLayers/MlOrderLayers';\nimport { MlGeoJsonLayerProps } from '../../components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport { MlWmsLoaderProps } from '../../components/MlWmsLoader/MlWmsLoader';\nimport MlVectorTileLayer, {\n\tMlVectorTileLayerProps,\n} from '../../components/MlVectorTileLayer/MlVectorTileLayer';\nimport useLayerContext from '../../hooks/useLayerContext';\nimport { LayerConfig, wmsConfig } from '../../contexts/LayerContext';\nimport {\n\tclosestCenter,\n\tDndContext,\n\tuseSensor,\n\tPointerSensor,\n\tMouseSensor,\n\tuseSensors,\n\tUniqueIdentifier,\n\tDragEndEvent,\n} from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport useMap from '../../hooks/useMap';\nimport { FeatureCollection, bbox } from '@turf/turf';\nimport { LngLatBoundsLike, FitBoundsOptions } from 'maplibre-gl';\n\nconst IconButtonStyled = styled(IconButton)({\n\tpadding: '4px',\n\tmarginTop: '-3px',\n\tbackground: 'none',\n\t'&:hover': {\n\t\tbackground: 'none',\n\t},\n});\n\nexport interface LayerListItemFactoryProps {\n\tmapId?: string;\n\tlayers: LayerConfig[];\n\tsetLayers?: (layers: LayerConfig[] | ((state: LayerConfig[]) => LayerConfig[])) => void;\n\tinsertBeforeLayer?: string;\n\tsortable?: boolean;\n\tfitBoundsOptions?: FitBoundsOptions;\n}\n\nfunction LayerListItemFactory(props: LayerListItemFactoryProps) {\n\tconst layerContext = useLayerContext();\n\tconst mapHook = useMap({ mapId: undefined });\n\n\t//useCallback Hook\n\tfunction fitLayer(layer: LayerConfig) {\n\t\tconst layerSource =\n\t\t\tlayer.id && mapHook.map?.getLayer(layer.id)?.source\n\t\t\t\t? mapHook.map?.getLayer(layer.id)?.source\n\t\t\t\t: undefined;\n\n\t\tlet _bbox: LngLatBoundsLike | null = null;\n\t\tswitch (layer.type) {\n\t\t\tcase 'geojson':\n\t\t\t\tif (layer.config?.geojson) {\n\t\t\t\t\tmapHook.map?.fitBounds(\n\t\t\t\t\t\tbbox(layer.config?.geojson) as LngLatBoundsLike,\n\t\t\t\t\t\tprops.fitBoundsOptions\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tif (!layerSource) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst _geojson = {\n\t\t\t\t\t\ttype: 'FeatureCollection',\n\t\t\t\t\t\tfeatures: mapHook.map?.querySourceFeatures(layerSource),\n\t\t\t\t\t};\n\n\t\t\t\t\tif ((_geojson as FeatureCollection).features.length === 0) {\n\t\t\t\t\t\tmapHook.map?.zoomTo(1);\n\t\t\t\t\t\t_geojson.features = mapHook.map?.querySourceFeatures(layerSource);\n\t\t\t\t\t}\n\n\t\t\t\t\t_bbox = bbox(_geojson) as LngLatBoundsLike;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'vt':\n\t\t\t\tconsole.log('vt');\n\t\t\t\tbreak;\n\t\t\tcase 'wms':\n\t\t\t\t_bbox = (layer?.config as wmsConfig)?.config?.layers?.[0]\n\t\t\t\t\t?.EX_GeographicBoundingBox as LngLatBoundsLike;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t\tif (_bbox) {\n\t\t\tmapHook.map?.fitBounds(_bbox, props.fitBoundsOptions);\n\t\t}\n\t}\n\n\tconst orderLayers = useMemo(() => {\n\t\tconst layerIds = [\n\t\t\t'order-background',\n\t\t\t...[...layerContext.layers].map((_el, idx) => 'content_order_' + idx),\n\t\t\t'order-labels',\n\t\t];\n\n\t\treturn layerIds.reverse();\n\t}, [layerContext.layers]);\n\n\tconst layers: LayerConfig[] = useMemo(() => {\n\t\tif (props.layers) return props.layers;\n\t\tif (layerContext?.layers) return layerContext.layers;\n\t\treturn [];\n\t}, [props.layers, layerContext.layers]);\n\n\tconst setLayers: (arg1: LayerConfig[] | ((arg: LayerConfig[]) => void)) => void = useMemo(() => {\n\t\tif (props.setLayers) return props.setLayers;\n\t\treturn layerContext.setLayers;\n\t}, [props.setLayers, layerContext.setLayers]);\n\tconst pointerSensor = useSensor(PointerSensor, {\n\t\tactivationConstraint: {\n\t\t\tdistance: 5,\n\t\t},\n\t});\n\tconst mouseSensor = useSensor(MouseSensor, {\n\t\tactivationConstraint: {\n\t\t\tdistance: 5,\n\t\t},\n\t});\n\tconst sensors = useSensors(mouseSensor, pointerSensor);\n\n\tfunction dragEnd(event: DragEndEvent) {\n\t\tconst dragLayerId = event.active.id;\n\t\tconst dragLayerNewPosition = event.over?.data?.current?.sortable.index;\n\t\tlayerContext.moveLayer(String(dragLayerId), () => dragLayerNewPosition);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MlOrderLayers layerIds={orderLayers} insertBeforeLayer=\"_background\" />\n\t\t\t{layerContext?.symbolLayers?.length > 0 && (\n\t\t\t\t<LayerListItem\n\t\t\t\t\tkey={'background_labels'}\n\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t<MlVectorTileLayer\n\t\t\t\t\t\t\t{...layerContext.vtLayerConfig}\n\t\t\t\t\t\t\tlayers={layerContext.symbolLayers}\n\t\t\t\t\t\t\tmapId={props?.mapId}\n\t\t\t\t\t\t\tinsertBeforeLayer={'order-labels'}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\tsetLayerState={(state: MlVectorTileLayerProps) =>\n\t\t\t\t\t\tlayerContext.setSymbolLayers(state?.layers)\n\t\t\t\t\t}\n\t\t\t\t\tvisible={true}\n\t\t\t\t\tconfigurable={true}\n\t\t\t\t\ttype=\"layer\"\n\t\t\t\t\tname=\"Labels\"\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<DndContext\n\t\t\t\tcollisionDetection={closestCenter}\n\t\t\t\tsensors={sensors}\n\t\t\t\tonDragEnd={(event) => dragEnd(event)}\n\t\t\t\tmodifiers={[restrictToVerticalAxis]}\n\t\t\t>\n\t\t\t\t<SortableContext\n\t\t\t\t\titems={layers as { id: UniqueIdentifier }[]}\n\t\t\t\t\tstrategy={verticalListSortingStrategy}\n\t\t\t\t>\n\t\t\t\t\t{[...layers].map((layer: LayerConfig, idx: number) => {\n\t\t\t\t\t\tif (!layer?.id) return null;\n\n\t\t\t\t\t\tswitch (layer.type) {\n\t\t\t\t\t\t\tcase 'geojson':\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<LayerListItem\n\t\t\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\t\t\tlayerId={layer.id}\n\t\t\t\t\t\t\t\t\t\tsortable={props.sortable}\n\t\t\t\t\t\t\t\t\t\tname={layer?.name || layer?.config?.type + ' layer' || 'unnamed layer'}\n\t\t\t\t\t\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t\t\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\t\t\t\t\t\t\t\t{...layer.config}\n\t\t\t\t\t\t\t\t\t\t\t\tmapId={props?.mapId}\n\t\t\t\t\t\t\t\t\t\t\t\tlayerId={layer.id}\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBeforeLayer={'content_order_' + (layers.length - 1 - idx)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tbuttons={\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === layers.length - 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveDown(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleDownIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveUp(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleUpIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled onClick={() => fitLayer(layer)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CenterLayerIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetLayerState={(layerConfig: MlGeoJsonLayerProps | false) =>\n\t\t\t\t\t\t\t\t\t\t\tsetLayers?.((current: LayerConfig[]) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst _layers = [...current];\n\t\t\t\t\t\t\t\t\t\t\t\tif (layerConfig === false) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t_layers.splice(idx, 1);\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t_layers[idx].config = layerConfig;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\treturn _layers;\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tconfigurable={true}\n\t\t\t\t\t\t\t\t\t\tshowDeleteButton={true}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tcase 'wms':\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MlWmsLoader\n\t\t\t\t\t\t\t\t\t\t\t{...(layer.config as unknown as MlWmsLoaderProps)}\n\t\t\t\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\t\t\t\tlayerId={layer.id}\n\t\t\t\t\t\t\t\t\t\t\tsortable={props.sortable}\n\t\t\t\t\t\t\t\t\t\t\tmapId={props?.mapId}\n\t\t\t\t\t\t\t\t\t\t\tinsertBeforeLayer={'content_order_' + (layers.length - 1 - idx)}\n\t\t\t\t\t\t\t\t\t\t\tonConfigChange={(layerConfig) => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLayers?.((current: LayerConfig[]) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst _layers = [...current];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (layerConfig === false) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_layers.splice(idx, 1);\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(_layers[idx].config as MlWmsLoaderProps).config = layerConfig;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _layers;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tfeatureInfoActive={layer?.config?.featureInfoActive || false}\n\t\t\t\t\t\t\t\t\t\t\tsetFeatureInfoActive={(updateFunction) => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLayers?.((current: LayerConfig[]) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst _layers = [...current];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (typeof updateFunction === 'function') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(_layers[idx].config as MlWmsLoaderProps).featureInfoActive =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateFunction(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(_layers[idx].config as MlWmsLoaderProps)?.featureInfoActive ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _layers;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tshowDeleteButton={true}\n\t\t\t\t\t\t\t\t\t\t\tbuttons={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === layers.length - 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveDown(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleDownIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveUp(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleUpIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled onClick={() => fitLayer(layer)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CenterLayerIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tcase 'vt':\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<React.Fragment key={layer?.id + '_listItem'}>\n\t\t\t\t\t\t\t\t\t\t<LayerListItem\n\t\t\t\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\t\t\t\tname={layer?.name || layer?.type + ' layer' || 'unnamed layer'}\n\t\t\t\t\t\t\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t\t\t\t\t\t\t<MlVectorTileLayer\n\t\t\t\t\t\t\t\t\t\t\t\t\tlayers={layer?.config?.layers || []}\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmapId={layer?.config.mapId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsourceOptions={layer?.config?.sourceOptions}\n\t\t\t\t\t\t\t\t\t\t\t\t\tlayerId={layer.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\turl={layer?.config?.url}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tbuttons={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={layer.id + '_button1'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === layers.length - 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveDown(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleDownIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={layer.id + '_button2'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveUp(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleUpIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled onClick={() => fitLayer(layer)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CenterLayerIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetLayerState={(layerConfig: MlVectorTileLayerProps | false) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetLayers?.((current: LayerConfig[]) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst _layers = [...current];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (layerConfig === false) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_layers.splice(idx, 1);\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_layers[idx].config = layerConfig;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _layers;\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tconfigurable={true}\n\t\t\t\t\t\t\t\t\t\t\tshowDeleteButton={true}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t\t{layerContext?.backgroundLayers?.length > 0 && (\n\t\t\t\t\t\t<LayerListItem\n\t\t\t\t\t\t\tkey={'background_geometry'}\n\t\t\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t\t\t<MlVectorTileLayer\n\t\t\t\t\t\t\t\t\t{...layerContext.vtLayerConfig}\n\t\t\t\t\t\t\t\t\tlayers={layerContext.backgroundLayers}\n\t\t\t\t\t\t\t\t\tmapId={props?.mapId}\n\t\t\t\t\t\t\t\t\tinsertBeforeLayer={'order-background'}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetLayerState={(state: MlVectorTileLayerProps) => {\n\t\t\t\t\t\t\t\tlayerContext.setBackgroundLayers(state?.layers);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvisible={true}\n\t\t\t\t\t\t\tconfigurable={true}\n\t\t\t\t\t\t\ttype=\"layer\"\n\t\t\t\t\t\t\tname=\"Background\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</SortableContext>\n\t\t\t</DndContext>\n\t\t</>\n\t);\n}\n\nLayerListItemFactory.defaultProps = {\n\tmapId: undefined,\n};\n\nexport default LayerListItemFactory;\n","import {\n\tButton,\n\tDialogActions,\n\tDialogTitle,\n\tFormControl,\n\tInputLabel,\n\tMenuItem,\n\tSelect,\n\tSelectChangeEvent,\n} from '@mui/material';\nimport React, { useMemo } from 'react';\nimport { MlGeoJsonLayerProps } from 'src/components/MlGeoJsonLayer/MlGeoJsonLayer';\n\n\nexport interface GeoJsonLayerFormProps {\n\tconfig?: MlGeoJsonLayerProps;\n\tonSubmit: (config: MlGeoJsonLayerProps) => void;\n\tonCancel: () => void;\n}\n\nconst types: string[] = [\n\t'fill',\n\t'line',\n\t'circle',\n];\nexport default function GeoJsonLayerForm(props: GeoJsonLayerFormProps) {\n\n\tconst [config, setConfig] = React.useState<Partial<MlGeoJsonLayerProps>>({ type: 'circle' });\n\n\tconst configIsValid = useMemo(() => {\n\t\tif (!config?.type || !config?.geojson) return false;\n\n\t\treturn true;\n\t}, [config]);\n\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle>GeoJSON layer</DialogTitle>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<InputLabel id=\"type-label\">Type</InputLabel>\n\t\t\t\t<Select\n\t\t\t\t\tlabelId=\"type-label\"\n\t\t\t\t\tvalue={config.type}\n\t\t\t\t\tlabel=\"Type\"\n\t\t\t\t\tonChange={(ev: SelectChangeEvent) =>\n\t\t\t\t\t\tsetConfig((current) => ({\n\t\t\t\t\t\t\t...current,\n\t\t\t\t\t\t\ttype: ev.target.value as MlGeoJsonLayerProps['type'],\n\t\t\t\t\t\t}))\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{types.map((type) => (\n\t\t\t\t\t\t<MenuItem key={type} value={type}>\n\t\t\t\t\t\t\t{type}\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</FormControl>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<Button variant=\"contained\" component=\"label\" sx={{ marginTop: '10px' }}>\n\t\t\t\t\tUpload File\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\tev.target.files?.[0]\n\t\t\t\t\t\t\t\t.text()\n\t\t\t\t\t\t\t\t.then((data) =>\n\t\t\t\t\t\t\t\t\tsetConfig((current) => ({ ...current, geojson: JSON.parse(data) }))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t</FormControl>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={props.onCancel}>Cancel</Button>\n\t\t\t\t<Button disabled={!configIsValid} onClick={() => props.onSubmit(config as MlGeoJsonLayerProps)}>\n\t\t\t\t\tAdd\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</>\n\t);\n}\n","import React from 'react';\n\nimport {\n\tAvatar,\n\tDialogTitle,\n\tList,\n\tListItem,\n\tListItemAvatar,\n\tListItemButton,\n\tListItemText,\n} from '@mui/material';\nimport DynamicFeedIcon from '@mui/icons-material/DynamicFeed';\n\nexport interface LayerTypeFormProps {\n\tonSelect: (type: string) => void;\n\tlayerTypes: string[]\n}\n\nconst LayerTypeForm = (props: LayerTypeFormProps) => {\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle>{props.layerTypes.length > 1 ? \"Select a layer type\": \"Load new layer\"}</DialogTitle>\n\t\t\t<List>\n\t\t\t\t{props.layerTypes.map((type, idx) => (\n\t\t\t\t\t<ListItem disableGutters key={idx}>\n\t\t\t\t\t\t<ListItemButton\n\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tprops.onSelect(type);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ListItemAvatar>\n\t\t\t\t\t\t\t\t<Avatar>\n\t\t\t\t\t\t\t\t\t<DynamicFeedIcon />\n\t\t\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t\t</ListItemAvatar>\n\t\t\t\t\t\t\t<ListItemText primary={type} />\n\t\t\t\t\t\t</ListItemButton>\n\t\t\t\t\t</ListItem>\n\t\t\t\t))}\n\t\t\t</List>\n\t\t</>\n\t);\n};\n\nLayerTypeForm.defaultProps = {};\n\nexport default LayerTypeForm;\n","import {\n\tButton,\n\tDialogActions,\n\tDialogContent,\n\tDialogTitle,\n\tFormControl,\n\tInputLabel,\n\tOutlinedInput,\n} from '@mui/material';\nimport React, { useMemo } from 'react';\nimport { wmsConfig } from 'src/contexts/LayerContext';\n\nexport interface WmsLayerConfig {\n\turl: string;\n}\n\nexport interface WmsLayerFormProps {\n\tonSubmit: (config: wmsConfig) => void;\n\tonCancel: () => void;\n}\n\nexport default function WmsLayerForm(props: WmsLayerFormProps) {\n\tconst [config, setConfig] = React.useState<wmsConfig>({ url: '' });\n\n\tconst configIsValid = useMemo(() => {\n\t\tif (!config?.url) return false;\n\n\t\treturn true;\n\t}, [config]);\n\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle>WMS layer</DialogTitle>\n\t\t\t<DialogContent>\n\t\t\t\t<FormControl fullWidth sx={{ marginTop: '10px' }}>\n\t\t\t\t\t<InputLabel htmlFor=\"wms-url-input\">WMS URL</InputLabel>\n\t\t\t\t\t<OutlinedInput\n\t\t\t\t\t\tid=\"wms-url-input\"\n\t\t\t\t\t\tlabel=\"WMS URL\"\n\t\t\t\t\t\tvalue={config.url}\n\t\t\t\t\t\tonChange={(ev) => setConfig({ ...config, url: ev.target.value })}\n\t\t\t\t\t/>\n\t\t\t\t</FormControl>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={props.onCancel}>Cancel</Button>\n\t\t\t\t<Button disabled={!configIsValid} onClick={() => props.onSubmit(config)}>\n\t\t\t\t\tAdd\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</>\n\t);\n}\n","import React, { useState } from 'react';\nimport { List, ListItem, TextField, Typography, Button } from '@mui/material';\nimport AddBoxIcon from '@mui/icons-material/AddBox';\nimport IndeterminateCheckBoxIcon from '@mui/icons-material/IndeterminateCheckBox';\n\ninterface CSVOptionsFormulaProps {\n\tsetter: any;\n}\n\nconst optionFields = ['latfield', 'lonfield', 'delimiter'];\n\nfunction CSVOptionsFormular(props: CSVOptionsFormulaProps) {\n\tconst [open, setOpen] = useState<boolean>(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Typography> Options </Typography>\n\t\t\t<Button onClick={() => setOpen(!open)}>\n\t\t\t\t{open ? <IndeterminateCheckBoxIcon /> : <AddBoxIcon />}\n\t\t\t</Button>\n\n\t\t\t<List>\n\t\t\t\t{open &&\n\t\t\t\t\toptionFields?.map((el) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ListItem>\n\t\t\t\t\t\t\t\t\t<Typography> {el} </Typography>\n\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t\t<ListItem>\n\t\t\t\t\t\t\t\t\t<TextField\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newObject = {};\n\t\t\t\t\t\t\t\t\t\t\tnewObject[el] = ev.target.value;\n\t\t\t\t\t\t\t\t\t\t\tprops.setter(newObject);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t</List>\n\t\t</>\n\t);\n}\n\nexport default CSVOptionsFormular;\n","import React, { useState } from 'react';\nimport { List, ListItem, Checkbox, Typography, Button } from '@mui/material';\nimport AddBoxIcon from '@mui/icons-material/AddBox';\nimport IndeterminateCheckBoxIcon from '@mui/icons-material/IndeterminateCheckBox';\n\ninterface OsmOptionsFomularProps {\n\tsetter: any;\n}\n\nconst optionFields = [\n\t'completeFeature',\n\t'allFeatures',\n\t'renderTagged',\n\t'excludeWay',\n\t'suppressWay',\n];\n\nfunction OsmOptionsFomular(props: OsmOptionsFomularProps) {\n\tconst [open, setOpen] = useState<boolean>(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Typography> Options </Typography>\n\t\t\t<Button onClick={() => setOpen(!open)}>\n\t\t\t\t{open ? <IndeterminateCheckBoxIcon /> : <AddBoxIcon />}\n\t\t\t</Button>\n\t\t\t<List>\n\t\t\t\t{open &&\n\t\t\t\t\toptionFields?.map((el) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ListItem>\n\t\t\t\t\t\t\t\t\t<Typography> {el} </Typography>\n\t\t\t\t\t\t\t\t\t<Checkbox\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newObject = {};\n\t\t\t\t\t\t\t\t\t\t\tnewObject[el] = ev.target.value === 'on' ? true : false;\n\t\t\t\t\t\t\t\t\t\t\tprops.setter(newObject);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t</List>\n\t\t</>\n\t);\n}\n\nexport default OsmOptionsFomular;\n","import {\n\tButton,\n\tDialogActions,\n\tDialogTitle,\n\tFormControl,\n\tInputLabel,\n\tMenuItem,\n\tSelect,\n\tSelectChangeEvent,\n} from '@mui/material';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { MlGeoJsonLayerProps } from 'src/components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport useAddProtocol from '../../../hooks/useAddProtocol/useAddProtocol';\nimport CSVOptionsFormular from './utils/CSVOptionsFomular';\nimport OsmOptionsFomular from './utils/OsmOptionsFomular';\nimport useMap from '../../../hooks/useMap';\nimport { CSVProtocolHandler } from '../../../protocol_handlers/csv';\nimport { TopojsonProtocolHandler } from '../../../protocol_handlers/topojson';\nimport { OSMProtocolHandler } from '../../../protocol_handlers/osm';\nimport { XMLProtocolHandler } from '../../../protocol_handlers/xml';\n//import { mbTilesProtocolHandler } from '../../../protocol_handlers/mbtiles';\nimport * as csv2geojsonType from '../../../protocol_handlers/csv2geojson';\n\nexport interface ProtocolHandlerLayerFormProps {\n\toriginType: string;\n\tconfig?: MlGeoJsonLayerProps;\n\tmapId?: string;\n\tonSubmit: (config: MlGeoJsonLayerProps) => void;\n\tonCancel: () => void;\n}\n\n\nconst handlers = {\n\tcsv: CSVProtocolHandler,\n\ttopojson: TopojsonProtocolHandler, \n\tosm: OSMProtocolHandler,\n\tgpx: XMLProtocolHandler, \n\tkml: XMLProtocolHandler,\n\ttcx: XMLProtocolHandler,\n\t//mbtiles: mbTilesProtocolHandler\n};\n\nconst types: string[] = ['fill', 'line', 'circle'];\nexport default function ProtocolHandlerLayerForm(props: ProtocolHandlerLayerFormProps) {\n\tconst [config, setConfig] = useState<Partial<MlGeoJsonLayerProps>>({ type: 'circle' });\n\tconst [fileName, setFileName] = useState<string>();\n\tconst [filePath, setFilePath] = useState<string>();\n\tconst [optionsObject, setOptionsObject] = useState<csv2geojsonType.csvOptions>({})\n\tconst mapHook = useMap({ mapId: props.mapId });\n \tconst optionsURL = '?' + new URLSearchParams(optionsObject as string).toString();\n\n\t\n\tuseAddProtocol({\n\t \tprotocol: props.originType,\n\t\thandler: handlers[props.originType],\n\t });\n\n\tconst configIsValid = useMemo(() => {\n\t\tif (!config?.type) return false;\n\t\tif(filePath && fileName) return true;\n\t\telse return false\n\t}, [config, filePath, fileName]);\n\n\tuseEffect(() => {\n\t\tif (typeof fileName !== 'undefined' && typeof filePath !== 'undefined') {\n\t\t\tif (!mapHook.map?.getSource(fileName)) \n\t\t\tmapHook.map?.addSource(fileName, {\n\t\t\t\t\ttype: 'geojson',\n\t\t\t\t\tdata: optionsObject ? props.originType + '://' + filePath + optionsURL : props.originType + '://' + filePath ,\n\t\t\t\t});\n\t\t\t\tconfig.options = { source: fileName };\t\t\t\t\t\n\t\t}\n\n\t\treturn () => {};\n\t}, [fileName, mapHook.map, filePath]);\n\n\t//the temporally storage adress of the uploaded file will be revoked, after source and layer are loaded in the map \n\tuseEffect(() => {\n\t\tif (filePath && fileName && mapHook.map?.getLayer(fileName)) {\n\t\t\tURL.revokeObjectURL(filePath);\n\t\t}\n\t}, [fileName, filePath, mapHook.map]);\n\n\tfunction addOption(newObject: JSON){\nconst newOptions = {...optionsObject, ...newObject}\n\n\t\treturn setOptionsObject(newOptions)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle>Layer from {props.originType}</DialogTitle>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<InputLabel id=\"type-label\">Type</InputLabel>\n\t\t\t\t<Select\n\t\t\t\t\tlabelId=\"type-label\"\n\t\t\t\t\tvalue={config.type}\n\t\t\t\t\tlabel=\"Type\"\n\t\t\t\t\tonChange={(ev: SelectChangeEvent) =>\n\t\t\t\t\t\tsetConfig((current) => ({\n\t\t\t\t\t\t\t...current,\n\t\t\t\t\t\t\ttype: ev.target.value as MlGeoJsonLayerProps['type'],\n\t\t\t\t\t\t}))\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{types.map((type) => (\n\t\t\t\t\t\t<MenuItem key={type} value={type}>\n\t\t\t\t\t\t\t{type}\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</FormControl>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<Button variant=\"contained\" component=\"label\" sx={{ marginTop: '10px' }}>\n\t\t\t\t\tSelect origin file\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\taccept={props.originType}\n\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\tsetFileName(ev.target.files?.[0].name);\n\n\t\t\t\t\t\t\tif (ev.target.files?.[0]) {\n\t\t\t\t\t\t\t\tconst dataUrl = URL.createObjectURL(ev.target.files?.[0]);\n\t\t\t\t\t\t\t\tsetFilePath(dataUrl);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t\t{props.originType === 'csv' && <CSVOptionsFormular setter={addOption}/>}\n\t\t\t\t{props.originType === 'osm' && <OsmOptionsFomular setter={addOption} />}\n\t\t\t\t\n\t\t\t</FormControl>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={props.onCancel}>Cancel</Button>\n\t\t\t\t<Button\n\t\t\t\t\tdisabled={!configIsValid}\n\t\t\t\t\tonClick={() => props.onSubmit(config as MlGeoJsonLayerProps)}\n\t\t\t\t>\n\t\t\t\t\tAdd\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</>\n\t);\n}\n","import React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { Button, FormControl, TextField } from '@mui/material';\nimport { LayerSpecification } from 'maplibre-gl';\n\ninterface MbtilesLayerPropFormularProps {\n\tsetter: Dispatch<SetStateAction<LayerSpecification[]>>;\n}\n\nconst LayerSpecificationKeys = [\n\t'id',\n\t'type',\n\t'metadata',\n\t'source',\n\t'source-layer',\n\t'layout',\n\t'paint',\n\t'options',\n];\n\nexport default function MbtilesLayerPropFormular(props: MbtilesLayerPropFormularProps) {\n\tconst [layers, setLayers] = useState<LayerSpecification[]>([]);\n\tconst newLayer = {\n\t};\n\tconst toJSON = ['paint', 'layout', 'options', 'metadata'];\n\n\n\tuseEffect(() => {\n\t\tprops.setter(layers);\n\t}, [layers]);\n\n\tconst TextFields = () => {\n\t\t\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{LayerSpecificationKeys.map((key) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<React.Fragment key={key + '_fragment'}>\n\t\t\t\t\t\t\t<TextField\n\t\t\t\t\t\t\t\tlabel={key}\n\t\t\t\t\t\t\t\tonChange={(ev) =>\n\t\t\t\t\t\t\t\t\tnewLayer[key] = ev.target.value\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</>\n\t\t);\n\t};\n\n\tfunction addLayer() {\n\n\t\ttoJSON.map((key)=>{\n\t\t\tif (typeof newLayer[key] !== 'undefined'){\n\t\t\t\ttry{\n\t\t\t\t\tnewLayer[key] = JSON.parse(newLayer[key])\n\t\t\t\t} catch{\n\t\t\t\t\talert(\"Invalid JSON format, try again\")\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t})\n\n\t\tsetLayers((current) => {\n\t\t\tif (current.length > 0) {\n\t\t\t\treturn [ newLayer, ...current] as LayerSpecification[];\n\t\t\t} else {\n\t\t\t\treturn [newLayer] as LayerSpecification[];\n\t\t\t}\n\t\t});\n\t}\n\treturn (\n\t\t<>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<TextFields />\n\t\t\t</FormControl>\n\t\t\t<Button onClick={addLayer}> Add</Button>\n\t\t</>\n\t);\n}\n","import {\n\tAccordion,\n\tAccordionSummary,\n\tButton,\n\tDialogActions,\n\tDialogContent,\n\tDialogTitle,\n\tTypography,\n} from '@mui/material';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport useMap from '../../../hooks/useMap';\nimport { MlVectorTileLayerProps } from 'src/components/MlVectorTileLayer/MlVectorTileLayer';\nimport { LayerSpecification } from 'maplibre-gl';\nimport MbtilesLayerPropFormular from './utils/MbtilesLayerPropFormular';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';\n\nexport interface WmsLayerConfig {\n\turl: string;\n}\n\nexport interface MbtilesLayerFormProps {\n\toriginType: string;\n\tconfig: MlVectorTileLayerProps;\n\tmapId?: string;\n\tonSubmit: (config: MlVectorTileLayerProps) => void;\n\tonCancel: () => void;\n}\n\nexport default function MbtilesLayerForm(props: MbtilesLayerFormProps) {\n\tconst [config, setConfig] = React.useState<MlVectorTileLayerProps>(props.config);\n\tconst [fileName, setFileName] = useState<string>();\n\tconst [filePath, setFilePath] = useState<string>();\n\tconst [layers, setLayers] = useState<LayerSpecification[]>([]);\n\tconst mapHook = useMap({ mapId: props.mapId });\n\tconst [expanded, setExpanded] = useState<boolean>(false);\n\n\tconsole.log(layers)\n\n\tconst LayersToCall = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{layers.map((el, idx) => (\n\t\t\t\t\t<Typography variant=\"body2\" key={idx}>\n\t\t\t\t\t\t{idx + 1}: {JSON.stringify(el)}\n\t\t\t\t\t</Typography>\n\t\t\t\t))}\n\t\t\t</>\n\t\t);\n\t};\n\n\t/**\n\t * A Vector Tile layer configuration with a mbtile Protocol url will passed to the onComplete function of the addLayerButton.\n\t * In order to visdualize the file content, a mbtiles ProtocolHandler must be added to the map Instanz.\n\t * See the MapComponents AddLayerButton demo and the documentation of useAddProtocolHook to find out more about Protocol handlers.\n\t */\n\n\t/* example values: \n\t*\t \tid: 'countries',\n\t*\t\ttype: 'fill',\n\t*\t\t'source-layer': 'countries',\n\t* layout: {},\n\t* paint: { \"fill-color\": \"#f9a5f5\", \"fill-opacity\": 0.5 },\t\t\n\t*/\n\t\t\t\t\t\t\t\n\t\t\n\tconst configIsValid = useMemo(() => {\n\t\tif (!fileName) return false;\n\n\t\treturn true;\n\t}, [fileName]);\n\n\tuseEffect(() => {\n\t\tif (typeof fileName !== 'undefined' && typeof filePath !== 'undefined') {\n\t\t\tsetConfig({\n\t\t\t\turl: 'mbtiles://' + filePath + '/{z}/{x}/{y}',\n\t\t\t\tlayers: layers,\n\t\t\t\tlayerId: fileName,\n\t\t\t\tsourceOptions: {\n\t\t\t\t\ttype: 'vector',\n\t\t\t\t\tminzoom: 0,\n\t\t\t\t\tmaxzoom: 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}, [fileName, mapHook.map, filePath, layers]);\n\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle> Layer from mbtiles file</DialogTitle>\n\t\t\t<DialogContent>\n\t\t\t\t<Button variant=\"contained\" component=\"label\" sx={{ marginTop: '10px' }}>\n\t\t\t\t\tSelect origin file\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\taccept={props.originType}\n\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\tsetFileName(ev.target.files?.[0].name);\n\n\t\t\t\t\t\t\tif (ev.target.files?.[0]) {\n\t\t\t\t\t\t\t\tconst dataUrl = URL.createObjectURL(ev.target.files?.[0]);\n\t\t\t\t\t\t\t\tsetFilePath(dataUrl);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\n\t\t\t\t<Accordion expanded={expanded}>\n\t\t\t\t\t<AccordionSummary aria-controls=\"panel1d-content\" id=\"panel1d-header\">\n\t\t\t\t\t\t<Typography>MB-Tile Layer properties</Typography>\n\t\t\t\t\t\t<Button onClick={() => setExpanded(!expanded)}>\n\t\t\t\t\t\t\t{expanded ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</AccordionSummary>\n\t\t\t\t\t<Typography variant=\"body1\"> Layers</Typography>\n\t\t\t\t\t{layers.length > 0 ? <LayersToCall /> : <Typography variant=\"body2\"> 0 </Typography>}\n\t\t\t\t\t<MbtilesLayerPropFormular setter={setLayers} />\n\t\t\t\t</Accordion>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={props.onCancel}>Cancel</Button>\n\t\t\t\t<Button disabled={!configIsValid} onClick={() => props.onSubmit(config)}>\n\t\t\t\t\tAdd\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</>\n\t);\n}\n","import { Dialog } from '@mui/material';\nimport React, { useState } from 'react';\nimport GeoJsonLayerForm from './LayerConfigForms/GeoJsonLayerForm';\nimport LayerTypeForm from './LayerConfigForms/LayerTypeForm';\nimport WmsLayerForm from './LayerConfigForms/WmsLayerForm';\nimport { LayerConfig } from 'src/contexts/LayerContext';\nimport ProtocolHandlerLayerForm from './LayerConfigForms/ProtocolHandlerLayerForm';\nimport MbtilesLayerForm from './LayerConfigForms/MbtilesLayerForm';\nimport { MlVectorTileLayerProps } from 'src/components/MlVectorTileLayer/MlVectorTileLayer';\n\nexport interface AddLayerPopupProps {\n\topen: boolean;\n\tconfig?: LayerConfig;\n\tlayerTypes: string[];\n\tsetOpen: (open: boolean) => void;\n\tonChange?: (config: LayerConfig) => void;\n\tonComplete?: (config: LayerConfig) => void;\n}\n\ntype validTypes =\n\t| LayerConfig['type']\n\t| 'csv'\n\t| 'mbtiles'\n\t| 'topojson'\n\t| 'osm'\n\t| 'gpx'\n\t| 'kml'\n\t| 'tcx';\n\nconst AddLayerPopup = (props: AddLayerPopupProps) => {\n\tconst [layerConfig, setLayerConfig] = useState<LayerConfig | undefined>(props?.config);\n\tconst [originType, setOriginType] = useState<string>();\n\tconst layerTypes = props.layerTypes;\n\tconst supportedProtocols = layerTypes.filter(\n\t\t(el) => el !== 'wms' && el !== 'geojson' && el !== 'mbtiles'\n\t);\n\n\n\tconst updateLayerType = (type: validTypes) => {\n\t\tsetOriginType(type);\n\t\tif (supportedProtocols.includes(type)) {\n\t\t\tsetLayerConfig({ type: 'geojson', config: {} } as LayerConfig);\n\t\t} else if (type === 'mbtiles') {\n\t\t\tsetLayerConfig({ type: 'vt', config: {layers: []} } );\n\t\t} else {\n\t\t\tsetLayerConfig({ type, config: {} } as LayerConfig);\n\t\t}\n\t};\n\n\tconst handleCancel = () => {\n\t\tprops.setOpen(false);\n\t\tsetLayerConfig(undefined);\n\t};\n\n\tconst ProtocolTypeFormulars = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{supportedProtocols.map((el, idx) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{layerConfig?.type === 'geojson' && originType === el && (\n\t\t\t\t\t\t\t\t<ProtocolHandlerLayerForm\n\t\t\t\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\t\t\t\toriginType={el}\n\t\t\t\t\t\t\t\t\tonSubmit={(config) => {\n\t\t\t\t\t\t\t\t\t\tprops?.onComplete?.({\n\t\t\t\t\t\t\t\t\t\t\t...layerConfig,\n\t\t\t\t\t\t\t\t\t\t\tconfig: config,\n\t\t\t\t\t\t\t\t\t\t\ttype: 'geojson',\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\thandleCancel();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonCancel={handleCancel}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</>\n\t\t);\n\t};\n\n\treturn (\n\t\t<Dialog open={props.open} onClose={handleCancel} PaperProps={{ sx: { padding: '20px' } }}>\n\t\t\t{!layerConfig?.type && <LayerTypeForm onSelect={updateLayerType} layerTypes={layerTypes} />}\n\t\t\t{layerConfig?.type === 'geojson' && originType === 'geojson' && (\n\t\t\t\t<GeoJsonLayerForm\n\t\t\t\t\tonSubmit={(config) => {\n\t\t\t\t\t\tprops?.onComplete?.({ ...layerConfig, config: config });\n\t\t\t\t\t\thandleCancel();\n\t\t\t\t\t}}\n\t\t\t\t\tonCancel={handleCancel}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{layerConfig?.type === 'wms' && (\n\t\t\t\t<WmsLayerForm\n\t\t\t\t\tonSubmit={(config) => {\n\t\t\t\t\t\tprops?.onComplete?.({ ...layerConfig, config: config });\n\t\t\t\t\t\thandleCancel();\n\t\t\t\t\t}}\n\t\t\t\t\tonCancel={handleCancel}\n\t\t\t\t/>\n\t\t\t)}\n\t\t{layerConfig?.type === 'vt' && originType !== undefined && (\n\t\t\t\t<MbtilesLayerForm\n\t\t\t\tconfig={layerConfig as unknown as MlVectorTileLayerProps} \n\t\t\t\toriginType={originType}\n\t\t\t\t\tonSubmit={(config) => {\n\t\t\t\t\t\tif (layerConfig) {\n\t\t\t\t\t\t\tprops?.onComplete?.({ ...layerConfig, config: config } as LayerConfig);\n\t\t\t\t\t\t\thandleCancel();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonCancel={handleCancel}\n\t\t\t\t/>\n\t\t\t)}\t\n\t\t\t<ProtocolTypeFormulars key={'protocol'} />\n\t\t</Dialog>\n\t);\n};\n\nAddLayerPopup.defaultProps = {};\n\nexport default AddLayerPopup;\n\n","import { Button, SxProps } from '@mui/material';\nimport React from 'react';\nimport PlaylistAddIcon from '@mui/icons-material/PlaylistAdd';\nimport AddLayerPopup from './AddLayerPopup';\nimport { LayerConfig } from '../../contexts/LayerContext';\n//import useAddProtocol, { useAddProtocolProps } from '../../hooks/useAddProtocol/useAddProtocol';\n\n//function AddProtocol(props: useAddProtocolProps) {\n//\tuseAddProtocol({\n//\t\tprotocol: props.protocol,\n//\t\thandler: props.handler,\n//\t});\n//\treturn <></>;\n//}\nexport interface AddLayerButtonProps {\n\tsx?: SxProps;\n\t/**\n\t * An string array, to filter the supported file types that would be shown to the user\n\t * Default is: ['geojson', 'wms', 'csv', 'topojson', 'osm', 'gpx', 'kml', 'tcx']\n\t */\n\tlayerTypes?: string[];\n\tonComplete?: (config: LayerConfig) => void;\n}\n\nconst AddLayerButton = (props: AddLayerButtonProps) => {\n\tconst [popupOpen, setPopupOpen] = React.useState<boolean>(false);\n\tconst layerTypes = props.layerTypes || [\n\t\t'geojson',\n\t\t'wms',\n\t\t//'mbtiles',\n\t\t'csv',\n\t\t'topojson',\n\t\t'osm',\n\t\t'gpx',\n\t\t'kml',\n\t\t'tcx',\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tsx={{ marginTop: '10px', ...props.sx }}\n\t\t\t\tonClick={() => setPopupOpen(true)}\n\t\t\t>\n\t\t\t\t<PlaylistAddIcon />\n\t\t\t</Button>\n\t\t\t<AddLayerPopup\n\t\t\t\topen={popupOpen}\n\t\t\t\tsetOpen={setPopupOpen}\n\t\t\t\tonComplete={props?.onComplete}\n\t\t\t\tlayerTypes={layerTypes}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nAddLayerButton.defaultProps = {};\n\nexport default AddLayerButton;\n","import * as React from 'react';\nimport { useState } from 'react';\nimport AppBar from '@mui/material/AppBar';\nimport Box from '@mui/material/Box';\nimport Toolbar from '@mui/material/Toolbar';\nimport IconButton from '@mui/material/IconButton';\nimport Menu from '@mui/material/Menu';\nimport MenuIcon from '@mui/icons-material/Menu';\nimport { useTheme } from '@mui/material/styles';\n\nexport interface TopToolbarProps {\n\tchildren?: React.ReactNode;\n\tunmovableButtons?: React.ReactNode;\n\tbuttons?: React.ReactNode;\n\tlogo?: React.ReactNode;\n}\n\nconst ghPagesUrl = 'https://mapcomponents.github.io/react-map-components-maplibre/';\nconst logoUrl = ghPagesUrl + 'assets/WG-MapComponents-Logo_rgb.svg';\nconst logoUrl_dark = ghPagesUrl + 'assets/WG-MapComponents-Logo_rgb-weisse-schrift.svg';\nconst logoUrl_mobile = ghPagesUrl + 'assets/mapcomponents_logo.png';\n\nfunction TopToolbar(props: TopToolbarProps) {\n\tconst theme = useTheme();\n\n\tconst [anchorElNav, setAnchorElNav] = useState<null | HTMLElement>(null);\n\n\tconst handleOpenNavMenu = (event: React.MouseEvent<HTMLElement>) => {\n\t\tsetAnchorElNav(event.currentTarget);\n\t};\n\n\tconst handleCloseNavMenu = () => {\n\t\tsetAnchorElNav(null);\n\t};\n\n\treturn (\n\t\t<AppBar\n\t\t\tsx={{\n\t\t\t\tminHeight: '62px',\n\t\t\t\tposition: 'absolute',\n\t\t\t\tzIndex: 1300,\n\t\t\t\ttop: 0,\n\t\t\t}}\n\t\t>\n\t\t\t<Toolbar disableGutters>\n\t\t\t\t{props.logo || (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tmarginLeft: '25px',\n\t\t\t\t\t\t\t\tdisplay: { xs: 'none', md: 'flex' },\n\t\t\t\t\t\t\t\tflexGrow: { md: '30' },\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={theme.palette.mode === 'dark' ? logoUrl_dark : logoUrl}\n\t\t\t\t\t\t\t\tstyle={{ width: '100%', maxWidth: '250px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tmarginLeft: '25px',\n\t\t\t\t\t\t\t\tdisplay: { xs: 'flex', sm: 'flex', md: 'none' },\n\t\t\t\t\t\t\t\tflexGrow: { xs: '500' },\n\t\t\t\t\t\t\t\tmr: { sm: '0px' },\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src={logoUrl_mobile} width=\"50px\" height=\"50px\" />\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t<Box sx={{ flexGrow: 1, display: { xs: 'flex' } }}>{props.unmovableButtons}</Box>\n\t\t\t\t{props.buttons ? (\n\t\t\t\t\t<Box sx={{ flexGrow: 22, display: { xs: 'flex', sm: 'none' } }}>\n\t\t\t\t\t\t<IconButton onClick={handleOpenNavMenu}>\n\t\t\t\t\t\t\t<MenuIcon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\tid=\"menu-appbar\"\n\t\t\t\t\t\t\tanchorEl={anchorElNav}\n\t\t\t\t\t\t\tanchorOrigin={{\n\t\t\t\t\t\t\t\tvertical: 'bottom',\n\t\t\t\t\t\t\t\thorizontal: 'left',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tkeepMounted\n\t\t\t\t\t\t\ttransformOrigin={{\n\t\t\t\t\t\t\t\tvertical: 'top',\n\t\t\t\t\t\t\t\thorizontal: 'left',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\topen={Boolean(anchorElNav)}\n\t\t\t\t\t\t\tonClose={handleCloseNavMenu}\n\t\t\t\t\t\t\tPaperProps={{\n\t\t\t\t\t\t\t\televation: 24,\n\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\toverflow: 'visible',\n\t\t\t\t\t\t\t\t\tmt: '15px',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tdisplay: { xs: 'block', sm: 'none' },\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Box sx={{ paddingLeft: '10px', paddingRight: '10px' }} onClick={handleCloseNavMenu}>\n\t\t\t\t\t\t\t\t{props.buttons}\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</Menu>\n\t\t\t\t\t</Box>\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t\t<Box sx={{ marginRight: '25px', display: { xs: 'none', sm: 'flex' } }}>{props.buttons}</Box>\n\t\t\t</Toolbar>\n\t\t</AppBar>\n\t);\n}\n\nexport default TopToolbar;\n","import React, { useState } from 'react';\nimport { styled } from '@mui/material/styles';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { Paper, Drawer, IconButton, PaperProps, DrawerProps, Theme } from '@mui/material';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport Box from '@mui/material/Box';\nimport { Global } from '@emotion/react';\nimport { Typography, SwipeableDrawer } from '@mui/material/';\n\nconst DrawerHeader = styled('div')(() => ({\n\tdisplay: 'flex',\n\talignItems: 'center',\n}));\n\ninterface SidebarProps {\n\tdrawerPaperProps?: PaperProps;\n\tdrawerHeaderProps?: Headers;\n\tchildren?: React.ReactNode;\n\topen?: boolean;\n\tsetOpen?: (val: boolean) => void;\n\tname?: string;\n}\n\nconst drawerBleeding = 56;\n\nconst Puller = styled(Box)(({ theme }) => ({\n\twidth: 30,\n\theight: 6,\n\tbackgroundColor: theme.palette.text.primary,\n\tborderRadius: 3,\n\tposition: 'absolute',\n\ttop: 8,\n\tleft: 'calc(50% - 15px)',\n}));\n\nexport default function Sidebar({\n\tdrawerPaperProps,\n\tdrawerHeaderProps,\n\tsetOpen,\n\t...props\n}: SidebarProps & DrawerProps) {\n\tconst mediaIsMobile = useMediaQuery((theme: Theme) => theme.breakpoints.down('sm'));\n\n\tconst [drawerOpen, setDrawerOpen] = useState(false);\n\treturn (\n\t\t<>\n\t\t\t{!mediaIsMobile ? (\n\t\t\t\t<Box sx={{ display: { xs: 'none', sm: 'flex' }, mr: 1 }}>\n\t\t\t\t\t<Drawer\n\t\t\t\t\t\ttransitionDuration={0}\n\t\t\t\t\t\tvariant=\"persistent\"\n\t\t\t\t\t\tanchor=\"left\"\n\t\t\t\t\t\topen={typeof props.open === 'undefined' ? drawerOpen : props.open}\n\t\t\t\t\t\tPaperProps={{\n\t\t\t\t\t\t\t...drawerPaperProps,\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tmaxWidth: { lg: '30%', md: '40%', sm: '50%', xs: '78%' },\n\t\t\t\t\t\t\t\tpadding: { sm: '84px 20px 20px 20px', xs: '74px 10px 10px 10px' },\n\t\t\t\t\t\t\t\twidth: {\n\t\t\t\t\t\t\t\t\txs: '80%',\n\t\t\t\t\t\t\t\t\tsm: '60%',\n\t\t\t\t\t\t\t\t\tmd: '350px',\n\t\t\t\t\t\t\t\t\tlg: '350px',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\t\t\t\t...drawerPaperProps?.sx,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\tzIndex: 105,\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\t\tmaxWidth: { lg: '30%', md: '40%', sm: '50%', xs: '78%' },\n\t\t\t\t\t\t\t...(drawerOpen ? {} : { left: mediaIsMobile ? '-90vw' : '-20vw' }),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DrawerHeader {...drawerHeaderProps}>\n\t\t\t\t\t\t\t<Typography variant=\"h6\">{props.name}</Typography>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\tsetOpen\n\t\t\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpen?.(false);\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetDrawerOpen(false);\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\tright: '20px',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CloseIcon />\n\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t</DrawerHeader>\n\t\t\t\t\t\t<Box>{props.children}</Box>\n\t\t\t\t\t</Drawer>\n\t\t\t\t</Box>\n\t\t\t) : (\n\t\t\t\t<Box sx={{ display: { xs: 'flex', sm: 'none' } }}>\n\t\t\t\t\t<Global\n\t\t\t\t\t\tstyles={{\n\t\t\t\t\t\t\t'.MuiDrawer-root > .MuiPaper-root': {\n\t\t\t\t\t\t\t\theight: `calc(50% - ${drawerBleeding}px)`,\n\t\t\t\t\t\t\t\toverflow: 'visible',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<SwipeableDrawer\n\t\t\t\t\t\tanchor=\"bottom\"\n\t\t\t\t\t\topen={typeof props.open === 'undefined' ? drawerOpen : props.open}\n\t\t\t\t\t\tonClose={\n\t\t\t\t\t\t\tsetOpen\n\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\tsetOpen?.(false);\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: () => {\n\t\t\t\t\t\t\t\t\t\tsetDrawerOpen(false);\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonOpen={\n\t\t\t\t\t\t\tsetOpen\n\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\tsetOpen?.(true);\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: () => {\n\t\t\t\t\t\t\t\t\t\tsetDrawerOpen(true);\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswipeAreaWidth={drawerBleeding}\n\t\t\t\t\t\tdisableSwipeToOpen={false}\n\t\t\t\t\t\thideBackdrop={true}\n\t\t\t\t\t\tModalProps={{\n\t\t\t\t\t\t\tkeepMounted: true,\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\ttop: `calc(90%)`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Paper\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\ttop: -drawerBleeding,\n\t\t\t\t\t\t\t\tborderTopLeftRadius: 8,\n\t\t\t\t\t\t\t\tborderTopRightRadius: 8,\n\t\t\t\t\t\t\t\tvisibility: 'visible',\n\t\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Puller />\n\t\t\t\t\t\t\t<Typography variant=\"h6\" sx={{ p: '13px' }}>\n\t\t\t\t\t\t\t\t{props.name}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</Paper>\n\n\t\t\t\t\t\t<Paper\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tpx: '15px',\n\t\t\t\t\t\t\t\tpb: '15px',\n\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t\t\tpaddingTop: '20px',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t</Paper>\n\t\t\t\t\t</SwipeableDrawer>\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t\t;\n\t\t</>\n\t);\n}\n","import React, { useRef } from 'react';\nimport FileCopy from '@mui/icons-material/FileCopy';\nimport { Button } from '@mui/material';\n\ntype Props = {\n\tsetData: (data: string) => void;\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tbuttonComponent: any;\n\taccept?: string\n};\n\nexport default function UploadButton(props: Props) {\n\tconst fileupload = useRef<HTMLInputElement>(null);\n\tconst fileUploadOnChange = () => {\n\t\tif (!fileupload.current) return false;\n\n\t\tconst file = fileupload.current?.files?.[0];\n\t\tif (!file) return false;\n\t\tconst reader = new FileReader();\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\treader.onload = (payload: any) => {\n\t\t\tif (!payload) return;\n\n\t\t\tif (typeof props.setData === 'function') {\n\t\t\t\tprops.setData(payload.currentTarget?.result);\n\t\t\t}\n\t\t};\n\n\t\treader.readAsText(file);\n\n\t\treturn;\n\t};\n\n\tconst upload = () => {\n\t\tif (!fileupload.current) return;\n\n\t\tfileupload.current.click();\n\t};\n\treturn (\n\t\t<>\n\t\t\t{props.buttonComponent ? (\n\t\t\t\tReact.cloneElement(props.buttonComponent, { onClick: upload })\n\t\t\t) : (\n\t\t\t\t<Button onClick={upload}>\n\t\t\t\t\t<FileCopy />\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t<input\n\t\t\t\tref={fileupload}\n\t\t\t\tonChange={fileUploadOnChange}\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept={props.accept}\n\t\t\t\tid=\"input\"\n\t\t\t\tmultiple\n\t\t\t\tstyle={{ display: 'none' }}\t\t\t\n\t\t\t></input>\n\t\t</>\n\t);\n}\n","import {\n\tAvatar,\n\tDialog,\n\tDialogTitle,\n\tList,\n\tListItem,\n\tListItemAvatar,\n\tListItemButton,\n\tListItemText,\n} from '@mui/material';\nimport React from 'react';\nimport { StyleSpecification } from 'maplibre-gl';\n\nexport interface SelectStylePopupProps {\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\tstyles?: StyleSpecification[];\n\tonSelect?: (style: StyleSpecification) => void;\n\tstyleThumbnailPaths?: { [key: string]: string };\n}\n\nconst SelectStylePopup = (props: SelectStylePopupProps) => {\n\tconst handleCancel = () => {\n\t\tprops.setOpen(false);\n\t};\n\n\treturn (\n\t\t<Dialog open={props.open} onClose={handleCancel} PaperProps={{ sx: { padding: '20px' } }}>\n\t\t\t<DialogTitle>Select a style</DialogTitle>\n\t\t\t<List>\n\t\t\t\t{props?.styles?.map((style) => (\n\t\t\t\t\t<ListItem disableGutters key={style.name}>\n\t\t\t\t\t\t<ListItemButton\n\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tprops?.onSelect?.(style);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ListItemAvatar>\n\t\t\t\t\t\t\t\t<Avatar\n\t\t\t\t\t\t\t\t\tsx={{ width: '50px', height: '50px' }}\n\t\t\t\t\t\t\t\t\talt={style.name}\n\t\t\t\t\t\t\t\t\tsrc={style?.name && props?.styleThumbnailPaths?.[style.name]}\n\t\t\t\t\t\t\t\t></Avatar>\n\t\t\t\t\t\t\t</ListItemAvatar>\n\t\t\t\t\t\t\t<ListItemText primary={style.name} />\n\t\t\t\t\t\t</ListItemButton>\n\t\t\t\t\t</ListItem>\n\t\t\t\t))}\n\t\t\t</List>\n\t\t</Dialog>\n\t);\n};\n\nSelectStylePopup.defaultProps = {\n\tstyleThumbnailPaths: {\n\t},\n};\n\nexport default SelectStylePopup;\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Monokai',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#282822' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#AE81FF',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#75715E' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#837f6e' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#918d7e' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#A6C22E',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(166,194,46,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#e0ebad' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#FD971F' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(253,151,31,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(18,5,68,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#A6E22E',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#A6C22E', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#A6C22E', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#66D9EF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#66D9EF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#66D9EF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#66D9EF',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#21c8e8' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#AE81FF',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#E6DB74', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#eee69f',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fa5892',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fa5892',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fa5892',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb70a2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(249,38,114,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(249,38,114,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb70a2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb70a2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#e60657',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(249,38,114,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F8F8F2',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fc89b2',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(18,5,68,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(18,5,68,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fa5892',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F8F8F2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#E69F66',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#E69F66',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#66D9EF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Solarized',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#073642' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#2aa198',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#657b83' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#74888f' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#84959c' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#859900',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(133,153,0,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#f2ff99' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#d30102' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(211,1,2,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(58,63,144,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#2aa198',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#859900', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#859900', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#268bd2',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#1a6091' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#2aa198',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#eee8d5', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#fdfcf9',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#9094d3',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#9094d3',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#9094d3',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#a3a6da',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(108,113,196,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(108,113,196,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#a3a6da',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#a3a6da',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#484fb5',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(108,113,196,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#cb4b16',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#e58ab6',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(58,63,144,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(58,63,144,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#9094d3',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#cb4b16',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Oceanic Next',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#282822' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#81a1c1',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#a3be8c' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#acc598' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#b5cba3' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#a3be8c',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(163,19,14,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#cbdabe' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#b48ead' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(18,142,173,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(118,51,8,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#81a1c1',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#a3be8c', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#a3be8c', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#8fbcbb',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#5f9f9e' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#81a1c1',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#65737e', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#7e8d98',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(235,219,178,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(214,93,14,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#a6480b',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(214,93,14,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b48ead',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f49456',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(118,51,8,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(118,51,8,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b48ead',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Medieval Kingdom',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#ffd1a8' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#228B22',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#bfa677' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#c5af85' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#ccb892' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#556B2F',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(85,107,47,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#d1e0b8' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#FFC0CB' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(255,192,203,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(149,46,46,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#228B22',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#556B2F', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#556B2F', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#1E90FF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#1E90FF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#1E90FF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#1E90FF',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#006ad1' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#228B22',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#f9e9cb', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#fefcf9',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d98383',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d98383',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d98383',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#df9797',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(139,94,6,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(205,92,92,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#df9797',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#df9797',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#bc3a3a',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(205,92,92,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#FFC0CB',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8b5e3c',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#e5aaaa',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8b5e3c',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(149,46,46,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(149,46,46,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d98383',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#FFC0CB',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8b5e3c',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8b5e3c',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#A0522D',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#A0522D',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#1E90FF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Gruvbox',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#282822' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#83a598',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#b8bb26' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#bfc23c' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#c6c951' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#b8bb26',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(184,187,38,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#eceeaa' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#fe8019' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(254,128,25,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(118,51,8,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#83a598',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#b8bb26', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#b8bb26', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#83a598',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#83a598',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#83a598',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#83a598',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#5c7f72' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#83a598',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#928374', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#a89c91',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(235,219,178,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(214,93,14,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#a6480b',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(214,93,14,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fe8019',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f49456',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(118,51,8,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(118,51,8,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fe8019',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb4934',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb4934',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#83a598',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import { Button, SxProps } from '@mui/material';\nimport React from 'react';\nimport SelectStylePopup from './SelectStylePopup';\nimport WallpaperIcon from '@mui/icons-material/Wallpaper';\nimport LayerContext from '../../contexts/LayerContext';\nimport MonokaiStyle from '../../omt_styles/monokai';\nimport SolarizedStyle from '../../omt_styles/solarized';\nimport OceanicNextStyle from '../../omt_styles/oceanic_next';\nimport MedievalKingdomStyle from '../../omt_styles/medieval_kingdom';\nimport GruvboxStyle from '../../omt_styles/gruvbox';\n\nimport { StyleSpecification } from 'maplibre-gl';\n\nexport interface SelectStyleButtonProps {\n\tsx?: SxProps;\n\tonComplete?: (config: StyleSpecification[]) => void;\n\tstyles?: StyleSpecification[];\n\tdefaultStyles?: boolean;\n\tstyleThumbnailPaths?: { [key: string]: string };\n}\n\nconst defaultStyleThumbnailPath =\n\t'https://mapcomponents.github.io/react-map-components-maplibre/assets/style_thumbnails/';\n\nconst SelectStyleButton = (props: SelectStyleButtonProps) => {\n\tconst layerContext = React.useContext(LayerContext);\n\tconst [popupOpen, setPopupOpen] = React.useState<boolean>(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tsx={{ marginTop: '10px', ...props.sx }}\n\t\t\t\tonClick={() => setPopupOpen(true)}\n\t\t\t>\n\t\t\t\t<WallpaperIcon />\n\t\t\t</Button>\n\t\t\t<SelectStylePopup\n\t\t\t\tstyles={\n\t\t\t\t\t[\n\t\t\t\t\t\t...(props.defaultStyles\n\t\t\t\t\t\t\t? [MonokaiStyle, SolarizedStyle, OceanicNextStyle, MedievalKingdomStyle, GruvboxStyle]\n\t\t\t\t\t\t\t: []),\n\t\t\t\t\t\t...(props.styles || []),\n\t\t\t\t\t] as StyleSpecification[]\n\t\t\t\t}\n\t\t\t\tstyleThumbnailPaths={{\n\t\t\t\t\t...props?.styleThumbnailPaths,\n\t\t\t\t\t...(props.defaultStyles\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tMonokai: defaultStyleThumbnailPath + 'monokai.png',\n\t\t\t\t\t\t\t\tGruvbox: defaultStyleThumbnailPath + 'gruvbox.png',\n\t\t\t\t\t\t\t\t'Oceanic Next': defaultStyleThumbnailPath + 'oceanic_next.png',\n\t\t\t\t\t\t\t\tSolarized: defaultStyleThumbnailPath + 'solarized.png',\n\t\t\t\t\t\t\t\t'Medieval Kingdom': defaultStyleThumbnailPath + 'medieval_kingdom.png',\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {}),\n\t\t\t\t}}\n\t\t\t\topen={popupOpen}\n\t\t\t\tsetOpen={setPopupOpen}\n\t\t\t\tonSelect={(style) => {\n\t\t\t\t\t// Todo: should be possible without clearing bg layers first & setTimeout\n\t\t\t\t\tlayerContext.setBackgroundLayers([]);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tlayerContext.updateStyle(style);\n\t\t\t\t\t}, 100);\n\t\t\t\t\tsetPopupOpen(false);\n\t\t\t\t}}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nSelectStyleButton.defaultProps = {\n\tstyle: [],\n\tdefaultStyles: true,\n};\n\nexport default SelectStyleButton;\n","import React, {useState} from 'react';\nimport Box from '@mui/material/Box';\nimport { default as MuiSpeedDial, OpenReason } from '@mui/material/SpeedDial';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport SpeedDialAction from '@mui/material/SpeedDialAction';\nimport CloseIcon from '@mui/icons-material/Close';\nimport WallpaperIcon from '@mui/icons-material/Wallpaper';\nimport LayersIcon from '@mui/icons-material/Layers';\nimport DesignServicesIcon from '@mui/icons-material/DesignServices';\nimport PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';\n\nconst actions = [\n\t{ icon: <PictureAsPdfIcon />, name: 'Create PDF' },\n\t{ icon: <DesignServicesIcon />, name: 'Sketch' },\n\t{ icon: <LayersIcon />, name: 'Layers' },\n\t{ icon: <WallpaperIcon />, name: 'Background' },\n];\n\nexport interface SpeedDialProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n}\n\n/*\n * SpeedDial Button, which opens up options for Background, Layers, Sketch and Create PDF\n */\n\nconst SpeedDial = () => {\n\tconst [open, setOpen] = useState(false);\n\n\tconst handleOpen = (_event: React.SyntheticEvent<Event>, reason: OpenReason) => {\n\t\tif (reason === 'toggle') {\n\t\t\tsetOpen(true);\n\t\t}\n\t};\n\tconst handleClose = () => setOpen(false);\n\n\treturn (\n\t\t<Box\n\t\t\tsx={{\n\t\t\t\theight: 330,\n\t\t\t\ttransform: 'translateZ(0px)',\n\t\t\t\tflexGrow: 1,\n\t\t\t\tposition: 'absolute',\n\t\t\t\tbottom: 0,\n\t\t\t\tright: 0,\n\t\t\t\twidth: '100px',\n\t\t\t\tzIndex: '1000',\n\t\t\t}}\n\t\t>\n\t\t\t<MuiSpeedDial\n\t\t\t\tariaLabel=\"SpeedDial tooltip example\"\n\t\t\t\tsx={{ position: 'absolute', bottom: 16, right: 16 }}\n\t\t\t\ticon={open ? <CloseIcon fontSize=\"large\" /> : <MoreVertIcon fontSize=\"large\" />}\n\t\t\t\tonClick={open ? handleClose : (handleOpen as () => void)}\n\t\t\t\tonOpen={handleOpen}\n\t\t\t\topen={open}\n\t\t\t>\n\t\t\t\t{actions.map((action) => (\n\t\t\t\t\t<SpeedDialAction\n\t\t\t\t\t\tkey={action.name}\n\t\t\t\t\t\ticon={action.icon}\n\t\t\t\t\t\ttooltipTitle={action.name}\n\t\t\t\t\t\ttooltipOpen\n\t\t\t\t\t\tonClick={handleClose}\n\t\t\t\t\t\tFabProps={{ sx: { color: 'text.primary' } }}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</MuiSpeedDial>\n\t\t</Box>\n\t);\n};\n\nSpeedDial.defaultProps = {\n\tmapId: undefined,\n};\nexport default SpeedDial;\n"],"names":["Map","createTheme","useMemo","useEffect","uuidv4","useCallback","useState","useRef","MUIThemeProvider","defaultProps","useContext","Button","CircularProgress","templates","turf","FormControl","InputLabel","Select","MenuItem","FormLabel","RadioGroup","FormControlLabel","Radio","useMediaQuery","point","circle","lineArc","bbox","booleanContains","bboxPolygon","Typography","_extends","React","_path","_path2","BoxStyled","styled","Box","CompassBackground","CompassNeedle","SwipeIcon","_showNextTransitionSegment","props","map","transitionInProgressRef","transitionGeojsonDataRef","transitionGeojsonCommonDataRef","currentTransitionStepRef","msPerStep","transitionTimeoutRef","setDisplayGeojson","_arguments","arguments","current","newData","length","geojson","lineString","concat","_toConsumableArray","geometry","coordinates","onTransitionFrame","setTimeout","apply","onTransitionEnd","_transitionToGeojson","oldGeojsonRef","transitionCoordinatesShort","transitionCoordinatesLong","targetCoordinates","srcCoordinates","sourceGeojson","type","properties","targetGeojson","longerGeojson","shorterGeojson","reverseOrder","slice","i","len","push","transitionSteps","transitionTime","srcCoordinatesDistance","Math","round","targetCoordinatesDistance","transitionDistance","srcCoordinatesShare","srcTransitionSteps","srcPerStepDistance","targetCoordinatesShare","targetTransitionSteps","targetPerStepDistance","transitionStepData","createTransitionSteps","reverse","linestringCoordinates","perStepDistance","stepCnt","tmpChunks","lineChunk","tmpLinestring","features","toGeoJSON","removeSpace","trimSpace","splitSpace","okhash","x","h","charCodeAt","get","y","getElementsByTagName","attr","getAttribute","attrf","parseFloat","get1","n","norm","el","normalize","numarray","j","o","nodeVal","textContent","getMulti","ys","k","extend","coord1","v","replace","split","coord","coords","coordPair","ll","ele","heartRate","time","e","isNaN","fc","serializer","XMLSerializer","isNodeEnv","process","_typeof","browser","isTitaniumEnv","Titanium","exports","xmldom","Error","xml2str","str","xml","undefined","serializeToString","t","kml","doc","gj","styleIndex","styleByHash","styleMapIndex","geotypes","placemarks","styles","styleMaps","hash","toString","l","pairs","pairsMap","m","getPlacemark","kmlColor","color","opacity","substr","parseInt","gxCoord","gxCoords","root","elems","times","timeElems","getGeometry","geomNode","geomNodes","geoms","coordTimes","rings","track","geomsAndTimes","name","address","styleUrl","description","timeSpan","timeStamp","extendedData","lineStyle","polyStyle","visibility","styleHash","styleMapHash","normal","style","iconStyle","icon","href","begin","end","timespan","timestamp","linestyles","width","stroke","polystyles","pcolor","popacity","fill","outline","datas","simpleDatas","feature","geometries","id","gpx","tracks","routes","waypoints","getTrack","getRoute","getPoint","initializeArray","arr","size","getPoints","node","pointname","pts","line","heartRates","c","segments","s","getProperties","getLineStyle","prop","routeObj","extensions","links","link","Popup","useLayerHoverPopup","featureCollection","lineOffset","polygon","distance","useSortable","CSS","ExpandLess","ExpandMore","ListItemIcon","Checkbox","Snackbar","Drawer","Grid","Slider","useTheme","usePaintPicker","ListItemStyled","ListItem","IconButtonStyled","IconButton","CheckboxStyled","ListStyled","List","ListItemText","ChromePicker","Paper","TextField","ColorPicker","TuneIconButton","getDefaultLayerTypeByGeometry","TuneIcon","DeleteIcon","touchEquivalents","mousedown","mouseup","mousemove","touchEquivalentsKeys","Object","keys","useLayerEvent","mapState","useMapState","mapId","watch","layers","mapHook","useMap","condition","getLayer","layerId","_event","event","_layerId","_eventHandler","eventHandler","on","componentId","addTouchEvents","indexOf","off","csv2geojson","topojsonFeature","externParser","d3","useSensor","PointerSensor","MouseSensor","useSensors","DndContext","closestCenter","restrictToVerticalAxis","SortableContext","verticalListSortingStrategy","ArrowCircleDownIcon","ArrowCircleUpIcon","CenterLayerIcon","types","DialogTitle","DialogActions","ListItemButton","ListItemAvatar","Avatar","DialogContent","OutlinedInput","optionFields","Accordion","AccordionSummary","Dialog","Global","SwipeableDrawer"],"mappings":"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"}
|