aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJakub Hampl <kopomir@gmail.com>2019-02-14 15:23:49 +0000
committerGitHub <noreply@github.com>2019-02-14 15:23:49 +0000
commit6bd5f8ccbd8c44c3311ef36b0e2de9ede4fa71ed (patch)
treede40a36d34cb734c2765a705506436f8b38e28a9 /examples
parentf0c36a3d49fad46e0fb6cafeb7a021dd5d775993 (diff)
New Style Generator (#8)
Diffstat (limited to 'examples')
-rw-r--r--examples/Example02.elm8
-rw-r--r--examples/Outdoors.elm1079
-rw-r--r--examples/Styles/Dark.elm2888
-rw-r--r--examples/Styles/Light.elm2906
-rw-r--r--examples/Styles/Outdoors.elm4267
-rw-r--r--examples/Styles/Satellite.elm24
-rw-r--r--examples/Styles/SatelliteStreets.elm2939
-rw-r--r--examples/Styles/Streets.elm3737
-rw-r--r--examples/index.html10
-rw-r--r--examples/index.js9
-rw-r--r--examples/package-lock.json8007
-rw-r--r--examples/package.json20
12 files changed, 24811 insertions, 1083 deletions
diff --git a/examples/Example02.elm b/examples/Example02.elm
index 5e04567..c485a7a 100644
--- a/examples/Example02.elm
+++ b/examples/Example02.elm
@@ -2,11 +2,11 @@ module Example02 exposing (main)
import Browser
import Html exposing (div)
-import Html.Attributes exposing (style)
+import Html.Attributes
import Mapbox.Element exposing (..)
-import Outdoors
+import Styles.SatelliteStreets exposing (style)
main =
- div [ style "height" "100vh" ]
- [ map [] Outdoors.style ]
+ div [ Html.Attributes.style "height" "100vh" ]
+ [ map [] style ]
diff --git a/examples/Outdoors.elm b/examples/Outdoors.elm
deleted file mode 100644
index 9fc5f4d..0000000
--- a/examples/Outdoors.elm
+++ /dev/null
@@ -1,1079 +0,0 @@
-module Outdoors exposing (style)
-
-import Mapbox.Expression as E exposing (false, float, int, str, true)
-import Mapbox.Layer as Layer
-import Mapbox.Source as Source
-import Mapbox.Style as Style exposing (Style(..))
-
-
-style : Style
-style =
- Style
- { transition = Style.defaultTransition
- , light = Style.defaultLight
- , layers =
- [ Layer.background "background"
- [ Layer.backgroundColor
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 5, E.rgba 239 230 214 1 )
- , ( 7, E.rgba 236 223 202 1 )
- ]
- )
- ]
- , Layer.fill "national_park"
- "mapbox-streets"
- [ Layer.sourceLayer "landuse_overlay"
- , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park"))
- , Layer.fillColor (E.rgba 200 221 151 1)
- , Layer.fillOpacity
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 5, float 0 )
- , ( 6, float 0.5 )
- ]
- )
- ]
- , Layer.fill "landuse"
- "mapbox-streets"
- [ Layer.sourceLayer "landuse"
- , Layer.filter
- (E.any
- [ E.getProperty (str "class") |> E.isEqual (str "hospital")
- , E.getProperty (str "class") |> E.isEqual (str "park")
- , E.getProperty (str "class") |> E.isEqual (str "pitch")
- , E.getProperty (str "class") |> E.isEqual (str "school")
- ]
- )
- , Layer.fillColor
- (E.getProperty (str "class")
- |> E.matchesStr
- [ ( "park", E.rgba 200 221 151 1 )
- , ( "pitch", E.rgba 200 221 151 1 )
- , ( "hospital", E.rgba 242 211 211 1 )
- , ( "school", E.rgba 233 213 199 1 )
- ]
- (E.rgba 0 0 0 0)
- )
- , Layer.fillOpacity
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 5, float 0 )
- , ( 6, float 1 )
- ]
- )
- ]
- , Layer.line "waterway"
- "mapbox-streets"
- [ Layer.minzoom 8
- , Layer.filter
- (E.all
- [ E.geometryType |> E.isEqual (str "LineString")
- , E.any
- [ E.getProperty (str "class") |> E.isEqual (str "canal")
- , E.getProperty (str "class") |> E.isEqual (str "river")
- ]
- ]
- )
- , Layer.sourceLayer "waterway"
- , Layer.lineColor (E.rgba 120 188 236 1)
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate (E.Exponential 1.3)
- [ ( 8.5, float 0.1 )
- , ( 20, float 8 )
- ]
- )
- , Layer.lineOpacity
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 8, float 0 )
- , ( 8.5, float 1 )
- ]
- )
- , Layer.lineJoin E.lineJoinRound
- , Layer.lineCap E.lineCapRound
- ]
- , Layer.fill "water"
- "mapbox-streets"
- [ Layer.sourceLayer "water"
- , Layer.fillColor
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 5, E.rgba 106 181 234 1 )
- , ( 7, E.rgba 120 188 236 1 )
- ]
- )
- ]
- , Layer.fill "aeroway-polygon"
- "mapbox-streets"
- [ Layer.sourceLayer "aeroway"
- , Layer.filter
- (E.all
- [ E.geometryType |> E.isEqual (str "Polygon")
- , E.any
- [ E.getProperty (str "type") |> E.isEqual (str "helipad")
- , E.getProperty (str "type") |> E.isEqual (str "runway")
- , E.getProperty (str "type") |> E.isEqual (str "taxiway")
- ]
- ]
- )
- , Layer.fillColor (E.rgba 196 196 196 1)
- ]
- , Layer.line "aeroway-line"
- "mapbox-streets"
- [ Layer.sourceLayer "aeroway"
- , Layer.filter
- (E.all
- [ E.geometryType |> E.isEqual (str "LineString")
- , E.any
- [ E.getProperty (str "type") |> E.isEqual (str "runway")
- , E.getProperty (str "type") |> E.isEqual (str "taxiway")
- ]
- ]
- )
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate (E.Exponential 1.5)
- [ ( 10, float 0.5 )
- , ( 18, float 20 )
- ]
- )
- , Layer.lineColor (E.rgba 196 196 196 1)
- ]
- , Layer.fill "building"
- "mapbox-streets"
- [ Layer.minzoom 15
- , Layer.filter
- (E.all
- [ E.getProperty (str "type") |> E.notEqual (str "building:part")
- , E.getProperty (str "underground") |> E.isEqual (str "false")
- ]
- )
- , Layer.sourceLayer "building"
- , Layer.fillColor (E.rgba 212 200 179 1)
- , Layer.fillOpacity
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 15.5, float 0 )
- , ( 16, float 1 )
- ]
- )
- ]
- , Layer.line "pedestrian-path"
- "mapbox-streets"
- [ Layer.minzoom 14
- , Layer.filter
- (E.all
- [ E.geometryType |> E.isEqual (str "LineString")
- , E.all
- [ E.getProperty (str "type") |> E.notEqual (str "platform")
- , E.any
- [ E.getProperty (str "class") |> E.isEqual (str "path")
- , E.getProperty (str "class") |> E.isEqual (str "pedestrian")
- ]
- ]
- ]
- )
- , Layer.sourceLayer "road"
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate (E.Exponential 1.5)
- [ ( 14
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "pedestrian", float 1 )
- , ( "path", float 0.75 )
- ]
- (float 0.75)
- )
- , ( 20
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "pedestrian", float 8 )
- , ( "path", float 5 )
- ]
- (float 5)
- )
- ]
- )
- , Layer.lineColor
- (E.getProperty (str "type")
- |> E.matchesStr
- [ ( "sidewalk", E.rgba 221 208 186 1 )
- , ( "crossing", E.rgba 221 208 186 1 )
- ]
- (E.rgba 199 184 157 1)
- )
- , Layer.lineJoin E.lineJoinRound
- , Layer.lineCap E.lineCapRound
- ]
- , Layer.line "tunnel"
- "mapbox-streets"
- [ Layer.sourceLayer "road"
- , Layer.filter
- (E.all
- [ E.geometryType |> E.isEqual (str "LineString")
- , E.all
- [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle")
- , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
- , E.any
- [ E.getProperty (str "class") |> E.isEqual (str "link")
- , E.getProperty (str "class") |> E.isEqual (str "motorway")
- , E.getProperty (str "class") |> E.isEqual (str "motorway_link")
- , E.getProperty (str "class") |> E.isEqual (str "primary")
- , E.getProperty (str "class") |> E.isEqual (str "secondary")
- , E.getProperty (str "class") |> E.isEqual (str "service")
- , E.getProperty (str "class") |> E.isEqual (str "street")
- , E.getProperty (str "class") |> E.isEqual (str "street_limited")
- , E.getProperty (str "class") |> E.isEqual (str "tertiary")
- , E.getProperty (str "class") |> E.isEqual (str "track")
- , E.getProperty (str "class") |> E.isEqual (str "trunk")
- ]
- ]
- ]
- )
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate (E.Exponential 1.5)
- [ ( 5
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 0.5 )
- , ( "trunk", float 0.5 )
- , ( "primary", float 0.5 )
- , ( "secondary", float 0.01 )
- , ( "tertiary", float 0.01 )
- , ( "street", float 0 )
- , ( "street_limited", float 0 )
- , ( "motorway_link", float 0 )
- , ( "service", float 0 )
- , ( "track", float 0 )
- , ( "link", float 0 )
- ]
- (float 0)
- )
- , ( 12
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 3 )
- , ( "trunk", float 3 )
- , ( "primary", float 3 )
- , ( "secondary", float 2 )
- , ( "tertiary", float 2 )
- , ( "street", float 0.5 )
- , ( "street_limited", float 0.5 )
- , ( "motorway_link", float 0.5 )
- , ( "service", float 0 )
- , ( "track", float 0 )
- , ( "link", float 0 )
- ]
- (float 0)
- )
- , ( 18
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 30 )
- , ( "trunk", float 30 )
- , ( "primary", float 30 )
- , ( "secondary", float 24 )
- , ( "tertiary", float 24 )
- , ( "street", float 12 )
- , ( "street_limited", float 12 )
- , ( "motorway_link", float 12 )
- , ( "service", float 10 )
- , ( "track", float 10 )
- , ( "link", float 10 )
- ]
- (float 10)
- )
- ]
- )
- , Layer.lineColor
- (E.getProperty (str "class")
- |> E.matchesStr
- [ ( "street", E.rgba 255 251 244 1 )
- , ( "street_limited", E.rgba 255 251 244 1 )
- , ( "service", E.rgba 255 251 244 1 )
- , ( "track", E.rgba 255 251 244 1 )
- , ( "link", E.rgba 255 251 244 1 )
- ]
- (E.rgba 255 255 255 1)
- )
- , Layer.lineDasharray (E.floats [ 0.2, 0.2 ])
- , Layer.lineJoin E.lineJoinRound
- ]
- , Layer.line "road"
- "mapbox-streets"
- [ Layer.sourceLayer "road"
- , Layer.filter
- (E.all
- [ E.geometryType |> E.isEqual (str "LineString")
- , E.all
- [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle")
- , E.all
- [ E.getProperty (str "structure") |> E.notEqual (str "bridge")
- , E.getProperty (str "structure") |> E.notEqual (str "tunnel")
- ]
- , E.any
- [ E.getProperty (str "class") |> E.isEqual (str "link")
- , E.getProperty (str "class") |> E.isEqual (str "motorway")
- , E.getProperty (str "class") |> E.isEqual (str "motorway_link")
- , E.getProperty (str "class") |> E.isEqual (str "primary")
- , E.getProperty (str "class") |> E.isEqual (str "secondary")
- , E.getProperty (str "class") |> E.isEqual (str "service")
- , E.getProperty (str "class") |> E.isEqual (str "street")
- , E.getProperty (str "class") |> E.isEqual (str "street_limited")
- , E.getProperty (str "class") |> E.isEqual (str "tertiary")
- , E.getProperty (str "class") |> E.isEqual (str "track")
- , E.getProperty (str "class") |> E.isEqual (str "trunk")
- ]
- ]
- ]
- )
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate (E.Exponential 1.5)
- [ ( 5
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 0.5 )
- , ( "trunk", float 0.5 )
- , ( "primary", float 0.5 )
- , ( "secondary", float 0.01 )
- , ( "tertiary", float 0.01 )
- , ( "street", float 0 )
- , ( "street_limited", float 0 )
- , ( "motorway_link", float 0 )
- , ( "service", float 0 )
- , ( "track", float 0 )
- , ( "link", float 0 )
- ]
- (float 0)
- )
- , ( 12
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 3 )
- , ( "trunk", float 3 )
- , ( "primary", float 3 )
- , ( "secondary", float 2 )
- , ( "tertiary", float 2 )
- , ( "street", float 0.5 )
- , ( "street_limited", float 0.5 )
- , ( "motorway_link", float 0.5 )
- , ( "service", float 0 )
- , ( "track", float 0 )
- , ( "link", float 0 )
- ]
- (float 0)
- )
- , ( 18
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 30 )
- , ( "trunk", float 30 )
- , ( "primary", float 30 )
- , ( "secondary", float 24 )
- , ( "tertiary", float 24 )
- , ( "street", float 12 )
- , ( "street_limited", float 12 )
- , ( "motorway_link", float 12 )
- , ( "service", float 10 )
- , ( "track", float 10 )
- , ( "link", float 10 )
- ]
- (float 10)
- )
- ]
- )
- , Layer.lineColor
- (E.getProperty (str "class")
- |> E.matchesStr
- [ ( "street", E.rgba 255 251 244 1 )
- , ( "street_limited", E.rgba 255 251 244 1 )
- , ( "service", E.rgba 255 251 244 1 )
- , ( "track", E.rgba 255 251 244 1 )
- , ( "link", E.rgba 255 251 244 1 )
- ]
- (E.rgba 255 255 255 1)
- )
- , Layer.lineJoin E.lineJoinRound
- , Layer.lineCap E.lineCapRound
- ]
- , Layer.line "bridge-case"
- "mapbox-streets"
- [ Layer.sourceLayer "road"
- , Layer.filter
- (E.all
- [ E.geometryType |> E.isEqual (str "LineString")
- , E.all
- [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle")
- , E.getProperty (str "structure") |> E.isEqual (str "bridge")
- , E.any
- [ E.getProperty (str "class") |> E.isEqual (str "link")
- , E.getProperty (str "class") |> E.isEqual (str "motorway")
- , E.getProperty (str "class") |> E.isEqual (str "motorway_link")
- , E.getProperty (str "class") |> E.isEqual (str "primary")
- , E.getProperty (str "class") |> E.isEqual (str "secondary")
- , E.getProperty (str "class") |> E.isEqual (str "service")
- , E.getProperty (str "class") |> E.isEqual (str "street")
- , E.getProperty (str "class") |> E.isEqual (str "street_limited")
- , E.getProperty (str "class") |> E.isEqual (str "tertiary")
- , E.getProperty (str "class") |> E.isEqual (str "track")
- , E.getProperty (str "class") |> E.isEqual (str "trunk")
- ]
- ]
- ]
- )
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate (E.Exponential 1.5)
- [ ( 10, float 1 )
- , ( 16, float 2 )
- ]
- )
- , Layer.lineColor (E.rgba 236 223 202 1)
- , Layer.lineGapWidth
- (E.zoom
- |> E.interpolate (E.Exponential 1.5)
- [ ( 5
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 0.5 )
- , ( "trunk", float 0.5 )
- , ( "primary", float 0.5 )
- , ( "secondary", float 0.01 )
- , ( "tertiary", float 0.01 )
- , ( "street", float 0 )
- , ( "street_limited", float 0 )
- , ( "motorway_link", float 0 )
- , ( "service", float 0 )
- , ( "track", float 0 )
- , ( "link", float 0 )
- ]
- (float 0)
- )
- , ( 12
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 3 )
- , ( "trunk", float 3 )
- , ( "primary", float 3 )
- , ( "secondary", float 2 )
- , ( "tertiary", float 2 )
- , ( "street", float 0.5 )
- , ( "street_limited", float 0.5 )
- , ( "motorway_link", float 0.5 )
- , ( "service", float 0 )
- , ( "track", float 0 )
- , ( "link", float 0 )
- ]
- (float 0)
- )
- , ( 18
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 30 )
- , ( "trunk", float 30 )
- , ( "primary", float 30 )
- , ( "secondary", float 24 )
- , ( "tertiary", float 24 )
- , ( "street", float 12 )
- , ( "street_limited", float 12 )
- , ( "motorway_link", float 12 )
- , ( "service", float 10 )
- , ( "track", float 10 )
- , ( "link", float 10 )
- ]
- (float 10)
- )
- ]
- )
- , Layer.lineJoin E.lineJoinRound
- ]
- , Layer.line "bridge"
- "mapbox-streets"
- [ Layer.sourceLayer "road"
- , Layer.filter
- (E.all
- [ E.geometryType |> E.isEqual (str "LineString")
- , E.all
- [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle")
- , E.getProperty (str "structure") |> E.isEqual (str "bridge")
- , E.any
- [ E.getProperty (str "class") |> E.isEqual (str "link")
- , E.getProperty (str "class") |> E.isEqual (str "motorway")
- , E.getProperty (str "class") |> E.isEqual (str "motorway_link")
- , E.getProperty (str "class") |> E.isEqual (str "primary")
- , E.getProperty (str "class") |> E.isEqual (str "secondary")
- , E.getProperty (str "class") |> E.isEqual (str "service")
- , E.getProperty (str "class") |> E.isEqual (str "street")
- , E.getProperty (str "class") |> E.isEqual (str "street_limited")
- , E.getProperty (str "class") |> E.isEqual (str "tertiary")
- , E.getProperty (str "class") |> E.isEqual (str "track")
- , E.getProperty (str "class") |> E.isEqual (str "trunk")
- ]
- ]
- ]
- )
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate (E.Exponential 1.5)
- [ ( 5
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 0.5 )
- , ( "trunk", float 0.5 )
- , ( "primary", float 0.5 )
- , ( "secondary", float 0.01 )
- , ( "tertiary", float 0.01 )
- , ( "street", float 0 )
- , ( "street_limited", float 0 )
- , ( "motorway_link", float 0 )
- , ( "service", float 0 )
- , ( "track", float 0 )
- , ( "link", float 0 )
- ]
- (float 0)
- )
- , ( 12
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 3 )
- , ( "trunk", float 3 )
- , ( "primary", float 3 )
- , ( "secondary", float 2 )
- , ( "tertiary", float 2 )
- , ( "street", float 0.5 )
- , ( "street_limited", float 0.5 )
- , ( "motorway_link", float 0.5 )
- , ( "service", float 0 )
- , ( "track", float 0 )
- , ( "link", float 0 )
- ]
- (float 0)
- )
- , ( 18
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 30 )
- , ( "trunk", float 30 )
- , ( "primary", float 30 )
- , ( "secondary", float 24 )
- , ( "tertiary", float 24 )
- , ( "street", float 12 )
- , ( "street_limited", float 12 )
- , ( "motorway_link", float 12 )
- , ( "service", float 10 )
- , ( "track", float 10 )
- , ( "link", float 10 )
- ]
- (float 10)
- )
- ]
- )
- , Layer.lineColor
- (E.getProperty (str "class")
- |> E.matchesStr
- [ ( "street", E.rgba 255 251 244 1 )
- , ( "street_limited", E.rgba 255 251 244 1 )
- , ( "service", E.rgba 255 251 244 1 )
- , ( "track", E.rgba 255 251 244 1 )
- , ( "link", E.rgba 255 251 244 1 )
- ]
- (E.rgba 255 255 255 1)
- )
- , Layer.lineJoin E.lineJoinRound
- , Layer.lineCap E.lineCapRound
- ]
- , Layer.line "admin-state-province"
- "mapbox-streets"
- [ Layer.minzoom 2
- , Layer.filter
- (E.all
- [ E.getProperty (str "maritime") |> E.isEqual (float 0)
- , E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
- ]
- )
- , Layer.sourceLayer "admin"
- , Layer.lineDasharray
- (E.zoom
- |> E.step
- (E.floats
- [ 2
- , 0
- ]
- )
- [ ( 7
- , E.floats
- [ 2
- , 2
- , 6
- , 2
- ]
- )
- ]
- )
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 7, float 0.75 )
- , ( 12, float 1.5 )
- ]
- )
- , Layer.lineOpacity
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 2, float 0 )
- , ( 3, float 1 )
- ]
- )
- , Layer.lineColor (E.zoom |> E.step (E.rgba 204 204 204 1) [ ( 4, E.rgba 165 165 165 1 ) ])
- , Layer.lineJoin E.lineJoinRound
- , Layer.lineCap E.lineCapRound
- ]
- , Layer.line "admin-country"
- "mapbox-streets"
- [ Layer.minzoom 1
- , Layer.filter
- (E.all
- [ E.getProperty (str "admin_level") |> E.lessThanOrEqual (float 2)
- , E.getProperty (str "disputed") |> E.isEqual (float 0)
- , E.getProperty (str "maritime") |> E.isEqual (float 0)
- ]
- )
- , Layer.sourceLayer "admin"
- , Layer.lineColor (E.rgba 127 127 127 1)
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 3, float 0.5 )
- , ( 10, float 2 )
- ]
- )
- , Layer.lineJoin E.lineJoinRound
- , Layer.lineCap E.lineCapRound
- ]
- , Layer.line "admin-country-disputed"
- "mapbox-streets"
- [ Layer.minzoom 1
- , Layer.filter
- (E.all
- [ E.getProperty (str "admin_level") |> E.lessThanOrEqual (float 2)
- , E.getProperty (str "disputed") |> E.isEqual (float 1)
- , E.getProperty (str "maritime") |> E.isEqual (float 0)
- ]
- )
- , Layer.sourceLayer "admin"
- , Layer.lineColor (E.rgba 127 127 127 1)
- , Layer.lineWidth
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 3, float 0.5 )
- , ( 10, float 2 )
- ]
- )
- , Layer.lineDasharray (E.floats [ 1.5, 1.5 ])
- , Layer.lineJoin E.lineJoinRound
- ]
- , Layer.symbol "road-label"
- "mapbox-streets"
- [ Layer.minzoom 12
- , Layer.filter
- (E.any
- [ E.getProperty (str "class") |> E.isEqual (str "link")
- , E.getProperty (str "class") |> E.isEqual (str "motorway")
- , E.getProperty (str "class") |> E.isEqual (str "pedestrian")
- , E.getProperty (str "class") |> E.isEqual (str "primary")
- , E.getProperty (str "class") |> E.isEqual (str "secondary")
- , E.getProperty (str "class") |> E.isEqual (str "street")
- , E.getProperty (str "class") |> E.isEqual (str "street_limited")
- , E.getProperty (str "class") |> E.isEqual (str "tertiary")
- , E.getProperty (str "class") |> E.isEqual (str "trunk")
- ]
- )
- , Layer.sourceLayer "road_label"
- , Layer.textColor (E.rgba 0 0 0 1)
- , Layer.textHaloColor (E.rgba 255 255 255 1)
- , Layer.textHaloWidth (float 1)
- , Layer.textSize
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 9
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 10 )
- , ( "trunk", float 10 )
- , ( "primary", float 10 )
- , ( "secondary", float 10 )
- , ( "tertiary", float 10 )
- ]
- (float 9)
- )
- , ( 20
- , E.getProperty (str "class")
- |> E.matchesStr
- [ ( "motorway", float 15 )
- , ( "trunk", float 15 )
- , ( "primary", float 15 )
- , ( "secondary", float 15 )
- , ( "tertiary", float 15 )
- ]
- (float 14)
- )
- ]
- )
- , Layer.textMaxAngle (float 30)
- , Layer.textFont
- (E.strings
- [ "Roboto Regular"
- , "Arial Unicode MS Regular"
- ]
- )
- , Layer.symbolPlacement E.symbolPlacementLine
- , Layer.textPadding (float 1)
- , Layer.textRotationAlignment E.anchorMap
- , Layer.textPitchAlignment E.anchorViewport
- , Layer.textField (E.getProperty (str "name_en"))
- ]
- , Layer.symbol "poi-label"
- "mapbox-streets"
- [ Layer.sourceLayer "poi_label"
- , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 3))
- , Layer.textColor (E.rgba 88 77 59 1)
- , Layer.textHaloColor (E.rgba 255 255 255 0.75)
- , Layer.textHaloWidth (float 1)
- , Layer.textHaloBlur (float 0.5)
- , Layer.textLineHeight (float 1.1)
- , Layer.textSize
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 10, float 11 )
- , ( 18, float 13 )
- ]
- )
- , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
- , Layer.textMaxAngle (float 38)
- , Layer.textFont
- (E.strings
- [ "Roboto Regular"
- , "Arial Unicode MS Regular"
- ]
- )
- , Layer.textPadding (float 2)
- , Layer.textOffset (E.floats [ 0, 0.75 ])
- , Layer.textAnchor E.positionTop
- , Layer.textField (E.getProperty (str "name_en"))
- , Layer.textMaxWidth (float 8)
- ]
- , Layer.symbol "airport-label"
- "mapbox-streets"
- [ Layer.sourceLayer "airport_label"
- , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2))
- , Layer.textColor (E.rgba 88 77 59 1)
- , Layer.textHaloColor (E.rgba 255 255 255 1)
- , Layer.textHaloWidth (float 1)
- , Layer.textLineHeight (float 1.1)
- , Layer.textSize
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 10, float 12 )
- , ( 18, float 18 )
- ]
- )
- , Layer.iconImage
- (E.zoom
- |> E.step (E.getProperty (str "maki") |> E.append (str "-11"))
- [ ( 13, E.getProperty (str "maki") |> E.append (str "-15") ) ]
- )
- , Layer.textFont
- (E.strings
- [ "Roboto Regular"
- , "Arial Unicode MS Regular"
- ]
- )
- , Layer.textPadding (float 2)
- , Layer.textOffset (E.floats [ 0, 0.75 ])
- , Layer.textAnchor E.positionTop
- , Layer.textField (E.zoom |> E.step (E.getProperty (str "ref")) [ ( 14, E.getProperty (str "name_en") ) ])
- , Layer.textMaxWidth (float 9)
- ]
- , Layer.symbol "place-neighborhood-suburb-label"
- "mapbox-streets"
- [ Layer.minzoom 12
- , Layer.maxzoom 15
- , Layer.filter
- (E.any
- [ E.getProperty (str "type") |> E.isEqual (str "neighbourhood")
- , E.getProperty (str "type") |> E.isEqual (str "suburb")
- ]
- )
- , Layer.sourceLayer "place_label"
- , Layer.textHaloColor (E.rgba 255 255 255 1)
- , Layer.textHaloWidth (float 1)
- , Layer.textColor (E.rgba 86 62 20 1)
- , Layer.textField (E.getProperty (str "name_en"))
- , Layer.textTransform E.textTransformUppercase
- , Layer.textLetterSpacing (float 0.15)
- , Layer.textMaxWidth (float 8)
- , Layer.textFont
- (E.strings
- [ "Roboto Regular"
- , "Arial Unicode MS Regular"
- ]
- )
- , Layer.textPadding (float 3)
- , Layer.textSize
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 12, float 11 )
- , ( 16, float 16 )
- ]
- )
- ]
- , Layer.symbol "place-town-village-hamlet-label"
- "mapbox-streets"
- [ Layer.minzoom 6
- , Layer.maxzoom 14
- , Layer.filter
- (E.any
- [ E.getProperty (str "type") |> E.isEqual (str "hamlet")
- , E.getProperty (str "type") |> E.isEqual (str "town")
- , E.getProperty (str "type") |> E.isEqual (str "village")
- ]
- )
- , Layer.sourceLayer "place_label"
- , Layer.textColor (E.rgba 0 0 0 1)
- , Layer.textHaloBlur (float 0.5)
- , Layer.textHaloColor (E.rgba 255 255 255 1)
- , Layer.textHaloWidth (float 1)
- , Layer.textSize
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 5, E.getProperty (str "type") |> E.matchesStr [ ( "town", float 9.5 ) ] (float 8) )
- , ( 16, E.getProperty (str "type") |> E.matchesStr [ ( "town", float 20 ) ] (float 16) )
- ]
- )
- , Layer.textFont
- (E.zoom
- |> E.step
- (E.strings
- [ "Roboto Regular"
- , "Arial Unicode MS Regular"
- ]
- )
- [ ( 12
- , E.getProperty (str "type")
- |> E.matchesStr
- [ ( "town"
- , E.strings
- [ "Roboto Medium"
- , "Arial Unicode MS Regular"
- ]
- )
- ]
- (E.strings
- [ "Roboto Regular"
- , "Arial Unicode MS Regular"
- ]
- )
- )
- ]
- )
- , Layer.textMaxWidth (float 7)
- , Layer.textField (E.getProperty (str "name_en"))
- ]
- , Layer.symbol "place-city-label-minor"
- "mapbox-streets"
- [ Layer.minzoom 1
- , Layer.maxzoom 14
- , Layer.filter
- (E.all
- [ E.not (E.hasProperty (str "scalerank"))
- , E.getProperty (str "type") |> E.isEqual (str "city")
- ]
- )
- , Layer.sourceLayer "place_label"
- , Layer.textColor
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 5, E.rgba 84 84 84 1 )
- , ( 6, E.rgba 0 0 0 1 )
- ]
- )
- , Layer.textHaloBlur (float 0.5)
- , Layer.textHaloColor (E.rgba 255 255 255 1)
- , Layer.textHaloWidth (float 1.25)
- , Layer.textSize
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 5, float 12 )
- , ( 16, float 22 )
- ]
- )
- , Layer.textFont
- (E.strings
- [ "Roboto Medium"
- , "Arial Unicode MS Regular"
- ]
- )
- , Layer.textMaxWidth (float 10)
- , Layer.textField (E.getProperty (str "name_en"))
- ]
- , Layer.symbol "place-city-label-major"
- "mapbox-streets"
- [ Layer.minzoom 1
- , Layer.maxzoom 14
- , Layer.filter
- (E.all
- [ E.getProperty (str "type") |> E.isEqual (str "city")
- , E.hasProperty (str "scalerank")
- ]
- )
- , Layer.sourceLayer "place_label"
- , Layer.textColor
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 5, E.rgba 84 84 84 1 )
- , ( 6, E.rgba 0 0 0 1 )
- ]
- )
- , Layer.textHaloBlur (float 0.5)
- , Layer.textHaloColor (E.rgba 255 255 255 1)
- , Layer.textHaloWidth (float 1.25)
- , Layer.textSize
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 5, E.getProperty (str "scalerank") |> E.step (float 14) [ ( 4, float 12 ) ] )
- , ( 16, E.getProperty (str "scalerank") |> E.step (float 30) [ ( 4, float 22 ) ] )
- ]
- )
- , Layer.textFont
- (E.zoom
- |> E.step
- (E.strings
- [ "Roboto Medium"
- , "Arial Unicode MS Regular"
- ]
- )
- [ ( 10
- , E.getProperty (str "scalerank")
- |> E.step
- (E.strings
- [ "Roboto Bold"
- , "Arial Unicode MS Bold"
- ]
- )
- [ ( 5
- , E.strings
- [ "Roboto Medium"
- , "Arial Unicode MS Regular"
- ]
- )
- ]
- )
- ]
- )
- , Layer.textMaxWidth (float 10)
- , Layer.textField (E.getProperty (str "name_en"))
- ]
- , Layer.symbol "state-label"
- "mapbox-streets"
- [ Layer.sourceLayer "state_label"
- , Layer.minzoom 4
- , Layer.maxzoom 8
- , Layer.textColor (E.rgba 169 164 156 1)
- , Layer.textHaloWidth (float 1)
- , Layer.textHaloColor (E.rgba 255 255 255 1)
- , Layer.textLineHeight (float 1.2)
- , Layer.textSize
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 4
- , E.getProperty (str "area")
- |> E.step (float 8)
- [ ( 20000, float 9 )
- , ( 80000, float 10 )
- ]
- )
- , ( 9
- , E.getProperty (str "area")
- |> E.step (float 14)
- [ ( 20000, float 18 )
- , ( 80000, float 23 )
- ]
- )
- ]
- )
- , Layer.textTransform E.textTransformUppercase
- , Layer.textFont
- (E.strings
- [ "Roboto Black"
- , "Arial Unicode MS Bold"
- ]
- )
- , Layer.textPadding (float 1)
- , Layer.textField (E.zoom |> E.step (E.getProperty (str "area") |> E.step (E.getProperty (str "abbr")) [ ( 80000, E.getProperty (str "name_en") ) ]) [ ( 5, E.getProperty (str "name_en") ) ])
- , Layer.textLetterSpacing (float 0.2)
- , Layer.textMaxWidth (float 6)
- ]
- , Layer.symbol "country-label"
- "mapbox-streets"
- [ Layer.sourceLayer "country_label"
- , Layer.minzoom 1
- , Layer.maxzoom 8
- , Layer.textHaloWidth (float 1.5)
- , Layer.textHaloColor (E.rgba 255 255 255 1)
- , Layer.textColor (E.rgba 0 0 0 1)
- , Layer.textField (E.getProperty (str "name_en"))
- , Layer.textMaxWidth
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 0, float 5 )
- , ( 3, float 6 )
- ]
- )
- , Layer.textFont
- (E.zoom
- |> E.step
- (E.strings
- [ "Roboto Medium"
- , "Arial Unicode MS Regular"
- ]
- )
- [ ( 4
- , E.strings
- [ "Roboto Bold"
- , "Arial Unicode MS Bold"
- ]
- )
- ]
- )
- , Layer.textSize
- (E.zoom
- |> E.interpolate E.Linear
- [ ( 2
- , E.getProperty (str "scalerank")
- |> E.step (float 13)
- [ ( 3, float 11 )
- , ( 5, float 9 )
- ]
- )
- , ( 9
- , E.getProperty (str "scalerank")
- |> E.step (float 35)
- [ ( 3, float 27 )
- , ( 5, float 22 )
- ]
- )
- ]
- )
- ]
- ]
- , sources = [ Source.vectorFromUrl "mapbox-streets" "mapbox://mapbox.mapbox-streets-v7" ]
- , misc =
- [ Style.glyphs "mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
- , Style.sprite "mapbox://sprites/astrosat/cjlnn5red6a2o2sqtzzyg7prr"
- ]
- }
diff --git a/examples/Styles/Dark.elm b/examples/Styles/Dark.elm
new file mode 100644
index 0000000..d6d339b
--- /dev/null
+++ b/examples/Styles/Dark.elm
@@ -0,0 +1,2888 @@
+module Styles.Dark exposing (style)
+
+import Mapbox.Expression as E exposing (false, float, str, true)
+import Mapbox.Layer as Layer
+import Mapbox.Source as Source
+import Mapbox.Style as Style exposing (Style(..))
+
+
+style : Style
+style =
+ Style
+ { transition = Style.defaultTransition
+ , light = Style.defaultLight
+ , layers =
+ [ Layer.background "background" [ Layer.backgroundColor (E.rgba 51 51 50 1) ]
+ , Layer.fill "landcover_wood"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "wood"))
+ , Layer.fillColor (E.rgba 51 51 50 1)
+ , Layer.fillOpacity (float 0.1)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_scrub"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "scrub"))
+ , Layer.fillColor (E.rgba 51 51 50 1)
+ , Layer.fillOpacity (float 0.1)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_grass"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "grass"))
+ , Layer.fillColor (E.rgba 51 51 50 1)
+ , Layer.fillOpacity (float 0.1)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_crop"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "crop"))
+ , Layer.fillColor (E.rgba 51 51 50 1)
+ , Layer.fillOpacity (float 0.1)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "national_park"
+ "composite"
+ [ Layer.sourceLayer "landuse_overlay"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park"))
+ , Layer.fillColor (E.rgba 49 52 50 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 0.5 ) ])
+ ]
+ , Layer.fill "parks"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "park"))
+ , Layer.fillColor (E.rgba 49 52 50 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 0.75 ) ])
+ ]
+ , Layer.fill "pitch"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "pitch"))
+ , Layer.fillColor (E.rgba 49 52 50 1)
+ ]
+ , Layer.fill "industrial"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "industrial"))
+ , Layer.fillColor (E.rgba 51 51 51 1)
+ ]
+ , Layer.fill "sand"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "sand"))
+ , Layer.fillColor (E.rgba 49 52 50 1)
+ ]
+ , Layer.fill "hillshade_highlight_bright"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 94))
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.04 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_highlight_med"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 90))
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.04 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_faint"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 89))
+ , Layer.fillColor (E.rgba 89 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.033 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_med"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 78))
+ , Layer.fillColor (E.rgba 89 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.033 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_dark"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 67))
+ , Layer.fillColor (E.rgba 89 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.06 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_extreme"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 56))
+ , Layer.fillColor (E.rgba 89 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.06 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.line "waterway-river-canal"
+ "composite"
+ [ Layer.sourceLayer "waterway"
+ , Layer.minzoom 8
+ , Layer.filter
+ (E.any
+ [ E.conditionally
+ [ ( E.typeof (E.getProperty (str "class")) |> E.isEqual (str "string")
+ , E.getProperty (str "class") |> E.isEqual (str "canal")
+ )
+ ]
+ false
+ , E.conditionally
+ [ ( E.typeof (E.getProperty (str "class")) |> E.isEqual (str "string")
+ , E.getProperty (str "class") |> E.isEqual (str "river")
+ )
+ ]
+ false
+ ]
+ )
+ , Layer.lineColor (E.rgba 24 25 26 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.3) [ ( 8.5, float 0.1 ), ( 20, float 8 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, float 0 ), ( 8.5, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapButt [ ( 11, E.lineCapRound ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.fill "water shadow"
+ "composite"
+ [ Layer.sourceLayer "water"
+ , Layer.fillColor (E.rgba 12 13 13 1)
+ , Layer.fillTranslate (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 7, E.floats [ 0, 0 ] ), ( 16, E.floats [ -1, -1 ] ) ])
+ , Layer.fillTranslateAnchor E.anchorViewport
+ , Layer.fillOpacity (float 1)
+ ]
+ , Layer.fill "water" "composite" [ Layer.sourceLayer "water", Layer.fillColor (E.rgba 24 25 26 1) ]
+ , Layer.fill "barrier_line-land-polygon"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Polygon"), E.getProperty (str "class") |> E.isEqual (str "land") ])
+ , Layer.fillColor (E.rgba 51 51 50 1)
+ , Layer.fillOutlineColor (E.rgba 51 51 50 1)
+ ]
+ , Layer.line "barrier_line-land-line"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "class") |> E.isEqual (str "land") ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.99) [ ( 14, float 0.75 ), ( 20, float 40 ) ])
+ , Layer.lineColor (E.rgba 51 51 50 1)
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.fill "aeroway-polygon"
+ "composite"
+ [ Layer.sourceLayer "aeroway"
+ , Layer.minzoom 11
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Polygon"), E.getProperty (str "type") |> E.notEqual (str "apron") ])
+ , Layer.fillColor (E.rgba 68 68 68 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.5, float 1 ) ])
+ ]
+ , Layer.line "aeroway-runway"
+ "composite"
+ [ Layer.sourceLayer "aeroway"
+ , Layer.minzoom 9
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "type") |> E.isEqual (str "runway") ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 9, float 1 ), ( 18, float 80 ) ])
+ ]
+ , Layer.line "aeroway-taxiway"
+ "composite"
+ [ Layer.sourceLayer "aeroway"
+ , Layer.minzoom 9
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "type") |> E.isEqual (str "taxiway")
+ ]
+ )
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 0.5 ), ( 18, float 20 ) ])
+ ]
+ , Layer.fill "building"
+ "composite"
+ [ Layer.sourceLayer "building"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "building:part")
+ , E.getProperty (str "underground") |> E.isEqual (str "false")
+ ]
+ )
+ , Layer.fillColor (E.rgba 43 43 42 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15.5, float 0 ), ( 16, float 1 ) ])
+ , Layer.fillOutlineColor (E.rgba 38 38 37 1)
+ ]
+ , Layer.line "tunnel-street-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-service-link-track-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-construction"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "tunnel-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-service-link-track"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineColor (E.rgba 37 38 39 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-pedestrian-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2 ), ( 18, float 14.5 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.9, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-service-link-track-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.9, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.9, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.9, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-main-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 5
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 7, float 0.5 ), ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.5 ), ( 9, float 1.4 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 6.1, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 7, float 0.5 ), ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-construction"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "road-sidewalks"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.matchesStr [ ( "crossing", true ), ( "sidewalk", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 0 ), ( 16.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "crossing", false ), ( "sidewalk", false ), ( "steps", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-service-link-track"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 5
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.5 ), ( 9, float 1.4 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-rail"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-pedestrian-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2 ), ( 18, float 14.5 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-service-link-track-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer") |> E.lessThanOrEqual (float 1)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 7, float 0.5 ), ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-construction"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "bridge-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-service-link-track"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "primary")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-rail"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 7, float 0.5 ), ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 43 43 43 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 68 68 68 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "admin-3-4-boundaries-bg"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.rgba 25 25 25 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 3.5 ), ( 10, float 8 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 0 ), ( 6, float 0.75 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 8, float 3 ) ])
+ , Layer.lineJoin E.lineJoinBevel
+ ]
+ , Layer.line "admin-2-boundaries-bg"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 3.5 ), ( 10, float 10 ) ])
+ , Layer.lineColor (E.rgba 25 25 25 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 4, float 0.5 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "admin-3-4-boundaries"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 2, 0 ]) [ ( 7, E.floats [ 2, 2, 6, 2 ] ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 0.75 ), ( 12, float 1.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 2, float 0 ), ( 3, float 1 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, E.rgba 68 68 68 1 ), ( 5, E.rgba 89 89 89 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.line "admin-2-boundaries"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 0)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.rgba 109 109 109 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0.5 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.line "admin-2-boundaries-dispute"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 1)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineDasharray (E.floats [ 1.5, 1.5 ])
+ , Layer.lineColor (E.rgba 35 35 35 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0.5 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "waterway-label"
+ "composite"
+ [ Layer.sourceLayer "waterway_label"
+ , Layer.minzoom 12
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", true ), ( "river", true ) ] false)
+ , Layer.textHaloWidth (float 0)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textColor (E.rgba 81 81 81 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textMaxAngle (float 30)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 12 ), ( 18, float 16 ) ])
+ ]
+ , Layer.symbol "poi-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ ]
+ )
+ , Layer.textColor (E.rgba 153 153 153 1)
+ , Layer.textHaloColor (E.rgba 33 33 33 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 1)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ ]
+ )
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.rgba 33 33 33 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 119 119 119 1 ), ( 9, E.rgba 186 186 186 1 ) ])
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "road-label-small"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "ferry", false )
+ , ( "golf", false )
+ , ( "link", false )
+ , ( "motorway", false )
+ , ( "path", false )
+ , ( "pedestrian", false )
+ , ( "primary", false )
+ , ( "secondary", false )
+ , ( "street", false )
+ , ( "street_limited", false )
+ , ( "tertiary", false )
+ , ( "track", false )
+ , ( "trunk", false )
+ ]
+ true
+ ]
+ )
+ , Layer.textColor (E.rgba 198 198 198 1)
+ , Layer.textHaloColor (E.rgba 33 33 33 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 10 ), ( 20, float 13 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 500)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-label-medium"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "pedestrian", true ), ( "street", true ), ( "street_limited", true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 198 198 198 1)
+ , Layer.textHaloColor (E.rgba 33 33 33 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 10 ), ( 20, float 14 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 500)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-label-large"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.getProperty (str "class")
+ |> E.matchesStr [ ( "motorway", true ), ( "primary", true ), ( "secondary", true ), ( "tertiary", true ), ( "trunk", true ) ] false
+ )
+ , Layer.textColor (E.rgba 198 198 198 1)
+ , Layer.textHaloColor (E.rgba 33 33 33 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 10 ), ( 20, float 16 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 400)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "poi-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ ]
+ )
+ , Layer.textColor (E.rgba 153 153 153 1)
+ , Layer.textHaloColor (E.rgba 33 33 33 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ ]
+ )
+ , Layer.textColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 119 119 119 1 ), ( 9, E.rgba 186 186 186 1 ) ])
+ , Layer.textHaloColor (E.rgba 33 33 33 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "water-label"
+ "composite"
+ [ Layer.sourceLayer "water_label"
+ , Layer.minzoom 5
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThan (float 10000))
+ , Layer.textColor (E.rgba 81 81 81 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 13 ), ( 18, float 18 ) ])
+ ]
+ , Layer.symbol "poi-parks-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ ]
+ )
+ , Layer.textColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 119 119 119 1 ), ( 9, E.rgba 186 186 186 1 ) ])
+ , Layer.textHaloColor (E.rgba 33 33 33 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ ]
+ )
+ , Layer.textColor (E.rgba 153 153 153 1)
+ , Layer.textHaloColor (E.rgba 33 33 33 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "airport-label"
+ "composite"
+ [ Layer.sourceLayer "airport_label"
+ , Layer.minzoom 10
+ , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2))
+ , Layer.textColor (E.rgba 216 216 216 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 12 ), ( 18, float 18 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 13, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.75 ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "ref"))) [ ( 14, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 9)
+ ]
+ , Layer.symbol "place-islets-archipelago-aboriginal"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 16
+ , Layer.filter
+ (E.getProperty (str "type")
+ |> E.matchesStr [ ( "aboriginal_lands", true ), ( "archipelago", true ), ( "islet", true ) ] false
+ )
+ , Layer.textColor (E.rgba 216 216 216 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "place-neighbourhood"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 12
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "neighbourhood"))
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.rgba 178 178 178 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 3)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11 ), ( 16, float 16 ) ])
+ ]
+ , Layer.symbol "place-suburb"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 11
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "suburb"))
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.rgba 178 178 178 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textPadding (float 3)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 11 ), ( 15, float 18 ) ])
+ ]
+ , Layer.symbol "place-hamlet"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "hamlet"))
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textColor (E.rgba 216 216 216 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11.5 ), ( 15, float 16 ) ])
+ ]
+ , Layer.symbol "place-village"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 11
+ , Layer.maxzoom 15
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "village"))
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, E.rgba 191 191 191 1 ), ( 11, E.rgba 216 216 216 1 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11.5 ), ( 16, float 18 ) ])
+ ]
+ , Layer.symbol "place-town"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 7
+ , Layer.maxzoom 15
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "town"))
+ , Layer.textColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, E.rgba 191 191 191 1 ), ( 11, E.rgba 216 216 216 1 ) ])
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 11.5 ), ( 15, float 20 ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 12, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-islands"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "island"))
+ , Layer.textColor (E.rgba 216 216 216 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-sm"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank")
+ |> E.matchesFloat [ ( 0, false ), ( 1, false ), ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 229 229 229 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 12 ), ( 14, float 22 ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-md-s"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textColor (E.rgba 229 229 229 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.1 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.iconImage (str "dot-10")
+ ]
+ , Layer.symbol "place-city-md-n"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 229 229 229 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor E.positionBottom
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.iconImage (str "dot-10")
+ ]
+ , Layer.symbol "place-city-lg-s"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 242 242 242 1 ), ( 9, E.rgba 229 229 229 1 ) ])
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.15 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionTop [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ ]
+ , Layer.symbol "place-city-lg-n"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 242 242 242 1 ), ( 9, E.rgba 229 229 229 1 ) ])
+ , Layer.textOpacity (float 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ ]
+ , Layer.symbol "marine-label-sm-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 81 81 81 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 100 ), ( 6, float 400 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-sm-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 81 81 81 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ ]
+ , Layer.symbol "marine-label-md-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 81 81 81 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 12 ), ( 5, float 20 ) ])
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-md-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 81 81 81 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 14 ), ( 5, float 20 ) ])
+ ]
+ , Layer.symbol "marine-label-lg-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.textColor (E.rgba 81 81 81 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textLetterSpacing (float 0.25)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ ]
+ , Layer.symbol "marine-label-lg-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Point"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.textColor (E.rgba 81 81 81 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textLetterSpacing (float 0.25)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ ]
+ , Layer.symbol "state-label-sm"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 9
+ , Layer.filter (E.getProperty (str "area") |> E.lessThan (float 20000))
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 127 127 127 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 10 ), ( 9, float 14 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 6, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "state-label-md"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "area") |> E.lessThan (float 80000)
+ , E.getProperty (str "area") |> E.greaterThanOrEqual (float 20000)
+ ]
+ )
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 127 127 127 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 10 ), ( 8, float 16 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 5, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "state-label-lg"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThanOrEqual (float 80000))
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 127 127 127 1)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 10 ), ( 7, float 18 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textPadding (float 1)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 4, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "country-label-sm"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 10
+ , Layer.filter (E.getProperty (str "scalerank") |> E.greaterThanOrEqual (float 5))
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textColor (E.rgba 114 114 114 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 14 ), ( 9, float 22 ) ])
+ ]
+ , Layer.symbol "country-label-md"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 8
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ) ] false)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textColor (E.rgba 114 114 114 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "code"))) [ ( 2, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 10 ), ( 8, float 24 ) ])
+ ]
+ , Layer.symbol "country-label-lg"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 1, true ), ( 2, true ) ] false)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloColor (E.rgba 25 25 25 0.75)
+ , Layer.textColor (E.rgba 114 114 114 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 5 ), ( 3, float 6 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 10 ), ( 6, float 24 ) ])
+ ]
+ ]
+ , sources = [ Source.vectorFromUrl "composite" "mapbox://mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v7" ]
+ , misc =
+ [ Style.sprite "mapbox://sprites/mapbox/dark-v9"
+ , Style.glyphs "mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
+ , Style.name "Mapbox Dark"
+ ]
+ }
diff --git a/examples/Styles/Light.elm b/examples/Styles/Light.elm
new file mode 100644
index 0000000..e487f36
--- /dev/null
+++ b/examples/Styles/Light.elm
@@ -0,0 +1,2906 @@
+module Styles.Light exposing (style)
+
+import Mapbox.Expression as E exposing (false, float, str, true)
+import Mapbox.Layer as Layer
+import Mapbox.Source as Source
+import Mapbox.Style as Style exposing (Style(..))
+
+
+style : Style
+style =
+ Style
+ { transition = Style.defaultTransition
+ , light = Style.defaultLight
+ , layers =
+ [ Layer.background "background" [ Layer.backgroundColor (E.rgba 245 245 243 1) ]
+ , Layer.fill "landcover_wood"
+ "composite"
+ [ Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "wood"))
+ , Layer.sourceLayer "landcover"
+ , Layer.fillColor (E.rgba 226 226 226 1)
+ , Layer.fillOpacity (float 0.1)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_scrub"
+ "composite"
+ [ Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "scrub"))
+ , Layer.sourceLayer "landcover"
+ , Layer.fillColor (E.rgba 226 226 226 1)
+ , Layer.fillOpacity (float 0.1)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_grass"
+ "composite"
+ [ Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "grass"))
+ , Layer.sourceLayer "landcover"
+ , Layer.fillColor (E.rgba 226 226 226 1)
+ , Layer.fillOpacity (float 0.1)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_crop"
+ "composite"
+ [ Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "crop"))
+ , Layer.sourceLayer "landcover"
+ , Layer.fillColor (E.rgba 226 226 226 1)
+ , Layer.fillOpacity (float 0.1)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "national_park"
+ "composite"
+ [ Layer.sourceLayer "landuse_overlay"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park"))
+ , Layer.fillColor (E.rgba 236 238 237 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 0.5 ) ])
+ ]
+ , Layer.fill "parks"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "park"))
+ , Layer.fillColor (E.rgba 236 238 237 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 0.75 ) ])
+ ]
+ , Layer.fill "pitch"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "pitch"))
+ , Layer.fillColor (E.rgba 236 238 237 1)
+ ]
+ , Layer.fill "industrial"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "industrial"))
+ , Layer.fillColor (E.rgba 236 238 237 1)
+ ]
+ , Layer.fill "sand"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "sand"))
+ , Layer.fillColor (E.rgba 236 238 237 1)
+ ]
+ , Layer.fill "hillshade_highlight_bright"
+ "composite"
+ [ Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 94))
+ , Layer.sourceLayer "hillshade"
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.08 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_highlight_med"
+ "composite"
+ [ Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 90))
+ , Layer.sourceLayer "hillshade"
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.08 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_faint"
+ "composite"
+ [ Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 89))
+ , Layer.sourceLayer "hillshade"
+ , Layer.fillColor (E.rgba 89 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.033 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_med"
+ "composite"
+ [ Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 78))
+ , Layer.sourceLayer "hillshade"
+ , Layer.fillColor (E.rgba 89 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.033 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_dark"
+ "composite"
+ [ Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 67))
+ , Layer.sourceLayer "hillshade"
+ , Layer.fillColor (E.rgba 89 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.06 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_extreme"
+ "composite"
+ [ Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 56))
+ , Layer.sourceLayer "hillshade"
+ , Layer.fillColor (E.rgba 89 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.06 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.line "waterway-river-canal"
+ "composite"
+ [ Layer.minzoom 8
+ , Layer.filter
+ (E.any
+ [ E.conditionally
+ [ ( E.typeof (E.getProperty (str "class")) |> E.isEqual (str "string")
+ , E.getProperty (str "class") |> E.isEqual (str "canal")
+ )
+ ]
+ false
+ , E.conditionally
+ [ ( E.typeof (E.getProperty (str "class")) |> E.isEqual (str "string")
+ , E.getProperty (str "class") |> E.isEqual (str "river")
+ )
+ ]
+ false
+ ]
+ )
+ , Layer.sourceLayer "waterway"
+ , Layer.lineColor (E.rgba 203 211 212 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.3) [ ( 8.5, float 0.1 ), ( 20, float 8 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, float 0 ), ( 8.5, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapButt [ ( 11, E.lineCapRound ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.fill "water shadow"
+ "composite"
+ [ Layer.sourceLayer "water"
+ , Layer.fillColor (E.rgba 181 190 190 1)
+ , Layer.fillTranslate (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 7, E.floats [ 0, 0 ] ), ( 16, E.floats [ -1, -1 ] ) ])
+ , Layer.fillTranslateAnchor E.anchorViewport
+ , Layer.fillOpacity (float 1)
+ ]
+ , Layer.fill "water" "composite" [ Layer.sourceLayer "water", Layer.fillColor (E.rgba 202 210 210 1) ]
+ , Layer.fill "barrier_line-land-polygon"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Polygon"), E.getProperty (str "class") |> E.isEqual (str "land") ])
+ , Layer.fillColor (E.rgba 240 245 243 1)
+ ]
+ , Layer.line "barrier_line-land-line"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "class") |> E.isEqual (str "land") ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.99) [ ( 14, float 0.75 ), ( 20, float 40 ) ])
+ , Layer.lineColor (E.rgba 240 245 243 1)
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.fill "aeroway-polygon"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter (E.all [ E.getProperty (str "type") |> E.notEqual (str "apron"), E.geometryType |> E.isEqual (str "Polygon") ])
+ , Layer.sourceLayer "aeroway"
+ , Layer.fillColor (E.rgba 247 247 247 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.5, float 1 ) ])
+ ]
+ , Layer.line "aeroway-runway"
+ "composite"
+ [ Layer.minzoom 9
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "type") |> E.isEqual (str "runway") ])
+ , Layer.sourceLayer "aeroway"
+ , Layer.lineColor (E.rgba 242 242 242 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 9, float 1 ), ( 18, float 80 ) ])
+ ]
+ , Layer.line "aeroway-taxiway"
+ "composite"
+ [ Layer.minzoom 9
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "type") |> E.isEqual (str "taxiway")
+ ]
+ )
+ , Layer.sourceLayer "aeroway"
+ , Layer.lineColor (E.rgba 242 242 242 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 0.5 ), ( 18, float 20 ) ])
+ ]
+ , Layer.fill "building"
+ "composite"
+ [ Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "building:part")
+ , E.getProperty (str "underground") |> E.isEqual (str "false")
+ ]
+ )
+ , Layer.sourceLayer "building"
+ , Layer.fillColor (E.rgba 233 233 230 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15.5, float 0 ), ( 16, float 1 ) ])
+ , Layer.fillOutlineColor (E.rgba 222 222 220 1)
+ ]
+ , Layer.line "tunnel-street-low"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited-low"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-service-link-track-case"
+ "composite"
+ [ Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 223 229 230 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited-case"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 223 229 230 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street-case"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 223 229 230 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 223 229 230 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 223 229 230 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link-case"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 223 229 230 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link-case"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 223 229 230 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 223 229 230 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 223 229 230 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-construction"
+ "composite"
+ [ Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "tunnel-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "steps")
+ , E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineColor (E.rgba 216 216 216 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 216 216 216 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-pedestrian"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-service-link-track"
+ "composite"
+ [ Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-secondary-tertiary"
+ "composite"
+ [ Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary"
+ "composite"
+ [ Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway"
+ "composite"
+ [ Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineColor (E.rgba 222 226 226 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-pedestrian-case"
+ "composite"
+ [ Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2 ), ( 18, float 14.5 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (float 0)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street-low"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited-low"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-service-link-track-case"
+ "composite"
+ [ Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited-case"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street-case"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-main-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "primary")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link-case"
+ "composite"
+ [ Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link-case"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 7, float 0.4 ), ( 9, float 0.5 ), ( 10, float 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk-case"
+ "composite"
+ [ Layer.minzoom 5
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "trunk")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 7, float 0.5 ), ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.5 ), ( 9, float 1.4 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 6.1, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "motorway")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 7, float 0.5 ), ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 219 224 222 1 ), ( 11, E.rgba 232 237 235 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-construction"
+ "composite"
+ [ Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "road-sidewalks"
+ "composite"
+ [ Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.matchesStr [ ( "crossing", true ), ( "sidewalk", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 0 ), ( 16.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "crossing", false ), ( "sidewalk", false ), ( "steps", false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "path")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link"
+ "composite"
+ [ Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-pedestrian"
+ "composite"
+ [ Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-service-link-track"
+ "composite"
+ [ Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-secondary-tertiary"
+ "composite"
+ [ Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary"
+ "composite"
+ [ Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "primary")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk"
+ "composite"
+ [ Layer.minzoom 5
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "trunk")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.5 ), ( 9, float 1.4 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway"
+ "composite"
+ [ Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "motorway")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-rail"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-pedestrian-case"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2 ), ( 18, float 14.5 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street-low"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited-low"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-service-link-track-case"
+ "composite"
+ [ Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited-case"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street-case"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-case"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-case"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer") |> E.lessThanOrEqual (float 1)
+ , E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 7, float 0.5 ), ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-construction"
+ "composite"
+ [ Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "bridge-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "steps")
+ , E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-pedestrian"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-service-link-track"
+ "composite"
+ [ Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "primary")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-rail"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2-case"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2-case copy"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 7, float 0.5 ), ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 232 237 235 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ ]
+ ]
+ )
+ , Layer.sourceLayer "road"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "admin-3-4-boundaries-bg"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maritime") |> E.isEqual (float 0)
+ , E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ ]
+ )
+ , Layer.lineColor (E.rgba 214 214 214 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 3.5 ), ( 10, float 8 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 0 ), ( 7, float 0.5 ), ( 8, float 0.75 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 8, float 3 ) ])
+ , Layer.lineJoin E.lineJoinBevel
+ ]
+ , Layer.line "admin-2-boundaries-bg"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.sourceLayer "admin"
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 3.5 ), ( 10, float 10 ) ])
+ , Layer.lineColor (E.rgba 214 214 214 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 4, float 0.5 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "admin-3-4-boundaries"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maritime") |> E.isEqual (float 0)
+ , E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ ]
+ )
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 2, 0 ]) [ ( 7, E.floats [ 2, 2, 6, 2 ] ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 0.75 ), ( 12, float 1.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 2, float 0 ), ( 3, float 1 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, E.rgba 204 204 204 1 ), ( 5, E.rgba 178 178 178 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.line "admin-2-boundaries"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 0)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.sourceLayer "admin"
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, E.rgba 178 178 178 1 ), ( 4, E.rgba 158 158 158 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0.5 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.line "admin-2-boundaries-dispute"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 1)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.sourceLayer "admin"
+ , Layer.lineDasharray (E.floats [ 1.5, 1.5 ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, E.rgba 178 178 178 1 ), ( 4, E.rgba 158 158 158 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0.5 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "waterway-label"
+ "composite"
+ [ Layer.minzoom 12
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", true ), ( "river", true ) ] false)
+ , Layer.sourceLayer "waterway_label"
+ , Layer.textHaloWidth (float 0)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textColor (E.rgba 120 136 138 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textMaxAngle (float 30)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 12 ), ( 18, float 16 ) ])
+ ]
+ , Layer.symbol "poi-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ ]
+ )
+ , Layer.textColor (E.rgba 148 148 148 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 1)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ ]
+ )
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.rgba 148 148 148 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "road-label-small"
+ "composite"
+ [ Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "ferry", false )
+ , ( "golf", false )
+ , ( "link", false )
+ , ( "motorway", false )
+ , ( "path", false )
+ , ( "pedestrian", false )
+ , ( "primary", false )
+ , ( "secondary", false )
+ , ( "street", false )
+ , ( "street_limited", false )
+ , ( "tertiary", false )
+ , ( "track", false )
+ , ( "trunk", false )
+ ]
+ true
+ , E.geometryType |> E.isEqual (str "LineString")
+ ]
+ )
+ , Layer.sourceLayer "road_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 10 ), ( 20, float 13 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 500)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-label-medium"
+ "composite"
+ [ Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "pedestrian", true ), ( "street", true ), ( "street_limited", true ) ] false
+ ]
+ )
+ , Layer.sourceLayer "road_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 10 ), ( 20, float 14 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 500)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-label-large"
+ "composite"
+ [ Layer.minzoom 12
+ , Layer.filter
+ (E.getProperty (str "class")
+ |> E.matchesStr [ ( "motorway", true ), ( "primary", true ), ( "secondary", true ), ( "tertiary", true ), ( "trunk", true ) ] false
+ )
+ , Layer.sourceLayer "road_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 10 ), ( 20, float 16 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 400)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "poi-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ ]
+ )
+ , Layer.textColor (E.rgba 148 148 148 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ ]
+ )
+ , Layer.textColor (E.rgba 148 148 148 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "water-label"
+ "composite"
+ [ Layer.minzoom 5
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThan (float 10000))
+ , Layer.sourceLayer "water_label"
+ , Layer.textColor (E.rgba 120 136 138 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 13 ), ( 18, float 18 ) ])
+ ]
+ , Layer.symbol "poi-parks-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ ]
+ )
+ , Layer.textColor (E.rgba 147 147 147 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ ]
+ )
+ , Layer.textColor (E.rgba 147 147 147 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 12 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "airport-label"
+ "composite"
+ [ Layer.minzoom 10
+ , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2))
+ , Layer.sourceLayer "airport_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 12 ), ( 18, float 18 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 13, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.75 ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 14, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 9)
+ ]
+ , Layer.symbol "place-islets-archipelago-aboriginal"
+ "composite"
+ [ Layer.maxzoom 16
+ , Layer.filter
+ (E.getProperty (str "type")
+ |> E.matchesStr [ ( "aboriginal_lands", true ), ( "archipelago", true ), ( "islet", true ) ] false
+ )
+ , Layer.sourceLayer "place_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "place-neighbourhood"
+ "composite"
+ [ Layer.minzoom 12
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "neighbourhood"))
+ , Layer.sourceLayer "place_label"
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.rgba 158 158 158 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 3)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11 ), ( 16, float 16 ) ])
+ ]
+ , Layer.symbol "place-suburb"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "suburb"))
+ , Layer.sourceLayer "place_label"
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.rgba 158 158 158 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textPadding (float 3)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 11 ), ( 15, float 18 ) ])
+ ]
+ , Layer.symbol "place-hamlet"
+ "composite"
+ [ Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "hamlet"))
+ , Layer.sourceLayer "place_label"
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textColor (E.rgba 158 158 158 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11.5 ), ( 15, float 16 ) ])
+ ]
+ , Layer.symbol "place-village"
+ "composite"
+ [ Layer.minzoom 11
+ , Layer.maxzoom 15
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "village"))
+ , Layer.sourceLayer "place_label"
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, E.rgba 158 158 158 1 ), ( 11, E.rgba 140 140 140 1 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11.5 ), ( 16, float 18 ) ])
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ ]
+ , Layer.symbol "place-town"
+ "composite"
+ [ Layer.minzoom 7
+ , Layer.maxzoom 15
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "town"))
+ , Layer.sourceLayer "place_label"
+ , Layer.textColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, E.rgba 158 158 158 1 ), ( 11, E.rgba 140 140 140 1 ) ])
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 11.5 ), ( 15, float 20 ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 12, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-islands"
+ "composite"
+ [ Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "island"))
+ , Layer.sourceLayer "place_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-sm"
+ "composite"
+ [ Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank")
+ |> E.matchesFloat [ ( 0, false ), ( 1, false ), ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.sourceLayer "place_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 12 ), ( 14, float 22 ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-md-s"
+ "composite"
+ [ Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "type") |> E.isEqual (str "city")
+ , E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ ]
+ )
+ , Layer.sourceLayer "place_label"
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.1 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.iconImage (str "dot-10")
+ ]
+ , Layer.symbol "place-city-md-n"
+ "composite"
+ [ Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "type") |> E.isEqual (str "city")
+ , E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ ]
+ )
+ , Layer.sourceLayer "place_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor E.positionBottom
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.iconImage (str "dot-10")
+ ]
+ , Layer.symbol "place-city-lg-s"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ , E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ ]
+ )
+ , Layer.sourceLayer "place_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.15 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.iconSize (float 1)
+ , Layer.textAnchor (E.zoom |> E.step E.positionTop [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-lg-n"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ , E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ ]
+ )
+ , Layer.sourceLayer "place_label"
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textOpacity (float 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.iconSize (float 1)
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "marine-label-sm-ln"
+ "composite"
+ [ Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.sourceLayer "marine_label"
+ , Layer.textColor (E.rgba 120 136 138 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 100 ), ( 6, float 400 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-sm-pt"
+ "composite"
+ [ Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.sourceLayer "marine_label"
+ , Layer.textColor (E.rgba 120 136 138 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ ]
+ , Layer.symbol "marine-label-md-ln"
+ "composite"
+ [ Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.sourceLayer "marine_label"
+ , Layer.textColor (E.rgba 120 136 138 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 12 ), ( 5, float 20 ) ])
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-md-pt"
+ "composite"
+ [ Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.sourceLayer "marine_label"
+ , Layer.textColor (E.rgba 120 136 138 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 14 ), ( 5, float 20 ) ])
+ ]
+ , Layer.symbol "marine-label-lg-ln"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.sourceLayer "marine_label"
+ , Layer.textColor (E.rgba 120 136 138 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textLetterSpacing (float 0.25)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPitchAlignment E.anchorViewport
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ ]
+ , Layer.symbol "marine-label-lg-pt"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Point"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.sourceLayer "marine_label"
+ , Layer.textColor (E.rgba 120 136 138 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textLetterSpacing (float 0.25)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ ]
+ , Layer.symbol "state-label-sm"
+ "composite"
+ [ Layer.minzoom 3
+ , Layer.maxzoom 9
+ , Layer.filter (E.getProperty (str "area") |> E.lessThan (float 20000))
+ , Layer.sourceLayer "state_label"
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 168 168 168 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 10 ), ( 9, float 14 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 6, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "state-label-md"
+ "composite"
+ [ Layer.minzoom 3
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "area") |> E.lessThan (float 80000)
+ , E.getProperty (str "area") |> E.greaterThanOrEqual (float 20000)
+ ]
+ )
+ , Layer.sourceLayer "state_label"
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 168 168 168 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 10 ), ( 8, float 16 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 5, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "state-label-lg"
+ "composite"
+ [ Layer.minzoom 3
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThanOrEqual (float 80000))
+ , Layer.sourceLayer "state_label"
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 168 168 168 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 10 ), ( 7, float 18 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textPadding (float 1)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 4, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "country-label-sm"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.maxzoom 10
+ , Layer.filter (E.getProperty (str "scalerank") |> E.greaterThanOrEqual (float 5))
+ , Layer.sourceLayer "country_label"
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 2, E.rgba 255 255 255 0.75 ), ( 3, E.rgba 255 255 255 1 ) ]
+ )
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 14 ), ( 9, float 22 ) ])
+ ]
+ , Layer.symbol "country-label-md"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.maxzoom 8
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ) ] false)
+ , Layer.sourceLayer "country_label"
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 2, E.rgba 255 255 255 0.75 ), ( 3, E.rgba 255 255 255 1 ) ]
+ )
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "code"))) [ ( 2, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 10 ), ( 8, float 24 ) ])
+ ]
+ , Layer.symbol "country-label-lg"
+ "composite"
+ [ Layer.minzoom 1
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 1, true ), ( 2, true ) ] false)
+ , Layer.sourceLayer "country_label"
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 2, E.rgba 255 255 255 0.75 ), ( 3, E.rgba 255 255 255 1 ) ]
+ )
+ , Layer.textColor (E.rgba 107 107 107 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 5 ), ( 3, float 6 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 10 ), ( 6, float 24 ) ])
+ ]
+ ]
+ , sources = [ Source.vectorFromUrl "composite" "mapbox://mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v7" ]
+ , misc =
+ [ Style.sprite "mapbox://sprites/mapbox/light-v9"
+ , Style.glyphs "mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
+ , Style.name "Light"
+ , Style.defaultZoomLevel 10
+ ]
+ }
diff --git a/examples/Styles/Outdoors.elm b/examples/Styles/Outdoors.elm
new file mode 100644
index 0000000..1d29ce3
--- /dev/null
+++ b/examples/Styles/Outdoors.elm
@@ -0,0 +1,4267 @@
+module Styles.Outdoors exposing (style)
+
+import Mapbox.Expression as E exposing (false, float, str, true)
+import Mapbox.Layer as Layer
+import Mapbox.Source as Source
+import Mapbox.Style as Style exposing (Style(..))
+
+
+style : Style
+style =
+ Style
+ { transition = Style.defaultTransition
+ , light = Style.defaultLight
+ , layers =
+ [ Layer.background "background"
+ [ Layer.backgroundColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, E.rgba 239 233 224 1 ), ( 13, E.rgba 230 227 223 1 ) ])
+ ]
+ , Layer.fill "landcover_crop"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 12
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "crop"))
+ , Layer.fillColor (E.rgba 221 236 176 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 12, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_grass"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 12
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "grass"))
+ , Layer.fillColor (E.rgba 221 236 176 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 12, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_scrub"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 12
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "scrub"))
+ , Layer.fillColor (E.rgba 221 236 176 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 12, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_wood"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 12
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "wood"))
+ , Layer.fillColor (E.rgba 221 236 176 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 12, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_snow"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (E.rgba 255 250 250 1))
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (float 0.2)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "national_park"
+ "composite"
+ [ Layer.sourceLayer "landuse_overlay"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park"))
+ , Layer.fillColor (E.rgba 181 229 157 1)
+ , Layer.fillOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 5.5, float 0.75 ), ( 9, float 0.75 ), ( 10, float 0.35 ) ]
+ )
+ ]
+ , Layer.fill "scrub"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.minzoom 9
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "scrub"))
+ , Layer.fillColor (E.rgba 202 215 161 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 0 ), ( 15, float 0.2 ) ])
+ ]
+ , Layer.fill "grass"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.minzoom 9
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "grass"))
+ , Layer.fillColor (E.rgba 202 215 161 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 0 ), ( 15, float 0.4 ) ])
+ ]
+ , Layer.fill "wood"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.minzoom 6
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "wood"))
+ , Layer.fillColor (E.rgba 202 215 161 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 0 ), ( 15, float 0.5 ) ])
+ ]
+ , Layer.fill "agriculture"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.minzoom 11
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "agriculture"))
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 14, float 0.75 ) ])
+ , Layer.fillColor (E.rgba 215 224 188 1)
+ , Layer.fillOutlineColor (E.rgba 186 199 147 1)
+ ]
+ , Layer.line "national_park-tint-band"
+ "composite"
+ [ Layer.sourceLayer "landuse_overlay"
+ , Layer.minzoom 9
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park"))
+ , Layer.lineColor (E.rgba 174 229 147 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.4) [ ( 9, float 1 ), ( 14, float 8 ) ])
+ , Layer.lineOffset (E.zoom |> E.interpolate (E.Exponential 1.4) [ ( 9, float 0 ), ( 14, float -2.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 0 ), ( 10, float 0.75 ) ])
+ , Layer.lineBlur (float 3)
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.line "national_park-outline"
+ "composite"
+ [ Layer.sourceLayer "landuse_overlay"
+ , Layer.minzoom 9
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park"))
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, E.rgba 168 217 144 1 ), ( 14, E.rgba 159 204 137 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 0.75 ), ( 12, float 1 ) ])
+ , Layer.lineOffset (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 0 ), ( 10, float 1 ) ])
+ ]
+ , Layer.fill "hospital"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "hospital"))
+ , Layer.fillColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 15.5, E.rgba 234 209 217 1 ), ( 16, E.rgba 244 209 221 1 ) ]
+ )
+ ]
+ , Layer.fill "school"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "school"))
+ , Layer.fillColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 15.5, E.rgba 229 221 183 1 ), ( 16, E.rgba 239 231 188 1 ) ]
+ )
+ ]
+ , Layer.fill "park"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "park")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "garden", false ), ( "golf_course", false ), ( "playground", false ), ( "zoo", false ) ] true
+ ]
+ )
+ , Layer.fillColor (E.rgba 181 229 157 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 1 ) ])
+ ]
+ , Layer.fill "other-green-areas"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "park")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "garden", true ), ( "golf_course", true ), ( "playground", true ), ( "zoo", true ) ] false
+ ]
+ )
+ , Layer.fillColor (E.rgba 197 235 177 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 1 ) ])
+ ]
+ , Layer.fill "glacier"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.minzoom 9
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "glacier"))
+ , Layer.fillColor (E.rgba 224 243 249 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 0 ), ( 10, float 0.5 ) ])
+ ]
+ , Layer.fill "pitch"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "pitch"))
+ , Layer.fillColor (E.rgba 170 224 142 1)
+ ]
+ , Layer.line "pitch-line"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.minzoom 15
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "pitch"))
+ , Layer.lineColor (E.rgba 225 237 190 1)
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.fill "cemetery"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "cemetery"))
+ , Layer.fillColor (E.rgba 215 224 188 1)
+ ]
+ , Layer.fill "industrial"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "industrial"))
+ , Layer.fillColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 15.5, E.rgba 213 215 224 1 ), ( 16, E.rgba 218 221 235 1 ) ]
+ )
+ ]
+ , Layer.fill "sand"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "sand"))
+ , Layer.fillColor (E.rgba 237 237 206 1)
+ ]
+ , Layer.line "contour-line"
+ "composite"
+ [ Layer.sourceLayer "contour"
+ , Layer.minzoom 11
+ , Layer.filter (E.getProperty (str "index") |> E.matchesFloat [ ( 5, false ), ( 10, false ) ] true)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0.15 ), ( 12, float 0.3 ) ])
+ , Layer.lineColor (E.rgba 33 102 0 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0.5 ), ( 16, float 0.8 ) ])
+ , Layer.lineOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 1 ), ( 16, float 1.6 ) ])
+ ]
+ , Layer.line "contour-line-index"
+ "composite"
+ [ Layer.sourceLayer "contour"
+ , Layer.minzoom 11
+ , Layer.filter (E.getProperty (str "index") |> E.matchesFloat [ ( 5, true ), ( 10, true ) ] false)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0.25 ), ( 12, float 0.5 ) ])
+ , Layer.lineColor (E.rgba 33 102 0 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0.6 ), ( 16, float 1.2 ) ])
+ , Layer.lineOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0.6 ), ( 16, float 1.2 ) ])
+ ]
+ , Layer.fill "hillshade_highlight_bright"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 18
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 94))
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 0.15 ), ( 18, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_highlight_med"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 90))
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 0.15 ), ( 18, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_faint"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 17
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 89))
+ , Layer.fillColor (E.rgba 89 84 23 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 0.07 ), ( 17, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_med"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 78))
+ , Layer.fillColor (E.rgba 89 84 23 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 0.07 ), ( 17, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_dark"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 67))
+ , Layer.fillColor (E.rgba 89 84 23 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 0.08 ), ( 17, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_extreme"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 17
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 56))
+ , Layer.fillColor (E.rgba 89 84 23 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 0.08 ), ( 17, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.line "waterway-river-canal-shadow"
+ "composite"
+ [ Layer.sourceLayer "waterway"
+ , Layer.minzoom 8
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", true ), ( "river", true ) ] false)
+ , Layer.lineColor (E.rgba 109 164 242 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.3) [ ( 8.5, float 0.4 ), ( 20, float 8 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, float 0 ), ( 8.5, float 1 ) ])
+ , Layer.lineTranslate (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 7, E.floats [ 0, 0 ] ), ( 16, E.floats [ -1, -1 ] ) ])
+ , Layer.lineTranslateAnchor E.anchorViewport
+ , Layer.lineCap (E.zoom |> E.step E.lineCapButt [ ( 11, E.lineCapRound ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "waterway-river-canal"
+ "composite"
+ [ Layer.sourceLayer "waterway"
+ , Layer.minzoom 8
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", true ), ( "river", true ) ] false)
+ , Layer.lineColor (E.rgba 140 202 247 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.3) [ ( 8.5, float 0.4 ), ( 20, float 8 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, float 0 ), ( 8.5, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapButt [ ( 11, E.lineCapRound ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "waterway-small"
+ "composite"
+ [ Layer.sourceLayer "waterway"
+ , Layer.minzoom 13
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", false ), ( "river", false ) ] true)
+ , Layer.lineColor (E.rgba 140 202 247 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.35) [ ( 13.5, float 0.4 ), ( 20, float 3 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.fill "water-shadow"
+ "composite"
+ [ Layer.sourceLayer "water"
+ , Layer.fillColor (E.rgba 109 164 242 1)
+ , Layer.fillTranslate (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 7, E.floats [ 0, 0 ] ), ( 16, E.floats [ -1, -1 ] ) ])
+ , Layer.fillTranslateAnchor E.anchorViewport
+ , Layer.fillOpacity (float 1)
+ ]
+ , Layer.fill "water" "composite" [ Layer.sourceLayer "water", Layer.fillColor (E.rgba 117 207 239 1) ]
+ , Layer.fill "wetlands"
+ "composite"
+ [ Layer.sourceLayer "landuse_overlay"
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "wetland", true ), ( "wetland_noveg", true ) ] false)
+ , Layer.fillColor (E.rgba 160 212 217 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 0.25 ), ( 10.5, float 0.15 ) ])
+ ]
+ , Layer.fill "wetlands-pattern"
+ "composite"
+ [ Layer.sourceLayer "landuse_overlay"
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "wetland", true ), ( "wetland_noveg", true ) ] false)
+ , Layer.fillColor (E.rgba 160 212 217 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 0 ), ( 10.5, float 1 ) ])
+ , Layer.fillPattern (str "wetland")
+ , Layer.fillTranslateAnchor E.anchorViewport
+ ]
+ , Layer.fill "barrier_line-land-polygon"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Polygon"), E.getProperty (str "class") |> E.isEqual (str "land") ])
+ , Layer.fillColor (E.rgba 230 227 223 1)
+ ]
+ , Layer.line "barrier_line-land-line"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "class") |> E.isEqual (str "land") ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.99) [ ( 14, float 0.75 ), ( 20, float 40 ) ])
+ , Layer.lineColor (E.rgba 230 227 223 1)
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.fill "aeroway-polygon"
+ "composite"
+ [ Layer.sourceLayer "aeroway"
+ , Layer.minzoom 11
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Polygon"), E.getProperty (str "type") |> E.notEqual (str "apron") ])
+ , Layer.fillColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 198 202 219 1 ), ( 16, E.rgba 199 204 229 1 ) ])
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.5, float 1 ) ])
+ ]
+ , Layer.line "aeroway-runway"
+ "composite"
+ [ Layer.sourceLayer "aeroway"
+ , Layer.minzoom 9
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "type") |> E.isEqual (str "runway") ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 198 202 219 1 ), ( 16, E.rgba 199 204 229 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 9, float 1 ), ( 18, float 80 ) ])
+ ]
+ , Layer.line "aeroway-taxiway"
+ "composite"
+ [ Layer.sourceLayer "aeroway"
+ , Layer.minzoom 9
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "type") |> E.isEqual (str "taxiway")
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 198 202 219 1 ), ( 16, E.rgba 199 204 229 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 0.5 ), ( 18, float 20 ) ])
+ ]
+ , Layer.line "building-line"
+ "composite"
+ [ Layer.sourceLayer "building"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "building:part")
+ , E.getProperty (str "underground") |> E.isEqual (str "false")
+ ]
+ )
+ , Layer.lineColor (E.rgba 204 201 198 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 0.75 ), ( 20, float 3 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15.5, float 0 ), ( 16, float 1 ) ])
+ ]
+ , Layer.fill "building"
+ "composite"
+ [ Layer.sourceLayer "building"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "building:part")
+ , E.getProperty (str "underground") |> E.isEqual (str "false")
+ ]
+ )
+ , Layer.fillColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 227 224 221 1 ), ( 16, E.rgba 219 217 213 1 ) ])
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15.5, float 0 ), ( 16, float 1 ) ])
+ , Layer.fillOutlineColor (E.rgba 204 201 198 1)
+ ]
+ , Layer.line "tunnel-street-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-track-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "track")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 204 170 0 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 12 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-service-link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "service", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-construction"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "tunnel-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "cycleway", false ), ( "piste", false ), ( "steps", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 4, 0.4 ]) [ ( 15, E.floats [ 3, 0.4 ] ), ( 16, E.floats [ 3, 0.35 ] ), ( 17, E.floats [ 3, 0.35 ] ) ]
+ )
+ , Layer.lineColor (E.rgba 245 242 238 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-cycleway-piste"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.matchesStr [ ( "cycleway", true ), ( "piste", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 4, 0.4 ]) [ ( 15, E.floats [ 3, 0.4 ] ), ( 16, E.floats [ 3, 0.35 ] ), ( 17, E.floats [ 3, 0.35 ] ) ]
+ )
+ , Layer.lineColor (E.rgba 245 242 238 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 16, float 1.6 ), ( 18, float 6 ) ])
+ , Layer.lineColor (E.rgba 245 242 238 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 4, 0.4 ]) [ ( 15, E.floats [ 1.75, 0.4 ] ), ( 16, E.floats [ 0.75, 0.4 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 242 221 155 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 242 201 170 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-track"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "track")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-service-link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "service", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 239 237 234 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "tunnel-oneway-arrows-blue-minor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 18, str "oneway-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "tunnel-oneway-arrows-blue-major"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "primary", true )
+ , ( "secondary", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ , ( "tertiary", true )
+ ]
+ false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 17, str "oneway-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "tunnel-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 242 221 155 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineColor (E.rgba 242 201 170 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "tunnel-oneway-arrows-white"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "trunk", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true
+ ]
+ ]
+ )
+ , Layer.iconOpacity (float 0.5)
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-white-small") [ ( 17, str "oneway-white-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "cliffs"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.minzoom 15
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "cliff"))
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 0 ), ( 15.25, float 1 ) ])
+ , Layer.lineWidth (float 10)
+ , Layer.linePattern (str "cliff")
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "ferry"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "type") |> E.isEqual (str "ferry") ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 91 172 229 1 ), ( 17, E.rgba 91 114 229 1 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 13, E.floats [ 12, 4 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "ferry-auto"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "type") |> E.isEqual (str "ferry_auto")
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 91 172 229 1 ), ( 17, E.rgba 91 114 229 1 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-path-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "corridor", false ), ( "crossing", false ), ( "piste", false ), ( "sidewalk", false ), ( "steps", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2.5 ), ( 18, float 8 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineColor (E.rgba 204 170 0 1)
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 17, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-piste-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "piste")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 18, float 7 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineColor (E.rgba 99 123 242 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-sidewalk-corridor-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "corridor", true ), ( "crossing", true ), ( "sidewalk", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 18, float 7 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineColor (E.rgba 201 203 216 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 0 ), ( 16.25, float 0.25 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-steps-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2.5 ), ( 18, float 8 ) ])
+ , Layer.lineColor (E.rgba 204 170 0 1)
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 17, float 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 0.25 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-pedestrian-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2 ), ( 18, float 14.5 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-track-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "track")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 204 170 0 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 12 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-service-link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "service", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9.99, float 0 ), ( 10, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9.99, float 0 ), ( 10, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 6.1, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-construction"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "road-sidewalk-corridor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "corridor", true ), ( "crossing", true ), ( "sidewalk", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 4, 0.4 ]) [ ( 15, E.floats [ 3, 0.4 ] ), ( 16, E.floats [ 3, 0.35 ] ), ( 17, E.floats [ 3, 0.35 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 0 ), ( 16.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-path-smooth"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "bridleway", true ), ( "footway", true ), ( "path", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 4, 0.4 ]) [ ( 15, E.floats [ 3, 0.4 ] ), ( 16, E.floats [ 3, 0.35 ] ), ( 17, E.floats [ 3, 0.35 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-path-rough"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "hiking", true ), ( "mountain_bike", true ), ( "trail", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 4, 0.4 ]) [ ( 15, E.floats [ 1.75, 0.4 ] ), ( 16, E.floats [ 1, 0.4 ] ), ( 17, E.floats [ 1, 0.35 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-cycleway-piste"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.matchesStr [ ( "cycleway", true ), ( "piste", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 16, float 1.6 ), ( 18, float 6 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 4, 0.4 ]) [ ( 15, E.floats [ 1.75, 0.4 ] ), ( 16, E.floats [ 0.75, 0.4 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 229 203 117 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 229 171 127 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.fill "road-pedestrian-polygon-fill"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Polygon")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "path", true ), ( "pedestrian", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.fillColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 16, E.rgba 237 238 242 1 ), ( 16.25, E.rgba 247 248 252 1 ) ]
+ )
+ , Layer.fillOutlineColor (E.rgba 216 219 232 1)
+ , Layer.fillOpacity (float 1)
+ ]
+ , Layer.fill "road-pedestrian-polygon-pattern"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Polygon")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "path", true ), ( "pedestrian", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOutlineColor (E.rgba 215 212 207 1)
+ , Layer.fillPattern (str "pedestrian-polygon")
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 0 ), ( 16.25, float 1 ) ])
+ ]
+ , Layer.fill "road-polygon"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Polygon")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "motorway", false ), ( "path", false ), ( "pedestrian", false ), ( "trunk", false ) ] true
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOutlineColor (E.rgba 179 183 203 1)
+ ]
+ , Layer.line "road-track"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "track")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-service-link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "service", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 239 237 234 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 239 233 224 1 ), ( 8, E.rgba 255 255 255 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 239 233 224 1 ), ( 8, E.rgba 255 255 255 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "road-oneway-arrows-blue-minor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 18, str "oneway-large" ) ])
+ , Layer.iconRotationAlignment E.anchorMap
+ , Layer.iconPadding (float 2)
+ , Layer.symbolSpacing (float 200)
+ ]
+ , Layer.symbol "road-oneway-arrows-blue-major"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "primary", true )
+ , ( "secondary", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ , ( "tertiary", true )
+ ]
+ false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 17, str "oneway-large" ) ])
+ , Layer.iconRotationAlignment E.anchorMap
+ , Layer.iconPadding (float 2)
+ , Layer.symbolSpacing (float 200)
+ ]
+ , Layer.line "road-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, E.rgba 255 255 255 1 ), ( 6.1, E.rgba 234 196 71 1 ), ( 9, E.rgba 229 203 117 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 242 146 73 1 ), ( 9, E.rgba 229 171 127 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-rail"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, E.rgba 216 214 201 1 ), ( 16, E.rgba 182 184 195 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-rail-tracks"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, E.rgba 216 214 201 1 ), ( 16, E.rgba 182 184 195 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 4 ), ( 20, float 8 ) ])
+ , Layer.lineDasharray (E.floats [ 0.1, 15 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.75, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "road-oneway-arrows-white"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "trunk", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true
+ ]
+ ]
+ )
+ , Layer.iconOpacity (float 0.5)
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-white-small") [ ( 17, str "oneway-white-large" ) ])
+ , Layer.iconPadding (float 2)
+ , Layer.symbolSpacing (float 200)
+ ]
+ , Layer.line "hedges"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.minzoom 16
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "hedge"))
+ , Layer.lineColor (E.rgba 163 223 133 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 1 ), ( 20, float 3 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 2, 5, 2, 1, 2 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "fences"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.minzoom 16
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "fence"))
+ , Layer.lineColor (E.rgba 204 199 183 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 1 ), ( 20, float 3 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 2, 5, 2, 1, 2 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "gates"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.minzoom 17
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "gate"))
+ , Layer.lineColor (E.rgba 204 199 183 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 1 ), ( 20, float 3 ) ])
+ , Layer.lineOpacity (float 0.5)
+ , Layer.lineDasharray (E.floats [ 1, 2, 5, 2, 1, 2 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-path-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.matchesStr [ ( "piste", false ), ( "steps", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2.5 ), ( 18, float 8 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineColor (E.rgba 204 170 0 1)
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 17, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-piste-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "piste")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 18, float 7 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineColor (E.rgba 88 163 217 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-steps-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2.5 ), ( 18, float 8 ) ])
+ , Layer.lineColor (E.rgba 204 170 0 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 17, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-pedestrian-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2 ), ( 18, float 14.5 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-track-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "track")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 204 170 0 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 12 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-service-link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "service", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-construction"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "bridge-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "cycleway", false ), ( "piste", false ), ( "steps", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 4, 0.4 ]) [ ( 15, E.floats [ 3, 0.4 ] ), ( 16, E.floats [ 3, 0.35 ] ), ( 17, E.floats [ 3, 0.35 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-cycleway-piste"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.matchesStr [ ( "cycleway", true ), ( "piste", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 16, float 1.6 ), ( 18, float 6 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 4, 0.4 ]) [ ( 15, E.floats [ 1.75, 0.4 ] ), ( 16, E.floats [ 0.75, 0.4 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 229 203 117 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 229 171 127 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-track"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "track")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-service-link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 239 237 234 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "primary")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "bridge-oneway-arrows-blue-minor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 18, str "oneway-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconRotationAlignment E.anchorMap
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "bridge-oneway-arrows-blue-major"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "primary", true )
+ , ( "secondary", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ , ( "tertiary", true )
+ ]
+ false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 17, str "oneway-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconRotationAlignment E.anchorMap
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "bridge-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 229 203 117 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 229 171 127 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-rail"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, E.rgba 216 214 201 1 ), ( 16, E.rgba 182 184 195 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-rail-tracks"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, E.rgba 216 214 201 1 ), ( 16, E.rgba 182 184 195 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 4 ), ( 20, float 8 ) ])
+ , Layer.lineDasharray (E.floats [ 0.1, 15 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.75, float 0 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 229 203 117 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 229 171 127 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 229 203 117 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 229 171 127 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "bridge-oneway-arrows-white"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "trunk", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true
+ ]
+ ]
+ )
+ , Layer.iconOpacity (float 0.5)
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-white-small") [ ( 17, str "oneway-white-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "aerialway-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class") |> E.isEqual (str "aerialway")
+ ]
+ )
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2.5 ), ( 20, float 3 ) ])
+ , Layer.lineBlur (float 0.5)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "aerialway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class") |> E.isEqual (str "aerialway")
+ ]
+ )
+ , Layer.lineColor (E.rgba 70 71 76 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "admin-3-4-boundaries-bg"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 230 227 223 1 ), ( 16, E.rgba 217 221 241 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 3.75 ), ( 12, float 5.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 0 ), ( 8, float 0.75 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 8, float 3 ) ])
+ , Layer.lineJoin E.lineJoinBevel
+ ]
+ , Layer.line "admin-2-boundaries-bg"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 3.5 ), ( 10, float 8 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, E.rgba 230 227 223 1 ), ( 8, E.rgba 217 221 241 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 4, float 0.5 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "admin-3-4-boundaries"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 2, 0 ]) [ ( 7, E.floats [ 2, 2, 6, 2 ] ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 0.75 ), ( 12, float 1.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 2, float 0 ), ( 3, float 1 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, E.rgba 188 190 204 1 ), ( 7, E.rgba 150 152 165 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.line "admin-2-boundaries"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 0)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.rgba 120 123 140 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0.5 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.line "admin-2-boundaries-dispute"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 1)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineDasharray (E.floats [ 1.5, 1.5 ])
+ , Layer.lineColor (E.rgba 120 123 140 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0.5 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "housenum-label"
+ "composite"
+ [ Layer.sourceLayer "housenum_label"
+ , Layer.minzoom 17
+ , Layer.textColor (E.rgba 177 176 174 1)
+ , Layer.textHaloColor (E.rgba 219 217 213 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "house_num")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 4)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (float 9.5)
+ ]
+ , Layer.symbol "contour-label"
+ "composite"
+ [ Layer.sourceLayer "contour"
+ , Layer.minzoom 11
+ , Layer.filter (E.getProperty (str "index") |> E.matchesFloat [ ( 5, true ), ( 10, true ) ] false)
+ , Layer.textColor (E.rgba 57 114 28 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.rgba 255 255 255 0.5)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ele") |> E.append (str " m")))
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textMaxAngle (float 25)
+ , Layer.textPadding (float 5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 9.5 ), ( 20, float 12 ) ])
+ ]
+ , Layer.symbol "waterway-label"
+ "composite"
+ [ Layer.sourceLayer "waterway_label"
+ , Layer.minzoom 12
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", true ), ( "river", true ) ] false)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloColor (E.rgba 117 207 239 1)
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textMaxAngle (float 30)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 12 ), ( 18, float 16 ) ])
+ ]
+ , Layer.symbol "poi-relevant-scalerank4-l15"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.minzoom 17
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.greaterThanOrEqual (float 15)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "amusement-park", true )
+ , ( "aquarium", true )
+ , ( "attraction", true )
+ , ( "bakery", true )
+ , ( "bank", true )
+ , ( "bar", true )
+ , ( "beer", true )
+ , ( "bus", true )
+ , ( "cafe", true )
+ , ( "castle", true )
+ , ( "college", true )
+ , ( "doctor", true )
+ , ( "fast-food", true )
+ , ( "ferry", true )
+ , ( "fire-station", true )
+ , ( "fuel", true )
+ , ( "grocery", true )
+ , ( "harbor", true )
+ , ( "hospital", true )
+ , ( "ice-cream", true )
+ , ( "lodging", true )
+ , ( "marker", true )
+ , ( "monument", true )
+ , ( "museum", true )
+ , ( "pharmacy", true )
+ , ( "police", true )
+ , ( "post", true )
+ , ( "restaurant", true )
+ , ( "rocket", true )
+ , ( "stadium", true )
+ , ( "swimming", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 1)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-relevant-scalerank4-l1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.lessThanOrEqual (float 14)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "amusement-park", true )
+ , ( "aquarium", true )
+ , ( "attraction", true )
+ , ( "bakery", true )
+ , ( "bank", true )
+ , ( "bar", true )
+ , ( "beer", true )
+ , ( "bus", true )
+ , ( "cafe", true )
+ , ( "castle", true )
+ , ( "college", true )
+ , ( "doctor", true )
+ , ( "fast-food", true )
+ , ( "ferry", true )
+ , ( "fire-station", true )
+ , ( "fuel", true )
+ , ( "grocery", true )
+ , ( "harbor", true )
+ , ( "hospital", true )
+ , ( "ice-cream", true )
+ , ( "lodging", true )
+ , ( "marker", true )
+ , ( "monument", true )
+ , ( "museum", true )
+ , ( "pharmacy", true )
+ , ( "police", true )
+ , ( "post", true )
+ , ( "restaurant", true )
+ , ( "rocket", true )
+ , ( "stadium", true )
+ , ( "swimming", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 1)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks_scalerank4"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 1)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 1)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ ]
+ )
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "road-label-small"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "aerialway", false )
+ , ( "link", false )
+ , ( "motorway", false )
+ , ( "path", false )
+ , ( "pedestrian", false )
+ , ( "primary", false )
+ , ( "secondary", false )
+ , ( "street", false )
+ , ( "street_limited", false )
+ , ( "tertiary", false )
+ , ( "trunk", false )
+ ]
+ true
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloBlur (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 10 ), ( 20, float 13 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-label-medium"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "aerialway", true )
+ , ( "link", true )
+ , ( "path", true )
+ , ( "pedestrian", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ ]
+ false
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 10 ), ( 20, float 14 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-label-large"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter
+ (E.getProperty (str "class")
+ |> E.matchesStr [ ( "motorway", true ), ( "primary", true ), ( "secondary", true ), ( "tertiary", true ), ( "trunk", true ) ] false
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 10 ), ( 20, float 16 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-shields-black"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "reflen") |> E.lessThanOrEqual (float 6)
+ , E.getProperty (str "shield")
+ |> E.matchesStr
+ [ ( "at-expressway", false )
+ , ( "at-motorway", false )
+ , ( "at-state-b", false )
+ , ( "bg-motorway", false )
+ , ( "bg-national", false )
+ , ( "ch-main", false )
+ , ( "ch-motorway", false )
+ , ( "cz-motorway", false )
+ , ( "cz-road", false )
+ , ( "de-motorway", false )
+ , ( "e-road", false )
+ , ( "fi-main", false )
+ , ( "gr-motorway", false )
+ , ( "gr-national", false )
+ , ( "hr-motorway", false )
+ , ( "hr-state", false )
+ , ( "hu-main", false )
+ , ( "hu-motorway", false )
+ , ( "nz-state", false )
+ , ( "pl-expressway", false )
+ , ( "pl-motorway", false )
+ , ( "pl-national", false )
+ , ( "ro-county", false )
+ , ( "ro-motorway", false )
+ , ( "ro-national", false )
+ , ( "rs-motorway", false )
+ , ( "rs-state-1b", false )
+ , ( "se-main", false )
+ , ( "si-expressway", false )
+ , ( "si-motorway", false )
+ , ( "sk-highway", false )
+ , ( "sk-road", false )
+ , ( "us-interstate", false )
+ , ( "us-interstate-business", false )
+ , ( "us-interstate-duplex", false )
+ , ( "us-interstate-truck", false )
+ , ( "za-metropolitan", false )
+ , ( "za-national", false )
+ , ( "za-provincial", false )
+ , ( "za-regional", false )
+ ]
+ true
+ ]
+ )
+ , Layer.textColor (E.rgba 74 81 114 1)
+ , Layer.iconHaloColor (E.rgba 0 0 0 1)
+ , Layer.iconHaloWidth (float 1)
+ , Layer.textOpacity (float 1)
+ , Layer.iconColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0)
+ , Layer.textSize (float 9)
+ , Layer.iconImage (E.getProperty (str "shield") |> E.append (str "-") |> E.append (E.getProperty (str "reflen")))
+ , Layer.iconRotationAlignment E.anchorViewport
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 150 ), ( 14, float 200 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.symbolPlacement (E.zoom |> E.step E.symbolPlacementPoint [ ( 11, E.symbolPlacementLine ) ])
+ , Layer.textPadding (float 2)
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ref")))
+ , Layer.textLetterSpacing (float 0.05)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "road-shields-white"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "reflen") |> E.lessThanOrEqual (float 6)
+ , E.getProperty (str "shield")
+ |> E.matchesStr
+ [ ( "at-expressway", true )
+ , ( "at-motorway", true )
+ , ( "at-state-b", true )
+ , ( "bg-motorway", true )
+ , ( "bg-national", true )
+ , ( "ch-main", true )
+ , ( "ch-motorway", true )
+ , ( "cz-motorway", true )
+ , ( "cz-road", true )
+ , ( "de-motorway", true )
+ , ( "e-road", true )
+ , ( "fi-main", true )
+ , ( "gr-motorway", true )
+ , ( "gr-national", true )
+ , ( "hr-motorway", true )
+ , ( "hr-state", true )
+ , ( "hu-main", true )
+ , ( "hu-motorway", true )
+ , ( "nz-state", true )
+ , ( "pl-expressway", true )
+ , ( "pl-motorway", true )
+ , ( "pl-national", true )
+ , ( "ro-county", true )
+ , ( "ro-motorway", true )
+ , ( "ro-national", true )
+ , ( "rs-motorway", true )
+ , ( "rs-state-1b", true )
+ , ( "se-main", true )
+ , ( "si-expressway", true )
+ , ( "si-motorway", true )
+ , ( "sk-highway", true )
+ , ( "sk-road", true )
+ , ( "us-interstate", true )
+ , ( "us-interstate-business", true )
+ , ( "us-interstate-duplex", true )
+ , ( "us-interstate-truck", true )
+ , ( "za-metropolitan", true )
+ , ( "za-national", true )
+ , ( "za-provincial", true )
+ , ( "za-regional", true )
+ ]
+ false
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.iconHaloColor (E.rgba 0 0 0 1)
+ , Layer.iconHaloWidth (float 1)
+ , Layer.textOpacity (float 1)
+ , Layer.iconColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0)
+ , Layer.textSize (float 9)
+ , Layer.iconImage (E.getProperty (str "shield") |> E.append (str "-") |> E.append (E.getProperty (str "reflen")))
+ , Layer.iconRotationAlignment E.anchorViewport
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 150 ), ( 14, float 200 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.symbolPlacement (E.zoom |> E.step E.symbolPlacementPoint [ ( 11, E.symbolPlacementLine ) ])
+ , Layer.textPadding (float 2)
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ref")))
+ , Layer.textLetterSpacing (float 0.05)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "motorway-junction"
+ "composite"
+ [ Layer.sourceLayer "motorway_junction"
+ , Layer.minzoom 14
+ , Layer.filter (E.getProperty (str "reflen") |> E.greaterThan (float 0))
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textTranslate (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ref")))
+ , Layer.textSize (float 9)
+ , Layer.iconImage (str "motorway-exit-" |> E.append (E.getProperty (str "reflen")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ ]
+ , Layer.symbol "poi-outdoor-features"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "bicycle", true )
+ , ( "bicycle-share", true )
+ , ( "drinking-water", true )
+ , ( "information", true )
+ , ( "picnic-site", true )
+ , ( "toilet", true )
+ ]
+ false
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "mountain-peak-label"
+ "composite"
+ [ Layer.sourceLayer "mountain_peak_label"
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 14 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-15"))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "mountain-peak-label-with-elevation"
+ "composite"
+ [ Layer.sourceLayer "mountain_peak_label"
+ , Layer.filter (E.getProperty (str "elevation_m") |> E.greaterThan (float 0))
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 14 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-15"))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en") |> E.append (str ", ") |> E.append (E.getProperty (str "elevation_m")) |> E.append (str "m")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 15, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ ]
+ )
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 15, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "rail-label"
+ "composite"
+ [ Layer.sourceLayer "rail_station_label"
+ , Layer.minzoom 12
+ , Layer.filter (E.getProperty (str "maki") |> E.notEqual (str "entrance"))
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.iconHaloWidth (float 4)
+ , Layer.iconHaloColor (E.rgba 255 255 255 1)
+ , Layer.textOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.toString (E.getProperty (str "network")))
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.85 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.zoom |> E.step (E.toFormattedText (str "")) [ ( 13, E.toFormattedText (E.getProperty (str "name_en")) ) ])
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.iconPadding (float 0)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "water-label-sm"
+ "composite"
+ [ Layer.sourceLayer "water_label"
+ , Layer.minzoom 15
+ , Layer.filter (E.getProperty (str "area") |> E.lessThanOrEqual (float 10000))
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 13 ), ( 20, float 16 ) ])
+ ]
+ , Layer.symbol "water-label"
+ "composite"
+ [ Layer.sourceLayer "water_label"
+ , Layer.minzoom 5
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThan (float 10000))
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 13 ), ( 18, float 18 ) ])
+ ]
+ , Layer.symbol "poi-parks-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ ]
+ )
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "airport-label"
+ "composite"
+ [ Layer.sourceLayer "airport_label"
+ , Layer.minzoom 9
+ , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2))
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 12 ), ( 18, float 18 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 13, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.75 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "ref"))) [ ( 12, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 9)
+ ]
+ , Layer.symbol "place-islet-archipelago-aboriginal"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 16
+ , Layer.filter
+ (E.getProperty (str "type")
+ |> E.matchesStr [ ( "aboriginal_lands", true ), ( "archipelago", true ), ( "islet", true ) ] false
+ )
+ , Layer.textColor (E.rgba 63 71 115 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "place-neighbourhood"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "neighbourhood"))
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.rgba 63 71 115 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 3)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11 ), ( 16, float 16 ) ])
+ ]
+ , Layer.symbol "place-suburb"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "suburb"))
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.rgba 63 71 115 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textPadding (float 3)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 11 ), ( 15, float 18 ) ])
+ ]
+ , Layer.symbol "place-hamlet"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "hamlet"))
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11.5 ), ( 15, float 16 ) ])
+ ]
+ , Layer.symbol "place-village"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 8
+ , Layer.maxzoom 15
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "village"))
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11.5 ), ( 16, float 18 ) ])
+ ]
+ , Layer.symbol "place-town"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 6
+ , Layer.maxzoom 15
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "town"))
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.iconImage (str "dot-9")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 12, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.floats [ 0, -0.15 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 11.5 ), ( 15, float 20 ) ])
+ ]
+ , Layer.symbol "place-island"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "island"))
+ , Layer.textColor (E.rgba 63 71 115 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-sm"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank")
+ |> E.matchesFloat [ ( 0, false ), ( 1, false ), ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 12 ), ( 14, float 22 ) ])
+ , Layer.iconImage (str "dot-9")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.2 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-md-s"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloBlur (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.iconImage (str "dot-10")
+ , Layer.textAnchor (E.zoom |> E.step E.positionTop [ ( 8, E.positionCenter ) ])
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.1 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ ]
+ , Layer.symbol "place-city-md-n"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 1)
+ , Layer.iconImage (str "dot-10")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ ]
+ , Layer.symbol "place-city-lg-s"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 1)
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.15 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionTop [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ ]
+ , Layer.symbol "place-city-lg-n"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textOpacity (float 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 1)
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ ]
+ , Layer.symbol "marine-label-sm-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 100 ), ( 6, float 400 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-sm-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ ]
+ , Layer.symbol "marine-label-md-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 12 ), ( 5, float 20 ) ])
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-md-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 14 ), ( 5, float 20 ) ])
+ ]
+ , Layer.symbol "marine-label-lg-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textLetterSpacing (float 0.25)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ ]
+ , Layer.symbol "marine-label-lg-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Point"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textLetterSpacing (float 0.25)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ ]
+ , Layer.symbol "state-label-sm"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 9
+ , Layer.filter (E.getProperty (str "area") |> E.lessThan (float 20000))
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 10 ), ( 9, float 14 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 6, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "state-label-md"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "area") |> E.lessThan (float 80000)
+ , E.getProperty (str "area") |> E.greaterThanOrEqual (float 20000)
+ ]
+ )
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 10 ), ( 8, float 16 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 5, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "state-label-lg"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThanOrEqual (float 80000))
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 10 ), ( 7, float 18 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textPadding (float 1)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 4, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "country-label-sm"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 10
+ , Layer.filter (E.getProperty (str "scalerank") |> E.greaterThanOrEqual (float 5))
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 2, E.rgba 255 255 255 0.75 ), ( 3, E.rgba 255 255 255 1 ) ]
+ )
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 14 ), ( 9, float 22 ) ])
+ ]
+ , Layer.symbol "country-label-md"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 8
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ) ] false)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 2, E.rgba 255 255 255 0.75 ), ( 3, E.rgba 255 255 255 1 ) ]
+ )
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "code"))) [ ( 2, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 10 ), ( 8, float 24 ) ])
+ ]
+ , Layer.symbol "country-label-lg"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 1, true ), ( 2, true ) ] false)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 2, E.rgba 255 255 255 0.75 ), ( 3, E.rgba 255 255 255 1 ) ]
+ )
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 5 ), ( 3, float 6 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 10 ), ( 6, float 24 ) ])
+ ]
+ ]
+ , sources = [ Source.vectorFromUrl "composite" "mapbox://mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v7" ]
+ , misc =
+ [ Style.sprite "mapbox://sprites/mapbox/outdoors-v9"
+ , Style.glyphs "mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
+ , Style.name "Mapbox Outdoors"
+ ]
+ }
diff --git a/examples/Styles/Satellite.elm b/examples/Styles/Satellite.elm
new file mode 100644
index 0000000..77a7f06
--- /dev/null
+++ b/examples/Styles/Satellite.elm
@@ -0,0 +1,24 @@
+module Styles.Satellite exposing (style)
+
+import Mapbox.Expression as E
+import Mapbox.Layer as Layer
+import Mapbox.Source as Source
+import Mapbox.Style as Style exposing (Style(..))
+
+
+style : Style
+style =
+ Style
+ { transition = Style.defaultTransition
+ , light = Style.defaultLight
+ , layers =
+ [ Layer.background "background" [ Layer.backgroundColor (E.rgba 4 7 14 1) ]
+ , Layer.raster "satellite" "mapbox" [ Layer.sourceLayer "mapbox_satellite_full" ]
+ ]
+ , sources = [ Source.rasterFromUrl "mapbox" "mapbox://mapbox.satellite" ]
+ , misc =
+ [ Style.sprite "mapbox://sprites/mapbox/satellite-v9"
+ , Style.glyphs "mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
+ , Style.name "Satellite"
+ ]
+ }
diff --git a/examples/Styles/SatelliteStreets.elm b/examples/Styles/SatelliteStreets.elm
new file mode 100644
index 0000000..b51050d
--- /dev/null
+++ b/examples/Styles/SatelliteStreets.elm
@@ -0,0 +1,2939 @@
+module Styles.SatelliteStreets exposing (style)
+
+import Mapbox.Expression as E exposing (false, float, str, true)
+import Mapbox.Layer as Layer
+import Mapbox.Source as Source
+import Mapbox.Style as Style exposing (Style(..))
+
+
+style : Style
+style =
+ Style
+ { transition = Style.defaultTransition
+ , light = Style.defaultLight
+ , layers =
+ [ Layer.background "background" [ Layer.backgroundColor (E.rgba 4 7 14 1) ]
+ , Layer.raster "mapbox-mapbox-satellite" "mapbox://mapbox.satellite" []
+ , Layer.line "tunnel-secondary-tertiary case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 12 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 12 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 242 232 232 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 242 232 232 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 16, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0.5 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0.5 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 219 219 219 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.25 ), ( 15, float 0.4 ), ( 16, float 0.75 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 1 ), ( 18, float 2.5 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 242 232 232 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-pedestrian case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 249 247 244 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0.5 ) ])
+ , Layer.lineWidth (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 1 ] ), ( 16, E.floats [ 1, 2 ] ) ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-service-link-track case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 143 141 141 1 ), ( 10, E.rgba 191 191 191 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0.5 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 12 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 42 42 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.5 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 42 42 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.5 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 42 42 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 11.5, float 0 ), ( 12.5, float 0.65 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 12 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 212 210 210 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "tunnel-oneway-arrows-blue-minor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.iconImage (str "oneway-spaced-white-large")
+ ]
+ , Layer.symbol "tunnel-oneway-arrows-blue-major"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "primary", true )
+ , ( "secondary", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ , ( "tertiary", true )
+ ]
+ false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.iconImage (str "oneway-spaced-white-large")
+ ]
+ , Layer.line "tunnel-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 206 193 68 1 ), ( 18, E.rgba 209 210 208 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "tunnel-oneway-arrows-white"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "motorway", true ), ( "motorway_link", true ), ( "trunk", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true
+ ]
+ ]
+ )
+ , Layer.iconImage (str "oneway-spaced-white-large")
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.symbolSpacing (float 150)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "ferry"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "type") |> E.isEqual (str "ferry") ])
+ , Layer.lineColor (E.rgba 219 219 219 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.5, float 0 ), ( 8, float 0.15 ), ( 16, float 0.5 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 18, float 2.5 ) ])
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 3.5, 2 ]) [ ( 14, E.floats [ 2, 1 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "ferry, auto"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "type") |> E.isEqual (str "ferry_auto")
+ ]
+ )
+ , Layer.lineColor (E.rgba 219 219 219 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.5, float 0 ), ( 8, float 0.15 ), ( 16, float 0.5 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 18, float 2.5 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "ferry-label"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "ferry"))
+ , Layer.textColor (E.rgba 247 248 252 1)
+ , Layer.textOpacity (float 1)
+ , Layer.textHaloColor (E.rgba 7 7 7 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textHaloWidth (float 1.75)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textMaxWidth (float 7)
+ , Layer.symbolPlacement E.symbolPlacementLine
+ ]
+ , Layer.line "road-link case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 143 141 141 1 ), ( 10, E.rgba 191 191 191 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 16, float 2 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.maxzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, E.rgba 43 42 42 1 ), ( 14, E.rgba 137 137 132 1 ), ( 18, E.rgba 33 32 32 1 ) ]
+ )
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 7, float 0 ), ( 10, float 0.5 ), ( 14, float 1 ), ( 16, float 0 ) ]
+ )
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0.75 ), ( 12, float 0.65 ), ( 18, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 14, float 2 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0.5 ), ( 18, float 2 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 11, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 11, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "crossing", false ), ( "piste", false ), ( "sidewalk", false ), ( "steps", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 219 219 219 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 1 ), ( 18, float 2.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.25 ), ( 15, float 0.4 ), ( 16, float 0.75 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 184 172 64 1 ), ( 18, E.rgba 209 210 208 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 219 219 219 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 1 ), ( 18, float 2.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.25 ), ( 15, float 0.4 ), ( 16, float 0.75 ) ])
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 1 ] ), ( 16, E.floats [ 1, 2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "o")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 143 141 141 1 ), ( 10, E.rgba 191 191 191 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 42 42 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.25 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 42 42 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.5 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 42 42 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 11.5, float 0 ), ( 12.5, float 0.65 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "primary", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 244 244 244 1 ), ( 10, E.rgba 212 210 210 1 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0.25 ), ( 8, float 0.6 ), ( 14, float 1 ), ( 16, float 0 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.5 ), ( 12, float 1.75 ), ( 18, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "road-oneway-arrows-blue-minor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-spaced-small") [ ( 17, str "oneway-spaced-large" ) ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ , Layer.iconRotationAlignment E.anchorMap
+ ]
+ , Layer.symbol "road-oneway-arrows-blue-major"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "primary", true )
+ , ( "secondary", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ , ( "tertiary", true )
+ ]
+ false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-spaced-small") [ ( 17, str "oneway-spaced-large" ) ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ , Layer.iconRotationAlignment E.anchorMap
+ ]
+ , Layer.line "road-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 5
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 206 193 68 1 ), ( 18, E.rgba 209 210 208 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "road-oneway-arrows-white"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "motorway", true ), ( "motorway_link", true ), ( "trunk", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true
+ ]
+ ]
+ )
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-spaced-small") [ ( 17, str "oneway-spaced-large" ) ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "bridge-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, E.rgba 43 42 42 1 ), ( 14, E.rgba 137 137 132 1 ), ( 18, E.rgba 33 32 32 1 ) ]
+ )
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 7, float 0 ), ( 10, float 0.5 ), ( 14, float 1 ), ( 16, float 0 ) ]
+ )
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.maxzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0.75 ), ( 12, float 0.65 ), ( 18, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 14, float 2 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 16, float 2 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0.5 ), ( 18, float 2 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 11, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 219 219 219 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 1 ), ( 18, float 2.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.25 ), ( 15, float 0.4 ), ( 16, float 0.75 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 184 172 64 1 ), ( 18, E.rgba 209 210 208 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 42 42 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.25 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 42 42 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.5 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 43 42 42 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 11.5, float 0 ), ( 12.5, float 0.65 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 244 244 244 1 ), ( 10, E.rgba 212 210 210 1 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, float 0.25 ), ( 8, float 0.6 ), ( 14, float 1 ), ( 16, float 0 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.5 ), ( 12, float 1.75 ), ( 18, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "bridge-oneway-arrows-blue-minor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-spaced-small") [ ( 17, str "oneway-spaced-large" ) ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ , Layer.iconRotationAlignment E.anchorMap
+ ]
+ , Layer.symbol "bridge-oneway-arrows-blue-major"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "primary", true )
+ , ( "secondary", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ , ( "tertiary", true )
+ ]
+ false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-spaced-small") [ ( 17, str "oneway-spaced-large" ) ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ , Layer.iconRotationAlignment E.anchorMap
+ ]
+ , Layer.line "bridge-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 5
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 206 193 68 1 ), ( 18, E.rgba 209 210 208 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.maxzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0.75 ), ( 12, float 0.65 ), ( 18, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 14, float 2 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 16, float 2 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.maxzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 0.5 ), ( 8, float 0.85 ), ( 14, float 0.2 ), ( 16, float 0 ) ]
+ )
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.maxzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 184 172 64 1 ), ( 18, E.rgba 209 210 208 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 206 193 68 1 ), ( 18, E.rgba 209 210 208 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "bridge-oneway-arrows-white"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "motorway", true ), ( "motorway_link", true ), ( "trunk", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true
+ ]
+ ]
+ )
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-spaced-small") [ ( 17, str "oneway-spaced-large" ) ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "aerialway-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.any
+ [ E.conditionally
+ [ ( E.typeof (E.getProperty (str "class")) |> E.isEqual (str "string")
+ , E.getProperty (str "class") |> E.isEqual (str "aerialway")
+ )
+ ]
+ false
+ , E.conditionally
+ [ ( E.typeof (E.getProperty (str "type")) |> E.isEqual (str "string")
+ , E.getProperty (str "type") |> E.isEqual (str "piste")
+ )
+ ]
+ false
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 115 113 113 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12.5, float 0 ), ( 14, float 0.25 ), ( 16, float 0.75 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.5 ), ( 18, float 2.5 ) ])
+ , Layer.lineBlur (float 1)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "aerialway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.any
+ [ E.conditionally
+ [ ( E.typeof (E.getProperty (str "class")) |> E.isEqual (str "string")
+ , E.getProperty (str "class") |> E.isEqual (str "aerialway")
+ )
+ ]
+ false
+ , E.conditionally
+ [ ( E.typeof (E.getProperty (str "type")) |> E.isEqual (str "string")
+ , E.getProperty (str "type") |> E.isEqual (str "piste")
+ )
+ ]
+ false
+ ]
+ ]
+ )
+ , Layer.lineColor (E.rgba 219 219 219 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 12.5, float 0.25 ), ( 16, float 0.75 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 18, float 2.5 ) ])
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 3.5, 2 ]) [ ( 22, E.floats [ 2, 1 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "admin-3-4-boundaries-bg"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 0, E.rgba 155 183 132 0.77 ), ( 6, E.rgba 155 183 132 0.77 ), ( 8, E.rgba 57 99 22 0.77 ) ]
+ )
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 0.2 ), ( 8, float 0.35 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 2.5 ), ( 10, float 4.5 ) ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 8, float 3 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinBevel
+ ]
+ , Layer.line "admin-2-boundaries-bg"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.rgba 242 242 242 0.77)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 3.5 ), ( 10, float 10 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 0.1 ), ( 8, float 0.35 ) ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 10, float 2 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "admin-3-4-boundaries"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.rgba 0 0 0 0.72)
+ , Layer.lineDasharray (E.floats [ 5, 2.5 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 1 ), ( 12, float 0.5 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 1 ), ( 9, float 1.75 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "admin-2-boundaries"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 0)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.rgba 0 0 0 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 0.5 ), ( 6, float 0.75 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 0.75 ), ( 4, float 3 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "admin-2-boundaries offset"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 0)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.rgba 235 233 233 0.72)
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineWidth
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 0, float 0.5 ), ( 4, float 0.75 ), ( 9, float 1.5 ), ( 12, float 2 ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 0.25 ), ( 4, float 0.5 ), ( 8, float 0.75 ) ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 1.5 ), ( 4, float 0.75 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "admin-2-boundaries-dispute"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 1)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.rgba 0 0 0 1)
+ , Layer.lineDasharray (E.floats [ 4, 8 ])
+ , Layer.lineWidth (float 0.75)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 1 ), ( 12, float 0.75 ), ( 16, float 0 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "waterway-label"
+ "composite"
+ [ Layer.sourceLayer "waterway_label"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.getProperty (str "class")
+ |> E.matchesStr [ ( "canal", true ), ( "river", true ), ( "stream", true ) ] false
+ )
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0.5 ), ( 14, float 1.5 ) ])
+ , Layer.textHaloColor (E.rgba 22 22 22 1)
+ , Layer.textColor (E.rgba 117 207 240 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textMaxAngle (float 30)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 12 ), ( 18, float 16 ) ])
+ ]
+ , Layer.symbol "poi-scalerank4-l15"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.greaterThanOrEqual (float 15)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 234 234 234 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 42 39 39 1 ) ])
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank4-l1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.lessThan (float 14)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 234 234 234 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 42 39 39 1 ) ])
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank4"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 135 204 101 1)
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 46 45 45 1 ) ])
+ , Layer.iconOpacity (float 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage (E.zoom |> E.step (str "") [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium Italic", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.lessThanOrEqual (float 3)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ ]
+ )
+ , Layer.textColor (E.rgba 234 234 234 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 42 39 39 1 ) ])
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ ]
+ )
+ , Layer.textColor (E.rgba 135 204 101 1)
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 46 45 45 1 ) ])
+ , Layer.iconOpacity (float 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage (E.zoom |> E.step (str "") [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium Italic", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "road-label-small"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "ferry", false )
+ , ( "link", false )
+ , ( "motorway", false )
+ , ( "pedestrian", false )
+ , ( "primary", false )
+ , ( "secondary", false )
+ , ( "street", false )
+ , ( "street_limited", false )
+ , ( "tertiary", false )
+ , ( "trunk", false )
+ ]
+ true
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 41 39 39 1 ) ])
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 10 ), ( 20, float 13 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 14, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ ]
+ , Layer.symbol "road-label-medium"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "pedestrian", true ), ( "street", true ), ( "street_limited", true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 41 39 39 1 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 10 ), ( 20, float 14 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ ]
+ , Layer.symbol "road-label-large"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 12
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false)
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 41 39 39 1 ) ])
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 10 ), ( 20, float 16 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ ]
+ , Layer.symbol "road-label-xlarge"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter
+ (E.getProperty (str "class")
+ |> E.matchesStr [ ( "motorway", true ), ( "primary", true ), ( "trunk", true ) ] false
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 41 39 39 1 ) ])
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 10 ), ( 20, float 16 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ ]
+ , Layer.symbol "road-shields-black"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "motorway", true )
+ , ( "motorway_link", true )
+ , ( "primary", true )
+ , ( "secondary", true )
+ , ( "trunk", true )
+ ]
+ false
+ , E.getProperty (str "localrank") |> E.matchesFloat [ ( 1, true ), ( 2, true ) ] false
+ , E.getProperty (str "reflen") |> E.lessThanOrEqual (float 6)
+ , E.getProperty (str "shield")
+ |> E.matchesStr
+ [ ( "at-expressway", false )
+ , ( "at-motorway", false )
+ , ( "at-state-b", false )
+ , ( "bg-motorway", false )
+ , ( "bg-national", false )
+ , ( "ch-main", false )
+ , ( "ch-motorway", false )
+ , ( "cz-expressway", false )
+ , ( "cz-motorway", false )
+ , ( "cz-road", false )
+ , ( "de-motorway", false )
+ , ( "e-road", false )
+ , ( "fi-main", false )
+ , ( "gr-motorway", false )
+ , ( "gr-national", false )
+ , ( "hr-motorway", false )
+ , ( "hr-state", false )
+ , ( "hu-main", false )
+ , ( "hu-motorway", false )
+ , ( "nz-state", false )
+ , ( "pl-expressway", false )
+ , ( "pl-motorway", false )
+ , ( "pl-national", false )
+ , ( "ro-county", false )
+ , ( "ro-motorway", false )
+ , ( "ro-national", false )
+ , ( "rs-motorway", false )
+ , ( "rs-state-1b", false )
+ , ( "se-main", false )
+ , ( "si-expressway", false )
+ , ( "si-motorway", false )
+ , ( "sk-highway", false )
+ , ( "sk-road", false )
+ , ( "us-interstate", false )
+ , ( "us-interstate-business", false )
+ , ( "us-interstate-duplex", false )
+ , ( "us-interstate-truck", false )
+ , ( "za-metropolitan", false )
+ , ( "za-national", false )
+ , ( "za-provincial", false )
+ , ( "za-regional", false )
+ ]
+ true
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.iconHaloColor (E.rgba 0 0 0 1)
+ , Layer.iconHaloWidth (float 1)
+ , Layer.textOpacity (float 1)
+ , Layer.iconColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0)
+ , Layer.textSize (float 9)
+ , Layer.iconImage (E.getProperty (str "shield") |> E.append (str "-") |> E.append (E.getProperty (str "reflen")))
+ , Layer.iconRotationAlignment E.anchorViewport
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 150 ), ( 14, float 200 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.symbolPlacement (E.zoom |> E.step E.symbolPlacementPoint [ ( 11, E.symbolPlacementLine ) ])
+ , Layer.textPadding (float 2)
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ref")))
+ , Layer.textLetterSpacing (float 0.05)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "road-shields-white"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "motorway", true )
+ , ( "motorway_link", true )
+ , ( "primary", true )
+ , ( "secondary", true )
+ , ( "trunk", true )
+ ]
+ false
+ , E.getProperty (str "reflen") |> E.lessThanOrEqual (float 6)
+ , E.getProperty (str "shield")
+ |> E.matchesStr
+ [ ( "at-expressway", true )
+ , ( "at-motorway", true )
+ , ( "at-state-b", true )
+ , ( "bg-motorway", true )
+ , ( "bg-national", true )
+ , ( "ch-main", true )
+ , ( "ch-motorway", true )
+ , ( "cz-expressway", true )
+ , ( "cz-motorway", true )
+ , ( "cz-road", true )
+ , ( "de-motorway", true )
+ , ( "e-road", true )
+ , ( "fi-main", true )
+ , ( "gr-motorway", true )
+ , ( "gr-national", true )
+ , ( "hr-motorway", true )
+ , ( "hr-state", true )
+ , ( "hu-main", true )
+ , ( "hu-motorway", true )
+ , ( "nz-state", true )
+ , ( "pl-expressway", true )
+ , ( "pl-motorway", true )
+ , ( "pl-national", true )
+ , ( "ro-county", true )
+ , ( "ro-motorway", true )
+ , ( "ro-national", true )
+ , ( "rs-motorway", true )
+ , ( "rs-state-1b", true )
+ , ( "se-main", true )
+ , ( "si-expressway", true )
+ , ( "si-motorway", true )
+ , ( "sk-highway", true )
+ , ( "sk-road", true )
+ , ( "us-interstate", true )
+ , ( "us-interstate-business", true )
+ , ( "us-interstate-duplex", true )
+ , ( "us-interstate-truck", true )
+ , ( "za-metropolitan", true )
+ , ( "za-national", true )
+ , ( "za-provincial", true )
+ , ( "za-regional", true )
+ ]
+ false
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.iconHaloColor (E.rgba 0 0 0 1)
+ , Layer.iconHaloWidth (float 1)
+ , Layer.textOpacity (float 1)
+ , Layer.iconColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0)
+ , Layer.textSize (float 9)
+ , Layer.iconImage (E.getProperty (str "shield") |> E.append (str "-") |> E.append (E.getProperty (str "reflen")))
+ , Layer.iconRotationAlignment E.anchorViewport
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 150 ), ( 14, float 200 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.symbolPlacement (E.zoom |> E.step E.symbolPlacementPoint [ ( 11, E.symbolPlacementLine ) ])
+ , Layer.textPadding (float 2)
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ref")))
+ , Layer.textLetterSpacing (float 0.05)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "motorway-junction"
+ "composite"
+ [ Layer.sourceLayer "motorway_junction"
+ , Layer.minzoom 14
+ , Layer.filter (E.getProperty (str "reflen") |> E.greaterThan (float 0))
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textTranslate (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ref")))
+ , Layer.textSize (float 9)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Regular" ])
+ , Layer.iconImage (str "motorway-exit-" |> E.append (E.getProperty (str "reflen")))
+ ]
+ , Layer.symbol "poi-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.lessThanOrEqual (float 3)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ ]
+ )
+ , Layer.textColor (E.rgba 234 234 234 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 42 39 39 1 ) ])
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ ]
+ )
+ , Layer.textColor (E.rgba 135 204 101 1)
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 46 45 45 1 ) ])
+ , Layer.iconOpacity (float 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage (E.zoom |> E.step (str "") [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium Italic", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "rail-label"
+ "composite"
+ [ Layer.sourceLayer "rail_station_label"
+ , Layer.minzoom 12
+ , Layer.filter (E.getProperty (str "maki") |> E.notEqual (str "entrance"))
+ , Layer.textColor (E.rgba 234 234 234 1)
+ , Layer.textHaloColor (E.rgba 63 63 63 1)
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 0.5 ), ( 16, float 1.5 ) ])
+ , Layer.iconHaloWidth (float 4)
+ , Layer.iconHaloColor (E.rgba 255 255 255 1)
+ , Layer.textOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.toString (E.getProperty (str "network")))
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.85 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.zoom |> E.step (E.toFormattedText (str "")) [ ( 13, E.toFormattedText (E.getProperty (str "name_en")) ) ])
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.iconPadding (float 0)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "water-label-sm"
+ "composite"
+ [ Layer.sourceLayer "water_label"
+ , Layer.minzoom 15
+ , Layer.filter (E.getProperty (str "area") |> E.lessThanOrEqual (float 10000))
+ , Layer.textColor (E.rgba 117 207 240 1)
+ , Layer.textHaloColor (E.rgba 22 22 22 1)
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0.5 ), ( 14, float 1 ) ])
+ , Layer.textHaloBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0.5 ), ( 15, float 1 ) ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 13 ), ( 20, float 16 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ ]
+ , Layer.symbol "water-label"
+ "composite"
+ [ Layer.sourceLayer "water_label"
+ , Layer.minzoom 5
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThan (float 10000))
+ , Layer.textColor (E.rgba 117 207 240 1)
+ , Layer.textHaloColor (E.rgba 22 22 22 1)
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0.5 ), ( 14, float 1 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 13 ), ( 18, float 18 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ ]
+ , Layer.symbol "poi-parks-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ ]
+ )
+ , Layer.textColor (E.rgba 135 204 101 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 46 45 45 1 ) ])
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.iconOpacity (float 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 14 ) ])
+ , Layer.iconImage (E.zoom |> E.step (str "") [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium Italic", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ ]
+ )
+ , Layer.textColor (E.rgba 234 234 234 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 25 25 25 1 ), ( 16, E.rgba 42 39 39 1 ) ])
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1.25 ), ( 15, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "airport-label"
+ "composite"
+ [ Layer.sourceLayer "airport_label"
+ , Layer.minzoom 9
+ , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2))
+ , Layer.textColor (E.rgba 234 234 234 1)
+ , Layer.textHaloColor (E.rgba 63 63 63 1)
+ , Layer.textHaloWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 0.5 ), ( 16, float 1.5 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.iconOpacity (float 0.8)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 12 ), ( 18, float 18 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 13, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.75 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "ref"))) [ ( 12, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 7 ), ( 12, float 8 ), ( 16, float 10 ) ])
+ ]
+ , Layer.symbol "place-islets"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "islet"))
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "place-neighbourhood"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "neighbourhood"))
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textLineHeight (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11 ), ( 16, float 16 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 3)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-suburb"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "suburb"))
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textLineHeight (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11 ), ( 15, float 18 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 3)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-hamlet"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "hamlet"))
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textLineHeight (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11.5 ), ( 15, float 16 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 3)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-village"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 8
+ , Layer.maxzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.lessThanOrEqual (float 12)
+ , E.getProperty (str "type") |> E.isEqual (str "village")
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 0.9 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11.5 ), ( 16, float 18 ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 6, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.floats [ 0, -0.15 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.iconSize (float 1)
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-town"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 6
+ , Layer.maxzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.lessThanOrEqual (float 12)
+ , E.getProperty (str "type") |> E.isEqual (str "town")
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 0.9 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 11.5 ), ( 15, float 20 ) ])
+ , Layer.iconImage (str "dot-9")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 6, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.floats [ 0, -0.15 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.iconSize (float 1)
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-islands"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "island"))
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-sm"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank")
+ |> E.matchesFloat [ ( 0, false ), ( 1, false ), ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloWidth (float 1.75)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 0.9 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 12 ), ( 14, float 22 ) ])
+ , Layer.iconImage (str "dot-9")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 6, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.2 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.iconSize (float 1)
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0.02 ), ( 6, float 0.07 ) ])
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-md-s"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textHaloWidth (float 1.5)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 0.9 ), ( 8, float 0 ) ])
+ , Layer.textOpacity (float 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.iconImage (str "dot-10")
+ , Layer.textAnchor (E.zoom |> E.step E.positionTop [ ( 8, E.positionCenter ) ])
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.1 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ , Layer.iconSize (float 1)
+ ]
+ , Layer.symbol "place-city-md-n"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloWidth (float 1.5)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 0.9 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textOpacity (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ , Layer.iconImage (str "dot-10")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-lg-s"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloWidth (float 1.5)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 0.9 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textTranslate (E.floats [ 0, -0.75 ])
+ , Layer.textOpacity (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.15 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionTop [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-lg-n"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textOpacity (float 1)
+ , Layer.textHaloColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 45 45 45 1 ), ( 12, E.rgba 36 34 34 1 ) ])
+ , Layer.textHaloWidth (float 1.5)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textTranslate (E.floats [ 0, 0 ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "marine-label-sm-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 72 88 131 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 100 ), ( 6, float 400 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-sm-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 72 88 131 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ ]
+ , Layer.symbol "marine-label-md-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 72 88 131 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 12 ), ( 5, float 20 ) ])
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-md-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 72 88 131 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 14 ), ( 5, float 20 ) ])
+ ]
+ , Layer.symbol "marine-label-lg-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.textColor (E.rgba 72 88 131 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ , Layer.textLineHeight (float 1.1)
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textLetterSpacing (float 0.25)
+ ]
+ , Layer.symbol "marine-label-lg-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Point"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.textColor (E.rgba 72 88 131 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textLetterSpacing (float 0.25)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ ]
+ , Layer.symbol "state-label-sm"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 9
+ , Layer.filter (E.getProperty (str "area") |> E.lessThan (float 20000))
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.rgba 44 45 46 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textOpacity (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 10 ), ( 9, float 14 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 6, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "state-label-md"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "area") |> E.lessThan (float 80000)
+ , E.getProperty (str "area") |> E.greaterThanOrEqual (float 20000)
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.rgba 44 45 46 1)
+ , Layer.textHaloWidth (float 2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 10 ), ( 8, float 16 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 5, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "state-label-lg"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThanOrEqual (float 80000))
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.rgba 44 45 46 1)
+ , Layer.textOpacity (float 1)
+ , Layer.textHaloWidth (float 2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 10 ), ( 7, float 18 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textPadding (float 1)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 4, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "country-label-sm"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 10
+ , Layer.filter (E.getProperty (str "scalerank") |> E.greaterThanOrEqual (float 5))
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 0, E.rgba 44 45 46 1 ), ( 4, E.rgba 30 30 30 1 ), ( 8, E.rgba 5 5 5 1 ) ]
+ )
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 14 ), ( 9, float 22 ) ])
+ ]
+ , Layer.symbol "country-label-md"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 8
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ) ] false)
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 0, E.rgba 44 45 46 1 ), ( 4, E.rgba 30 30 30 1 ), ( 8, E.rgba 5 5 5 1 ) ]
+ )
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "code"))) [ ( 2, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 10 ), ( 8, float 24 ) ])
+ ]
+ , Layer.symbol "country-label-lg"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 1, true ), ( 2, true ) ] false)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 0, E.rgba 44 45 46 1 ), ( 4, E.rgba 30 30 30 1 ), ( 8, E.rgba 5 5 5 1 ) ]
+ )
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 5 ), ( 3, float 6 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 10 ), ( 6, float 24 ) ])
+ ]
+ ]
+ , sources =
+ [ Source.vectorFromUrl "composite" "mapbox://mapbox.mapbox-streets-v7"
+ , Source.rasterFromUrl "mapbox://mapbox.satellite" "mapbox://mapbox.satellite"
+ ]
+ , misc =
+ [ Style.sprite "mapbox://sprites/mapbox/satellite-streets-v9"
+ , Style.glyphs "mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
+ , Style.name "Mapbox Satellite Streets"
+ ]
+ }
diff --git a/examples/Styles/Streets.elm b/examples/Styles/Streets.elm
new file mode 100644
index 0000000..1e7c300
--- /dev/null
+++ b/examples/Styles/Streets.elm
@@ -0,0 +1,3737 @@
+module Styles.Streets exposing (style)
+
+import Mapbox.Expression as E exposing (false, float, str, true)
+import Mapbox.Layer as Layer
+import Mapbox.Source as Source
+import Mapbox.Style as Style exposing (Style(..))
+
+
+style : Style
+style =
+ Style
+ { transition = Style.defaultTransition
+ , light = Style.defaultLight
+ , layers =
+ [ Layer.background "background"
+ [ Layer.backgroundColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, E.rgba 239 233 224 1 ), ( 13, E.rgba 230 227 223 1 ) ])
+ ]
+ , Layer.fill "landcover_snow"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (E.rgba 255 250 250 1))
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (float 0.2)
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_wood"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "wood"))
+ , Layer.fillColor (E.rgba 221 236 176 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 7, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_scrub"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "scrub"))
+ , Layer.fillColor (E.rgba 221 236 176 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 7, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_grass"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "grass"))
+ , Layer.fillColor (E.rgba 221 236 176 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 7, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "landcover_crop"
+ "composite"
+ [ Layer.sourceLayer "landcover"
+ , Layer.maxzoom 14
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "crop"))
+ , Layer.fillColor (E.rgba 221 236 176 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 7, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "national_park"
+ "composite"
+ [ Layer.sourceLayer "landuse_overlay"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park"))
+ , Layer.fillColor (E.rgba 181 229 158 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 0.5 ) ])
+ ]
+ , Layer.fill "hospital"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "hospital"))
+ , Layer.fillColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 15.5, E.rgba 234 209 217 1 ), ( 16, E.rgba 244 209 221 1 ) ]
+ )
+ ]
+ , Layer.fill "school"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "school"))
+ , Layer.fillColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 15.5, E.rgba 229 221 183 1 ), ( 16, E.rgba 239 231 188 1 ) ]
+ )
+ ]
+ , Layer.fill "park"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "park"))
+ , Layer.fillColor (E.rgba 181 229 158 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 1 ) ])
+ ]
+ , Layer.fill "pitch"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "pitch"))
+ , Layer.fillColor (E.rgba 170 224 142 1)
+ ]
+ , Layer.line "pitch-line"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.minzoom 15
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "pitch"))
+ , Layer.lineColor (E.rgba 225 237 190 1)
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.fill "cemetery"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "cemetery"))
+ , Layer.fillColor (E.rgba 215 224 188 1)
+ ]
+ , Layer.fill "industrial"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "industrial"))
+ , Layer.fillColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 15.5, E.rgba 213 215 224 1 ), ( 16, E.rgba 218 221 235 1 ) ]
+ )
+ ]
+ , Layer.fill "sand"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "sand"))
+ , Layer.fillColor (E.rgba 237 237 206 1)
+ ]
+ , Layer.fill "hillshade_highlight_bright"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 94))
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.12 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_highlight_med"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 90))
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.12 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_faint"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 89))
+ , Layer.fillColor (E.rgba 89 84 23 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.05 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_med"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 78))
+ , Layer.fillColor (E.rgba 89 84 23 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.05 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_dark"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 67))
+ , Layer.fillColor (E.rgba 89 84 23 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.06 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.fill "hillshade_shadow_extreme"
+ "composite"
+ [ Layer.sourceLayer "hillshade"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 56))
+ , Layer.fillColor (E.rgba 89 84 23 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.06 ), ( 16, float 0 ) ])
+ , Layer.fillAntialias false
+ ]
+ , Layer.line "waterway-river-canal"
+ "composite"
+ [ Layer.sourceLayer "waterway"
+ , Layer.minzoom 8
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", true ), ( "river", true ) ] false)
+ , Layer.lineColor (E.rgba 140 202 247 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.3) [ ( 8.5, float 0.1 ), ( 20, float 8 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, float 0 ), ( 8.5, float 1 ) ])
+ , Layer.lineCap (E.zoom |> E.step E.lineCapButt [ ( 11, E.lineCapRound ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "waterway-small"
+ "composite"
+ [ Layer.sourceLayer "waterway"
+ , Layer.minzoom 13
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", false ), ( "river", false ) ] true)
+ , Layer.lineColor (E.rgba 140 202 247 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.35) [ ( 13.5, float 0.1 ), ( 20, float 3 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.fill "water-shadow"
+ "composite"
+ [ Layer.sourceLayer "water"
+ , Layer.fillColor (E.rgba 109 164 242 1)
+ , Layer.fillTranslate (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 7, E.floats [ 0, 0 ] ), ( 16, E.floats [ -1, -1 ] ) ])
+ , Layer.fillTranslateAnchor E.anchorViewport
+ , Layer.fillOpacity (float 1)
+ ]
+ , Layer.fill "water" "composite" [ Layer.sourceLayer "water", Layer.fillColor (E.rgba 117 207 239 1) ]
+ , Layer.fill "barrier_line-land-polygon"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Polygon"), E.getProperty (str "class") |> E.isEqual (str "land") ])
+ , Layer.fillColor (E.rgba 230 227 223 1)
+ ]
+ , Layer.line "barrier_line-land-line"
+ "composite"
+ [ Layer.sourceLayer "barrier_line"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "class") |> E.isEqual (str "land") ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.99) [ ( 14, float 0.75 ), ( 20, float 40 ) ])
+ , Layer.lineColor (E.rgba 230 227 223 1)
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.fill "aeroway-polygon"
+ "composite"
+ [ Layer.sourceLayer "aeroway"
+ , Layer.minzoom 11
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Polygon"), E.getProperty (str "type") |> E.notEqual (str "apron") ])
+ , Layer.fillColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 198 202 219 1 ), ( 16, E.rgba 199 204 229 1 ) ])
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.5, float 1 ) ])
+ ]
+ , Layer.line "aeroway-runway"
+ "composite"
+ [ Layer.sourceLayer "aeroway"
+ , Layer.minzoom 9
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "type") |> E.isEqual (str "runway") ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 198 202 219 1 ), ( 16, E.rgba 199 204 229 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 9, float 1 ), ( 18, float 80 ) ])
+ ]
+ , Layer.line "aeroway-taxiway"
+ "composite"
+ [ Layer.sourceLayer "aeroway"
+ , Layer.minzoom 9
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "type") |> E.isEqual (str "taxiway")
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 198 202 219 1 ), ( 16, E.rgba 199 204 229 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 0.5 ), ( 18, float 20 ) ])
+ ]
+ , Layer.line "building-line"
+ "composite"
+ [ Layer.sourceLayer "building"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "building:part")
+ , E.getProperty (str "underground") |> E.isEqual (str "false")
+ ]
+ )
+ , Layer.lineColor (E.rgba 204 201 198 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 0.75 ), ( 20, float 3 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15.5, float 0 ), ( 16, float 1 ) ])
+ ]
+ , Layer.fill "building"
+ "composite"
+ [ Layer.sourceLayer "building"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "type") |> E.notEqual (str "building:part")
+ , E.getProperty (str "underground") |> E.isEqual (str "false")
+ ]
+ )
+ , Layer.fillColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 227 224 221 1 ), ( 16, E.rgba 219 217 213 1 ) ])
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15.5, float 0 ), ( 16, float 1 ) ])
+ , Layer.fillOutlineColor (E.rgba 204 201 198 1)
+ ]
+ , Layer.line "tunnel-street-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-service-link-track-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 179 183 203 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 3, 3 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-construction"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "tunnel-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineColor (E.rgba 245 242 238 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 16, float 1.6 ), ( 18, float 6 ) ])
+ , Layer.lineColor (E.rgba 245 242 238 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 242 221 155 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 191 142 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-service-link-track"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 239 237 234 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "tunnel-oneway-arrows-blue-minor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 18, str "oneway-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "tunnel-oneway-arrows-blue-major"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "primary", true )
+ , ( "secondary", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ , ( "tertiary", true )
+ ]
+ false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 17, str "oneway-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "tunnel-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 242 221 155 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "tunnel-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineColor (E.rgba 255 191 142 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "tunnel-oneway-arrows-white"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "motorway", true ), ( "motorway_link", true ), ( "trunk", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "tunnel")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-white-small") [ ( 17, str "oneway-white-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "ferry"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "type") |> E.isEqual (str "ferry") ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 91 172 229 1 ), ( 17, E.rgba 91 114 229 1 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 13, E.floats [ 12, 4 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "ferry_auto"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "type") |> E.isEqual (str "ferry_auto")
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 91 172 229 1 ), ( 17, E.rgba 91 114 229 1 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-path-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "crossing", false ), ( "sidewalk", false ), ( "steps", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 18, float 7 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineColor (E.rgba 201 203 216 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 0.75 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-steps-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 17, float 4.6 ), ( 18, float 7 ) ])
+ , Layer.lineColor (E.rgba 201 203 216 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 0.75 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-sidewalk-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.matchesStr [ ( "crossing", true ), ( "sidewalk", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 18, float 7 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineColor (E.rgba 201 203 216 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 0 ), ( 16.25, float 0.75 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "turning-features-outline"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "turning_circle", true ), ( "turning_loop", true ) ] false
+ ]
+ )
+ , Layer.iconImage (str "turning-circle-outline")
+ , Layer.iconSize
+ (E.zoom
+ |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.122 ), ( 18, float 0.969 ), ( 20, float 1 ) ]
+ )
+ , Layer.iconAllowOverlap true
+ , Layer.iconIgnorePlacement true
+ , Layer.iconPadding (float 0)
+ , Layer.iconRotationAlignment E.anchorMap
+ ]
+ , Layer.line "road-pedestrian-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2 ), ( 18, float 14.5 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-service-link-track-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9.99, float 0 ), ( 10, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9.99, float 0 ), ( 10, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 6.1, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-construction"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "road-sidewalks"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.matchesStr [ ( "crossing", true ), ( "sidewalk", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 0 ), ( 16.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "crossing", false ), ( "sidewalk", false ), ( "steps", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 16, float 1.6 ), ( 18, float 6 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 242 208 99 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 162 91 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.fill "road-pedestrian-polygon-fill"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Polygon")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "path", true ), ( "pedestrian", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.fillColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 16, E.rgba 237 238 242 1 ), ( 16.25, E.rgba 247 248 252 1 ) ]
+ )
+ , Layer.fillOutlineColor (E.rgba 216 219 232 1)
+ , Layer.fillOpacity (float 1)
+ ]
+ , Layer.fill "road-pedestrian-polygon-pattern"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 12
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Polygon")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "path", true ), ( "pedestrian", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.fillColor (E.rgba 255 255 255 1)
+ , Layer.fillOutlineColor (E.rgba 215 212 207 1)
+ , Layer.fillPattern (str "pedestrian-polygon")
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 0 ), ( 16.25, float 1 ) ])
+ ]
+ , Layer.line "road-service-link-track"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 239 237 234 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual E.textFitNone
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 239 233 224 1 ), ( 8, E.rgba 255 255 255 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 239 233 224 1 ), ( 7, E.rgba 255 255 255 1 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "road-oneway-arrows-blue-minor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 18, str "oneway-large" ) ])
+ , Layer.iconRotationAlignment E.anchorMap
+ , Layer.iconPadding (float 2)
+ , Layer.symbolSpacing (float 200)
+ ]
+ , Layer.symbol "road-oneway-arrows-blue-major"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "primary", true )
+ , ( "secondary", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ , ( "tertiary", true )
+ ]
+ false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 17, str "oneway-large" ) ])
+ , Layer.iconRotationAlignment E.anchorMap
+ , Layer.iconPadding (float 2)
+ , Layer.symbolSpacing (float 200)
+ ]
+ , Layer.line "road-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 6, E.rgba 255 255 255 1 ), ( 6.1, E.rgba 234 196 71 1 ), ( 9, E.rgba 242 208 99 1 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 242 146 73 1 ), ( 9, E.rgba 255 162 91 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-rail"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, E.rgba 216 214 201 1 ), ( 16, E.rgba 182 184 195 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "road-rail-tracks"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, E.rgba 216 214 201 1 ), ( 16, E.rgba 182 184 195 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 4 ), ( 20, float 8 ) ])
+ , Layer.lineDasharray (E.floats [ 0.1, 15 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.75, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "road-oneway-arrows-white"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "motorway", true ), ( "motorway_link", true ), ( "trunk", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-white-small") [ ( 17, str "oneway-white-large" ) ])
+ , Layer.iconPadding (float 2)
+ , Layer.symbolSpacing (float 200)
+ ]
+ , Layer.symbol "turning-features"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "turning_circle", true ), ( "turning_loop", true ) ] false
+ ]
+ )
+ , Layer.iconImage (str "turning-circle")
+ , Layer.iconSize (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.095 ), ( 18, float 1 ) ])
+ , Layer.iconAllowOverlap true
+ , Layer.iconIgnorePlacement true
+ , Layer.iconPadding (float 0)
+ , Layer.iconRotationAlignment E.anchorMap
+ ]
+ , Layer.line "bridge-path-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 18, float 7 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineColor (E.rgba 201 203 216 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 0 ), ( 15.25, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-steps-bg"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 17, float 4.6 ), ( 18, float 7 ) ])
+ , Layer.lineColor (E.rgba 201 203 216 1)
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 0.75 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-pedestrian-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2 ), ( 18, float 14.5 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited-low"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ]
+ )
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-service-link-track-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-secondary-tertiary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-primary-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "primary")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-construction"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "construction")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 213 216 229 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 0.4, 0.8 ])
+ [ ( 15, E.floats [ 0.3, 0.6 ] )
+ , ( 16, E.floats [ 0.2, 0.3 ] )
+ , ( 17, E.floats [ 0.2, 0.25 ] )
+ , ( 18, E.floats [ 0.15, 0.15 ] )
+ ]
+ )
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "bridge-path"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "path")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-steps"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "steps")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 16, float 1.6 ), ( 18, float 6 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineDasharray
+ (E.zoom
+ |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ]
+ )
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 242 208 99 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 162 91 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-pedestrian"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "pedestrian")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-service-link-track"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 14
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.notEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street_limited"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street_limited")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 239 237 234 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-street"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "street")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-secondary-tertiary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 5, float 0 ), ( 5.5, float 1 ) ])
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-primary"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "primary")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineOpacity (float 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "bridge-oneway-arrows-blue-minor"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 18, str "oneway-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconRotationAlignment E.anchorMap
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "bridge-oneway-arrows-blue-major"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "primary", true )
+ , ( "secondary", true )
+ , ( "street", true )
+ , ( "street_limited", true )
+ , ( "tertiary", true )
+ ]
+ false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 17, str "oneway-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconRotationAlignment E.anchorMap
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "bridge-trunk"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 242 208 99 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer")
+ |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 162 91 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-rail"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, E.rgba 216 214 201 1 ), ( 16, E.rgba 182 184 195 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-rail-tracks"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.matchesStr [ ( "major_rail", true ), ( "minor_rail", true ) ] false
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, E.rgba 216 214 201 1 ), ( 16, E.rgba 182 184 195 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 4 ), ( 20, float 8 ) ])
+ , Layer.lineDasharray (E.floats [ 0.1, 15 ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.75, float 0 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineOpacity (float 1)
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2-case"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 255 255 255 1)
+ , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk_link-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type") |> E.isEqual (str "trunk_link")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 242 208 99 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway_link-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway_link")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ])
+ , Layer.lineColor (E.rgba 255 162 91 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-trunk-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "trunk")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 242 208 99 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "bridge-motorway-2"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class") |> E.isEqual (str "motorway")
+ , E.getProperty (str "layer") |> E.greaterThanOrEqual (float 2)
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ ]
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ])
+ , Layer.lineColor (E.rgba 255 162 91 1)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "bridge-oneway-arrows-white"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 16
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.all
+ [ E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "motorway", true ), ( "motorway_link", true ), ( "trunk", true ) ] false
+ , E.getProperty (str "oneway") |> E.isEqual (str "true")
+ , E.getProperty (str "structure") |> E.isEqual (str "bridge")
+ , E.getProperty (str "type")
+ |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true
+ ]
+ ]
+ )
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.iconImage (E.zoom |> E.step (str "oneway-white-small") [ ( 17, str "oneway-white-large" ) ])
+ , Layer.symbolSpacing (float 200)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.line "aerialway"
+ "composite"
+ [ Layer.sourceLayer "road"
+ , Layer.minzoom 13
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class") |> E.isEqual (str "aerialway")
+ ]
+ )
+ , Layer.lineColor (E.rgba 182 184 195 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.line "admin-3-4-boundaries-bg"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 230 227 223 1 ), ( 16, E.rgba 217 221 241 1 ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 3.75 ), ( 12, float 5.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 0 ), ( 8, float 0.75 ) ])
+ , Layer.lineDasharray (E.floats [ 1, 0 ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 8, float 3 ) ])
+ , Layer.lineJoin E.lineJoinBevel
+ ]
+ , Layer.line "admin-2-boundaries-bg"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 3.5 ), ( 10, float 8 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, E.rgba 230 227 223 1 ), ( 8, E.rgba 217 221 241 1 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 4, float 0.5 ) ])
+ , Layer.lineTranslate (E.floats [ 0, 0 ])
+ , Layer.lineBlur (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinMiter
+ ]
+ , Layer.line "admin-3-4-boundaries"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 2, 0 ]) [ ( 7, E.floats [ 2, 2, 6, 2 ] ) ])
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 0.75 ), ( 12, float 1.5 ) ])
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 2, float 0 ), ( 3, float 1 ) ])
+ , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, E.rgba 188 190 204 1 ), ( 7, E.rgba 150 152 165 1 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.line "admin-2-boundaries"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 0)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineColor (E.rgba 120 123 140 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0.5 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ , Layer.lineCap E.lineCapRound
+ ]
+ , Layer.line "admin-2-boundaries-dispute"
+ "composite"
+ [ Layer.sourceLayer "admin"
+ , Layer.minzoom 1
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "admin_level") |> E.isEqual (float 2)
+ , E.getProperty (str "disputed") |> E.isEqual (float 1)
+ , E.getProperty (str "maritime") |> E.isEqual (float 0)
+ ]
+ )
+ , Layer.lineDasharray (E.floats [ 1.5, 1.5 ])
+ , Layer.lineColor (E.rgba 120 123 140 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 0.5 ), ( 10, float 2 ) ])
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , Layer.symbol "housenum-label"
+ "composite"
+ [ Layer.sourceLayer "housenum_label"
+ , Layer.minzoom 17
+ , Layer.textColor (E.rgba 177 176 174 1)
+ , Layer.textHaloColor (E.rgba 219 217 213 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "house_num")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 4)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (float 9.5)
+ ]
+ , Layer.symbol "waterway-label"
+ "composite"
+ [ Layer.sourceLayer "waterway_label"
+ , Layer.minzoom 12
+ , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", true ), ( "river", true ) ] false)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloColor (E.rgba 117 207 239 1)
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textMaxAngle (float 30)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 12 ), ( 18, float 16 ) ])
+ ]
+ , Layer.symbol "poi-scalerank4-l15"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.minzoom 17
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.greaterThanOrEqual (float 15)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank4-l1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "localrank") |> E.lessThanOrEqual (float 14)
+ , E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 1)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks_scalerank4"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 1)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 1)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank3"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 3)
+ ]
+ )
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11"))
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "road-label-small"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 15
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class")
+ |> E.matchesStr
+ [ ( "link", false )
+ , ( "motorway", false )
+ , ( "pedestrian", false )
+ , ( "primary", false )
+ , ( "secondary", false )
+ , ( "street", false )
+ , ( "street_limited", false )
+ , ( "tertiary", false )
+ , ( "trunk", false )
+ ]
+ true
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textHaloBlur (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, float 10 ), ( 20, float 13 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-label-medium"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.minzoom 11
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "class")
+ |> E.matchesStr [ ( "link", true ), ( "pedestrian", true ), ( "street", true ), ( "street_limited", true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 10 ), ( 20, float 14 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-label-large"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter
+ (E.getProperty (str "class")
+ |> E.matchesStr [ ( "motorway", true ), ( "primary", true ), ( "secondary", true ), ( "tertiary", true ), ( "trunk", true ) ] false
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 0.75)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloBlur (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, float 10 ), ( 20, float 16 ) ])
+ , Layer.textMaxAngle (float 30)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textPadding (float 1)
+ , Layer.textRotationAlignment E.anchorMap
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ ]
+ , Layer.symbol "road-shields-black"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "reflen") |> E.lessThanOrEqual (float 6)
+ , E.getProperty (str "shield")
+ |> E.matchesStr
+ [ ( "at-expressway", false )
+ , ( "at-motorway", false )
+ , ( "at-state-b", false )
+ , ( "bg-motorway", false )
+ , ( "bg-national", false )
+ , ( "ch-main", false )
+ , ( "ch-motorway", false )
+ , ( "cz-motorway", false )
+ , ( "cz-road", false )
+ , ( "de-motorway", false )
+ , ( "e-road", false )
+ , ( "fi-main", false )
+ , ( "gr-motorway", false )
+ , ( "gr-national", false )
+ , ( "hr-motorway", false )
+ , ( "hr-state", false )
+ , ( "hu-main", false )
+ , ( "hu-motorway", false )
+ , ( "nz-state", false )
+ , ( "pl-expressway", false )
+ , ( "pl-motorway", false )
+ , ( "pl-national", false )
+ , ( "ro-county", false )
+ , ( "ro-motorway", false )
+ , ( "ro-national", false )
+ , ( "rs-motorway", false )
+ , ( "rs-state-1b", false )
+ , ( "se-main", false )
+ , ( "si-expressway", false )
+ , ( "si-motorway", false )
+ , ( "sk-highway", false )
+ , ( "sk-road", false )
+ , ( "us-interstate", false )
+ , ( "us-interstate-business", false )
+ , ( "us-interstate-duplex", false )
+ , ( "us-interstate-truck", false )
+ , ( "za-metropolitan", false )
+ , ( "za-national", false )
+ , ( "za-provincial", false )
+ , ( "za-regional", false )
+ ]
+ true
+ ]
+ )
+ , Layer.textColor (E.rgba 17 17 17 1)
+ , Layer.iconHaloColor (E.rgba 0 0 0 1)
+ , Layer.iconHaloWidth (float 1)
+ , Layer.textOpacity (float 1)
+ , Layer.iconColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0)
+ , Layer.textSize (float 9)
+ , Layer.iconImage (E.getProperty (str "shield") |> E.append (str "-") |> E.append (E.getProperty (str "reflen")))
+ , Layer.iconRotationAlignment E.anchorViewport
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 150 ), ( 14, float 200 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.symbolPlacement (E.zoom |> E.step E.symbolPlacementPoint [ ( 11, E.symbolPlacementLine ) ])
+ , Layer.textPadding (float 2)
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ref")))
+ , Layer.textLetterSpacing (float 0.05)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "road-shields-white"
+ "composite"
+ [ Layer.sourceLayer "road_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "reflen") |> E.lessThanOrEqual (float 6)
+ , E.getProperty (str "shield")
+ |> E.matchesStr
+ [ ( "at-expressway", true )
+ , ( "at-motorway", true )
+ , ( "at-state-b", true )
+ , ( "bg-motorway", true )
+ , ( "bg-national", true )
+ , ( "ch-main", true )
+ , ( "ch-motorway", true )
+ , ( "cz-motorway", true )
+ , ( "cz-road", true )
+ , ( "de-motorway", true )
+ , ( "e-road", true )
+ , ( "fi-main", true )
+ , ( "gr-motorway", true )
+ , ( "gr-national", true )
+ , ( "hr-motorway", true )
+ , ( "hr-state", true )
+ , ( "hu-main", true )
+ , ( "hu-motorway", true )
+ , ( "nz-state", true )
+ , ( "pl-expressway", true )
+ , ( "pl-motorway", true )
+ , ( "pl-national", true )
+ , ( "ro-county", true )
+ , ( "ro-motorway", true )
+ , ( "ro-national", true )
+ , ( "rs-motorway", true )
+ , ( "rs-state-1b", true )
+ , ( "se-main", true )
+ , ( "si-expressway", true )
+ , ( "si-motorway", true )
+ , ( "sk-highway", true )
+ , ( "sk-road", true )
+ , ( "us-interstate", true )
+ , ( "us-interstate-business", true )
+ , ( "us-interstate-duplex", true )
+ , ( "us-interstate-truck", true )
+ , ( "za-metropolitan", true )
+ , ( "za-national", true )
+ , ( "za-provincial", true )
+ , ( "za-regional", true )
+ ]
+ false
+ ]
+ )
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.iconHaloColor (E.rgba 0 0 0 1)
+ , Layer.iconHaloWidth (float 1)
+ , Layer.textOpacity (float 1)
+ , Layer.iconColor (E.rgba 255 255 255 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0)
+ , Layer.textSize (float 9)
+ , Layer.iconImage (E.getProperty (str "shield") |> E.append (str "-") |> E.append (E.getProperty (str "reflen")))
+ , Layer.iconRotationAlignment E.anchorViewport
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 150 ), ( 14, float 200 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.symbolPlacement (E.zoom |> E.step E.symbolPlacementPoint [ ( 11, E.symbolPlacementLine ) ])
+ , Layer.textPadding (float 2)
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ref")))
+ , Layer.textLetterSpacing (float 0.05)
+ , Layer.iconPadding (float 2)
+ ]
+ , Layer.symbol "motorway-junction"
+ "composite"
+ [ Layer.sourceLayer "motorway_junction"
+ , Layer.minzoom 14
+ , Layer.filter (E.getProperty (str "reflen") |> E.greaterThan (float 0))
+ , Layer.textColor (E.rgba 255 255 255 1)
+ , Layer.textTranslate (E.floats [ 0, 0 ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "ref")))
+ , Layer.textSize (float 9)
+ , Layer.iconImage (str "motorway-exit-" |> E.append (E.getProperty (str "reflen")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ ]
+ , Layer.symbol "poi-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 15, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-parks-scalerank2"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.isEqual (float 2)
+ ]
+ )
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 11 ), ( 20, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 15, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "rail-label"
+ "composite"
+ [ Layer.sourceLayer "rail_station_label"
+ , Layer.minzoom 12
+ , Layer.filter (E.getProperty (str "maki") |> E.notEqual (str "entrance"))
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.iconHaloWidth (float 4)
+ , Layer.iconHaloColor (E.rgba 255 255 255 1)
+ , Layer.textOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ])
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ])
+ , Layer.iconImage (E.toString (E.getProperty (str "network")))
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textOffset (E.floats [ 0, 0.85 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.zoom |> E.step (E.toFormattedText (str "")) [ ( 13, E.toFormattedText (E.getProperty (str "name_en")) ) ])
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.iconPadding (float 0)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "water-label-sm"
+ "composite"
+ [ Layer.sourceLayer "water_label"
+ , Layer.minzoom 15
+ , Layer.filter (E.getProperty (str "area") |> E.lessThanOrEqual (float 10000))
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 13 ), ( 20, float 16 ) ])
+ ]
+ , Layer.symbol "water-label"
+ "composite"
+ [ Layer.sourceLayer "water_label"
+ , Layer.minzoom 5
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThan (float 10000))
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 13 ), ( 18, float 18 ) ])
+ ]
+ , Layer.symbol "poi-parks-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", true )
+ , ( "cemetery", true )
+ , ( "dog-park", true )
+ , ( "garden", true )
+ , ( "golf", true )
+ , ( "park", true )
+ , ( "picnic-site", true )
+ , ( "playground", true )
+ , ( "zoo", true )
+ ]
+ false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ ]
+ )
+ , Layer.textColor (E.rgba 33 102 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "poi-scalerank1"
+ "composite"
+ [ Layer.sourceLayer "poi_label"
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "maki")
+ |> E.matchesStr
+ [ ( "campsite", false )
+ , ( "cemetery", false )
+ , ( "dog-park", false )
+ , ( "garden", false )
+ , ( "golf", false )
+ , ( "park", false )
+ , ( "picnic-site", false )
+ , ( "playground", false )
+ , ( "zoo", false )
+ ]
+ true
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 1)
+ ]
+ )
+ , Layer.textColor (E.rgba 102 78 61 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 14 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 14, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.65 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "airport-label"
+ "composite"
+ [ Layer.sourceLayer "airport_label"
+ , Layer.minzoom 9
+ , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2))
+ , Layer.textColor (E.rgba 58 76 166 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 0.5)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 12 ), ( 18, float 18 ) ])
+ , Layer.iconImage
+ (E.zoom
+ |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) [ ( 13, E.getProperty (str "maki") |> E.append (str "-15") ) ]
+ )
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0.75 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textAnchor E.positionTop
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "ref"))) [ ( 12, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 9)
+ ]
+ , Layer.symbol "place-islet-archipelago-aboriginal"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 16
+ , Layer.filter
+ (E.getProperty (str "type")
+ |> E.matchesStr [ ( "aboriginal_lands", true ), ( "archipelago", true ), ( "islet", true ) ] false
+ )
+ , Layer.textColor (E.rgba 63 71 115 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 8)
+ ]
+ , Layer.symbol "place-neighbourhood"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "neighbourhood"))
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.rgba 63 71 115 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 3)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11 ), ( 16, float 16 ) ])
+ ]
+ , Layer.symbol "place-suburb"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "suburb"))
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textColor (E.rgba 63 71 115 1)
+ , Layer.textHaloBlur (float 0.5)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 7)
+ , Layer.textPadding (float 3)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 11 ), ( 15, float 18 ) ])
+ ]
+ , Layer.symbol "place-hamlet"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 10
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "hamlet"))
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 11.5 ), ( 15, float 16 ) ])
+ ]
+ , Layer.symbol "place-village"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 8
+ , Layer.maxzoom 15
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "village"))
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11.5 ), ( 16, float 18 ) ])
+ ]
+ , Layer.symbol "place-town"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 6
+ , Layer.maxzoom 15
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "town"))
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.iconImage (str "dot-9")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 12, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.floats [ 0, -0.15 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, float 11.5 ), ( 15, float 20 ) ])
+ ]
+ , Layer.symbol "place-island"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 16
+ , Layer.filter (E.getProperty (str "type") |> E.isEqual (str "island"))
+ , Layer.textColor (E.rgba 63 71 115 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textLineHeight (float 1.2)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10, float 11 ), ( 18, float 16 ) ])
+ , Layer.textMaxAngle (float 38)
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ])
+ , Layer.textPadding (float 2)
+ , Layer.textOffset (E.floats [ 0, 0 ])
+ , Layer.textRotationAlignment E.anchorViewport
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.01)
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-sm"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "scalerank")
+ |> E.matchesFloat [ ( 0, false ), ( 1, false ), ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 12 ), ( 14, float 22 ) ])
+ , Layer.iconImage (str "dot-9")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.2 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ ]
+ , Layer.symbol "place-city-md-s"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textHaloWidth (float 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloBlur (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.iconImage (str "dot-10")
+ , Layer.textAnchor (E.zoom |> E.step E.positionTop [ ( 8, E.positionCenter ) ])
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.1 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ ]
+ , Layer.symbol "place-city-md-n"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ , E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ), ( 5, true ) ] false
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 1)
+ , Layer.iconImage (str "dot-10")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 12 ), ( 12, float 22 ) ])
+ ]
+ , Layer.symbol "place-city-lg-s"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "E", true ), ( "S", true ), ( "SE", true ), ( "SW", true ) ] false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 1)
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, 0.15 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionTop [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ ]
+ , Layer.symbol "place-city-lg-n"
+ "composite"
+ [ Layer.sourceLayer "place_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 14
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "ldir")
+ |> E.matchesStr [ ( "N", true ), ( "NE", true ), ( "NW", true ), ( "W", true ) ] false
+ , E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)
+ , E.getProperty (str "type") |> E.isEqual (str "city")
+ ]
+ )
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textOpacity (float 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.iconOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, float 1 ), ( 8, float 0 ) ])
+ , Layer.textHaloBlur (float 1)
+ , Layer.iconImage (str "dot-11")
+ , Layer.textFont
+ (E.zoom
+ |> E.step (E.strings [ "DIN Offc Pro Regular", "Arial Unicode MS Regular" ]) [ ( 8, E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ] ) ]
+ )
+ , Layer.textOffset (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.99, E.floats [ 0, -0.25 ] ), ( 8, E.floats [ 0, 0 ] ) ])
+ , Layer.textAnchor (E.zoom |> E.step E.positionBottom [ ( 8, E.positionCenter ) ])
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 7)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 4, float 12 ), ( 10, float 22 ) ])
+ ]
+ , Layer.symbol "marine-label-sm-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ , Layer.symbolSpacing (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 100 ), ( 6, float 400 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-sm-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 10
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.greaterThanOrEqual (float 4)
+ ]
+ )
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.1)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 12 ), ( 6, float 16 ) ])
+ ]
+ , Layer.symbol "marine-label-md-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "LineString")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 12 ), ( 5, float 20 ) ])
+ , Layer.symbolSpacing (float 250)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "marine-label-md-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 2
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.geometryType |> E.isEqual (str "Point")
+ , E.getProperty (str "labelrank") |> E.matchesFloat [ ( 2, true ), ( 3, true ) ] false
+ ]
+ )
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 5)
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1.1) [ ( 2, float 14 ), ( 5, float 20 ) ])
+ ]
+ , Layer.symbol "marine-label-lg-ln"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textLetterSpacing (float 0.25)
+ , Layer.textLineHeight (float 1.1)
+ , Layer.symbolPlacement E.symbolPlacementLine
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ ]
+ , Layer.symbol "marine-label-lg-pt"
+ "composite"
+ [ Layer.sourceLayer "marine_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 4
+ , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Point"), E.getProperty (str "labelrank") |> E.isEqual (float 1) ])
+ , Layer.textColor (E.rgba 199 228 249 1)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 4)
+ , Layer.textLetterSpacing (float 0.25)
+ , Layer.textLineHeight (float 1.5)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Italic", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 14 ), ( 4, float 30 ) ])
+ ]
+ , Layer.symbol "state-label-sm"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 9
+ , Layer.filter (E.getProperty (str "area") |> E.lessThan (float 20000))
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 10 ), ( 9, float 14 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 6, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 5)
+ ]
+ , Layer.symbol "state-label-md"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 8
+ , Layer.filter
+ (E.all
+ [ E.getProperty (str "area") |> E.lessThan (float 80000)
+ , E.getProperty (str "area") |> E.greaterThanOrEqual (float 20000)
+ ]
+ )
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 10 ), ( 8, float 16 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 5, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "state-label-lg"
+ "composite"
+ [ Layer.sourceLayer "state_label"
+ , Layer.minzoom 3
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "area") |> E.greaterThanOrEqual (float 80000))
+ , Layer.textOpacity (float 1)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor (E.rgba 255 255 255 1)
+ , Layer.textHaloWidth (float 1)
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 4, float 10 ), ( 7, float 18 ) ])
+ , Layer.textTransform E.textTransformUppercase
+ , Layer.textFont (E.strings [ "DIN Offc Pro Bold", "Arial Unicode MS Bold" ])
+ , Layer.textPadding (float 1)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "abbr"))) [ ( 4, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textLetterSpacing (float 0.15)
+ , Layer.textMaxWidth (float 6)
+ ]
+ , Layer.symbol "country-label-sm"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 10
+ , Layer.filter (E.getProperty (str "scalerank") |> E.greaterThanOrEqual (float 5))
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 2, E.rgba 255 255 255 0.75 ), ( 3, E.rgba 255 255 255 1 ) ]
+ )
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 0.9) [ ( 5, float 14 ), ( 9, float 22 ) ])
+ ]
+ , Layer.symbol "country-label-md"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 8
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 3, true ), ( 4, true ) ] false)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 2, E.rgba 255 255 255 0.75 ), ( 3, E.rgba 255 255 255 1 ) ]
+ )
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textField
+ (E.zoom
+ |> E.step (E.toFormattedText (E.getProperty (str "code"))) [ ( 2, E.toFormattedText (E.getProperty (str "name_en")) ) ]
+ )
+ , Layer.textMaxWidth (float 6)
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 3, float 10 ), ( 8, float 24 ) ])
+ ]
+ , Layer.symbol "country-label-lg"
+ "composite"
+ [ Layer.sourceLayer "country_label"
+ , Layer.minzoom 1
+ , Layer.maxzoom 7
+ , Layer.filter (E.getProperty (str "scalerank") |> E.matchesFloat [ ( 1, true ), ( 2, true ) ] false)
+ , Layer.textColor (E.rgba 0 0 0 1)
+ , Layer.textHaloColor
+ (E.zoom
+ |> E.interpolate (E.Exponential 1) [ ( 2, E.rgba 255 255 255 0.75 ), ( 3, E.rgba 255 255 255 1 ) ]
+ )
+ , Layer.textHaloWidth (float 1.25)
+ , Layer.textField (E.toFormattedText (E.getProperty (str "name_en")))
+ , Layer.textMaxWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 0, float 5 ), ( 3, float 6 ) ])
+ , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ])
+ , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 1, float 10 ), ( 6, float 24 ) ])
+ ]
+ ]
+ , sources = [ Source.vectorFromUrl "composite" "mapbox://mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v7" ]
+ , misc =
+ [ Style.sprite "mapbox://sprites/mapbox/streets-v9"
+ , Style.glyphs "mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
+ , Style.name "Mapbox Streets"
+ ]
+ }
diff --git a/examples/index.html b/examples/index.html
new file mode 100644
index 0000000..45fef4c
--- /dev/null
+++ b/examples/index.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <title>elm-mapbox examples</title>
+ </head>
+ <body>
+ <script src="index.js"></script>
+ </body>
+</html>
diff --git a/examples/index.js b/examples/index.js
new file mode 100644
index 0000000..c1efd55
--- /dev/null
+++ b/examples/index.js
@@ -0,0 +1,9 @@
+import { registerCustomElement, registerPorts } from "elm-mapbox";
+import "mapbox-gl/dist/mapbox-gl.css";
+import { Elm } from "./Example02.elm";
+
+const token = process.env.MAPBOX_TOKEN;
+
+registerCustomElement({token});
+var app = Elm.Example02.init({node: document.body});
+// registerPorts(app);
diff --git a/examples/package-lock.json b/examples/package-lock.json
new file mode 100644
index 0000000..ef900be
--- /dev/null
+++ b/examples/package-lock.json
@@ -0,0 +1,8007 @@
+{
+ "name": "elm-mapbox-examples",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
+ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/core": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz",
+ "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.2.2",
+ "@babel/helpers": "^7.2.0",
+ "@babel/parser": "^7.2.2",
+ "@babel/template": "^7.2.2",
+ "@babel/traverse": "^7.2.2",
+ "@babel/types": "^7.2.2",
+ "convert-source-map": "^1.1.0",
+ "debug": "^4.1.0",
+ "json5": "^2.1.0",
+ "lodash": "^4.17.10",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
+ "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.2.tgz",
+ "integrity": "sha512-f3QCuPppXxtZOEm5GWPra/uYUjmNQlu9pbAD8D/9jze4pTY83rTtB1igTBSwvkeNlC5gR24zFFkz+2WHLFQhqQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.3.2",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.10",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
+ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
+ "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-builder-react-jsx": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz",
+ "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.3.0",
+ "esutils": "^2.0.0"
+ }
+ },
+ "@babel/helper-call-delegate": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz",
+ "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.0.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-define-map": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz",
+ "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "lodash": "^4.17.10"
+ }
+ },
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
+ "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz",
+ "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz",
+ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
+ "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz",
+ "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.0.0",
+ "@babel/template": "^7.2.2",
+ "@babel/types": "^7.2.2",
+ "lodash": "^4.17.10"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
+ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
+ "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+ "dev": true
+ },
+ "@babel/helper-regex": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz",
+ "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.10"
+ }
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
+ "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-wrap-function": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz",
+ "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.0.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/traverse": "^7.2.3",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
+ "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz",
+ "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
+ "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.2.0"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz",
+ "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.1.2",
+ "@babel/traverse": "^7.1.5",
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
+ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.2.tgz",
+ "integrity": "sha512-QzNUC2RO1gadg+fs21fi0Uu0OuGNzRKEmgCxoLNzbCdoprLwjfmZwzUrpUNfJPaVRwBpDY47A17yYEGWyRelnQ==",
+ "dev": true
+ },
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
+ "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0",
+ "@babel/plugin-syntax-async-generators": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
+ "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz",
+ "integrity": "sha512-DjeMS+J2+lpANkYLLO+m6GjoTMygYglKmRe6cDTbFv3L9i6mmiE8fe6B8MtCSLZpVXscD5kn7s6SgtHrDoBWoA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz",
+ "integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0",
+ "regexpu-core": "^4.2.0"
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
+ "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-flow": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz",
+ "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
+ "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-jsx": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz",
+ "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
+ "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
+ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz",
+ "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
+ "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz",
+ "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "lodash": "^4.17.10"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz",
+ "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-define-map": "^7.1.0",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.0.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
+ "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz",
+ "integrity": "sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz",
+ "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0",
+ "regexpu-core": "^4.1.3"
+ }
+ },
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz",
+ "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
+ "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-flow-strip-types": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz",
+ "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-flow": "^7.2.0"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz",
+ "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-function-name": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz",
+ "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
+ "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz",
+ "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz",
+ "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz",
+ "integrity": "sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
+ "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz",
+ "integrity": "sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw==",
+ "dev": true,
+ "requires": {
+ "regexp-tree": "^0.1.0"
+ }
+ },
+ "@babel/plugin-transform-new-target": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz",
+ "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-object-super": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz",
+ "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz",
+ "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-call-delegate": "^7.1.0",
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-react-jsx": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz",
+ "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-react-jsx": "^7.3.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.2.0"
+ }
+ },
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz",
+ "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "^0.13.3"
+ }
+ },
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
+ "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-spread": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
+ "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
+ "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz",
+ "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
+ "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz",
+ "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0",
+ "regexpu-core": "^4.1.3"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.1.tgz",
+ "integrity": "sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
+ "@babel/plugin-proposal-json-strings": "^7.2.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.3.1",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.2.0",
+ "@babel/plugin-syntax-async-generators": "^7.2.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-transform-arrow-functions": "^7.2.0",
+ "@babel/plugin-transform-async-to-generator": "^7.2.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
+ "@babel/plugin-transform-block-scoping": "^7.2.0",
+ "@babel/plugin-transform-classes": "^7.2.0",
+ "@babel/plugin-transform-computed-properties": "^7.2.0",
+ "@babel/plugin-transform-destructuring": "^7.2.0",
+ "@babel/plugin-transform-dotall-regex": "^7.2.0",
+ "@babel/plugin-transform-duplicate-keys": "^7.2.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
+ "@babel/plugin-transform-for-of": "^7.2.0",
+ "@babel/plugin-transform-function-name": "^7.2.0",
+ "@babel/plugin-transform-literals": "^7.2.0",
+ "@babel/plugin-transform-modules-amd": "^7.2.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.2.0",
+ "@babel/plugin-transform-modules-systemjs": "^7.2.0",
+ "@babel/plugin-transform-modules-umd": "^7.2.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0",
+ "@babel/plugin-transform-new-target": "^7.0.0",
+ "@babel/plugin-transform-object-super": "^7.2.0",
+ "@babel/plugin-transform-parameters": "^7.2.0",
+ "@babel/plugin-transform-regenerator": "^7.0.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.2.0",
+ "@babel/plugin-transform-spread": "^7.2.0",
+ "@babel/plugin-transform-sticky-regex": "^7.2.0",
+ "@babel/plugin-transform-template-literals": "^7.2.0",
+ "@babel/plugin-transform-typeof-symbol": "^7.2.0",
+ "@babel/plugin-transform-unicode-regex": "^7.2.0",
+ "browserslist": "^4.3.4",
+ "invariant": "^2.2.2",
+ "js-levenshtein": "^1.1.3",
+ "semver": "^5.3.0"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz",
+ "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.12.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz",
+ "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.2.2",
+ "@babel/types": "^7.2.2"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz",
+ "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.2.2",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.0.0",
+ "@babel/parser": "^7.2.3",
+ "@babel/types": "^7.2.2",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.10"
+ }
+ },
+ "@babel/types": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.2.tgz",
+ "integrity": "sha512-3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.10",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@iarna/toml": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.1.tgz",
+ "integrity": "sha512-I2EjI9TbEFJNLziNPFfpo64PNanOaK17iL2kTW/jGlGOa4bvHw4VEied83kOEB7NJjXf1KfvmsQ2aEjy3xjiGg==",
+ "dev": true
+ },
+ "@mapbox/geojson-area": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@mapbox/geojson-area/-/geojson-area-0.2.2.tgz",
+ "integrity": "sha1-GNeBSqNr8j+7zDefjiaiKSfevxA=",
+ "requires": {
+ "wgs84": "0.0.0"
+ }
+ },
+ "@mapbox/geojson-rewind": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.4.0.tgz",
+ "integrity": "sha512-b+1uPWBERW4Pet/969BNu61ZPDyH2ilIxBjJDFzxyS9TyszF9UrTQyYIl/G38clux3rtpAGGFSGTCSF/qR6UjA==",
+ "requires": {
+ "@mapbox/geojson-area": "0.2.2",
+ "concat-stream": "~1.6.0",
+ "minimist": "1.2.0",
+ "sharkdown": "^0.1.0"
+ }
+ },
+ "@mapbox/geojson-types": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz",
+ "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw=="
+ },
+ "@mapbox/jsonlint-lines-primitives": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz",
+ "integrity": "sha1-zlblOfg1UrWNENZy6k1vya3HsjQ="
+ },
+ "@mapbox/mapbox-gl-supported": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.4.0.tgz",
+ "integrity": "sha512-ZD0Io4XK+/vU/4zpANjOtdWfVszAgnaMPsGR6LKsWh4kLIEv9qoobTVmJPPuwuM+ZI2b3BlZ6DYw1XHVmv6YTA=="
+ },
+ "@mapbox/point-geometry": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz",
+ "integrity": "sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI="
+ },
+ "@mapbox/tiny-sdf": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.1.0.tgz",
+ "integrity": "sha512-dnhyk8X2BkDRWImgHILYAGgo+kuciNYX30CUKj/Qd5eNjh54OWM/mdOS/PWsPeN+3abtN+QDGYM4G220ynVJKA=="
+ },
+ "@mapbox/unitbezier": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz",
+ "integrity": "sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4="
+ },
+ "@mapbox/vector-tile": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz",
+ "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==",
+ "requires": {
+ "@mapbox/point-geometry": "~0.1.0"
+ }
+ },
+ "@mapbox/whoots-js": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz",
+ "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q=="
+ },
+ "@mrmlnc/readdir-enhanced": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "dev": true,
+ "requires": {
+ "call-me-maybe": "^1.0.1",
+ "glob-to-regexp": "^0.3.0"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
+ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+ "dev": true
+ },
+ "@parcel/fs": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz",
+ "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==",
+ "dev": true,
+ "requires": {
+ "@parcel/utils": "^1.11.0",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.6.2"
+ }
+ },
+ "@parcel/logger": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.0.tgz",
+ "integrity": "sha512-lIRfDg+junbFUUeU0QtHX00gKCgEsYHZydFKwrJ8dc0D+WE2SYT1FcVCgpPAfKYgtg0QQMns8E9vzT9UjH92PQ==",
+ "dev": true,
+ "requires": {
+ "@parcel/workers": "^1.11.0",
+ "chalk": "^2.1.0",
+ "grapheme-breaker": "^0.3.2",
+ "ora": "^2.1.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "@parcel/utils": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz",
+ "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==",
+ "dev": true
+ },
+ "@parcel/watcher": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.11.0.tgz",
+ "integrity": "sha512-1ySF0sH06jyhpaErW1UWC7BNgkAl6PJyBjuu2cLTW1o71J2iQqgGt95cbuqmfmjI3l0xYN+nauDFqHERaj7Z8A==",
+ "dev": true,
+ "requires": {
+ "@parcel/utils": "^1.11.0",
+ "chokidar": "^2.0.3"
+ }
+ },
+ "@parcel/workers": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz",
+ "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==",
+ "dev": true,
+ "requires": {
+ "@parcel/utils": "^1.11.0",
+ "physical-cpu-count": "^2.0.0"
+ }
+ },
+ "@types/node": {
+ "version": "10.12.26",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.26.tgz",
+ "integrity": "sha512-nMRqS+mL1TOnIJrL6LKJcNZPB8V3eTfRo9FQA2b5gDvrHurC8XbSA86KNe0dShlEL7ReWJv/OU9NL7Z0dnqWTg==",
+ "dev": true
+ },
+ "@types/q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz",
+ "integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==",
+ "dev": true
+ },
+ "@types/semver": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==",
+ "dev": true
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "5.7.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
+ "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
+ "dev": true
+ },
+ "alphanum-sort": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "ansi-to-html": {
+ "version": "0.6.10",
+ "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.10.tgz",
+ "integrity": "sha512-znsY3gvsk4CiApWu1yVYF8Nx5Vy0FEe8B0YwyxdbCdErJu5lfKlRHB2twtUjR+dxR4WewTk2OP8XqTmWYnImOg==",
+ "dev": true,
+ "requires": {
+ "entities": "^1.1.1"
+ }
+ },
+ "ansicolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz",
+ "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8="
+ },
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "dev": true,
+ "requires": {
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
+ },
+ "async-limiter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "6.7.7",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^1.7.6",
+ "caniuse-db": "^1.0.30000634",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^5.2.16",
+ "postcss-value-parser": "^3.2.3"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "^1.0.30000639",
+ "electron-to-chromium": "^1.2.7"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
+ }
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.4",
+ "to-fast-properties": "^1.0.3"
+ },
+ "dependencies": {
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ }
+ }
+ },
+ "babylon-walk": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz",
+ "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.11.6",
+ "babel-types": "^6.15.0",
+ "lodash.clone": "^4.5.0"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "base64-js": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
+ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
+ "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
+ "dev": true
+ },
+ "bindings": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",
+ "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=",
+ "dev": true
+ },
+ "bn.js": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+ "dev": true
+ },
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "brfs": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz",
+ "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==",
+ "dev": true,
+ "requires": {
+ "quote-stream": "^1.0.1",
+ "resolve": "^1.1.5",
+ "static-module": "^2.2.0",
+ "through2": "^2.0.0"
+ }
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "dev": true
+ },
+ "browserify-aes": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "dev": true,
+ "requires": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.1",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.2",
+ "elliptic": "^6.0.0",
+ "inherits": "^2.0.1",
+ "parse-asn1": "^5.0.0"
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
+ "requires": {
+ "pako": "~1.0.5"
+ },
+ "dependencies": {
+ "pako": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.8.tgz",
+ "integrity": "sha512-6i0HVbUfcKaTv+EG8ZTr75az7GFXcLYk9UyLEg7Notv/Ma+z/UG3TCoz6GiNeOrn1E/e63I0X/Hpw18jHOTUnA==",
+ "dev": true
+ }
+ }
+ },
+ "browserslist": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz",
+ "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30000929",
+ "electron-to-chromium": "^1.3.103",
+ "node-releases": "^1.1.3"
+ }
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
+ "buffer-equal": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
+ "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=",
+ "dev": true
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+ "dev": true
+ },
+ "caller-callsite": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
+ "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+ "dev": true,
+ "requires": {
+ "callsites": "^2.0.0"
+ }
+ },
+ "caller-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
+ "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+ "dev": true,
+ "requires": {
+ "caller-callsite": "^2.0.0"
+ }
+ },
+ "callsites": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
+ "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
+ "dev": true
+ },
+ "caniuse-api": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+ "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ }
+ },
+ "caniuse-db": {
+ "version": "1.0.30000936",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000936.tgz",
+ "integrity": "sha512-gOrcU8d+h5AdrO/Mhnj35vttNvAed2taqzrYDfhJE/qVnLxAaGb1doWlRF7iDex+EQPhkwAHc07RBwixnxpFDQ==",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000936",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000936.tgz",
+ "integrity": "sha512-orX4IdpbFhdNO7bTBhSbahp1EBpqzBc+qrvTRVUFfZgA4zta7TdM6PN5ZxkEUgDnz36m+PfWGcdX7AVfFWItJw==",
+ "dev": true
+ },
+ "cardinal": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.4.4.tgz",
+ "integrity": "sha1-ylu2iltRG5D+k7ms6km97lwyv+I=",
+ "requires": {
+ "ansicolors": "~0.2.1",
+ "redeyed": "~0.4.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "chokidar": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.1.tgz",
+ "integrity": "sha512-gfw3p2oQV2wEt+8VuMlNsPjCxDxvvgnm/kz+uATu805mWVF8IJN7uz9DN7iBz+RMJISmiVbCOBFs9qBGMjtPfQ==",
+ "dev": true,
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "fsevents": "^1.2.7",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.0"
+ }
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "clap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
+ "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^2.0.0"
+ }
+ },
+ "cli-spinners": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz",
+ "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==",
+ "dev": true
+ },
+ "cli-table3": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz",
+ "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==",
+ "dev": true,
+ "requires": {
+ "colors": "^1.1.2",
+ "object-assign": "^4.1.0",
+ "string-width": "^2.1.1"
+ }
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "dev": true
+ },
+ "clones": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/clones/-/clones-1.2.0.tgz",
+ "integrity": "sha512-FXDYw4TjR8wgPZYui2LeTqWh1BLpfQ8lB6upMtlpDF6WlOOxghmTTxWyngdKTgozqBgKnHbTVwTE+hOHqAykuQ==",
+ "dev": true
+ },
+ "coa": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
+ "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
+ "dev": true,
+ "requires": {
+ "@types/q": "^1.5.1",
+ "chalk": "^2.4.1",
+ "q": "^1.1.2"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/color/-/color-3.1.0.tgz",
+ "integrity": "sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.1",
+ "color-string": "^1.5.2"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "color-string": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
+ "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
+ "dev": true,
+ "requires": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "colormin": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
+ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+ "dev": true,
+ "requires": {
+ "color": "^0.11.0",
+ "css-color-names": "0.0.4",
+ "has": "^1.0.1"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ },
+ "color": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+ "dev": true,
+ "requires": {
+ "clone": "^1.0.2",
+ "color-convert": "^1.3.0",
+ "color-string": "^0.3.0"
+ }
+ },
+ "color-string": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
+ "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+ "dev": true,
+ "requires": {
+ "color-name": "^1.0.0"
+ }
+ }
+ }
+ },
+ "colors": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
+ "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==",
+ "dev": true
+ },
+ "command-exists": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz",
+ "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==",
+ "dev": true
+ },
+ "commander": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
+ "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "config-chain": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
+ "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
+ "dev": true,
+ "requires": {
+ "ini": "^1.3.4",
+ "proto-list": "~1.2.1"
+ }
+ },
+ "console-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true,
+ "requires": {
+ "date-now": "^0.1.4"
+ }
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
+ "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "core-js": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz",
+ "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A==",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "cosmiconfig": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz",
+ "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==",
+ "dev": true,
+ "requires": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.9.0",
+ "parse-json": "^4.0.0"
+ }
+ },
+ "create-ecdh": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
+ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.0.0"
+ }
+ },
+ "create-hash": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ },
+ "css-color-names": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+ "dev": true
+ },
+ "css-declaration-sorter": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
+ "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.1",
+ "timsort": "^0.3.0"
+ }
+ },
+ "css-select": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz",
+ "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==",
+ "dev": true,
+ "requires": {
+ "boolbase": "^1.0.0",
+ "css-what": "^2.1.2",
+ "domutils": "^1.7.0",
+ "nth-check": "^1.0.2"
+ }
+ },
+ "css-select-base-adapter": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
+ "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
+ "dev": true
+ },
+ "css-tree": {
+ "version": "1.0.0-alpha.28",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz",
+ "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==",
+ "dev": true,
+ "requires": {
+ "mdn-data": "~1.1.0",
+ "source-map": "^0.5.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "css-unit-converter": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz",
+ "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=",
+ "dev": true
+ },
+ "css-url-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz",
+ "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=",
+ "dev": true
+ },
+ "css-what": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz",
+ "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==",
+ "dev": true
+ },
+ "csscolorparser": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz",
+ "integrity": "sha1-s085HupNqPPpgjHizNjfnAQfFxs="
+ },
+ "cssesc": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
+ "dev": true
+ },
+ "cssnano": {
+ "version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.9.tgz",
+ "integrity": "sha512-osEbYy4kzaNY3nkd92Uf3hy5Jqb5Aztuv+Ze3Z6DjRhyntZDlb3YljiYDdJ05k167U86CZpSR+rbuJYN7N3oBQ==",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "^5.0.0",
+ "cssnano-preset-default": "^4.0.7",
+ "is-resolvable": "^1.0.0",
+ "postcss": "^7.0.0"
+ }
+ },
+ "cssnano-preset-default": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz",
+ "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==",
+ "dev": true,
+ "requires": {
+ "css-declaration-sorter": "^4.0.1",
+ "cssnano-util-raw-cache": "^4.0.1",
+ "postcss": "^7.0.0",
+ "postcss-calc": "^7.0.1",
+ "postcss-colormin": "^4.0.3",
+ "postcss-convert-values": "^4.0.1",
+ "postcss-discard-comments": "^4.0.2",
+ "postcss-discard-duplicates": "^4.0.2",
+ "postcss-discard-empty": "^4.0.1",
+ "postcss-discard-overridden": "^4.0.1",
+ "postcss-merge-longhand": "^4.0.11",
+ "postcss-merge-rules": "^4.0.3",
+ "postcss-minify-font-values": "^4.0.2",
+ "postcss-minify-gradients": "^4.0.2",
+ "postcss-minify-params": "^4.0.2",
+ "postcss-minify-selectors": "^4.0.2",
+ "postcss-normalize-charset": "^4.0.1",
+ "postcss-normalize-display-values": "^4.0.2",
+ "postcss-normalize-positions": "^4.0.2",
+ "postcss-normalize-repeat-style": "^4.0.2",
+ "postcss-normalize-string": "^4.0.2",
+ "postcss-normalize-timing-functions": "^4.0.2",
+ "postcss-normalize-unicode": "^4.0.1",
+ "postcss-normalize-url": "^4.0.1",
+ "postcss-normalize-whitespace": "^4.0.2",
+ "postcss-ordered-values": "^4.1.2",
+ "postcss-reduce-initial": "^4.0.3",
+ "postcss-reduce-transforms": "^4.0.2",
+ "postcss-svgo": "^4.0.2",
+ "postcss-unique-selectors": "^4.0.1"
+ }
+ },
+ "cssnano-util-get-arguments": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
+ "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
+ "dev": true
+ },
+ "cssnano-util-get-match": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
+ "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
+ "dev": true
+ },
+ "cssnano-util-raw-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
+ "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "cssnano-util-same-parent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
+ "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
+ "dev": true
+ },
+ "csso": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
+ "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
+ "dev": true,
+ "requires": {
+ "css-tree": "1.0.0-alpha.29"
+ },
+ "dependencies": {
+ "css-tree": {
+ "version": "1.0.0-alpha.29",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
+ "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
+ "dev": true,
+ "requires": {
+ "mdn-data": "~1.1.0",
+ "source-map": "^0.5.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+ "dev": true
+ },
+ "deasync": {
+ "version": "0.1.14",
+ "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.14.tgz",
+ "integrity": "sha512-wN8sIuEqIwyQh72AG7oY6YQODCxIp1eXzEZlZznBuwDF8Q03Tdy9QNp1BNZXeadXoklNrw+Ip1fch+KXo/+ASw==",
+ "dev": true,
+ "requires": {
+ "bindings": "~1.2.1",
+ "node-addon-api": "^1.6.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "dev": true,
+ "requires": {
+ "clone": "^1.0.2"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ }
+ }
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "dev": true,
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+ "dev": true
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "dev": true
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+ "dev": true
+ },
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
+ "dom-serializer": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "~1.1.1",
+ "entities": "~1.1.1"
+ },
+ "dependencies": {
+ "domelementtype": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
+ "dev": true
+ }
+ }
+ },
+ "domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+ "dev": true
+ },
+ "domelementtype": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+ "dev": true
+ },
+ "domhandler": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1"
+ }
+ },
+ "domutils": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "dotenv": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz",
+ "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==",
+ "dev": true
+ },
+ "dotenv-expand": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz",
+ "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=",
+ "dev": true
+ },
+ "duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "earcut": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.1.5.tgz",
+ "integrity": "sha512-QFWC7ywTVLtvRAJTVp8ugsuuGQ5mVqNmJ1cRYeLrSHgP3nycr2RHTJob9OtM0v8ujuoKN0NY1a93J/omeTL1PA=="
+ },
+ "editorconfig": {
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.2.tgz",
+ "integrity": "sha512-GWjSI19PVJAM9IZRGOS+YKI8LN+/sjkSjNyvxL5ucqP9/IqtYNXBaQ/6c/hkPNYQHyOHra2KoXZI/JVpuqwmcQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "^10.11.7",
+ "@types/semver": "^5.5.0",
+ "commander": "^2.19.0",
+ "lru-cache": "^4.1.3",
+ "semver": "^5.6.0",
+ "sigmund": "^1.0.1"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.113",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz",
+ "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==",
+ "dev": true
+ },
+ "elliptic": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
+ "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.4.0",
+ "brorand": "^1.0.1",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.0"
+ }
+ },
+ "elm-hot": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/elm-hot/-/elm-hot-1.0.1.tgz",
+ "integrity": "sha512-C6VEX3TqVJv+OhUKMMb2mcaSuRArqvCFNItqxue81/mlfX4PWwvovE5vqocgO3AnrStyHElCRm0KNknfDttEBw==",
+ "dev": true
+ },
+ "elm-mapbox": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/elm-mapbox/-/elm-mapbox-3.1.1.tgz",
+ "integrity": "sha512-LZTXnvPS87SI9RNFujGrhTvp9frz0+EaGCo+b2Z07VNe0rq7m0v9Xtaggl5XS4tZA1unrwJhT5zGxohTh+ZGpQ==",
+ "requires": {
+ "mapbox-gl": "^0.52.0"
+ },
+ "dependencies": {
+ "geojson-rewind": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/geojson-rewind/-/geojson-rewind-0.3.1.tgz",
+ "integrity": "sha1-IiQHl8hHzC8MHTE+SqDJFa+n8p0=",
+ "requires": {
+ "@mapbox/geojson-area": "0.2.2",
+ "concat-stream": "~1.6.0",
+ "minimist": "1.2.0",
+ "sharkdown": "^0.1.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ }
+ }
+ },
+ "gl-matrix": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-2.8.1.tgz",
+ "integrity": "sha512-0YCjVpE3pS5XWlN3J4X7AiAx65+nqAI54LndtVFnQZB6G/FVLkZH8y8V6R3cIoOQR4pUdfwQGd1iwyoXHJ4Qfw=="
+ },
+ "mapbox-gl": {
+ "version": "0.52.0",
+ "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.52.0.tgz",
+ "integrity": "sha512-jiZMGI7LjBNiSwYpFA3drzbZXrgEGERGJRpNS95t5BLZoc8Z+ggOOI1Fz2X+zLlh1j32iNDtf4j6En+caWwYiQ==",
+ "requires": {
+ "@mapbox/geojson-types": "^1.0.2",
+ "@mapbox/jsonlint-lines-primitives": "^2.0.2",
+ "@mapbox/mapbox-gl-supported": "^1.4.0",
+ "@mapbox/point-geometry": "^0.1.0",
+ "@mapbox/tiny-sdf": "^1.1.0",
+ "@mapbox/unitbezier": "^0.0.0",
+ "@mapbox/vector-tile": "^1.3.1",
+ "@mapbox/whoots-js": "^3.1.0",
+ "csscolorparser": "~1.0.2",
+ "earcut": "^2.1.3",
+ "esm": "^3.0.84",
+ "geojson-rewind": "^0.3.0",
+ "geojson-vt": "^3.2.1",
+ "gl-matrix": "^2.6.1",
+ "grid-index": "^1.0.0",
+ "minimist": "0.0.8",
+ "murmurhash-js": "^1.0.0",
+ "pbf": "^3.0.5",
+ "potpack": "^1.0.1",
+ "quickselect": "^1.0.0",
+ "rw": "^1.3.3",
+ "supercluster": "^5.0.0",
+ "tinyqueue": "^1.1.0",
+ "vt-pbf": "^3.0.1"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ },
+ "quickselect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz",
+ "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ=="
+ },
+ "supercluster": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-5.0.0.tgz",
+ "integrity": "sha512-9eeD5Q3908+tqdz+wYHHzi5mLKgnqtpO5mrjUfqr67UmGuOwBtVoQ9pJJrfcVHwMwC0wEBvfNRF9PgFOZgsOpw==",
+ "requires": {
+ "kdbush": "^3.0.0"
+ }
+ },
+ "tinyqueue": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-1.2.3.tgz",
+ "integrity": "sha512-Qz9RgWuO9l8lT+Y9xvbzhPT2efIUIFd69N7eF7tJ9lnQl0iLj1M7peK7IoUGZL9DJHw9XftqLreccfxcQgYLxA=="
+ }
+ }
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+ "dev": true
+ },
+ "end-of-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "entities": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+ "dev": true
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
+ "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "is-callable": "^1.1.4",
+ "is-regex": "^1.0.4",
+ "object-keys": "^1.0.12"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
+ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "escodegen": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz",
+ "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==",
+ "dev": true,
+ "requires": {
+ "esprima": "^3.1.3",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ }
+ },
+ "esm": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.4.tgz",
+ "integrity": "sha512-wOuWtQCkkwD1WKQN/k3RsyGSSN+AmiUzdKftn8vaC+uV9JesYmQlODJxgXaaRz0LaaFIlUxZaUu5NPiUAjKAAA=="
+ },
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
+ "dev": true
+ },
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+ "dev": true
+ },
+ "events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==",
+ "dev": true
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "dev": true,
+ "requires": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "expect.js": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/expect.js/-/expect.js-0.2.0.tgz",
+ "integrity": "sha1-EChTPSwcNj90pnlv9X7AUg3tK+E="
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "falafel": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz",
+ "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
+ "dev": true,
+ "requires": {
+ "acorn": "^5.0.0",
+ "foreach": "^2.0.5",
+ "isarray": "0.0.1",
+ "object-keys": "^1.0.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ }
+ }
+ },
+ "fast-glob": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz",
+ "integrity": "sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==",
+ "dev": true,
+ "requires": {
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
+ "@nodelib/fs.stat": "^1.1.2",
+ "glob-parent": "^3.1.0",
+ "is-glob": "^4.0.0",
+ "merge2": "^1.2.3",
+ "micromatch": "^3.1.10"
+ }
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "filesize": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
+ "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "flatten": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+ "dev": true
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+ "dev": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
+ "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "^2.9.2",
+ "node-pre-gyp": "^0.10.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true
+ },
+ "minipass": {
+ "version": "2.3.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "debug": "^2.1.2",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.10.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "bundled": true,
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.3.4",
+ "minizlib": "^1.1.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "geojson-vt": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz",
+ "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg=="
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
+ },
+ "get-port": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+ "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "gl-matrix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.0.0.tgz",
+ "integrity": "sha512-PD4mVH/C/Zs64kOozeFnKY8ybhgwxXXQYGWdB4h68krAHknWJgk9uKOn6z8YElh5//vs++90pb6csrTIDWnexA=="
+ },
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "dev": true
+ },
+ "globals": {
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz",
+ "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+ "dev": true
+ },
+ "grapheme-breaker": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz",
+ "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=",
+ "dev": true,
+ "requires": {
+ "brfs": "^1.2.0",
+ "unicode-trie": "^0.3.1"
+ }
+ },
+ "grid-index": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz",
+ "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA=="
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "dev": true
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "hex-color-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
+ "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
+ "dev": true
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "hsl-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
+ "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
+ "dev": true
+ },
+ "hsla-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
+ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
+ "dev": true
+ },
+ "html-comment-regex": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
+ "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
+ "dev": true
+ },
+ "htmlnano": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.1.10.tgz",
+ "integrity": "sha512-eTEUzz8VdWYp+w/KUdb99kwao4reR64epUySyZkQeepcyzPQ2n2EPWzibf6QDxmkGy10Kr+CKxYqI3izSbmhJQ==",
+ "dev": true,
+ "requires": {
+ "cssnano": "^3.4.0",
+ "object-assign": "^4.0.1",
+ "posthtml": "^0.11.3",
+ "posthtml-render": "^1.1.4",
+ "svgo": "^1.0.5",
+ "terser": "^3.8.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "^1.0.30000639",
+ "electron-to-chromium": "^1.2.7"
+ }
+ },
+ "caniuse-api": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
+ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^1.3.6",
+ "caniuse-db": "^1.0.30000529",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "coa": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
+ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+ "dev": true,
+ "requires": {
+ "q": "^1.1.2"
+ }
+ },
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ },
+ "cssnano": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
+ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "^6.3.1",
+ "decamelize": "^1.1.2",
+ "defined": "^1.0.0",
+ "has": "^1.0.1",
+ "object-assign": "^4.0.1",
+ "postcss": "^5.0.14",
+ "postcss-calc": "^5.2.0",
+ "postcss-colormin": "^2.1.8",
+ "postcss-convert-values": "^2.3.4",
+ "postcss-discard-comments": "^2.0.4",
+ "postcss-discard-duplicates": "^2.0.1",
+ "postcss-discard-empty": "^2.0.1",
+ "postcss-discard-overridden": "^0.1.1",
+ "postcss-discard-unused": "^2.2.1",
+ "postcss-filter-plugins": "^2.0.0",
+ "postcss-merge-idents": "^2.1.5",
+ "postcss-merge-longhand": "^2.0.1",
+ "postcss-merge-rules": "^2.0.3",
+ "postcss-minify-font-values": "^1.0.2",
+ "postcss-minify-gradients": "^1.0.1",
+ "postcss-minify-params": "^1.0.4",
+ "postcss-minify-selectors": "^2.0.4",
+ "postcss-normalize-charset": "^1.1.0",
+ "postcss-normalize-url": "^3.0.7",
+ "postcss-ordered-values": "^2.1.0",
+ "postcss-reduce-idents": "^2.2.2",
+ "postcss-reduce-initial": "^1.0.0",
+ "postcss-reduce-transforms": "^1.0.3",
+ "postcss-svgo": "^2.1.1",
+ "postcss-unique-selectors": "^2.0.2",
+ "postcss-value-parser": "^3.2.3",
+ "postcss-zindex": "^2.0.1"
+ }
+ },
+ "csso": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
+ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+ "dev": true,
+ "requires": {
+ "clap": "^1.0.9",
+ "source-map": "^0.5.3"
+ }
+ },
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "is-svg": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "^1.1.0"
+ }
+ },
+ "js-yaml": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^2.6.0"
+ }
+ },
+ "normalize-url": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.0.1",
+ "prepend-http": "^1.0.0",
+ "query-string": "^4.1.0",
+ "sort-keys": "^1.0.0"
+ }
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "postcss-calc": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.2",
+ "postcss-message-helpers": "^2.0.0",
+ "reduce-css-calc": "^1.2.6"
+ }
+ },
+ "postcss-colormin": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
+ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+ "dev": true,
+ "requires": {
+ "colormin": "^1.0.5",
+ "postcss": "^5.0.13",
+ "postcss-value-parser": "^3.2.3"
+ }
+ },
+ "postcss-convert-values": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
+ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.11",
+ "postcss-value-parser": "^3.1.2"
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.14"
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
+ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4"
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.14"
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.16"
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
+ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4"
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
+ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^1.5.2",
+ "caniuse-api": "^1.5.2",
+ "postcss": "^5.0.4",
+ "postcss-selector-parser": "^2.2.2",
+ "vendors": "^1.0.0"
+ }
+ },
+ "postcss-minify-font-values": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.0.1",
+ "postcss": "^5.0.4",
+ "postcss-value-parser": "^3.0.2"
+ }
+ },
+ "postcss-minify-gradients": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.12",
+ "postcss-value-parser": "^3.3.0"
+ }
+ },
+ "postcss-minify-params": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.1",
+ "postcss": "^5.0.2",
+ "postcss-value-parser": "^3.0.2",
+ "uniqs": "^2.0.0"
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.2",
+ "has": "^1.0.1",
+ "postcss": "^5.0.14",
+ "postcss-selector-parser": "^2.0.0"
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.5"
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "^2.0.0",
+ "normalize-url": "^1.4.0",
+ "postcss": "^5.0.14",
+ "postcss-value-parser": "^3.2.3"
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
+ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4",
+ "postcss-value-parser": "^3.0.1"
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4"
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.1",
+ "postcss": "^5.0.8",
+ "postcss-value-parser": "^3.0.1"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "dev": true,
+ "requires": {
+ "flatten": "^1.0.2",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "postcss-svgo": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+ "dev": true,
+ "requires": {
+ "is-svg": "^2.0.0",
+ "postcss": "^5.0.14",
+ "postcss-value-parser": "^3.2.3",
+ "svgo": "^0.7.0"
+ },
+ "dependencies": {
+ "svgo": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
+ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+ "dev": true,
+ "requires": {
+ "coa": "~1.0.1",
+ "colors": "~1.1.2",
+ "csso": "~2.3.1",
+ "js-yaml": "~3.7.0",
+ "mkdirp": "~0.5.1",
+ "sax": "~1.2.1",
+ "whet.extend": "~0.9.9"
+ }
+ }
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.1",
+ "postcss": "^5.0.4",
+ "uniqs": "^2.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "htmlparser2": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz",
+ "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^1.3.0",
+ "domhandler": "^2.3.0",
+ "domutils": "^1.5.1",
+ "entities": "^1.1.1",
+ "inherits": "^2.0.1",
+ "readable-stream": "^3.0.6"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
+ "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "http-errors": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "dev": true,
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
+ }
+ },
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+ "dev": true
+ },
+ "ieee754": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
+ "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA=="
+ },
+ "import-fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+ "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+ "dev": true,
+ "requires": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "indexes-of": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+ "dev": true
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
+ "dev": true
+ },
+ "is-absolute-url": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+ "dev": true
+ },
+ "is-color-stop": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
+ "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
+ "dev": true,
+ "requires": {
+ "css-color-names": "^0.0.4",
+ "hex-color-regex": "^1.1.0",
+ "hsl-regex": "^1.0.0",
+ "hsla-regex": "^1.0.0",
+ "rgb-regex": "^1.0.1",
+ "rgba-regex": "^1.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-directory": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+ "dev": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.1"
+ }
+ },
+ "is-resolvable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-svg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
+ "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "^1.1.0"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
+ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.0"
+ }
+ },
+ "is-url": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
+ "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "js-base64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
+ "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
+ "dev": true
+ },
+ "js-beautify": {
+ "version": "1.8.9",
+ "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.9.tgz",
+ "integrity": "sha512-MwPmLywK9RSX0SPsUJjN7i+RQY9w/yC17Lbrq9ViEefpLRgqAR2BgrMN2AbifkUuhDV8tRauLhLda/9+bE0YQA==",
+ "dev": true,
+ "requires": {
+ "config-chain": "^1.1.12",
+ "editorconfig": "^0.15.2",
+ "glob": "^7.1.3",
+ "mkdirp": "~0.5.0",
+ "nopt": "~4.0.1"
+ }
+ },
+ "js-levenshtein": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
+ "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.12.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz",
+ "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ }
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "kdbush": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz",
+ "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew=="
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
+ },
+ "lodash.clone": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
+ "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=",
+ "dev": true
+ },
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "magic-string": {
+ "version": "0.22.5",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
+ "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
+ "dev": true,
+ "requires": {
+ "vlq": "^0.2.2"
+ }
+ },
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "dev": true,
+ "requires": {
+ "p-defer": "^1.0.0"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "mapbox-gl": {
+ "version": "0.53.0",
+ "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.53.0.tgz",
+ "integrity": "sha512-bqD0VTpjD9jS/oXoSiLcUYViFXDvjIDWxo08Pfq5cgCdnRHoLEboItuB2AKsx8OPK5fYme0qhPe/ogF5HICjiA==",
+ "requires": {
+ "@mapbox/geojson-rewind": "^0.4.0",
+ "@mapbox/geojson-types": "^1.0.2",
+ "@mapbox/jsonlint-lines-primitives": "^2.0.2",
+ "@mapbox/mapbox-gl-supported": "^1.4.0",
+ "@mapbox/point-geometry": "^0.1.0",
+ "@mapbox/tiny-sdf": "^1.1.0",
+ "@mapbox/unitbezier": "^0.0.0",
+ "@mapbox/vector-tile": "^1.3.1",
+ "@mapbox/whoots-js": "^3.1.0",
+ "csscolorparser": "~1.0.2",
+ "earcut": "^2.1.5",
+ "esm": "^3.0.84",
+ "geojson-vt": "^3.2.1",
+ "gl-matrix": "^3.0.0",
+ "grid-index": "^1.1.0",
+ "minimist": "0.0.8",
+ "murmurhash-js": "^1.0.0",
+ "pbf": "^3.0.5",
+ "potpack": "^1.0.1",
+ "quickselect": "^2.0.0",
+ "rw": "^1.3.3",
+ "supercluster": "^6.0.1",
+ "tinyqueue": "^2.0.0",
+ "vt-pbf": "^3.1.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ }
+ }
+ },
+ "math-expression-evaluator": {
+ "version": "1.2.17",
+ "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
+ "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
+ "dev": true
+ },
+ "md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "mdn-data": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
+ "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==",
+ "dev": true
+ },
+ "mem": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz",
+ "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==",
+ "dev": true,
+ "requires": {
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^1.0.0",
+ "p-is-promise": "^2.0.0"
+ }
+ },
+ "merge-source-map": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
+ "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.5.6"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "merge2": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz",
+ "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ }
+ },
+ "mime": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
+ "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
+ "dev": true
+ },
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ },
+ "mixin-deep": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
+ },
+ "murmurhash-js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz",
+ "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E="
+ },
+ "nan": {
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
+ "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
+ "dev": true,
+ "optional": true
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
+ },
+ "node-addon-api": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.6.2.tgz",
+ "integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==",
+ "dev": true
+ },
+ "node-forge": {
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz",
+ "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==",
+ "dev": true
+ },
+ "node-libs-browser": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz",
+ "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==",
+ "dev": true,
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.0",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.11.0",
+ "vm-browserify": "0.0.4"
+ }
+ },
+ "node-releases": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.7.tgz",
+ "integrity": "sha512-bKdrwaqJUPHqlCzDD7so/R+Nk0jGv9a11ZhLrD9f6i947qGLrGAhU3OxRENa19QQmwzGy/g6zCDEuLGDO8HPvA==",
+ "dev": true,
+ "requires": {
+ "semver": "^5.3.0"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
+ "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "nth-check": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
+ "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
+ "dev": true,
+ "requires": {
+ "boolbase": "~1.0.0"
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-inspect": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz",
+ "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz",
+ "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==",
+ "dev": true
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.5.1"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "object.values": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
+ "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.12.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3"
+ }
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
+ "opn": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz",
+ "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==",
+ "dev": true,
+ "requires": {
+ "is-wsl": "^1.1.0"
+ }
+ },
+ "optionator": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "dev": true,
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.4",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "wordwrap": "~1.0.0"
+ }
+ },
+ "ora": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz",
+ "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.3.1",
+ "cli-cursor": "^2.1.0",
+ "cli-spinners": "^1.1.0",
+ "log-symbols": "^2.2.0",
+ "strip-ansi": "^4.0.0",
+ "wcwidth": "^1.0.1"
+ }
+ },
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-is-promise": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz",
+ "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
+ "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
+ "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+ "dev": true
+ },
+ "pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+ "dev": true
+ },
+ "parcel-bundler": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.11.0.tgz",
+ "integrity": "sha512-H0w/Obx76vWiG+UtofznfcHZJBmd6JA5iCn7zrGBINyVAh+Nt/JLD6QDROghHLXfJkO4XyczsB+fO+nPbXlFfA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/core": "^7.0.0",
+ "@babel/generator": "^7.0.0",
+ "@babel/parser": "^7.0.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.0.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.0.0",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/preset-env": "^7.0.0",
+ "@babel/runtime": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "@iarna/toml": "^2.2.0",
+ "@parcel/fs": "^1.11.0",
+ "@parcel/logger": "^1.11.0",
+ "@parcel/utils": "^1.11.0",
+ "@parcel/watcher": "^1.11.0",
+ "@parcel/workers": "^1.11.0",
+ "ansi-to-html": "^0.6.4",
+ "babylon-walk": "^1.0.2",
+ "browserslist": "^4.1.0",
+ "chalk": "^2.1.0",
+ "clone": "^2.1.1",
+ "command-exists": "^1.2.6",
+ "commander": "^2.11.0",
+ "cross-spawn": "^6.0.4",
+ "cssnano": "^4.0.0",
+ "deasync": "^0.1.14",
+ "dotenv": "^5.0.0",
+ "dotenv-expand": "^4.2.0",
+ "fast-glob": "^2.2.2",
+ "filesize": "^3.6.0",
+ "get-port": "^3.2.0",
+ "htmlnano": "^0.1.9",
+ "is-glob": "^4.0.0",
+ "is-url": "^1.2.2",
+ "js-yaml": "^3.10.0",
+ "json5": "^1.0.1",
+ "micromatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "node-forge": "^0.7.1",
+ "node-libs-browser": "^2.0.0",
+ "opn": "^5.1.0",
+ "postcss": "^7.0.5",
+ "postcss-value-parser": "^3.3.1",
+ "posthtml": "^0.11.2",
+ "posthtml-parser": "^0.4.0",
+ "posthtml-render": "^1.1.3",
+ "resolve": "^1.4.0",
+ "semver": "^5.4.1",
+ "serialize-to-js": "^1.1.1",
+ "serve-static": "^1.12.4",
+ "source-map": "0.6.1",
+ "terser": "^3.7.3",
+ "v8-compile-cache": "^2.0.0",
+ "ws": "^5.1.1"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.3.tgz",
+ "integrity": "sha512-VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg==",
+ "dev": true,
+ "requires": {
+ "asn1.js": "^4.0.0",
+ "browserify-aes": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "parseurl": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "pbf": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.1.0.tgz",
+ "integrity": "sha512-/hYJmIsTmh7fMkHAWWXJ5b8IKLWdjdlAFb3IHkRBn1XUhIYBChVGfVwmHEAV3UfXTxsP/AKfYTXTS/dCPxJd5w==",
+ "requires": {
+ "ieee754": "^1.1.6",
+ "resolve-protobuf-schema": "^2.0.0"
+ }
+ },
+ "pbkdf2": {
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
+ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+ "dev": true,
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "physical-cpu-count": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz",
+ "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=",
+ "dev": true
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "7.0.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
+ "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss-calc": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz",
+ "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==",
+ "dev": true,
+ "requires": {
+ "css-unit-converter": "^1.1.1",
+ "postcss": "^7.0.5",
+ "postcss-selector-parser": "^5.0.0-rc.4",
+ "postcss-value-parser": "^3.3.1"
+ }
+ },
+ "postcss-colormin": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
+ "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "color": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-convert-values": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
+ "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
+ "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
+ "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
+ "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
+ "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-unused": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.14",
+ "uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-filter-plugins": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz",
+ "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-merge-idents": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.1",
+ "postcss": "^5.0.10",
+ "postcss-value-parser": "^3.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
+ "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==",
+ "dev": true,
+ "requires": {
+ "css-color-names": "0.0.4",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "stylehacks": "^4.0.0"
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
+ "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "cssnano-util-same-parent": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0",
+ "vendors": "^1.0.0"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-message-helpers": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
+ "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
+ "dev": true
+ },
+ "postcss-minify-font-values": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
+ "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-minify-gradients": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
+ "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "is-color-stop": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-minify-params": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
+ "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "browserslist": "^4.0.0",
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "uniqs": "^2.0.0"
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
+ "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
+ "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-normalize-display-values": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
+ "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-positions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
+ "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-repeat-style": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
+ "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-string": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
+ "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-timing-functions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
+ "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-unicode": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
+ "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
+ "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "^2.0.0",
+ "normalize-url": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-whitespace": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
+ "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
+ "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-reduce-idents": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4",
+ "postcss-value-parser": "^3.0.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
+ "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
+ "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==",
+ "dev": true,
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+ "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "postcss-svgo": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
+ "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==",
+ "dev": true,
+ "requires": {
+ "is-svg": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "svgo": "^1.0.0"
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
+ "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "postcss": "^7.0.0",
+ "uniqs": "^2.0.0"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
+ "dev": true
+ },
+ "postcss-zindex": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
+ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.1",
+ "postcss": "^5.0.4",
+ "uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "posthtml": {
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.3.tgz",
+ "integrity": "sha512-quMHnDckt2DQ9lRi6bYLnuyBDnVzK+McHa8+ar4kTdYbWEo/92hREOu3h70ZirudOOp/my2b3r0m5YtxY52yrA==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "posthtml-parser": "^0.3.3",
+ "posthtml-render": "^1.1.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "posthtml-parser": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.3.3.tgz",
+ "integrity": "sha512-H/Z/yXGwl49A7hYQLV1iQ3h87NE0aZ/PMZhFwhw3lKeCAN+Ti4idrHvVvh4/GX10I7u77aQw+QB4vV5/Lzvv5A==",
+ "dev": true,
+ "requires": {
+ "htmlparser2": "^3.9.2",
+ "isobject": "^2.1.0",
+ "object-assign": "^4.1.1"
+ }
+ }
+ }
+ },
+ "posthtml-parser": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.1.tgz",
+ "integrity": "sha512-h7vXIQ21Ikz2w5wPClPakNP6mJeJCK6BT0GpqnQrNNABdR7/TchNlFyryL1Bz6Ww53YWCKkr6tdZuHlxY1AVdQ==",
+ "dev": true,
+ "requires": {
+ "htmlparser2": "^3.9.2",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "posthtml-render": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.1.4.tgz",
+ "integrity": "sha512-jL6eFIzoN3xUEvbo33OAkSDE2VIKU4JQ1wENOows1DpfnrdapR/K3Q1/fB43Mq7wQlcSgRm23nFrvoioufM7eA==",
+ "dev": true
+ },
+ "potpack": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.1.tgz",
+ "integrity": "sha512-15vItUAbViaYrmaB/Pbw7z6qX2xENbFSTA7Ii4tgbPtasxm5v6ryKhKtL91tpWovDJzTiZqdwzhcFBCwiMVdVw=="
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ },
+ "proto-list": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
+ "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
+ "dev": true
+ },
+ "protocol-buffers-schema": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz",
+ "integrity": "sha512-Xdayp8sB/mU+sUV4G7ws8xtYMGdQnxbeIfLjyO9TZZRJdztBGhlmbI5x1qcY4TG5hBkIKGnc28i7nXxaugu88w=="
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "dev": true
+ },
+ "query-string": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.0",
+ "strict-uri-encode": "^1.0.0"
+ }
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true
+ },
+ "quickselect": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz",
+ "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="
+ },
+ "quote-stream": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz",
+ "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=",
+ "dev": true,
+ "requires": {
+ "buffer-equal": "0.0.1",
+ "minimist": "^1.1.3",
+ "through2": "^2.0.0"
+ }
+ },
+ "randombytes": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
+ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "range-parser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "redeyed": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz",
+ "integrity": "sha1-N+mQpvKyGyoRwuakj9QTVpjLqX8=",
+ "requires": {
+ "esprima": "~1.0.4"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
+ "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0="
+ }
+ }
+ },
+ "reduce-css-calc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
+ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^0.4.2",
+ "math-expression-evaluator": "^1.2.14",
+ "reduce-function-call": "^1.0.1"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ }
+ }
+ },
+ "reduce-function-call": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
+ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^0.4.2"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ }
+ }
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
+ },
+ "regenerate-unicode-properties": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz",
+ "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.12.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
+ "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "0.13.3",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz",
+ "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==",
+ "dev": true,
+ "requires": {
+ "private": "^0.1.6"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "regexp-tree": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.1.tgz",
+ "integrity": "sha512-HwRjOquc9QOwKTgbxvZTcddS5mlNlwePMQ3NFL8broajMLD5CXDAqas8Y5yxJH5QtZp5iRor3YCILd5pz71Cgw==",
+ "dev": true,
+ "requires": {
+ "cli-table3": "^0.5.0",
+ "colors": "^1.1.2",
+ "yargs": "^12.0.5"
+ }
+ },
+ "regexpu-core": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz",
+ "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^7.0.0",
+ "regjsgen": "^0.5.0",
+ "regjsparser": "^0.6.0",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.0.2"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
+ "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
+ "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz",
+ "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
+ },
+ "resolve-protobuf-schema": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz",
+ "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==",
+ "requires": {
+ "protocol-buffers-schema": "^3.3.1"
+ }
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "rgb-regex": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
+ "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
+ "dev": true
+ },
+ "rgba-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
+ "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "rw": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
+ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-eval": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/safer-eval/-/safer-eval-1.3.0.tgz",
+ "integrity": "sha512-4qkBS8VzJatFR7F0eZfKoJyjqo43jY1jBvRhB5WXM0eJNjx9fiSmph5NApJefqKqpASKWPfaIJCJMMeWePSzfw==",
+ "dev": true,
+ "requires": {
+ "clones": "^1.2.0"
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true
+ },
+ "send": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
+ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.6.2",
+ "mime": "1.4.1",
+ "ms": "2.0.0",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.0",
+ "statuses": "~1.4.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "serialize-to-js": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-1.2.2.tgz",
+ "integrity": "sha512-mUc8vA5iJghe+O+3s0YDGFLMJcqitVFk787YKiv8a4sf6RX5W0u81b+gcHrp15O0fFa010dRBVZvwcKXOWsL9Q==",
+ "dev": true,
+ "requires": {
+ "js-beautify": "^1.8.9",
+ "safer-eval": "^1.3.0"
+ }
+ },
+ "serve-static": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
+ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
+ "dev": true,
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.2",
+ "send": "0.16.2"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "dev": true
+ },
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shallow-copy": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz",
+ "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=",
+ "dev": true
+ },
+ "sharkdown": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/sharkdown/-/sharkdown-0.1.0.tgz",
+ "integrity": "sha1-YdT+Up510CRCEnzJI0NiJlCZIU8=",
+ "requires": {
+ "cardinal": "~0.4.2",
+ "expect.js": "~0.2.0",
+ "minimist": "0.0.5",
+ "split": "~0.2.10",
+ "stream-spigot": "~2.1.2",
+ "through": "~2.3.4"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz",
+ "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY="
+ }
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "sigmund": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.3.1"
+ },
+ "dependencies": {
+ "is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "^1.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.1",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz",
+ "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "split": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz",
+ "integrity": "sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=",
+ "requires": {
+ "through": "2"
+ }
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "dev": true
+ },
+ "static-eval": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.0.tgz",
+ "integrity": "sha512-6flshd3F1Gwm+Ksxq463LtFd1liC77N/PX1FVVc3OzL3hAmo2fwHFbuArkcfi7s9rTNsLEhcRmXGFZhlgy40uw==",
+ "dev": true,
+ "requires": {
+ "escodegen": "^1.8.1"
+ }
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "static-module": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz",
+ "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==",
+ "dev": true,
+ "requires": {
+ "concat-stream": "~1.6.0",
+ "convert-source-map": "^1.5.1",
+ "duplexer2": "~0.1.4",
+ "escodegen": "~1.9.0",
+ "falafel": "^2.1.0",
+ "has": "^1.0.1",
+ "magic-string": "^0.22.4",
+ "merge-source-map": "1.0.4",
+ "object-inspect": "~1.4.0",
+ "quote-stream": "~1.0.2",
+ "readable-stream": "~2.3.3",
+ "shallow-copy": "~0.0.1",
+ "static-eval": "^2.0.0",
+ "through2": "~2.0.3"
+ }
+ },
+ "statuses": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+ "dev": true
+ },
+ "stream-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+ "dev": true,
+ "requires": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "stream-http": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "stream-spigot": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/stream-spigot/-/stream-spigot-2.1.2.tgz",
+ "integrity": "sha1-feFF6Bn43Q20UJDRPc9zqO08wDU=",
+ "requires": {
+ "readable-stream": "~1.1.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ }
+ }
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "stylehacks": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.2.tgz",
+ "integrity": "sha512-AZwvn2b3aNKK1yp+VgNPOuC2jIJOvh9PAiCq2gjDBW1WkQxQUksR1RugOJRIOhMYTGHZeoMcMQKp3/qaS3evNg==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "supercluster": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-6.0.1.tgz",
+ "integrity": "sha512-NTth/FBFUt9mwW03+Z6Byscex+UHu0utroIe6uXjGu9PrTuWtW70LYv9I1vPSYYIHQL74S5zAkrXrHEk0L7dGA==",
+ "requires": {
+ "kdbush": "^3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "svgo": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.1.1.tgz",
+ "integrity": "sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g==",
+ "dev": true,
+ "requires": {
+ "coa": "~2.0.1",
+ "colors": "~1.1.2",
+ "css-select": "^2.0.0",
+ "css-select-base-adapter": "~0.1.0",
+ "css-tree": "1.0.0-alpha.28",
+ "css-url-regex": "^1.1.0",
+ "csso": "^3.5.0",
+ "js-yaml": "^3.12.0",
+ "mkdirp": "~0.5.1",
+ "object.values": "^1.0.4",
+ "sax": "~1.2.4",
+ "stable": "~0.1.6",
+ "unquote": "~1.1.1",
+ "util.promisify": "~1.0.0"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ }
+ }
+ },
+ "terser": {
+ "version": "3.16.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz",
+ "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==",
+ "dev": true,
+ "requires": {
+ "commander": "~2.17.1",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.9"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.17.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
+ "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
+ "dev": true
+ }
+ }
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "timers-browserify": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
+ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
+ "dev": true,
+ "requires": {
+ "setimmediate": "^1.0.4"
+ }
+ },
+ "timsort": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
+ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
+ "dev": true
+ },
+ "tiny-inflate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz",
+ "integrity": "sha1-k9nez/yIBb1X6uQxDwt0Xptvs6c=",
+ "dev": true
+ },
+ "tinyqueue": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.0.tgz",
+ "integrity": "sha512-CuwAcoAyhS73YgUpTVWI6t/t2mo9zfqbxTbnu4B1U6QPPhq3mxMxywSbo3cWykan4cBkXBfE8F7qulYrNcsHyQ=="
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+ "dev": true
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "dev": true,
+ "requires": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ }
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz",
+ "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==",
+ "dev": true
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==",
+ "dev": true
+ },
+ "unicode-trie": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz",
+ "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=",
+ "dev": true,
+ "requires": {
+ "pako": "^0.2.5",
+ "tiny-inflate": "^1.0.0"
+ }
+ },
+ "union-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^0.4.3"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "set-value": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.1",
+ "to-object-path": "^0.3.0"
+ }
+ }
+ }
+ },
+ "uniq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+ "dev": true
+ },
+ "uniqs": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+ "dev": true
+ },
+ "unquote": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
+ "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
+ "dev": true
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ }
+ }
+ },
+ "upath": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
+ "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+ "dev": true
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ }
+ }
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "util": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+ "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "util.promisify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "object.getownpropertydescriptors": "^2.0.3"
+ }
+ },
+ "v8-compile-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz",
+ "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==",
+ "dev": true
+ },
+ "vendors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz",
+ "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==",
+ "dev": true
+ },
+ "vlq": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+ "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
+ "dev": true
+ },
+ "vm-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "dev": true,
+ "requires": {
+ "indexof": "0.0.1"
+ }
+ },
+ "vt-pbf": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.1.tgz",
+ "integrity": "sha512-pHjWdrIoxurpmTcbfBWXaPwSmtPAHS105253P1qyEfSTV2HJddqjM+kIHquaT/L6lVJIk9ltTGc0IxR/G47hYA==",
+ "requires": {
+ "@mapbox/point-geometry": "0.1.0",
+ "@mapbox/vector-tile": "^1.3.1",
+ "pbf": "^3.0.5"
+ }
+ },
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "dev": true,
+ "requires": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "wgs84": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/wgs84/-/wgs84-0.0.0.tgz",
+ "integrity": "sha1-NP3FVZF7blfPKigu0ENxDASc3HY="
+ },
+ "whet.extend": {
+ "version": "0.9.9",
+ "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
+ "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "ws": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
+ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
+ "dev": true,
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
+ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
+ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+}
diff --git a/examples/package.json b/examples/package.json
new file mode 100644
index 0000000..1091539
--- /dev/null
+++ b/examples/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "elm-mapbox-examples",
+ "version": "1.0.0",
+ "description": "Examples for the elm-mapbox package",
+ "main": "index.js",
+ "scripts": {
+ "test": "parcel test",
+ "start": "parcel index.html"
+ },
+ "author": "Jakub Hampl",
+ "license": "MIT",
+ "devDependencies": {
+ "elm-hot": "^1.0.1",
+ "parcel-bundler": "^1.11.0"
+ },
+ "dependencies": {
+ "elm-mapbox": "^3.1.1",
+ "mapbox-gl": "^0.53.0"
+ }
+}
[cgit] Unable to lock slot /tmp/cgit/47300000.lock: No such file or directory (2)