commit 1b719094ceabe1af330075f6dd4a09c3eee3c75b Author: = <=> Date: Sat Jun 10 11:52:08 2023 +0300 init diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..9e50c2b Binary files /dev/null and b/.DS_Store differ diff --git a/asset-manifest.json b/asset-manifest.json new file mode 100644 index 0000000..34677e8 --- /dev/null +++ b/asset-manifest.json @@ -0,0 +1,16 @@ +{ + "files": { + "main.css": "/static/css/main.c794578d.css", + "main.js": "/static/js/main.f5e005d2.js", + "static/js/483.450c1111.chunk.js": "/static/js/483.450c1111.chunk.js", + "static/media/background.png": "/static/media/background.0a6bac4ccb46b9c71bef.png", + "index.html": "/index.html", + "main.c794578d.css.map": "/static/css/main.c794578d.css.map", + "main.f5e005d2.js.map": "/static/js/main.f5e005d2.js.map", + "483.450c1111.chunk.js.map": "/static/js/483.450c1111.chunk.js.map" + }, + "entrypoints": [ + "static/css/main.c794578d.css", + "static/js/main.f5e005d2.js" + ] +} \ No newline at end of file diff --git a/background.png b/background.png new file mode 100644 index 0000000..23b733b Binary files /dev/null and b/background.png differ diff --git a/bonus.svg b/bonus.svg new file mode 100644 index 0000000..94acde9 --- /dev/null +++ b/bonus.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..92589a2 Binary files /dev/null and b/favicon.ico differ diff --git a/favorites.svg b/favorites.svg new file mode 100644 index 0000000..f5535e3 --- /dev/null +++ b/favorites.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/filter.svg b/filter.svg new file mode 100644 index 0000000..8bc8bd6 --- /dev/null +++ b/filter.svg @@ -0,0 +1,3 @@ + + + diff --git a/generateTour.png b/generateTour.png new file mode 100644 index 0000000..c8f54fc Binary files /dev/null and b/generateTour.png differ diff --git a/icons/apart.svg b/icons/apart.svg new file mode 100644 index 0000000..47a41f2 --- /dev/null +++ b/icons/apart.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/icons/bar.svg b/icons/bar.svg new file mode 100644 index 0000000..05d07c8 --- /dev/null +++ b/icons/bar.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/icons/bus.svg b/icons/bus.svg new file mode 100644 index 0000000..5ea2b56 --- /dev/null +++ b/icons/bus.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/bycicle.svg b/icons/bycicle.svg new file mode 100644 index 0000000..402a91c --- /dev/null +++ b/icons/bycicle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/cafe.svg b/icons/cafe.svg new file mode 100644 index 0000000..8b31e4c --- /dev/null +++ b/icons/cafe.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/icons/car.svg b/icons/car.svg new file mode 100644 index 0000000..2aeee53 --- /dev/null +++ b/icons/car.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/dz.svg b/icons/dz.svg new file mode 100644 index 0000000..cf28206 --- /dev/null +++ b/icons/dz.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/icons/exhibition.png b/icons/exhibition.png new file mode 100644 index 0000000..356084c Binary files /dev/null and b/icons/exhibition.png differ diff --git a/icons/heart.svg b/icons/heart.svg new file mode 100644 index 0000000..1567cfb --- /dev/null +++ b/icons/heart.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/hostel.svg b/icons/hostel.svg new file mode 100644 index 0000000..d3f2742 --- /dev/null +++ b/icons/hostel.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/icons/hotel.svg b/icons/hotel.svg new file mode 100644 index 0000000..4c49316 --- /dev/null +++ b/icons/hotel.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/icons/liked.svg b/icons/liked.svg new file mode 100644 index 0000000..8950bdb --- /dev/null +++ b/icons/liked.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/icons/likedHeart.svg b/icons/likedHeart.svg new file mode 100644 index 0000000..5cd8a6a --- /dev/null +++ b/icons/likedHeart.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/monument.png b/icons/monument.png new file mode 100644 index 0000000..93459e0 Binary files /dev/null and b/icons/monument.png differ diff --git a/icons/museum.png b/icons/museum.png new file mode 100644 index 0000000..c738f0f Binary files /dev/null and b/icons/museum.png differ diff --git a/icons/not_found.jpeg b/icons/not_found.jpeg new file mode 100644 index 0000000..014a422 Binary files /dev/null and b/icons/not_found.jpeg differ diff --git a/icons/ok.svg b/icons/ok.svg new file mode 100644 index 0000000..1f150f1 --- /dev/null +++ b/icons/ok.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/icons/park.png b/icons/park.png new file mode 100644 index 0000000..2e5ba8a Binary files /dev/null and b/icons/park.png differ diff --git a/icons/plane.svg b/icons/plane.svg new file mode 100644 index 0000000..605b99c --- /dev/null +++ b/icons/plane.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/icons/rest.svg b/icons/rest.svg new file mode 100644 index 0000000..a786657 --- /dev/null +++ b/icons/rest.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/icons/scooter.svg b/icons/scooter.svg new file mode 100644 index 0000000..0386b02 --- /dev/null +++ b/icons/scooter.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/stars/1.svg b/icons/stars/1.svg new file mode 100644 index 0000000..3b49f51 --- /dev/null +++ b/icons/stars/1.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/stars/2.svg b/icons/stars/2.svg new file mode 100644 index 0000000..1d27c67 --- /dev/null +++ b/icons/stars/2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/stars/3.svg b/icons/stars/3.svg new file mode 100644 index 0000000..a597297 --- /dev/null +++ b/icons/stars/3.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/stars/4.svg b/icons/stars/4.svg new file mode 100644 index 0000000..8feaede --- /dev/null +++ b/icons/stars/4.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/stars/5.svg b/icons/stars/5.svg new file mode 100644 index 0000000..95621b4 --- /dev/null +++ b/icons/stars/5.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/tg.svg b/icons/tg.svg new file mode 100644 index 0000000..1976570 --- /dev/null +++ b/icons/tg.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/icons/train.svg b/icons/train.svg new file mode 100644 index 0000000..6047bcd --- /dev/null +++ b/icons/train.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/unesco.png b/icons/unesco.png new file mode 100644 index 0000000..c285401 Binary files /dev/null and b/icons/unesco.png differ diff --git a/icons/unliked.svg b/icons/unliked.svg new file mode 100644 index 0000000..0c73921 --- /dev/null +++ b/icons/unliked.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/icons/vk.svg b/icons/vk.svg new file mode 100644 index 0000000..b0d1f87 --- /dev/null +++ b/icons/vk.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/icons/walk.svg b/icons/walk.svg new file mode 100644 index 0000000..9ecd56d --- /dev/null +++ b/icons/walk.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/yt.svg b/icons/yt.svg new file mode 100644 index 0000000..7e44be3 --- /dev/null +++ b/icons/yt.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..7bd18b8 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +Russpass MAGNUM OPUS
\ No newline at end of file diff --git a/language.png b/language.png new file mode 100644 index 0000000..ae5fe28 Binary files /dev/null and b/language.png differ diff --git a/language.svg b/language.svg new file mode 100644 index 0000000..f9f9367 --- /dev/null +++ b/language.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/likeButton.svg b/likeButton.svg new file mode 100644 index 0000000..08c8781 --- /dev/null +++ b/likeButton.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/likeButtonActive.svg b/likeButtonActive.svg new file mode 100644 index 0000000..b29d6ef --- /dev/null +++ b/likeButtonActive.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/logo.svg b/logo.svg new file mode 100644 index 0000000..c1b4d12 --- /dev/null +++ b/logo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/logo192.png b/logo192.png new file mode 100644 index 0000000..fc44b0a Binary files /dev/null and b/logo192.png differ diff --git a/logo512.png b/logo512.png new file mode 100644 index 0000000..a4e47a6 Binary files /dev/null and b/logo512.png differ diff --git a/magicWand.svg b/magicWand.svg new file mode 100644 index 0000000..68bcb70 --- /dev/null +++ b/magicWand.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/menu.svg b/menu.svg new file mode 100644 index 0000000..8e583ca --- /dev/null +++ b/menu.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/pin.png b/pin.png new file mode 100644 index 0000000..f66982d Binary files /dev/null and b/pin.png differ diff --git a/profile.svg b/profile.svg new file mode 100644 index 0000000..e94d29a --- /dev/null +++ b/profile.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/react.svg b/react.svg new file mode 100644 index 0000000..ac01f3f --- /dev/null +++ b/react.svg @@ -0,0 +1,3 @@ + + + diff --git a/redpin.png b/redpin.png new file mode 100644 index 0000000..4140c98 Binary files /dev/null and b/redpin.png differ diff --git a/restourant.png b/restourant.png new file mode 100644 index 0000000..55333e9 Binary files /dev/null and b/restourant.png differ diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/sample.jpg b/sample.jpg new file mode 100644 index 0000000..4a5799b Binary files /dev/null and b/sample.jpg differ diff --git a/search.svg b/search.svg new file mode 100644 index 0000000..05f28d3 --- /dev/null +++ b/search.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/static/css/main.c794578d.css b/static/css/main.c794578d.css new file mode 100644 index 0000000..c4951c9 --- /dev/null +++ b/static/css/main.c794578d.css @@ -0,0 +1,2 @@ +body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.block{background:#fffbf3;border-radius:20px;padding:20px}.input__container{background:#fff;border:none;border-radius:15px;box-shadow:0 12px 16px rgba(0,0,0,.04);outline:none;padding:20px}@media screen and (max-device-width:600px){.reg-input{width:280px!important;width:200px!important}}.button{background-color:#f5dfb880;border:none;border-radius:10px;cursor:pointer;outline:none;padding:15px 50px;transition:.3s;width:100%}.button:hover{opacity:.5}.centered{justify-content:center;margin-top:50px}.centered,.reg-block{align-items:center;display:flex;flex-direction:column}.reg-block{gap:20px;padding-left:50px;padding-right:50px}.reg-input{display:block;width:400px}.login-btn-y{background-color:#ffcf08;border:none;border-radius:10px;cursor:pointer;outline:none;padding:15px 50px}.generatecard-block{background-color:#fff;border:1px solid #f5dfb8;display:flex;flex-direction:column;gap:15px;height:323px;padding:20px;width:238px}.generateCardDescr{display:flex;flex-direction:row;justify-content:space-between}.cardTitle{width:75%}.generateTitleText{font-size:24px;line-height:22px}.generateCardTitle{display:flex;flex-direction:column;gap:15px}.generate-y{align-items:center;background-color:#ffcf08;border:none;border-radius:10px;cursor:pointer;display:flex;gap:10px;justify-content:center;outline:none;padding:15px 50px}.wand{height:25px}.headerWrapper{align-items:center;display:flex;height:100px;justify-content:space-between}.padding{padding-left:50px;padding-right:50px;width:calc(100% - 100px)}.iconWrapper{align-items:center;display:flex;gap:10px}.headerIcon{cursor:pointer;transition:.3s}.headerIcon:hover{transform:scale(1.05)}@media screen and (max-device-width:1000px){.headerWrapper{flex-wrap:wrap}}@media screen and (max-device-width:600px){.delete600{display:none}}@media screen and (max-device-width:400px){.padding{padding-left:15px;padding-right:15px;width:calc(100% - 30px)}}.mainCard{width:calc(100% - 100px)}.mainCard>h2{display:inline-block}.fav-wrapper{align-items:center}.backgroundMainIMG{align-items:center;background-image:url(/static/media/background.0a6bac4ccb46b9c71bef.png);background-size:cover;border-radius:48px;display:flex;flex-direction:column;gap:20px;height:25vh;justify-content:flex-end;padding:80px;width:calc(100% - 260px)}.imgHeader{font-size:44px;font-weight:600;line-height:46px}.imgDescr,.imgHeader{color:#fff;font-style:normal;text-align:center}.imgDescr{align-items:flex-end;display:flex;font-size:20px;font-weight:500;line-height:24px}@media screen and (max-device-width:700px){.imgHeader{font-size:24px;line-height:28px}.imgDescr{font-size:18px;line-height:22px}.mainCard{border-radius:20px!important;margin:0 25px!important;padding:25px!important}}@media screen and (max-device-width:500px){.backgroundMainIMG{padding:20px 20px 60px!important;width:calc(100% - 90px)!important}}.prefs{background-color:#fff;height:calc(100vh - 50px);justify-content:flex-start;overflow-y:scroll;padding:25px;position:fixed;right:0;top:0;width:60%}.prefs,.prefsHeadWrapper{display:flex;flex-direction:column}.prefsHeadWrapper{align-items:center;justify-content:center;width:100%}.prefsbg{background-color:rgba(0,0,0,.2);height:100vh;position:fixed;right:0;top:0;width:100%;z-index:1000000}.hotelsCardWrapper{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:30px;height:400px;justify-content:center;margin-bottom:15px;overflow-y:scroll}@media screen and (max-device-width:700px){.prefs{width:calc(100% - 50px)}}@media screen and (max-device-width:600px){h2{font-size:16px}}.choiceIconWrapper{flex-direction:row;gap:30px}.choiceBtn,.choiceIconWrapper{align-items:center;display:flex}.choiceBtn{background:#faefdb;border:2px solid #faefdb;border-radius:12px;cursor:pointer;flex-direction:column;justify-content:center;padding:15px;transition:.3s;width:30px}.choiceBtn:hover{opacity:.5}.choiceBtnActive{background:#faefdb;border:2px solid #ffcf08;border-radius:12px;cursor:pointer;padding:15px;transition:.3s;width:30px}.choiceBtnActive,.choiceBtnWrapper{align-items:center;display:flex;flex-direction:column;justify-content:center}.choiceBtnWrapper{gap:10px}@media screen and (max-device-width:500px){.choiceIconWrapper{gap:15px}.choiceBtn,.choiceBtnActive{padding:10px;width:20px}}.hotelCard{background:#f5f5f5;border-radius:20px;display:flex;flex-direction:column;height:380px;height:350px;justify-content:space-between;overflow:hidden;padding:0 15px 15px;width:250px}h3{margin:0}.likeHotelBtn{cursor:pointer;height:40px;width:40px}.likeHotelBtn:hover{opacity:.5}.ratingTile{align-items:center;background:#007470;border-radius:8px;color:#fff;display:flex;font-size:18px;font-weight:500;height:40px;justify-content:center;width:40px}.hotelCardTools{position:relative;top:15px;width:250px}.hotelCardRow,.hotelCardTools{display:flex;flex-direction:row;justify-content:space-between}.hotelCardRow{align-items:center;font-size:12px;gap:15px}.hotelBtn{margin-top:15px}.openHotelCardBG{align-items:center;background-color:rgba(0,0,0,.2);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.openHotelCard{background-color:#fff;border-radius:20px;height:75vh;overflow-y:scroll;padding:50px;width:75%;z-index:10000}.hotelImg{height:240px;margin-left:-15px;margin-top:-65px;width:280px}.tinder-block{display:flex;height:600px;justify-content:center;width:700px}.card{position:absolute}.span-er{text-align:center;width:250px}a,a:visited{color:#000}.btns{gap:10px;margin-top:20px}.btns,.cont-span{display:flex;flex-direction:column}.cont-span{width:500px}.cont-span,.span-cont{justify-content:center}.span-cont{display:flex}@media screen and (max-device-width:800px){.tinder-block{padding:10px;width:auto}.cont-span{align-items:center;padding:50px;width:auto}}.card__container{background-color:#fff;border-radius:15px}.tinder-card__card{border-radius:0!important;gap:10px}.tinder-card__card,.tinder__content{border:none!important;display:flex;flex-direction:column}.tinder__content{gap:5px;height:210px;max-width:280px;padding:10px}.tin{display:flex;flex-direction:column;gap:20px}.tin-dir{display:flex;gap:10px;width:700px}.main-btn{background-color:#ffcf08}.Theme_color_yandex-default{--color-base:#000;--color-essential:#fff;--color-project:#fc0;--color-phantom:#000;--color-path:#04b;--color-success:#00985f;--color-alert:#f33;--color-warning:#f90;--color-normal:#dde3e5;--color-system:#778a9b;--color-promo:#0057d3;--color-hover:#c00;--color-transparent:transparent;--color-bg-brand:var(--color-project);--color-bg-inverse:var(--color-base);--color-bg-action:#ffdb4d;--color-bg-selection:#ffea9e;--color-bg-hover:rgba(0,0,0,.15);--color-bg-border:rgba(0,0,0,.05);--color-bg-stripe:rgba(0,0,0,.04);--color-bg-ghost:rgba(0,0,0,.08);--color-bg-default:var(--color-essential);--color-bg-tone:rgba(0,0,0,.9);--color-bg-soft:hsla(0,0%,100%,.97);--color-bg-success:var(--color-success);--color-bg-alert:var(--color-alert);--color-bg-warning:var(--color-warning);--color-bg-normal:var(--color-normal);--color-bg-system:var(--color-system);--color-bg-link:rgba(21,126,239,.4);--color-bg-promo:var(--color-promo);--color-typo-brand:var(--color-project);--color-typo-primary:var(--color-base);--color-typo-inverse:var(--color-essential);--color-typo-promo:rgba(0,0,0,.8);--color-typo-secondary:rgba(0,0,0,.6);--color-typo-ghost:rgba(0,0,0,.3);--color-typo-disable:rgba(0,0,0,.3);--color-typo-success:var(--color-success);--color-typo-warning:var(--color-warning);--color-typo-alert:#e00000;--color-link:var(--color-path);--color-link-external:var(--color-path);--color-link-minor:#669;--color-link-hover:var(--color-hover);--color-control-bg-border-focus:#b3b3b3;--color-control-bg-border-prism:var(--color-project);--color-control-typo-primary:var(--color-base);--color-control-typo-secondary:rgba(0,0,0,.6);--color-control-typo-ghost:rgba(0,0,0,.3);--color-control-typo-passive:var(--color-base);--color-control-typo-faint:#fff;--color-control-typo-disable:grey;--color-control-typo-link:var(--color-path);--color-control-typo-error:#e00000;--color-control-bg-default:#e6e6e6;--color-control-bg-default-hover:#dbdbdb;--color-control-bg-default-press:#dbdbdb;--color-control-bg-default-disable:#f2f2f2;--color-control-bg-border-default:#b3b3b3;--color-control-bg-border-default-hover:#dbdbdb;--color-control-bg-border-default-press:#b3b3b3;--color-control-bg-border-default-disable:#e8e8e8;--color-control-bg-border-default-error:var(--color-alert);--color-control-bg-border-default-error-hover:#e0000f;--color-control-bg-pseudo:#fff;--color-control-bg-pseudo-hover:#f7f7f7;--color-control-bg-border-pseudo:#ccc;--color-control-bg-action:var(--color-project);--color-control-bg-action-hover:#fac000;--color-control-bg-action-press:#fac000;--color-control-bg-passive:var(--color-essential);--color-control-bg-progress:var(--color-project);--color-control-bg-progress-process:#ffd500;--color-control-bg-blank:var(--color-essential);--color-control-bg-blank-hover:var(--color-essential);--color-control-bg-blank-disable:#f2f2f2;--color-control-bg-border-blank:#d9d9d9;--color-control-bg-border-blank-hover:#ccc;--color-control-bg-border-blank-disable:#f2f2f2;--color-control-bg-faint:var(--color-essential);--color-control-bg-faint-disable:#c7c7c7;--color-control-bg-check:#545454;--color-control-bg-check-hover:#545454;--color-control-bg-check-press:#525252;--color-control-bg-check-disable:#f2f2f2;--color-control-bg-border-check:#a88700;--color-control-bg-border-check-hover:#a88700;--color-control-bg-border-check-press:#a88700;--color-control-bg-link-default:var(--color-path);--color-control-bg-link-default-hover:rgba(0,68,187,.3);--color-control-bg-border-link-default:rgba(0,68,187,.6);--color-control-bg-border-link-default-hover:rgba(0,68,187,.6);--color-control-typo-raised:#000;--color-control-typo-raised-disable:#7f7f7f;--color-control-bg-raised:#fff;--color-control-bg-raised-hover:#f5f5f5;--color-control-bg-raised-disable:#f5f5f5;--color-control-bg-raised-check:#fff;--attach-typo-color:var(--color-control-typo-primary);--badge-border-color:var(--color-bg-default);--badge-fill-color:var(--color-bg-alert);--badge-typo-color:var(--color-typo-inverse);--button-view-action-border-color-focused:var(--color-control-bg-border-prism);--button-view-action-fill-color-base:var(--color-control-bg-action);--button-view-action-fill-color-disabled:var(--color-control-bg-default-disable);--button-view-action-fill-color-hovered:var(--color-control-bg-action-hover);--button-view-action-fill-color-progress-base:var(--color-control-bg-progress);--button-view-action-fill-color-progress-process:var(--color-control-bg-progress-process);--button-view-action-fill-color-checked-base:var(--color-control-bg-check);--button-view-action-fill-color-checked-hovered:var(--color-control-bg-check-hover);--button-view-action-typo-color-base:var(--color-control-typo-passive);--button-view-action-typo-color-disabled:var(--color-control-typo-disable);--button-view-action-typo-color-hovered:var(--color-control-typo-passive);--button-view-action-typo-color-progress-base:var(--color-control-typo-passive);--button-view-action-typo-color-checked-base:var(--color-control-typo-faint);--button-view-action-typo-color-checked-hovered:var(--color-control-typo-faint);--button-view-clear-border-color-focused:var(--color-control-bg-border-prism);--button-view-clear-fill-color-disabled:var(--color-control-bg-default-disable);--button-view-clear-fill-color-checked-base:var(--color-control-bg-check);--button-view-clear-fill-color-checked-hovered:var(--color-control-bg-check-hover);--button-view-clear-typo-color-base:var(--color-control-typo-primary);--button-view-clear-typo-color-disabled:var(--color-control-typo-disable);--button-view-clear-typo-color-checked-base:var(--color-control-typo-faint);--button-view-default-border-color-focused:var(--color-control-bg-border-prism);--button-view-default-fill-color-base:var(--color-control-bg-default);--button-view-default-fill-color-disabled:var(--color-control-bg-default-disable);--button-view-default-fill-color-hovered:var(--color-control-bg-default-hover);--button-view-default-fill-color-checked-base:var(--color-control-bg-check);--button-view-default-fill-color-checked-hovered:var(--color-control-bg-check-hover);--button-view-default-typo-color-base:var(--color-control-typo-primary);--button-view-default-typo-color-hovered:var(--color-control-typo-primary);--button-view-default-typo-color-disabled:var(--color-control-typo-disable);--button-view-default-typo-color-checked-base:var(--color-control-typo-faint);--button-view-default-typo-color-checked-hovered:var(--color-control-typo-faint);--button-view-link-border-color-base:var(--color-control-bg-border-link-default);--button-view-link-border-color-focused:var(--color-control-bg-border-prism);--button-view-link-fill-color-base:var(--color-control-bg-faint);--button-view-link-fill-color-disabled:var(--color-control-bg-default-disable);--button-view-link-fill-color-hovered:var(--color-control-bg-link-default-hover);--button-view-link-fill-color-checked-base:var(--color-control-bg-check);--button-view-link-fill-color-checked-hovered:var(--color-control-bg-check-hover);--button-view-link-typo-color-base:var(--color-control-typo-link);--button-view-link-typo-color-disabled:var(--color-control-typo-disable);--button-view-link-typo-color-checked-base:var(--color-control-typo-faint);--button-view-pseudo-border-color-base:var(--color-control-bg-border-pseudo);--button-view-pseudo-border-color-focused:var(--color-control-bg-border-prism);--button-view-pseudo-fill-color-disabled:var(--color-control-bg-default-disable);--button-view-pseudo-fill-color-hovered:var(--color-control-bg-pseudo-hover);--button-view-pseudo-fill-color-checked-base:var(--color-control-bg-check);--button-view-pseudo-fill-color-checked-hovered:var(--color-control-bg-check-hover);--button-view-pseudo-typo-color-base:var(--color-control-typo-primary);--button-view-pseudo-typo-color-disabled:var(--color-control-typo-disable);--button-view-pseudo-typo-color-checked-base:var(--color-control-typo-faint);--button-view-raised-border-color-focused:var(--color-control-bg-border-prism);--button-view-raised-fill-color-base:var(--color-control-bg-raised);--button-view-raised-fill-color-disabled:var(--color-control-bg-raised-disable);--button-view-raised-fill-color-hovered:var(--color-control-bg-raised-hover);--button-view-raised-fill-color-checked-base:var(--color-control-bg-check);--button-view-raised-fill-color-checked-hovered:var(--color-control-bg-check-hover);--button-view-raised-typo-color-base:var(--color-control-typo-raised);--button-view-raised-typo-color-disabled:var(--color-control-typo-raised-disable);--button-view-raised-typo-color-checked-base:var(--color-control-typo-faint);--checkbox-view-outline-border-color:rgba(0,0,0,.1);--checkbox-view-outline-fill-color-base:transparent;--checkbox-view-outline-fill-color-hovered:#d2d2d2;--checkbox-view-default-outline-color:var(--color-control-bg-border-prism);--checkbox-view-default-fill-color-base:var(--color-control-bg-default);--checkbox-view-default-fill-color-hovered:var(--color-control-bg-default-hover);--checkbox-view-default-fill-color-checked-base:var(--color-control-bg-check);--checkbox-view-default-fill-color-checked-hovered:var(--color-control-bg-check-hover);--checkbox-view-default-typo-color-base:var(--color-control-typo-primary);--checkbox-view-default-typo-color-checked-base:var(--color-control-bg-faint);--divider-fill-color:#fc0;--header-fill-color:#fff;--header-nav-link-color-base:#939cb0;--header-nav-link-color-hover:#222426;--header-nav-link-color-active:#d00;--header-search-fill-color-base:#ffdb4d;--header-search-fill-color-hover:#ffd633;--header-search-fill-color-active:#fc0;--header-search-button-typo-color:#000;--header-search-textinput-typo-color:#000;--header-search-textinput-fill-color:#fff;--link-view-default-outline-color:var(--color-control-bg-border-prism);--link-view-default-typo-color-base:var(--color-link);--link-view-default-typo-color-disabled:var(--color-typo-disable);--link-view-default-typo-color-hovered:var(--color-link-hover);--menu-view-default-border-color-base:var(--color-control-bg-border-default);--menu-view-default-fill-color-base:var(--color-control-bg-default);--menu-view-default-fill-color-hovered:var(--color-control-bg-default-hover);--menu-view-default-typo-color-base:var(--color-control-typo-primary);--menu-view-default-typo-color-secondary:var(--color-control-typo-secondary);--menu-view-default-typo-color-disabled:var(--color-control-typo-disable);--menu-view-default-typo-color-hovered:var(--color-control-typo-primary);--message-box-view-default-typo-color:var(--color-typo-inverse);--message-box-view-default-fill-color:var(--color-bg-inverse);--message-box-view-promo-typo-color:var(--color-typo-inverse);--message-box-view-promo-fill-color:var(--color-bg-promo);--message-box-view-inverse-typo-color:var(--color-typo-primary);--message-box-view-inverse-fill-color:var(--color-bg-default);--popup-view-default-typo-color:var(--color-typo-primary);--popup-view-default-fill-color:var(--color-bg-default);--progress-outer-fill-color:transparent;--progress-inner-fill-color:var(--color-control-bg-progress);--radio-button-view-default-outline-color:var(--color-control-bg-border-prism);--radio-button-view-default-fill-color-base:var(--color-control-bg-default);--radio-button-view-default-fill-color-checked-base:var(--color-control-bg-passive);--radio-button-view-default-typo-color-base:var(--color-control-typo-secondary);--radio-button-view-default-typo-color-hovered:var(--color-control-typo-primary);--radio-button-view-default-typo-color-checked-base:var(--color-control-typo-primary);--radiobox-view-default-dot-fill-color:var(--color-control-bg-faint);--radiobox-view-default-outline-color:var(--color-control-bg-border-prism);--radiobox-view-default-fill-color-base:var(--color-control-bg-default);--radiobox-view-default-fill-color-hovered:var(--color-control-bg-default-hover);--radiobox-view-default-fill-color-checked-base:var(--color-control-bg-check);--radiobox-view-default-fill-color-checked-hovered:var(--color-control-bg-check-hover);--radiobox-view-default-typo-color-base:var(--color-control-typo-primary);--radiobox-view-outline-border-color:rgba(0,0,0,.1);--radiobox-view-outline-fill-color-base:transparent;--radiobox-view-outline-fill-color-hovered:#d9d9d9;--slider-view-default-typo-color-base:var(--color-control-typo-primary);--slider-view-default-track-fill-color-base:rgba(0,0,0,.15);--slider-view-default-track-fill-color-hovered:rgba(0,0,0,.25);--slider-view-default-range-fill-color-base:var(--color-control-bg-action);--slider-view-default-range-fill-color-hovered:var(--color-control-bg-action-hover);--slider-view-default-range-fill-color-disabled:rgba(0,0,0,.15);--slider-view-default-thumb-fill-color-base:var(--color-control-bg-raised);--slider-view-default-thumb-fill-color-disabled:#000;--slider-view-default-tick-fill-color-base:#fff;--spin-view-default-border-color:var(--color-control-bg-progress);--tabs-menu-view-default-outline-color:var(--color-control-bg-border-prism);--tabs-menu-view-default-active-line-fill-color-active:var(--color-typo-primary);--tabs-menu-view-default-typo-color-base:var(--color-typo-primary);--textarea-view-default-fill-color-base:var(--color-control-bg-blank);--textarea-view-default-fill-color-disabled:var(--color-control-bg-blank-disable);--textarea-view-default-fill-color-hovered:var(--color-control-bg-blank-hover);--textarea-view-default-typo-color-base:var(--color-control-typo-primary);--textarea-view-default-typo-color-disabled:var(--color-control-typo-disable);--textarea-view-default-placeholder-typo-color-base:var(--color-control-typo-ghost);--textarea-view-default-placeholder-typo-color-disabled:var(--color-control-typo-disable);--textarea-view-default-icon-fill-color-base:var(--color-control-typo-ghost);--textarea-view-default-clear-fill-color-base:var(--color-control-typo-ghost);--textarea-view-default-clear-fill-color-hovered:var(--color-control-typo-primary);--textarea-view-default-hint-typo-color-state-error-base:var(--color-control-typo-error);--textarea-view-default-border-color-base:var(--color-control-bg-border-blank);--textarea-view-default-border-color-disabled:var(--color-control-bg-border-blank-disable);--textarea-view-default-border-color-focused:var(--color-control-bg-border-focus);--textarea-view-default-border-color-hovered:var(--color-control-bg-border-blank-hover);--textarea-view-default-border-color-state-error-base:var(--color-control-bg-border-default-error);--textarea-view-default-border-color-state-error-hovered:var(--color-control-bg-border-default-error-hover);--textinput-view-material-typo-color-base:#000;--textinput-view-material-typo-color-disabled:rgba(0,0,0,.4);--textinput-view-material-border-color-base:rgba(0,0,0,.1);--textinput-view-material-border-color-state-error:#ff3737;--textinput-view-material-icon-fill-color-base:rgba(0,0,0,.8);--textinput-view-material-icon-fill-color-disabled:rgba(0,0,0,.5);--textinput-view-material-hint-typo-color-base:rgba(0,0,0,.4);--textinput-view-material-hint-typo-color-state-error:#ff3737;--textinput-view-material-caret-color-base:#067aff;--textinput-view-material-caret-color-state-error:#ff3737;--textinput-view-material-placeholder-typo-color-base:var(--color-control-typo-ghost);--textinput-view-material-label-color-base:rgba(0,0,0,.25);--textinput-view-material-label-color-state-error:#ff3737;--textinput-view-material-label-color-floated-base:rgba(0,0,0,.4);--textinput-view-material-variant-filled-border-color-focused:#067aff;--textinput-view-material-variant-filled-fill-color:rgba(0,0,0,.05);--textinput-view-material-variant-filled-label-color-floated:#067aff;--textinput-view-material-variant-outlined-border-color-base:rgba(0,0,0,.1);--textinput-view-material-variant-outlined-border-color-focused:#067aff;--textinput-view-material-variant-outlined-label-color-floated:#067aff;--textinput-view-default-fill-color-base:var(--color-control-bg-blank);--textinput-view-default-fill-color-disabled:var(--color-control-bg-blank-disable);--textinput-view-default-fill-color-hovered:var(--color-control-bg-blank-hover);--textinput-view-default-typo-color-base:var(--color-control-typo-primary);--textinput-view-default-typo-color-disabled:var(--color-control-typo-disable);--textinput-view-default-placeholder-typo-color-base:var(--color-control-typo-ghost);--textinput-view-default-placeholder-typo-color-disabled:var(--color-control-typo-disable);--textinput-view-default-icon-fill-color-base:var(--color-control-typo-ghost);--textinput-view-default-clear-fill-color-base:var(--color-control-typo-ghost);--textinput-view-default-clear-fill-color-hovered:var(--color-control-typo-primary);--textinput-view-default-hint-typo-color-state-error-base:var(--color-control-typo-error);--textinput-view-default-border-color-base:var(--color-control-bg-border-blank);--textinput-view-default-border-color-disabled:var(--color-control-bg-border-blank-disable);--textinput-view-default-border-color-focused:var(--color-control-bg-border-focus);--textinput-view-default-border-color-hovered:var(--color-control-bg-border-blank-hover);--textinput-view-default-border-color-state-error-base:var(--color-control-bg-border-default-error);--textinput-view-default-border-color-state-error-hovered:var(--color-control-bg-border-default-error-hover);--tooltip-view-default-fill-color-base:var(--color-control-bg-default);--tooltip-view-default-fill-color-state-success:var(--color-bg-success);--tooltip-view-default-fill-color-state-warning:var(--color-bg-warning);--tooltip-view-default-fill-color-state-alert:var(--color-bg-alert);--tooltip-view-default-typo-color-state-success:var(--color-control-typo-faint);--tooltip-view-default-typo-color-state-warning:var(--color-control-typo-faint);--tooltip-view-default-typo-color-state-alert:var(--color-control-typo-faint);--tumbler-view-default-outline-color:var(--color-control-bg-border-prism);--tumbler-view-default-fill-color-base:var(--color-control-bg-default);--tumbler-view-default-fill-color-disabled:var(--color-control-bg-default-disable);--tumbler-view-default-fill-color-hovered:var(--color-control-bg-default-hover);--tumbler-view-default-fill-color-checked-base:var(--color-control-bg-action);--tumbler-view-default-fill-color-checked-disabled:var(--color-control-bg-default-disable);--tumbler-view-default-fill-color-checked-hovered:var(--color-control-bg-action-hover);--tumbler-view-default-button-fill-color-base:var(--color-control-bg-faint);--tumbler-view-default-typo-color-base:var(--color-control-typo-primary);--tumbler-view-default-typo-color-disabled:var(--color-control-typo-disable);--calendar-view-default-fill-color:#fff;--calendar-view-default-header-fill-color:transparent;--calendar-view-default-aside-typo-color-base:rgba(0,0,0,.6);--calendar-view-default-aside-fill-color-base:rgba(0,0,0,.05);--calendar-view-default-weekday-typo-color-base:#000;--calendar-view-default-weekend-typo-color-base:#ff3029;--calendar-view-default-cell-border-color-hovered:rgba(0,0,0,.1);--calendar-view-default-cell-border-color-focused:#e69900;--calendar-view-default-cell-border-color-today:rgba(0,0,0,.05);--calendar-view-default-cell-underline-color-today:#ff3737;--calendar-view-default-cell-typo-color-base:rgba(0,0,0,.8);--calendar-view-default-cell-typo-color-disabled:rgba(0,0,0,.45);--calendar-view-default-cell-typo-color-selected-base:#fff;--calendar-view-default-cell-typo-color-weekend:#ff3737;--calendar-view-default-cell-fill-color-hovered:#f2f2f2;--calendar-view-default-cell-fill-color-pressed:#e5e5e5;--calendar-view-default-cell-fill-color-range-selected-base:#f2f2f2;--calendar-view-default-cell-fill-color-range-selected-hovered:#e6e6e6;--calendar-view-default-cell-fill-color-range-selected-pressed:#d9d9d9;--calendar-view-default-cell-fill-color-selected-base:#f33;--calendar-view-default-cell-fill-color-selected-hovered:red;--calendar-view-default-cell-fill-color-selected-pressed:#f20008;--calendar-view-default-cell-fill-color-selected-disabled:#f7f8fa;--calendar-view-default-nav-action-typo-color-base:rgba(0,0,0,.65);--calendar-view-default-nav-action-typo-color-hovered:#000;--calendar-view-default-nav-action-typo-color-disabled:grey;--calendar-view-default-nav-title-button-typo-color-base:#000;--calendar-view-default-nav-title-button-typo-color-hovered:rgba(0,0,0,.65);--calendar-view-brand-fill-color:#fff;--calendar-view-brand-header-fill-color:#1a1a1a;--calendar-view-brand-aside-typo-color-base:rgba(0,0,0,.6);--calendar-view-brand-aside-fill-color-base:rgba(0,0,0,.05);--calendar-view-brand-weekday-typo-color-base:#fff;--calendar-view-brand-weekend-typo-color-base:hsla(0,0%,100%,.75);--calendar-view-brand-cell-border-color-hovered:rgba(0,0,0,.1);--calendar-view-brand-cell-border-color-focused:#fdb100;--calendar-view-brand-cell-border-color-today:rgba(0,0,0,.05);--calendar-view-brand-cell-underline-color-today:#ff3737;--calendar-view-brand-cell-typo-color-base:rgba(0,0,0,.8);--calendar-view-brand-cell-typo-color-disabled:rgba(0,0,0,.45);--calendar-view-brand-cell-typo-color-selected-base:#fff;--calendar-view-brand-cell-typo-color-weekend:#ff3737;--calendar-view-brand-cell-fill-color-hovered:#f2f2f2;--calendar-view-brand-cell-fill-color-pressed:#e5e5e5;--calendar-view-brand-cell-fill-color-range-selected-base:#f2f2f2;--calendar-view-brand-cell-fill-color-range-selected-hovered:#e6e6e6;--calendar-view-brand-cell-fill-color-range-selected-pressed:#d9d9d9;--calendar-view-brand-cell-fill-color-selected-base:#f33;--calendar-view-brand-cell-fill-color-selected-hovered:red;--calendar-view-brand-cell-fill-color-selected-pressed:#f20008;--calendar-view-brand-cell-fill-color-selected-disabled:#f7f8fa;--calendar-view-brand-nav-action-typo-color-base:hsla(0,0%,100%,.65);--calendar-view-brand-nav-action-typo-color-hovered:#fff;--calendar-view-brand-nav-action-typo-color-disabled:hsla(0,0%,100%,.4);--calendar-view-brand-nav-title-button-typo-color-base:#fff;--calendar-view-brand-nav-title-button-typo-color-hovered:hsla(0,0%,100%,.65);--datetimefield-view-default-fill-color-base:var(--color-control-bg-blank);--datetimefield-view-default-fill-color-disabled:var(--color-control-bg-blank-disable);--datetimefield-view-default-fill-color-hovered:var(--color-control-bg-blank-hover);--datetimefield-view-default-border-color-base:var(--color-control-bg-border-blank);--datetimefield-view-default-border-color-disabled:var(--color-control-bg-border-blank-disable);--datetimefield-view-default-border-color-focused:var(--color-control-bg-border-focus);--datetimefield-view-default-border-color-hovered:var(--color-control-bg-border-blank-hover);--datetimefield-view-default-segment-fill-color-focused:#d9d9d9;--datetimefield-view-default-segment-typo-color-base:var(--color-control-typo-primary);--datetimefield-view-default-segment-typo-color-disabled:var(--color-control-typo-disable);--datetimefield-view-default-segment-typo-color-invalid:var(--color-control-typo-error);--datetimefield-view-default-placeholder-typo-color-base:var(--color-control-typo-ghost);--datetimefield-view-default-placeholder-typo-color-disabled:var(--color-control-typo-disable)}.Theme_root_default{--space-3-xs:2px;--space-2-xs:4px;--space-xs:8px;--space-s:12px;--space-m:16px;--space-l:20px;--space-xl:24px;--space-2-xl:32px;--space-3-xl:40px;--space-4-xl:48px;--space-5-xl:72px;--space-6-xl:96px;--typography-font-family:"YS Text","Helvetica Neue",Helvetica,Arial,sans-serif;--typography-font-weight-light:300;--typography-font-weight-regular:400;--typography-font-weight-medium:500;--typography-font-weight-bold:700;--control-font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;--typography-controls-size-s-font-size:13px;--typography-controls-size-m-font-size:15px;--typography-controls-size-l-font-size:18px;--attach-font-family:var(--control-font-family);--attach-reset-width:12px;--attach-reset-height:12px;--attach-reset-indentLeft:5px;--attach-iconFile-indentRight:5px;--attach-size-s-fontSize:var(--typography-controls-size-s-font-size);--attach-size-s-lineHeight:32px;--attach-size-s-holder-indentLeft:6px;--attach-size-m-fontSize:var(--typography-controls-size-m-font-size);--attach-size-m-lineHeight:36px;--attach-size-m-holder-indentLeft:8px;--attach-size-l-fontSize:var(--typography-controls-size-l-font-size);--attach-size-l-lineHeight:42px;--attach-size-l-holder-indentLeft:10px;--badge-font-family:var(--control-font-family);--badge-size-small:10px;--badge-size-large:16px;--badge-font-size:12px;--badge-border-radius:8px;--badge-border-width:2px;--button-font-family:var(--control-font-family);--button-border-width:1px;--button-borderRadius:4px;--button-size-s-font:var(--typography-controls-size-s-font-size);--button-size-s-lineHeight:32px;--button-size-s-height:32px;--button-size-s-icon-width:32px;--button-size-s-icon-indentLeft:25px;--button-size-s-icon-indentRight:25px;--button-size-s-text-indentAll:0 13px;--button-size-m-font:var(--typography-controls-size-m-font-size);--button-size-m-lineHeight:36px;--button-size-m-height:36px;--button-size-m-icon-width:36px;--button-size-m-icon-indentLeft:29px;--button-size-m-icon-indentRight:29px;--button-size-m-text-indentAll:0 15px;--button-size-l-font:var(--typography-controls-size-l-font-size);--button-size-l-lineHeight:42px;--button-size-l-height:42px;--button-size-l-icon-width:42px;--button-size-l-icon-indentLeft:35px;--button-size-l-icon-indentRight:35px;--button-size-l-text-indentAll:0 18px;--button-group-gap-s:1px;--button-group-gap-m:4px;--button-group-gap-l:6px;--button-group-gap-xl:8px;--button-group-pin-circle-border-radius:100px;--button-group-pin-round-border-radius:var(--button-borderRadius);--checkbox-view-outline-disabled-opacity:0.4;--checkbox-font-family:var(--control-font-family);--checkbox-borderRadius:4px;--checkbox-size-s-fontSize:var(--typography-controls-size-s-font-size);--checkbox-size-s-indentLeft:5px;--checkbox-size-s-width:14px;--checkbox-size-s-height:14px;--checkbox-size-s-tick-width:12px;--checkbox-size-s-tick-height:8px;--checkbox-size-m-fontSize:var(--typography-controls-size-m-font-size);--checkbox-size-m-indentLeft:5px;--checkbox-size-m-width:17px;--checkbox-size-m-height:17px;--checkbox-size-m-tick-width:13px;--checkbox-size-m-tick-height:10px;--checkbox-disabled-opacity:0.6;--divider-indent-all:16px;--header-font-family:"YS Text",arial,sans-serif;--header-shadow:none;--header-space-all:0 20px;--header-z-index:auto;--header-content-height:60px;--header-content-width:auto;--header-content-indent-right:auto;--header-content-max-width:1400px;--header-content-space-all:0;--header-logo-height:32px;--header-logo-indent-right:29px;--header-logo-circle-indent-top:-3px;--header-logoaas-height:32px;--header-logoaas-indent:-5px auto 5px auto;--header-icon-width:20px;--header-icon-height:20px;--header-icon-indent-right:8px;--header-actions-gap:14px;--header-actions-space-left:24px;--header-nav-indent:0;--header-nav-space-all:0;--header-nav-link-font-size:16px;--header-nav-link-font-weight:500;--header-nav-link-line-height:21px;--header-nav-link-space-all:8px 2px;--header-nav-link-border:2px solid transparent;--header-nav-link-gap:12px;--header-search-font-family:Arial,sans-serif;--header-search-min-width:220px;--header-search-max-width:470px;--header-search-width:470px;--header-search-indent-left:29px;--header-search-button-font-size:16px;--header-search-button-line-height:36px;--header-search-button-width:88px;--header-search-button-indent-right:9px;--header-search-button-space-left:5px;--header-search-button-before-border-width:22px 0 22px 11px;--header-search-button-before-top:-4px;--header-search-button-before-right:-9px;--header-search-textinput-height:36px;--header-search-textinput-border-radius:4px;--header-search-textinput-control-font-size:18px;--header-search-textinput-control-border-width:0 30px 0 13px;--header-search-textinput-box-border-width:2px 0 2px 2px;--menu-font-family:var(--control-font-family);--menu-group-borderWidth:1px;--menu-size-s-fontSize:var(--typography-controls-size-s-font-size);--menu-size-s-lineHeight:32px;--menu-size-s-spaceVert:4px;--menu-size-s-group-spaceVert:4px;--menu-size-s-group-spaceHor:0;--menu-size-s-group-indentBottom:4px;--menu-size-s-item-spaceVert:3px;--menu-size-s-item-spaceHor:9px;--menu-size-s-item-indentBottom:4px;--menu-size-s-item-icon-indentRight:4px;--menu-size-s-titleSibling-indentLeft:20px;--menu-size-m-fontSize:var(--typography-controls-size-m-font-size);--menu-size-m-lineHeight:36px;--menu-size-m-spaceVert:5px;--menu-size-m-group-spaceVert:5px;--menu-size-m-group-spaceHor:0;--menu-size-m-group-indentBottom:5px;--menu-size-m-item-spaceVert:4px;--menu-size-m-item-spaceHor:15px;--menu-size-m-item-indentBottom:5px;--menu-size-m-item-icon-indentRight:6px;--menu-size-m-titleSibling-indentLeft:20px;--message-box-fontSize:var(--typography-controls-size-s-font-size);--message-box-font-family:var(--control-font-family);--message-box-lineHeight:16px;--message-box-hint-borderRadius:4px;--message-box-close-lineHeight:16px;--message-box-close-fontSize:11px;--message-box-close-indentRight:7px;--message-box-close-width:16px;--message-box-close-height:16px;--message-box-text-indentLeft:20px;--message-box-text-indentRight:20px;--message-box-content-spaceAll:20px;--message-box-content-max-width:180px;--message-box-size-s-tail-size:22px;--message-box-size-s-tooltip-fontSize:11px;--message-box-size-s-fontSize:var(--typography-controls-size-s-font-size);--message-box-size-s-border-radius:7px;--message-box-size-s-content-maxWidth:260px;--message-box-size-s-content-spaceAll:5px 10px;--message-box-size-s-content-functional-width:180px;--message-box-size-m-tail-size:22px;--message-box-size-m-tooltip-fontSize:11px;--message-box-size-m-fontSize:var(--typography-controls-size-s-font-size);--message-box-size-m-border-radius:7px;--message-box-size-m-content-spaceAll:10px 14px;--message-box-size-m-content-minWidth:200px;--message-box-size-m-content-maxWidth:280px;--message-box-size-m-content-tooltip-maxWidth:320px;--message-box-size-m-content-functional-width:280px;--message-box-size-l-tail-size:22px;--message-box-size-l-functional-fontSize:14px;--message-box-size-l-functional-lineHeight:18px;--message-box-size-l-fontSize:var(--typography-controls-size-s-font-size);--message-box-size-l-border-radius:7px;--message-box-size-l-content-spaceAll:15px 20px;--message-box-size-l-content-minWidth:300px;--message-box-size-l-content-maxWidth:380px;--message-box-size-l-content-width:380px;--message-box-size-l-content-functional-width:380px;--message-box-button-indentRight:0;--message-box-buttons-indentAll:0;--message-box-view-default-shadow:0 6px 20px -4px rgba(0,0,0,.7);--message-box-view-promo-shadow:0 6px 20px -4px rgba(0,0,0,.7);--message-box-view-inverse-shadow:0 6px 20px -4px rgba(0,0,0,.7);--modal-border-radius:0;--popup-borderRadius:4px;--progressbar-height:2px;--progress-border-radius:0;--radio-button-font-family:var(--control-font-family);--radioButton-indent:3px;--radioButton-borderRadius:4px;--radioButton-after-borderRadius:2px;--radioButton-size-s-fontSize:var(--typography-controls-size-s-font-size);--radioButton-size-s-lineHeight:28px;--radioButton-size-s-space:0 13px;--radioButton-size-m-fontSize:var(--typography-controls-size-m-font-size);--radioButton-size-m-lineHeight:32px;--radioButton-size-m-space:0 15px;--radioButton-size-l-fontSize:var(--typography-controls-size-l-font-size);--radioButton-size-l-lineHeight:38px;--radioButton-size-l-space:0 18px;--radiobox-font-family:var(--control-font-family);--radiobox-view-outline-disabled-opacity:0.4;--radiobox-borderRadius:50%;--radiobox-after-borderRadius:50%;--radiobox-size-s-fontSize:var(--typography-controls-size-s-font-size);--radiobox-size-s-lineHeight:28px;--radiobox-size-s-size:13px;--radiobox-size-s-positionTop:2px;--radiobox-size-s-indentRight:5px;--radiobox-size-s-after-size:5px;--radiobox-size-m-fontSize:var(--typography-controls-size-m-font-size);--radiobox-size-m-lineHeight:32px;--radiobox-size-m-size:17px;--radiobox-size-m-positionTop:3px;--radiobox-size-m-indentRight:6px;--radiobox-size-m-after-size:7px;--radiobox-disabled-opacity:0.6;--slider-font-family:var(--control-font-family);--slider-view-default-height:32px;--slider-view-default-track-border-radius:2px;--slider-view-default-track-height:2px;--slider-view-default-thumb-width:16px;--slider-view-default-thumb-height:16px;--slider-view-default-thumb-border-radius:50%;--slider-view-default-tick-width:2px;--slider-view-default-tick-height:2px;--slider-view-default-tick-label-font-size:13px;--slider-view-default-tick-label-line-height:16px;--spin-size-xxs:16px;--spin-size-xs:24px;--spin-size-s:28px;--spin-size-m:32px;--spin-size-l:38px;--tabs-menu-font-family:var(--control-font-family);--tabsMenu-size-s-font:var(--typography-controls-size-s-font-size);--tabsMenu-size-s-lineHeight:28px;--tabsMenu-size-m-font:var(--typography-controls-size-m-font-size);--tabsMenu-size-m-lineHeight:36px;--text-display-size-xl-font-size:3.5rem;--text-display-size-xl-line-height:4rem;--text-display-size-xl-letter-spacing:normal;--text-display-size-xl-font-family:var(--typography-font-family);--text-display-size-l-font-size:3rem;--text-display-size-l-line-height:3.5rem;--text-display-size-l-letter-spacing:0.0065em;--text-display-size-l-font-family:var(--typography-font-family);--text-display-size-m-font-size:2.5rem;--text-display-size-m-line-height:3rem;--text-display-size-m-letter-spacing:0.0065em;--text-display-size-m-font-family:var(--typography-font-family);--text-display-size-s-font-size:2.125rem;--text-display-size-s-line-height:2.5rem;--text-display-size-s-letter-spacing:0.0065em;--text-display-size-s-font-family:var(--typography-font-family);--text-headline-size-xl-font-size:2rem;--text-headline-size-xl-line-height:2.5rem;--text-headline-size-xl-letter-spacing:0.0065em;--text-headline-size-xl-font-family:var(--typography-font-family);--text-headline-size-l-font-size:1.75rem;--text-headline-size-l-line-height:2.25rem;--text-headline-size-l-letter-spacing:0.0065em;--text-headline-size-l-font-family:var(--typography-font-family);--text-headline-size-m-font-size:1.5rem;--text-headline-size-m-line-height:1.875rem;--text-headline-size-m-letter-spacing:0.0065em;--text-headline-size-m-font-family:var(--typography-font-family);--text-headline-size-s-font-size:1.25rem;--text-headline-size-s-line-height:1.5rem;--text-headline-size-s-letter-spacing:0.0065em;--text-headline-size-s-font-family:var(--typography-font-family);--text-headline-size-xs-font-size:1.125rem;--text-headline-size-xs-line-height:1.5rem;--text-headline-size-xs-letter-spacing:0.0065em;--text-headline-size-xs-font-family:var(--typography-font-family);--text-subheader-size-xl-font-size:1rem;--text-subheader-size-xl-line-height:1.25rem;--text-subheader-size-xl-letter-spacing:0.0065em;--text-subheader-size-xl-font-family:var(--typography-font-family);--text-subheader-size-l-font-size:0.9375rem;--text-subheader-size-l-line-height:1.125rem;--text-subheader-size-l-letter-spacing:0.0065em;--text-subheader-size-l-font-family:var(--typography-font-family);--text-subheader-size-m-font-size:0.875rem;--text-subheader-size-m-line-height:1.125rem;--text-subheader-size-m-letter-spacing:0.0065em;--text-subheader-size-m-font-family:var(--typography-font-family);--text-subheader-size-s-font-size:0.8125rem;--text-subheader-size-s-line-height:1.125rem;--text-subheader-size-s-letter-spacing:0.0065em;--text-subheader-size-s-font-family:var(--typography-font-family);--text-body-long-size-xl-font-size:1rem;--text-body-long-size-xl-line-height:1.5rem;--text-body-long-size-xl-letter-spacing:0.0065em;--text-body-long-size-xl-font-family:var(--typography-font-family);--text-body-long-size-l-font-size:0.9375rem;--text-body-long-size-l-line-height:1.25rem;--text-body-long-size-l-letter-spacing:0.0065em;--text-body-long-size-l-font-family:var(--typography-font-family);--text-body-long-size-m-font-size:0.875rem;--text-body-long-size-m-line-height:1.25rem;--text-body-long-size-m-letter-spacing:0.0065em;--text-body-long-size-m-font-family:var(--typography-font-family);--text-body-long-size-s-font-size:0.8125rem;--text-body-long-size-s-line-height:1.125rem;--text-body-long-size-s-letter-spacing:0.0065em;--text-body-long-size-s-font-family:var(--typography-font-family);--text-body-short-size-xl-font-size:1rem;--text-body-short-size-xl-line-height:1.25rem;--text-body-short-size-xl-letter-spacing:0.0065em;--text-body-short-size-xl-font-family:var(--typography-font-family);--text-body-short-size-l-font-size:0.9375rem;--text-body-short-size-l-line-height:1.125rem;--text-body-short-size-l-letter-spacing:0.0065em;--text-body-short-size-l-font-family:var(--typography-font-family);--text-body-short-size-m-font-size:0.875rem;--text-body-short-size-m-line-height:1.125rem;--text-body-short-size-m-letter-spacing:0.0065em;--text-body-short-size-m-font-family:var(--typography-font-family);--text-body-short-size-s-font-size:0.8125rem;--text-body-short-size-s-line-height:1rem;--text-body-short-size-s-letter-spacing:0.0065em;--text-body-short-size-s-font-family:var(--typography-font-family);--text-caption-size-xl-font-size:0.8125rem;--text-caption-size-xl-line-height:1rem;--text-caption-size-xl-letter-spacing:0.0065em;--text-caption-size-xl-font-family:var(--typography-font-family);--text-caption-size-l-font-size:0.75rem;--text-caption-size-l-line-height:1rem;--text-caption-size-l-letter-spacing:0.0065em;--text-caption-size-l-font-family:var(--typography-font-family);--text-caption-size-m-font-size:0.6875rem;--text-caption-size-m-line-height:1rem;--text-caption-size-m-letter-spacing:0.0065em;--text-caption-size-m-font-family:var(--typography-font-family);--text-overline-size-l-font-size:0.75rem;--text-overline-size-l-line-height:0.875rem;--text-overline-size-l-letter-spacing:0.0065em;--text-overline-size-l-font-family:var(--typography-font-family);--text-overline-size-m-font-size:0.6875rem;--text-overline-size-m-line-height:0.875rem;--text-overline-size-m-letter-spacing:0.0065em;--text-overline-size-m-font-family:var(--typography-font-family);--text-overline-size-s-font-size:0.625rem;--text-overline-size-s-line-height:0.75rem;--text-overline-size-s-letter-spacing:0.0065em;--text-overline-size-s-font-family:var(--typography-font-family);--text-control-size-xxl-font-size:1.125rem;--text-control-size-xxl-line-height:1.5rem;--text-control-size-xxl-letter-spacing:0.0065em;--text-control-size-xxl-font-family:var(--typography-font-family);--text-control-size-xl-font-size:1rem;--text-control-size-xl-line-height:1.25rem;--text-control-size-xl-letter-spacing:0.0065em;--text-control-size-xl-font-family:var(--typography-font-family);--text-control-size-l-font-size:0.9375rem;--text-control-size-l-line-height:1.25rem;--text-control-size-l-letter-spacing:0.0065em;--text-control-size-l-font-family:var(--typography-font-family);--text-control-size-m-font-size:0.875rem;--text-control-size-m-line-height:1rem;--text-control-size-m-letter-spacing:0.0065em;--text-control-size-m-font-family:var(--typography-font-family);--text-control-size-s-font-size:0.8125rem;--text-control-size-s-line-height:1rem;--text-control-size-s-letter-spacing:0.0065em;--text-control-size-s-font-family:var(--typography-font-family);--text-control-size-xs-font-size:0.75rem;--text-control-size-xs-line-height:1rem;--text-control-size-xs-letter-spacing:0.0065em;--text-control-size-xs-font-family:var(--typography-font-family);--text-control-size-xxs-font-size:0.6875rem;--text-control-size-xxs-line-height:1rem;--text-control-size-xxs-letter-spacing:0.0065em;--text-control-size-xxs-font-family:var(--typography-font-family);--textarea-font-family:var(--control-font-family);--textarea-borderWidth:2px;--textarea-borderRadius:4px;--textarea-size-s-fontSize:var(--typography-controls-size-s-font-size);--textarea-size-s-spaceAll:6px;--textarea-size-s-minWidth:180px;--textarea-size-s-minHeight:32px;--textarea-size-s-clear-width:32px;--textarea-size-s-clear-height:32px;--textarea-hint-size-s-fontSize:12px;--textarea-size-m-fontSize:var(--typography-controls-size-m-font-size);--textarea-size-m-spaceAll:8px;--textarea-size-m-minWidth:200px;--textarea-size-m-minHeight:36px;--textarea-size-m-clear-width:36px;--textarea-size-m-clear-height:36px;--textarea-hint-size-m-fontSize:13px;--textinput-font-family:var(--control-font-family);--textinput-borderWidth:2px;--textinput-borderRadius:4px;--textinput-size-s-fontSize:var(--typography-controls-size-s-font-size);--textinput-size-s-height:32px;--textinput-size-s-control-spaceAll:0 8px;--textinput-size-s-has-icon-spaceRight:32px;--textinput-size-s-has-icon-spaceLeft:32px;--textinput-size-s-icon-width:32px;--textinput-size-s-icon-height:32px;--textinput-hint-size-s-fontSize:12px;--textinput-size-m-fontSize:var(--typography-controls-size-m-font-size);--textinput-size-m-height:36px;--textinput-size-m-control-spaceAll:0 10px;--textinput-size-m-has-icon-spaceRight:36px;--textinput-size-m-has-icon-spaceLeft:36px;--textinput-size-m-icon-width:36px;--textinput-size-m-icon-height:36px;--textinput-hint-size-m-fontSize:13px;--textinput-view-material-font-size:1rem;--textinput-view-material-space-all:12px 0 10px;--textinput-view-material-space-left:16px;--textinput-view-material-space-right:16px;--textinput-view-material-space-top:16px;--textinput-view-material-icon-width:24px;--textinput-view-material-icon-height:24px;--textinput-view-material-hint-font-size:0.75rem;--tooltip-font-family:var(--control-font-family);--tooltip-borderRadius:4px;--tooltip-size-s-fontSize:var(--typography-controls-size-s-font-size);--tooltip-size-s-lineHeight:12px;--tooltip-size-s-content-spaceAll:8px;--tooltip-size-s-tail-size:12px;--tooltip-size-m-fontSize:var(--typography-controls-size-m-font-size);--tooltip-size-m-lineHeight:14px;--tooltip-size-m-content-spaceAll:9px 10px;--tooltip-size-m-tail-size:24px;--tooltip-size-l-fontSize:16px;--tooltip-size-l-lineHeight:16px;--tooltip-size-l-content-spaceAll:18px;--tooltip-size-l-tail-size:36px;--tooltip-view-default-shadow:0 10px 20px -5px rgba(0,0,0,.4);--tumbler-font-family:var(--control-font-family);--tumbler-button-space:2px;--tumbler-button-opacity-disabled:1;--tumbler-size-s-fontSize:var(--typography-controls-size-s-font-size);--tumbler-size-s-lineHeight:16px;--tumbler-size-s-borderRadius:8px;--tumbler-size-s-width:32px;--tumbler-size-s-height:16px;--tumbler-size-s-button-borderRadius:6px;--tumbler-size-s-button-width:12px;--tumbler-size-s-button-height:12px;--tumbler-size-s-button-press-width:14px;--tumblerLabel-size-s-indentRight:8px;--tumblerLabel-size-s-indentLeft:8px;--tumbler-size-m-fontSize:var(--typography-controls-size-m-font-size);--tumbler-size-m-lineHeight:20px;--tumbler-size-m-borderRadius:10px;--tumbler-size-m-width:40px;--tumbler-size-m-height:20px;--tumbler-size-m-button-borderRadius:8px;--tumbler-size-m-button-width:16px;--tumbler-size-m-button-height:16px;--tumbler-size-m-button-press-width:18px;--tumblerLabel-size-m-indentRight:12px;--tumblerLabel-size-m-indentLeft:12px;--tumbler-size-l-fontSize:var(--typography-controls-size-l-font-size);--tumbler-size-l-lineHeight:24px;--tumbler-size-l-borderRadius:14px;--tumbler-size-l-width:56px;--tumbler-size-l-height:28px;--tumbler-size-l-button-borderRadius:12px;--tumbler-size-l-button-width:24px;--tumbler-size-l-button-height:24px;--tumbler-size-l-button-press-width:26px;--tumblerLabel-size-l-indentRight:16px;--tumblerLabel-size-l-indentLeft:16px;--user-pic-size-m-size:42px;--user-pic-size-m-size-plus:52px;--user-pic-size-s-size:24px;--user-pic-size-s-size-plus:30px;--calendar-font-family:var(--typography-font-family);--calendar-size-s-min-width:252px;--calendar-size-s-min-height:252px;--calendar-size-s-line-height:var(--text-control-size-s-line-height);--calendar-size-s-font-size:var(--text-control-size-s-font-size);--calendar-size-s-space-horizontal:16px;--calendar-size-s-header-space-top:8px;--calendar-size-s-header-space-bottom:8px;--calendar-size-s-nav-action-width:32px;--calendar-size-s-nav-action-height:32px;--calendar-size-s-body-space-top:8px;--calendar-size-s-body-space-bottom:24px;--calendar-size-s-aside-min-width:28px;--calendar-size-s-aside-indent-right:8px;--calendar-size-s-cell-width:36px;--calendar-size-s-cell-space:2px;--calendar-size-m-min-width:308px;--calendar-size-m-min-height:308px;--calendar-size-m-line-height:var(--text-control-size-m-line-height);--calendar-size-m-font-size:var(--text-control-size-m-font-size);--calendar-size-m-space-horizontal:24px;--calendar-size-m-header-space-top:12px;--calendar-size-m-header-space-bottom:12px;--calendar-size-m-nav-action-width:36px;--calendar-size-m-nav-action-height:36px;--calendar-size-m-body-space-top:12px;--calendar-size-m-body-space-bottom:32px;--calendar-size-m-aside-min-width:32px;--calendar-size-m-aside-indent-right:12px;--calendar-size-m-cell-width:44px;--calendar-size-m-cell-space:4px;--calendar-size-l-min-width:378px;--calendar-size-l-min-height:378px;--calendar-size-l-line-height:var(--text-control-size-l-line-height);--calendar-size-l-font-size:var(--text-control-size-l-font-size);--calendar-size-l-space-horizontal:32px;--calendar-size-l-header-space-top:16px;--calendar-size-l-header-space-bottom:16px;--calendar-size-l-nav-action-width:42px;--calendar-size-l-nav-action-height:42px;--calendar-size-l-body-space-top:16px;--calendar-size-l-body-space-bottom:40px;--calendar-size-l-aside-min-width:36px;--calendar-size-l-aside-indent-right:16px;--calendar-size-l-cell-width:54px;--calendar-size-l-cell-space:6px;--calendar-view-default-aside-border-radius:8px;--calendar-view-default-cell-border-width:1px;--calendar-view-default-cell-border-radius:100px;--calendar-view-brand-aside-border-radius:8px;--calendar-view-brand-cell-border-width:1px;--calendar-view-brand-cell-border-radius:100px;--datetimefield-font-family:var(--typography-font-family);--datetimefield-size-s-font-size:var(--typography-controls-size-s-font-size);--datetimefield-size-s-line-height:18px;--datetimefield-size-s-height:32px;--datetimefield-size-s-space-horizontal:8px;--datetimefield-size-s-slots-gap:4px;--datetimefield-size-m-font-size:var(--typography-controls-size-m-font-size);--datetimefield-size-m-line-height:20px;--datetimefield-size-m-height:36px;--datetimefield-size-m-space-horizontal:10px;--datetimefield-size-m-slots-gap:6px;--datetimefield-view-default-border-width-base:2px;--datetimefield-view-default-border-radius:4px}.tourcard-block{gap:50px}.tourCardSidebar{width:30%}.btn-y{background-color:#ffcf08;border:none;border-radius:10px;cursor:pointer;outline:none;padding:15px 50px;width:200px!important}.generateTourBlock{display:flex;flex-direction:column;gap:30px}.tourCardsWrapper{flex-wrap:wrap}.tourCardsWrapper,.tourToolBar{display:flex;flex-direction:row;gap:15px}.tourToolBar{align-items:center}.generateTourContent{padding:50px}.sidebarContent{align-items:center;display:flex;flex-direction:column;gap:50px;justify-content:space-between}.route-btn{width:100%!important}.TabsRouteCard{width:100%}.nearesrtWrapper{display:flex;flex-direction:row;flex-wrap:wrap;gap:15px}.mainCard{background-color:#fffbf3;border-radius:48px;display:flex;flex-direction:column;gap:25px;margin:0 50px;padding:50px;width:calc(100% - 200px)}.cardWrapper{display:inline-flex;flex-direction:row}.cardWrapper,.fav-wrapper{flex-wrap:wrap;gap:25px;justify-content:center}.fav-wrapper{display:flex}.grey{color:#1d1d1d;font-size:12px}.mainIcon{cursor:pointer;transition:.3s}.mainIcon:hover{transform:scale(1.1)}.mainIconWrapper{display:flex;flex-direction:row;gap:25px}.mainWrapper{flex-direction:column;gap:50px;justify-content:center;padding-bottom:100px;width:100%}.mainWrapper,.toolsMainWrapper{align-items:center;display:flex}.toolsMainWrapper{background-color:#fff;border-radius:20px;gap:15px;justify-content:space-between;margin-top:-50px;padding:10px 50px}.headMainWrapper{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.backgroundIMG{width:calc(100% - 100px)}.rowWrapper{align-items:center;cursor:pointer;gap:10px;justify-content:center}.rowWrapper,.searchOpened{display:flex;flex-direction:row}.searchOpened{background-color:#fff;border-radius:0 0 20px 20px;flex-wrap:wrap;gap:25px;gap:50px;margin-top:0;padding:10px 50px 50px;position:relative;transition:.3s}.checkboxWrapper{display:flex;flex-direction:column;gap:10px}.ant-picker,.ant-select-selector{border:0!important}@media screen and (max-device-width:1000px){.toolsMainWrapper{align-items:center;flex-wrap:wrap;justify-content:center;padding:10px 15px}.rectIMG{display:none}.mainCard{border-radius:20px!important;margin:0 25px!important;padding:25px!important}}@media screen and (max-device-width:700px){h1{font-size:24px;text-align:center}}@media screen and (max-device-width:500px){.mainCard{margin:0 15px!important;padding:10px;width:calc(100% - 100px)}h1{font-size:16px;margin-top:-50px;text-align:center;width:100%}}.tourcard-block{background-color:#fff;border:1px solid #f5dfb8;display:flex;flex-direction:column;gap:25px;height:548px;padding:25px;width:400px}.cardDescr{display:flex;flex-direction:row;justify-content:space-between}.cardTitle{flex-direction:column}.cardInfo,.cardTitle{display:flex;gap:15px}.cardInfo{color:rgba(29,29,29,.5)}.cardAvatar{height:100px;transform:rotate(5deg)}.titleText{font-size:24px;padding-right:50px}.placesWrapper{display:flex;flex-direction:column;gap:20px;height:260px;margin-top:30px;overflow-y:scroll}.placesWrapper::-webkit-scrollbar{width:0}.placeCard{display:flex;flex-direction:row;justify-content:space-between;width:100%}.placeImage{border-radius:5px;height:40px;width:40px}.placeDescrWrapper{display:flex;flex-direction:column;font-size:16px;gap:7px}.placeType{color:rgba(29,29,29,.5);font-size:12px}.mainCardContent{position:relative!important}.tourCardSidebar{border-radius:0 20px 20px 0;left:0;padding:50px;position:fixed!important;top:0;width:40%}.sidebarChangeContent{align-items:center;display:flex;flex-direction:column;gap:50px;height:100%;justify-content:space-between;width:400px}.openBtn{display:flex;flex-direction:row}.yOpenBtn{align-items:center;background:#ffcf08;border-radius:20px 4px 4px 20px;cursor:pointer;display:flex;flex-direction:column;height:48px;justify-content:center;padding:0 16px;transition:.3s;width:80%}.yOpenBtn:hover{opacity:.5}.yOpenBtnTitle{color:#1d1d1d;font-size:16px;font-weight:500;line-height:22px}.yOpenBtnDescr{color:rgba(29,29,29,.5);font-size:14px;font-weight:500;line-height:18px;text-align:center}.btnWrapper{gap:5px;width:100%}.btnWrapper,.likeBtn{align-items:center;display:flex;flex-direction:row;justify-content:center}.likeBtn{background:hsla(38,75%,84%,.5);border-radius:4px 20px 20px 4px;cursor:pointer;height:48px;padding:0 13px 0 11px;transition:.3s}.likeBtn:hover{opacity:.5}@media screen and (max-device-width:600px){.tourcard-block{gap:15px;padding:15px;width:300px}.titleText{font-size:18px;line-height:22px}.cardInfo{font-size:14px}.tourCardSidebar{width:calc(100% - 150px)}}@media screen and (max-device-width:400px){.tourcard-block{width:280px}}.tabs{width:100%}.changeBtnWrapper{align-items:center;display:flex;flex-direction:row;gap:25px;justify-content:center}.changeYBtn{background:#ffcf08;width:400px}.changeBtn{width:400px}@media screen and (max-device-width:500px){.changeBtnWrapper{flex-wrap:wrap}} +/*# sourceMappingURL=main.c794578d.css.map*/ \ No newline at end of file diff --git a/static/css/main.c794578d.css.map b/static/css/main.c794578d.css.map new file mode 100644 index 0000000..9352087 --- /dev/null +++ b/static/css/main.c794578d.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.c794578d.css","mappings":"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","sources":["index.css","../node_modules/mapbox-gl/dist/mapbox-gl.css","elements/Block/style.css","elements/Input/style.css","pages/Register/style.css","elements/Button/style.css","pages/Login/style.css","elements/GenerateCard/style.css","elements/Header/style.css","pages/Main/style.css","elements/Prefernces/style.css","elements/ChoiceIcon/style.css","elements/HotelCard/style.css","elements/AttractionCard/style.css","pages/EventMatch/style.css","elements/Card/style.css","../node_modules/@yandex/ui/esm/Theme/presets/default/color.css","../node_modules/@yandex/ui/esm/Theme/presets/default/root.css","elements/TourCard/style.css","pages/GenerateTour/style.css","elements/RouteCard/style.css","pages/SearchPage/style.css","elements/RouteChangeCard/style.css","pages/Weather/styles.css"],"sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n",".mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\"\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}",".block{\n background: #FFFBF3;\n border-radius: 20px;\n padding: 20px;\n}",".input__container{\n background: white;\n border-radius: 15px;\n outline: none;\n border: none;\n box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);\n padding: 20px;\n}",".centered{\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n margin-top: 50px;\n}\n\n.reg-block{\n padding-left: 50px;\n padding-right: 50px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n align-items: center;\n}\n\n.reg-input{\n display: block;\n width: 400px;\n}\n\n.login-btn-y{\n background-color: #FFCF08;\n border-radius: 10px;\n padding: 15px 50px;\n outline: none;\n border: none;\n cursor: pointer;\n}\n\n@media screen and (max-device-width: 600px) {\n .reg-input{\n width: 280px !important;\n }\n}\n\n@media screen and (max-device-width: 600px) {\n .reg-input{\n width: 200px !important;\n }\n}",".button{\n background-color: #F5DFB880;\n border-radius: 10px;\n padding: 15px 50px;\n outline: none;\n border: none;\n width: 100%;\n cursor: pointer;\n transition: 0.3s;\n}\n.button:hover{\n opacity: 0.5;\n}",".centered{\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n margin-top: 50px;\n}\n\n.reg-block{\n padding-left: 50px;\n padding-right: 50px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n align-items: center;\n}\n\n.reg-input{\n display: block;\n width: 400px;\n}\n\n.login-btn-y{\n background-color: #FFCF08;\n border-radius: 10px;\n padding: 15px 50px;\n outline: none;\n border: none;\n cursor: pointer;\n}",".generatecard-block{\n width: 238px;\n height: 323px;\n display: flex;\n flex-direction: column;\n gap:15px;\n padding: 20px;\n border: solid #F5DFB8 1px;\n background-color: #fff;\n}\n\n.generateCardDescr{\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n.cardTitle{\n display: flex;\n flex-direction: column;\n gap:15px;\n width: 75%;\n}\n\n\n\n.generateTitleText{\n font-size: 24px;\n line-height: 22px;\n}\n\n.generateCardTitle{\n display: flex;\n flex-direction: column;\n gap:15px\n}\n\n\n.generate-y{\n background-color: #FFCF08;\n border-radius: 10px;\n padding: 15px 50px;\n outline: none;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap:10px\n}\n\n.wand{\n height: 25px;\n}",".headerWrapper{\n height: 100px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.padding{\n padding-left: 50px;\n padding-right: 50px;\n width: calc(100% - 100px);\n}\n\n.iconWrapper{\n display: flex;\n align-items: center;\n gap:10px;\n}\n\n.headerIcon{\n transition: 0.3s;\n cursor:pointer\n\n}\n\n.headerIcon:hover{\n transform: scale(1.05);\n}\n\n@media screen and (max-device-width: 1000px) {\n .headerWrapper{\n flex-wrap: wrap;\n }\n}\n\n@media screen and (max-device-width: 600px) {\n .delete600{\n display: none;\n }\n}\n\n@media screen and (max-device-width: 400px) {\n .padding{\n padding-left: 15px;\n padding-right: 15px;\n width: calc(100% - 30px);\n }\n}",".mainCard{\n background-color: #FFFBF3;\n width: calc(100%-100px);\n margin: 0px 50px;\n display: flex;\n flex-direction: column;\n gap:25px;\n border-radius: 48px;\n padding: 50px;\n width: calc(100% - 200px);\n}\n\n.mainCard>h2{\n display: inline-block;\n}\n\n.cardWrapper{\n display: inline-flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap:25px;\n justify-content: center;\n}\n\n.fav-wrapper{\n display: flex;\n justify-content: center;\n gap: 25px;\n flex-wrap: wrap;\n align-items: center;\n}\n\n.grey{\n font-size: 12px;\n color:#1D1D1D\n}\n\n.mainIcon{\n cursor: pointer;\n transition: 0.3s;\n}\n\n.mainIcon:hover{\n transform: scale(1.1);\n}\n\n.mainIconWrapper{\n display: flex;\n flex-direction: row;\n gap:25px\n}\n\n.mainWrapper{\n display: flex;\n flex-direction: column;\n gap:50px;\n justify-content: center;\n align-items: center;\n padding-bottom: 100px;\n \n}\n\n.toolsMainWrapper{\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap:15px;\n background-color: white;\n border-radius: 20px;\n padding: 10px 50px;\n margin-top: -50px;\n\n}\n\n.headMainWrapper{\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n\n}\n\n.backgroundMainIMG{\n width: calc(100% - 260px);\n height: 25vh;\n background-image: url('../../../public/background.png');\n background-size: cover;\n border-radius: 48px;\n display: flex;\n padding: 80px;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n gap:20px\n}\n\n.rowWrapper{\n display: flex;\n flex-direction: row;\n gap:10px;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n}\n\n\n.searchOpened{\n transition: 0.3s;\n margin-top: 0px;\n background-color: white;\n position: relative;\n border-radius: 0px 0px 20px 20px;\n padding: 10px 50px;\n gap:25px;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap:50px;\n padding-bottom: 50px;\n}\n\n.checkboxWrapper{\n display: flex;\n flex-direction: column;\n gap:10px\n \n}\n\n\n\n.ant-select-selector, .ant-picker{\n border: 0px !important;\n}\n\n.imgHeader{\n font-style: normal;\n font-weight: 600;\n font-size: 44px;\n line-height: 46px;\n color: #FFFFFF;\n text-align: center;\n}\n\n.imgDescr{\n font-style: normal;\n font-weight: 500;\n font-size: 20px;\n line-height: 24px;\n\n display: flex;\n align-items: flex-end;\n text-align: center;\n\n\n color: #FFFFFF;\n\n}\n\n@media screen and (max-device-width: 700px) {\n .imgHeader{\n font-size: 24px;\n line-height: 28px;\n }\n .imgDescr{\n font-size: 18px;\n line-height: 22px;\n }\n .mainCard{\n padding: 25px !important;\n margin: 0px 25px !important;\n border-radius: 20px !important;\n }\n}\n\n@media screen and (max-device-width: 500px) {\n .backgroundMainIMG{\n width: calc(100% - 90px) !important;\n padding: 20px !important;\n padding-bottom: 60px !important;\n }\n}",".prefs{\n width: 60%;\n position: fixed;\n top:0px;\n right:0px;\n height: calc(100vh - 50px);\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n padding: 25px;\n background-color: white;\n overflow-y: scroll;\n}\n\n.prefsHeadWrapper{\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.prefsbg{\n position: fixed;\n right: 0;\n top:0;\n width: 100%;\n height: 100vh;\n background-color: rgba(0,0,0,0.2);\n z-index: 1000000;\n}\n\n.hotelsCardWrapper{\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap:30px;\n height: 400px;\n justify-content: center;\n align-items: center;\n overflow-y: scroll;\n margin-bottom: 15px;\n}\n\n@media screen and (max-device-width: 700px) {\n .prefs{\n width: calc(100% - 50px);\n }\n}\n@media screen and (max-device-width: 600px) {\n h2{\n font-size: 16px;\n }\n}\n\n@media screen and (max-device-width: 500px) {\n \n}",".choiceIconWrapper{\n display: flex;\n flex-direction: row;\n gap:30px;\n align-items: center;\n}\n\n.choiceBtn{\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 30px;\n border: 2px solid #FAEFDB;\n background: #FAEFDB;\n padding: 15px;\n border-radius: 12px;\n cursor: pointer;\n transition: 0.3s;\n}\n\n.choiceBtn:hover{\n opacity: 0.5;\n}\n.choiceBtnActive{\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 30px;\n background: #FAEFDB;\n border: 2px solid #FFCF08;\n padding: 15px;\n border-radius: 12px;\n cursor: pointer;\n transition: 0.3s;\n}\n.choiceBtnWrapper{\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap:10px\n}\n@media screen and (max-device-width: 500px) {\n .choiceIconWrapper{\n gap:15px\n }\n .choiceBtn{\n width: 20px;\n padding: 10px;\n }\n .choiceBtnActive{\n width: 20px;\n padding: 10px;\n }\n}",".hotelCard{\n width: 250px;\n padding: 0px 15px 15px 15px;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n background: #F5F5F5;\n border-radius: 20px;\n height: 380px;\n\n}\nh3{\n margin: 0px;\n}\n\n.likeHotelBtn{\n width: 40px;\n height: 40px;\n cursor: pointer;\n}\n\n.likeHotelBtn:hover{\n opacity: 0.5;\n}\n\n.ratingTile{\n width: 40px;\n height: 40px;\n background: #007470;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 18px;\n color:white;\n font-weight: 500;\n}\n\n.hotelCardTools{\n position: relative;\n top:15px;\n display: flex;\n flex-direction: row;\n width: 250px;\n justify-content: space-between;\n}\n\n.hotelCardRow{\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap:15px;\n font-size: 12px;\n}\n\n.hotelBtn{\n margin-top: 15px;\n}\n\n.openHotelCardBG{\n position: fixed;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(0,0,0, 0.2);\n left: 0px;\n top:0px;\n width: 100%;\n height: 100vh;\n z-index: 10000;\n\n}\n\n\n.openHotelCard{\n width: 75%;\n height: 75vh;\n overflow-y: scroll;\n padding: 50px;\n background-color: white;\n z-index: 10000;\n border-radius: 20px;\n}\n\n\n.hotelImg{\n margin-top: -65px;\n margin-left: -15px;\n width: 280px;\n height: 240px;\n}",".hotelCard{\n width: 250px;\n padding: 0px 15px 15px 15px;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n background: #F5F5F5;\n border-radius: 20px;\n height: 350px;\n\n}\nh3{\n margin: 0px;\n}\n\n.likeHotelBtn{\n width: 40px;\n height: 40px;\n cursor: pointer;\n}\n\n.likeHotelBtn:hover{\n opacity: 0.5;\n}\n\n.ratingTile{\n width: 40px;\n height: 40px;\n background: #007470;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 18px;\n color:white;\n font-weight: 500;\n}\n\n.hotelCardTools{\n position: relative;\n top:15px;\n display: flex;\n flex-direction: row;\n width: 250px;\n justify-content: space-between;\n}\n\n.hotelCardRow{\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap:15px;\n font-size: 12px;\n}\n\n.hotelBtn{\n margin-top: 15px;\n}\n\n.openHotelCardBG{\n position: fixed;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(0,0,0, 0.2);\n left: 0px;\n top:0px;\n width: 100%;\n height: 100vh;\n z-index: 10000;\n\n}\n\n\n.openHotelCard{\n width: 75%;\n height: 75vh;\n overflow-y: scroll;\n padding: 50px;\n background-color: white;\n z-index: 10000;\n border-radius: 20px;\n}\n\n\n.hotelImg{\n margin-top: -65px;\n margin-left: -15px;\n width: 280px;\n height: 240px;\n}",".tinder-block{\r\n width: 700px;\r\n display: flex;\r\n justify-content: center;\r\n}\r\n\r\n.main-btn{\r\n background-color: #FFCF08;\r\n}\r\n\r\n.tinder-block{\r\n height: 600px;\r\n}\r\n\r\n.card{\r\n position: absolute;\r\n}\r\n.span-er{\r\n width: 250px;\r\n text-align: center;\r\n}\r\na{\r\n color: black;\r\n}\r\na:visited{\r\n color: black;\r\n}\r\n\r\n.btns{\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n margin-top: 20px;\r\n}\r\n\r\n.cont-span{\r\n display: flex;\r\n justify-content: center;\r\n flex-direction: column;\r\n width: 500px;\r\n}\r\n\r\n.span-cont{\r\n display: flex;\r\n justify-content: center;\r\n \r\n}\r\n\r\n@media screen and (max-device-width: 800px) {\r\n .tinder-block{\r\n width: auto;\r\n padding: 10px;\r\n }\r\n .cont-span{\r\n width: auto;\r\n padding: 50px;\r\n align-items: center ;\r\n }\r\n}",".card__container{\r\n background-color: white;\r\n border-radius: 15px;\r\n}\r\n.tinder-card__card{\r\n border-radius: 0px!important;\r\n display: flex;\r\n flex-direction: column;\r\n border: none!important;\r\n gap: 10px;\r\n}\r\n\r\n.tinder__content{\r\n display: flex;\r\n flex-direction: column;\r\n border: none!important;\r\n gap: 5px;\r\n padding: 10px;\r\n max-width: 280px;\r\n height: 210px;\r\n}\r\n\r\n.tin{\r\n display: flex;\r\n flex-direction: column;\r\n gap: 20px;\r\n}\r\n\r\n.tin-dir{\r\n display: flex;\r\n width: 700px;\r\n gap: 10px;\r\n}\r\n\r\n.main-btn{\r\n background-color: #FFCF08;\r\n}",".Theme_color_yandex-default {\n --color-base: #000; /* базовый цвет содержимого, от которого выстраиваются цвета текста, иконок, ... */\n --color-essential: #fff; /* базовый цвет поверхностей */\n --color-project: #fc0; /* проектный цвет, от которого выстраивают акцентные состояния */\n --color-phantom: #000; /* тонирующий цвет, от которого выстраиваются бордеры, паранджа, ... */\n --color-path: #04b; /* ссылочный цвет, от которого выстраиваются все их вариации */\n --color-success: #00985f; /* цвет успеха, от которого выстраивается как статусный фон так и типографика */\n --color-alert: #f33; /* цвет ошибки, от которого выстраивается как статусный фон так и типографика */\n --color-warning: #f90; /* цвет предупреждения, от которого выстраивается как статусный фон так и типографика */\n --color-normal: #dde3e5; /* нейтральный цвет, от которого выстраивается как статусный фон так и типографика */\n --color-system: #778a9b; /* системный цвет, от которого выстраивается как статусный фон так и типографика */\n --color-promo: #0057d3;\n --color-hover: #c00;\n --color-transparent: transparent;\n --color-bg-brand: var(--color-project);\n --color-bg-inverse: var(--color-base);\n --color-bg-action: rgb(255, 219, 77);\n --color-bg-selection: rgb(255, 234, 158);\n --color-bg-hover: rgba(0, 0, 0, 0.15);\n --color-bg-border: rgba(0, 0, 0, 0.05);\n --color-bg-stripe: rgba(0, 0, 0, 0.04);\n --color-bg-ghost: rgba(0, 0, 0, 0.08);\n --color-bg-default: var(--color-essential);\n --color-bg-tone: rgba(0, 0, 0, 0.9);\n --color-bg-soft: rgba(255, 255, 255, 0.97);\n --color-bg-success: var(--color-success);\n --color-bg-alert: var(--color-alert);\n --color-bg-warning: var(--color-warning);\n --color-bg-normal: var(--color-normal);\n --color-bg-system: var(--color-system);\n --color-bg-link: rgba(21, 126, 239, 0.4);\n --color-bg-promo: var(--color-promo);\n --color-typo-brand: var(--color-project);\n --color-typo-primary: var(--color-base); /* цвет основного текста дефолтных контролов */\n --color-typo-inverse: var(--color-essential);\n --color-typo-promo: rgba(0, 0, 0, 0.8);\n --color-typo-secondary: rgba(0, 0, 0, 0.6); /* цвет второстепенного текста контрола */\n --color-typo-ghost: rgba(0, 0, 0, 0.3); /* цвет дополнительного текста контрола */\n --color-typo-disable: rgba(0, 0, 0, 0.3); /* цвет основного текста неактивного контрола */\n --color-typo-success: var(--color-success);\n --color-typo-warning: var(--color-warning);\n --color-typo-alert: rgb(224, 0, 0);\n --color-link: var(--color-path); /* цвет фона ссылки */\n --color-link-external: var(--color-path);\n --color-link-minor: rgb(102, 102, 153);\n --color-link-hover: var(--color-hover); /* цвет фона ссылки по ховеру */\n --color-control-bg-border-focus: rgb(179, 179, 179); /* цвет фона бордеров контрола при фокусе */\n --color-control-bg-border-prism: var(--color-project); /* цвет фона бордера офсетных выделений контрола */\n --color-control-typo-primary: var(--color-base);\n --color-control-typo-secondary: rgba(0, 0, 0, 0.6);\n --color-control-typo-ghost: rgba(0, 0, 0, 0.3);\n --color-control-typo-passive: var(--color-base);\n --color-control-typo-faint: rgb(255, 255, 255);\n --color-control-typo-disable: rgb(128, 128, 128);\n --color-control-typo-link: var(--color-path);\n --color-control-typo-error: rgb(224, 0, 0);\n --color-control-bg-default: rgb(230, 230, 230); /* цвет фона контрола */\n --color-control-bg-default-hover: rgb(219, 219, 219); /* цвет фона контрола по ховеру */\n --color-control-bg-default-press: rgb(219, 219, 219); /* цвет фона контрола по нажатию */\n --color-control-bg-default-disable: rgb(242, 242, 242); /* цвет фона неактивного контрола */\n --color-control-bg-border-default: rgb(179, 179, 179); /* цвет фона бордеров контрола */\n --color-control-bg-border-default-hover: rgb(219, 219, 219); /* цвет фона бордеров контрола по ховеру */\n --color-control-bg-border-default-press: rgb(179, 179, 179); /* цвет фона бордеров контрола по нажатию */\n --color-control-bg-border-default-disable: rgb(232, 232, 232); /* цвет фона бордеров неактивного контрола */\n --color-control-bg-border-default-error: var(--color-alert);\n --color-control-bg-border-default-error-hover: rgb(224, 0, 15);\n --color-control-bg-pseudo: rgb(255, 255, 255); /* цвет фона псевдо контрола */\n --color-control-bg-pseudo-hover: rgb(247, 247, 247); /* цвет фона псевдо контрола по ховеру */\n --color-control-bg-border-pseudo: rgb(204, 204, 204); /* цвет бордеров псевдо контрола */\n --color-control-bg-action: var(--color-project); /* цвет фона активного контрола */\n --color-control-bg-action-hover: rgb(250, 192, 0); /* цвет фона активного контрола по ховеру */\n --color-control-bg-action-press: rgb(250, 192, 0); /* цвет фон активного контролы по нажатию */\n --color-control-bg-passive: var(--color-essential); /* цвет фона пассивной части контрола */\n --color-control-bg-progress: var(--color-project); /* цвет фон активного контрола в прогрессе */\n --color-control-bg-progress-process: rgb(255, 213, 0); /* цвет фон активного контрола в прогрессе выполнения */\n --color-control-bg-blank: var(--color-essential); /* цвет фона пустого контрола */\n --color-control-bg-blank-hover: var(--color-essential); /* цвет фона пустого контрола по ховеру */\n --color-control-bg-blank-disable: rgb(242, 242, 242); /* цвет фона пустого неактивного контрола */\n --color-control-bg-border-blank: rgb(217, 217, 217); /* цвет фона бордеров пустого контрола */\n --color-control-bg-border-blank-hover: rgb(204, 204, 204); /* цвет фона бордеров пустого контрола по ховеру */\n --color-control-bg-border-blank-disable: rgb(242, 242, 242); /* цвет фона бордеров пустого неактивного контрола */\n --color-control-bg-faint: var(--color-essential); /* цвет фона ослабленной части контрола */\n --color-control-bg-faint-disable: rgb(199, 199, 199); /* цвет фона ослабленной части неактивного контрола */\n --color-control-bg-check: rgb(84, 84, 84); /* цвет фона чекнутого контрола */\n --color-control-bg-check-hover: rgb(84, 84, 84); /* цвет фона чекнутого контрола по ховеру */\n --color-control-bg-check-press: rgb(82, 82, 82); /* цвет фона чекнутого контрола по нажатию */\n --color-control-bg-check-disable: rgb(242, 242, 242); /* цвет фона чекнутого неактивного контрола */\n --color-control-bg-border-check: rgb(168, 135, 0); /* цвет фона бордеров чекнутого контрола */\n --color-control-bg-border-check-hover: rgb(168, 135, 0); /* цвет фона бордеров чекнутого контрола по ховеру */\n --color-control-bg-border-check-press: rgb(168, 135, 0); /* цвет фона бордеров чекнутого контрола при фокусе по нажатию */\n --color-control-bg-link-default: var(--color-path);\n --color-control-bg-link-default-hover: rgba(0, 68, 187, 0.3);\n --color-control-bg-border-link-default: rgba(0, 68, 187, 0.6);\n --color-control-bg-border-link-default-hover: rgba(0, 68, 187, 0.6);\n --color-control-typo-raised: #000;\n --color-control-typo-raised-disable: #7f7f7f;\n --color-control-bg-raised: #fff;\n --color-control-bg-raised-hover: #f5f5f5;\n --color-control-bg-raised-disable: #f5f5f5;\n --color-control-bg-raised-check: #fff;\n --attach-typo-color: var(--color-control-typo-primary);\n --badge-border-color: var(--color-bg-default);\n --badge-fill-color: var(--color-bg-alert);\n --badge-typo-color: var(--color-typo-inverse);\n --button-view-action-border-color-focused: var(--color-control-bg-border-prism);\n --button-view-action-fill-color-base: var(--color-control-bg-action);\n --button-view-action-fill-color-disabled: var(--color-control-bg-default-disable);\n --button-view-action-fill-color-hovered: var(--color-control-bg-action-hover);\n --button-view-action-fill-color-progress-base: var(--color-control-bg-progress);\n --button-view-action-fill-color-progress-process: var(--color-control-bg-progress-process);\n --button-view-action-fill-color-checked-base: var(--color-control-bg-check);\n --button-view-action-fill-color-checked-hovered: var(--color-control-bg-check-hover);\n --button-view-action-typo-color-base: var(--color-control-typo-passive);\n --button-view-action-typo-color-disabled: var(--color-control-typo-disable);\n --button-view-action-typo-color-hovered: var(--color-control-typo-passive);\n --button-view-action-typo-color-progress-base: var(--color-control-typo-passive);\n --button-view-action-typo-color-checked-base: var(--color-control-typo-faint);\n --button-view-action-typo-color-checked-hovered: var(--color-control-typo-faint);\n --button-view-clear-border-color-focused: var(--color-control-bg-border-prism);\n --button-view-clear-fill-color-disabled: var(--color-control-bg-default-disable);\n --button-view-clear-fill-color-checked-base: var(--color-control-bg-check);\n --button-view-clear-fill-color-checked-hovered: var(--color-control-bg-check-hover);\n --button-view-clear-typo-color-base: var(--color-control-typo-primary);\n --button-view-clear-typo-color-disabled: var(--color-control-typo-disable);\n --button-view-clear-typo-color-checked-base: var(--color-control-typo-faint);\n --button-view-default-border-color-focused: var(--color-control-bg-border-prism);\n --button-view-default-fill-color-base: var(--color-control-bg-default);\n --button-view-default-fill-color-disabled: var(--color-control-bg-default-disable);\n --button-view-default-fill-color-hovered: var(--color-control-bg-default-hover);\n --button-view-default-fill-color-checked-base: var(--color-control-bg-check);\n --button-view-default-fill-color-checked-hovered: var(--color-control-bg-check-hover);\n --button-view-default-typo-color-base: var(--color-control-typo-primary);\n --button-view-default-typo-color-hovered: var(--color-control-typo-primary);\n --button-view-default-typo-color-disabled: var(--color-control-typo-disable);\n --button-view-default-typo-color-checked-base: var(--color-control-typo-faint);\n --button-view-default-typo-color-checked-hovered: var(--color-control-typo-faint);\n --button-view-link-border-color-base: var(--color-control-bg-border-link-default);\n --button-view-link-border-color-focused: var(--color-control-bg-border-prism);\n --button-view-link-fill-color-base: var(--color-control-bg-faint);\n --button-view-link-fill-color-disabled: var(--color-control-bg-default-disable);\n --button-view-link-fill-color-hovered: var(--color-control-bg-link-default-hover);\n --button-view-link-fill-color-checked-base: var(--color-control-bg-check);\n --button-view-link-fill-color-checked-hovered: var(--color-control-bg-check-hover);\n --button-view-link-typo-color-base: var(--color-control-typo-link);\n --button-view-link-typo-color-disabled: var(--color-control-typo-disable);\n --button-view-link-typo-color-checked-base: var(--color-control-typo-faint);\n --button-view-pseudo-border-color-base: var(--color-control-bg-border-pseudo);\n --button-view-pseudo-border-color-focused: var(--color-control-bg-border-prism);\n --button-view-pseudo-fill-color-disabled: var(--color-control-bg-default-disable);\n --button-view-pseudo-fill-color-hovered: var(--color-control-bg-pseudo-hover);\n --button-view-pseudo-fill-color-checked-base: var(--color-control-bg-check);\n --button-view-pseudo-fill-color-checked-hovered: var(--color-control-bg-check-hover);\n --button-view-pseudo-typo-color-base: var(--color-control-typo-primary);\n --button-view-pseudo-typo-color-disabled: var(--color-control-typo-disable);\n --button-view-pseudo-typo-color-checked-base: var(--color-control-typo-faint);\n --button-view-raised-border-color-focused: var(--color-control-bg-border-prism);\n --button-view-raised-fill-color-base: var(--color-control-bg-raised);\n --button-view-raised-fill-color-disabled: var(--color-control-bg-raised-disable);\n --button-view-raised-fill-color-hovered: var(--color-control-bg-raised-hover);\n --button-view-raised-fill-color-checked-base: var(--color-control-bg-check);\n --button-view-raised-fill-color-checked-hovered: var(--color-control-bg-check-hover);\n --button-view-raised-typo-color-base: var(--color-control-typo-raised);\n --button-view-raised-typo-color-disabled: var(--color-control-typo-raised-disable);\n --button-view-raised-typo-color-checked-base: var(--color-control-typo-faint);\n --checkbox-view-outline-border-color: rgba(0, 0, 0, 0.1);\n --checkbox-view-outline-fill-color-base: transparent;\n --checkbox-view-outline-fill-color-hovered: #d2d2d2;\n --checkbox-view-default-outline-color: var(--color-control-bg-border-prism);\n --checkbox-view-default-fill-color-base: var(--color-control-bg-default);\n --checkbox-view-default-fill-color-hovered: var(--color-control-bg-default-hover);\n --checkbox-view-default-fill-color-checked-base: var(--color-control-bg-check);\n --checkbox-view-default-fill-color-checked-hovered: var(--color-control-bg-check-hover);\n --checkbox-view-default-typo-color-base: var(--color-control-typo-primary);\n --checkbox-view-default-typo-color-checked-base: var(--color-control-bg-faint);\n --divider-fill-color: #fc0;\n --header-fill-color: #fff; /* Фон шапки */\n --header-nav-link-color-base: #939cb0; /* Основной цвет текста навигационного таба */\n --header-nav-link-color-hover: #222426; /* Цвет текста навигационного таба при наведении мыши */\n --header-nav-link-color-active: #d00; /* Цвет текста навигационного таба при нажатии */\n --header-search-fill-color-base: #ffdb4d; /* Основной цвет заливки и границ Textinput_view_search-arrow и Button_view_search-arrow */\n --header-search-fill-color-hover: #ffd633; /* Цвет заливки и границ Textinput_view_search-arrow и Button_view_search-arrow при наведении мыши */\n --header-search-fill-color-active: #fc0; /* Цвет заливки и границ Textinput_view_search-arrow и Button_view_search-arrow при нажатии */\n --header-search-button-typo-color: #000; /* Цвет текста Button_view_search-arrow */\n --header-search-textinput-typo-color: #000; /* Цвет текста Button_view_search-arrow */\n --header-search-textinput-fill-color: #fff; /* Цвет заливки Textinput_view_search-arrow Texinput-Box */\n --link-view-default-outline-color: var(--color-control-bg-border-prism);\n --link-view-default-typo-color-base: var(--color-link);\n --link-view-default-typo-color-disabled: var(--color-typo-disable);\n --link-view-default-typo-color-hovered: var(--color-link-hover);\n --menu-view-default-border-color-base: var(--color-control-bg-border-default);\n --menu-view-default-fill-color-base: var(--color-control-bg-default);\n --menu-view-default-fill-color-hovered: var(--color-control-bg-default-hover);\n --menu-view-default-typo-color-base: var(--color-control-typo-primary);\n --menu-view-default-typo-color-secondary: var(--color-control-typo-secondary);\n --menu-view-default-typo-color-disabled: var(--color-control-typo-disable);\n --menu-view-default-typo-color-hovered: var(--color-control-typo-primary);\n --message-box-view-default-typo-color: var(--color-typo-inverse);\n --message-box-view-default-fill-color: var(--color-bg-inverse);\n --message-box-view-promo-typo-color: var(--color-typo-inverse);\n --message-box-view-promo-fill-color: var(--color-bg-promo);\n --message-box-view-inverse-typo-color: var(--color-typo-primary);\n --message-box-view-inverse-fill-color: var(--color-bg-default);\n --popup-view-default-typo-color: var(--color-typo-primary);\n --popup-view-default-fill-color: var(--color-bg-default);\n --progress-outer-fill-color: transparent;\n --progress-inner-fill-color: var(--color-control-bg-progress);\n --radio-button-view-default-outline-color: var(--color-control-bg-border-prism);\n --radio-button-view-default-fill-color-base: var(--color-control-bg-default);\n --radio-button-view-default-fill-color-checked-base: var(--color-control-bg-passive);\n --radio-button-view-default-typo-color-base: var(--color-control-typo-secondary);\n --radio-button-view-default-typo-color-hovered: var(--color-control-typo-primary);\n --radio-button-view-default-typo-color-checked-base: var(--color-control-typo-primary);\n --radiobox-view-default-dot-fill-color: var(--color-control-bg-faint);\n --radiobox-view-default-outline-color: var(--color-control-bg-border-prism);\n --radiobox-view-default-fill-color-base: var(--color-control-bg-default);\n --radiobox-view-default-fill-color-hovered: var(--color-control-bg-default-hover);\n --radiobox-view-default-fill-color-checked-base: var(--color-control-bg-check);\n --radiobox-view-default-fill-color-checked-hovered: var(--color-control-bg-check-hover);\n --radiobox-view-default-typo-color-base: var(--color-control-typo-primary);\n --radiobox-view-outline-border-color: rgba(0, 0, 0, 0.1);\n --radiobox-view-outline-fill-color-base: transparent;\n --radiobox-view-outline-fill-color-hovered: #d9d9d9;\n --slider-view-default-typo-color-base: var(--color-control-typo-primary); /* Цвет типографики внутри слайдера */\n --slider-view-default-track-fill-color-base: rgba(0, 0, 0, 0.15); /* Цвет заливки трека в обычном состоянии */\n --slider-view-default-track-fill-color-hovered: rgba(0, 0, 0, 0.25); /* Цвет заливки трека в состоянии наведения */\n --slider-view-default-range-fill-color-base: var(--color-control-bg-action); /* Цвет заливки диапазона в обычном состоянии */\n --slider-view-default-range-fill-color-hovered: var(--color-control-bg-action-hover); /* Цвет заливки диапазона в состоянии наведения */\n --slider-view-default-range-fill-color-disabled: rgba(0, 0, 0, 0.15); /* Цвет заливки диапазона в неактивном состоянии */\n --slider-view-default-thumb-fill-color-base: var(--color-control-bg-raised); /* Цвет заливки бегунка в обычном состоянии */\n --slider-view-default-thumb-fill-color-disabled: #000; /* Цвет заливки бегунка в неактивном состоянии */\n --slider-view-default-tick-fill-color-base: #fff; /* Цвет заливки метки в обычном состоянии */\n --spin-view-default-border-color: var(--color-control-bg-progress);\n --tabs-menu-view-default-outline-color: var(--color-control-bg-border-prism);\n --tabs-menu-view-default-active-line-fill-color-active: var(--color-typo-primary);\n --tabs-menu-view-default-typo-color-base: var(--color-typo-primary);\n --textarea-view-default-fill-color-base: var(--color-control-bg-blank);\n --textarea-view-default-fill-color-disabled: var(--color-control-bg-blank-disable);\n --textarea-view-default-fill-color-hovered: var(--color-control-bg-blank-hover);\n --textarea-view-default-typo-color-base: var(--color-control-typo-primary);\n --textarea-view-default-typo-color-disabled: var(--color-control-typo-disable);\n --textarea-view-default-placeholder-typo-color-base: var(--color-control-typo-ghost);\n --textarea-view-default-placeholder-typo-color-disabled: var(--color-control-typo-disable);\n --textarea-view-default-icon-fill-color-base: var(--color-control-typo-ghost);\n --textarea-view-default-clear-fill-color-base: var(--color-control-typo-ghost);\n --textarea-view-default-clear-fill-color-hovered: var(--color-control-typo-primary);\n --textarea-view-default-hint-typo-color-state-error-base: var(--color-control-typo-error);\n --textarea-view-default-border-color-base: var(--color-control-bg-border-blank);\n --textarea-view-default-border-color-disabled: var(--color-control-bg-border-blank-disable);\n --textarea-view-default-border-color-focused: var(--color-control-bg-border-focus);\n --textarea-view-default-border-color-hovered: var(--color-control-bg-border-blank-hover);\n --textarea-view-default-border-color-state-error-base: var(--color-control-bg-border-default-error);\n --textarea-view-default-border-color-state-error-hovered: var(--color-control-bg-border-default-error-hover);\n --textinput-view-material-typo-color-base: #000;\n --textinput-view-material-typo-color-disabled: rgba(0, 0, 0, 0.4);\n --textinput-view-material-border-color-base: rgba(0, 0, 0, 0.1);\n --textinput-view-material-border-color-state-error: #FF3737;\n --textinput-view-material-icon-fill-color-base: rgba(0, 0, 0, 0.8);\n --textinput-view-material-icon-fill-color-disabled: rgba(0, 0, 0, 0.5);\n --textinput-view-material-hint-typo-color-base: rgba(0, 0, 0, 0.4);\n --textinput-view-material-hint-typo-color-state-error: #FF3737;\n --textinput-view-material-caret-color-base: #067AFF;\n --textinput-view-material-caret-color-state-error: #FF3737;\n --textinput-view-material-placeholder-typo-color-base: var(--color-control-typo-ghost);\n --textinput-view-material-label-color-base: rgba(0, 0, 0, 0.25);\n --textinput-view-material-label-color-state-error: #FF3737;\n --textinput-view-material-label-color-floated-base: rgba(0, 0, 0, 0.4);\n --textinput-view-material-variant-filled-border-color-focused: #067AFF;\n --textinput-view-material-variant-filled-fill-color: rgba(0, 0, 0, 0.05);\n --textinput-view-material-variant-filled-label-color-floated: #067AFF;\n --textinput-view-material-variant-outlined-border-color-base: rgba(0, 0, 0, 0.1);\n --textinput-view-material-variant-outlined-border-color-focused: #067AFF;\n --textinput-view-material-variant-outlined-label-color-floated: #067AFF;\n --textinput-view-default-fill-color-base: var(--color-control-bg-blank);\n --textinput-view-default-fill-color-disabled: var(--color-control-bg-blank-disable);\n --textinput-view-default-fill-color-hovered: var(--color-control-bg-blank-hover);\n --textinput-view-default-typo-color-base: var(--color-control-typo-primary);\n --textinput-view-default-typo-color-disabled: var(--color-control-typo-disable);\n --textinput-view-default-placeholder-typo-color-base: var(--color-control-typo-ghost);\n --textinput-view-default-placeholder-typo-color-disabled: var(--color-control-typo-disable);\n --textinput-view-default-icon-fill-color-base: var(--color-control-typo-ghost);\n --textinput-view-default-clear-fill-color-base: var(--color-control-typo-ghost);\n --textinput-view-default-clear-fill-color-hovered: var(--color-control-typo-primary);\n --textinput-view-default-hint-typo-color-state-error-base: var(--color-control-typo-error);\n --textinput-view-default-border-color-base: var(--color-control-bg-border-blank);\n --textinput-view-default-border-color-disabled: var(--color-control-bg-border-blank-disable);\n --textinput-view-default-border-color-focused: var(--color-control-bg-border-focus);\n --textinput-view-default-border-color-hovered: var(--color-control-bg-border-blank-hover);\n --textinput-view-default-border-color-state-error-base: var(--color-control-bg-border-default-error);\n --textinput-view-default-border-color-state-error-hovered: var(--color-control-bg-border-default-error-hover);\n --tooltip-view-default-fill-color-base: var(--color-control-bg-default);\n --tooltip-view-default-fill-color-state-success: var(--color-bg-success);\n --tooltip-view-default-fill-color-state-warning: var(--color-bg-warning);\n --tooltip-view-default-fill-color-state-alert: var(--color-bg-alert);\n --tooltip-view-default-typo-color-state-success: var(--color-control-typo-faint);\n --tooltip-view-default-typo-color-state-warning: var(--color-control-typo-faint);\n --tooltip-view-default-typo-color-state-alert: var(--color-control-typo-faint);\n --tumbler-view-default-outline-color: var(--color-control-bg-border-prism);\n --tumbler-view-default-fill-color-base: var(--color-control-bg-default);\n --tumbler-view-default-fill-color-disabled: var(--color-control-bg-default-disable);\n --tumbler-view-default-fill-color-hovered: var(--color-control-bg-default-hover);\n --tumbler-view-default-fill-color-checked-base: var(--color-control-bg-action);\n --tumbler-view-default-fill-color-checked-disabled: var(--color-control-bg-default-disable);\n --tumbler-view-default-fill-color-checked-hovered: var(--color-control-bg-action-hover);\n --tumbler-view-default-button-fill-color-base: var(--color-control-bg-faint);\n --tumbler-view-default-typo-color-base: var(--color-control-typo-primary);\n --tumbler-view-default-typo-color-disabled: var(--color-control-typo-disable);\n --calendar-view-default-fill-color: #fff;\n --calendar-view-default-header-fill-color: transparent;\n --calendar-view-default-aside-typo-color-base: rgba(0, 0, 0, 0.6);\n --calendar-view-default-aside-fill-color-base: rgba(0, 0, 0, 0.05);\n --calendar-view-default-weekday-typo-color-base: #000000;\n --calendar-view-default-weekend-typo-color-base: #ff3029;\n --calendar-view-default-cell-border-color-hovered: rgba(0, 0, 0, 0.1);\n --calendar-view-default-cell-border-color-focused: #e69900;\n --calendar-view-default-cell-border-color-today: rgba(0, 0, 0, 0.05);\n --calendar-view-default-cell-underline-color-today: #ff3737;\n --calendar-view-default-cell-typo-color-base: rgba(0, 0, 0, 0.8);\n --calendar-view-default-cell-typo-color-disabled: rgba(0, 0, 0, 0.45);\n --calendar-view-default-cell-typo-color-selected-base: #fff;\n --calendar-view-default-cell-typo-color-weekend: #ff3737;\n --calendar-view-default-cell-fill-color-hovered: #f2f2f2;\n --calendar-view-default-cell-fill-color-pressed: #e5e5e5;\n --calendar-view-default-cell-fill-color-range-selected-base: #f2f2f2;\n --calendar-view-default-cell-fill-color-range-selected-hovered: #e6e6e6;\n --calendar-view-default-cell-fill-color-range-selected-pressed: #d9d9d9;\n --calendar-view-default-cell-fill-color-selected-base: #ff3333;\n --calendar-view-default-cell-fill-color-selected-hovered: #ff0000;\n --calendar-view-default-cell-fill-color-selected-pressed: #f20008;\n --calendar-view-default-cell-fill-color-selected-disabled: #f7f8fA;\n --calendar-view-default-nav-action-typo-color-base: rgba(0, 0, 0, 0.65);\n --calendar-view-default-nav-action-typo-color-hovered: rgba(0, 0, 0, 1);\n --calendar-view-default-nav-action-typo-color-disabled: #808080;\n --calendar-view-default-nav-title-button-typo-color-base: #000;\n --calendar-view-default-nav-title-button-typo-color-hovered: rgba(0, 0, 0, 0.65);\n --calendar-view-brand-fill-color: #fff;\n --calendar-view-brand-header-fill-color: #1a1a1a;\n --calendar-view-brand-aside-typo-color-base: rgba(0, 0, 0, 0.6);\n --calendar-view-brand-aside-fill-color-base: rgba(0, 0, 0, 0.05);\n --calendar-view-brand-weekday-typo-color-base: #fff;\n --calendar-view-brand-weekend-typo-color-base: rgba(255, 255, 255, 0.75);\n --calendar-view-brand-cell-border-color-hovered: rgba(0, 0, 0, 0.1);\n --calendar-view-brand-cell-border-color-focused: #fdb100;\n --calendar-view-brand-cell-border-color-today: rgba(0, 0, 0, 0.05);\n --calendar-view-brand-cell-underline-color-today: #ff3737;\n --calendar-view-brand-cell-typo-color-base: rgba(0, 0, 0, 0.8);\n --calendar-view-brand-cell-typo-color-disabled: rgba(0, 0, 0, 0.45);\n --calendar-view-brand-cell-typo-color-selected-base: #fff;\n --calendar-view-brand-cell-typo-color-weekend: #ff3737;\n --calendar-view-brand-cell-fill-color-hovered: #f2f2f2;\n --calendar-view-brand-cell-fill-color-pressed: #e5e5e5;\n --calendar-view-brand-cell-fill-color-range-selected-base: #f2f2f2;\n --calendar-view-brand-cell-fill-color-range-selected-hovered: #e6e6e6;\n --calendar-view-brand-cell-fill-color-range-selected-pressed: #d9d9d9;\n --calendar-view-brand-cell-fill-color-selected-base: #ff3333;\n --calendar-view-brand-cell-fill-color-selected-hovered: #ff0000;\n --calendar-view-brand-cell-fill-color-selected-pressed: #f20008;\n --calendar-view-brand-cell-fill-color-selected-disabled: #f7f8fA;\n --calendar-view-brand-nav-action-typo-color-base: rgba(255, 255, 255, 0.65);\n --calendar-view-brand-nav-action-typo-color-hovered: rgba(255, 255, 255, 1);\n --calendar-view-brand-nav-action-typo-color-disabled: rgba(255, 255, 255, 0.4);\n --calendar-view-brand-nav-title-button-typo-color-base: #fff;\n --calendar-view-brand-nav-title-button-typo-color-hovered: rgba(255, 255, 255, 0.65);\n --datetimefield-view-default-fill-color-base: var(--color-control-bg-blank);\n --datetimefield-view-default-fill-color-disabled: var(--color-control-bg-blank-disable);\n --datetimefield-view-default-fill-color-hovered: var(--color-control-bg-blank-hover);\n --datetimefield-view-default-border-color-base: var(--color-control-bg-border-blank);\n --datetimefield-view-default-border-color-disabled: var(--color-control-bg-border-blank-disable);\n --datetimefield-view-default-border-color-focused: var(--color-control-bg-border-focus);\n --datetimefield-view-default-border-color-hovered: var(--color-control-bg-border-blank-hover);\n --datetimefield-view-default-segment-fill-color-focused: #d9d9d9;\n --datetimefield-view-default-segment-typo-color-base: var(--color-control-typo-primary);\n --datetimefield-view-default-segment-typo-color-disabled: var(--color-control-typo-disable);\n --datetimefield-view-default-segment-typo-color-invalid: var(--color-control-typo-error);\n --datetimefield-view-default-placeholder-typo-color-base: var(--color-control-typo-ghost);\n --datetimefield-view-default-placeholder-typo-color-disabled: var(--color-control-typo-disable);\n}\n",".Theme_root_default {\n --space-3-xs: 2px;\n --space-2-xs: 4px;\n --space-xs: 8px;\n --space-s: 12px;\n --space-m: 16px;\n --space-l: 20px;\n --space-xl: 24px;\n --space-2-xl: 32px;\n --space-3-xl: 40px;\n --space-4-xl: 48px;\n --space-5-xl: 72px;\n --space-6-xl: 96px;\n --typography-font-family: 'YS Text', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n --typography-font-weight-light: 300;\n --typography-font-weight-regular: 400;\n --typography-font-weight-medium: 500;\n --typography-font-weight-bold: 700;\n --control-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n --typography-controls-size-s-font-size: 13px;\n --typography-controls-size-m-font-size: 15px;\n --typography-controls-size-l-font-size: 18px;\n --attach-font-family: var(--control-font-family);\n --attach-reset-width: 12px;\n --attach-reset-height: 12px;\n --attach-reset-indentLeft: 5px;\n --attach-iconFile-indentRight: 5px;\n --attach-size-s-fontSize: var(--typography-controls-size-s-font-size);\n --attach-size-s-lineHeight: 32px;\n --attach-size-s-holder-indentLeft: 6px;\n --attach-size-m-fontSize: var(--typography-controls-size-m-font-size);\n --attach-size-m-lineHeight: 36px;\n --attach-size-m-holder-indentLeft: 8px;\n --attach-size-l-fontSize: var(--typography-controls-size-l-font-size);\n --attach-size-l-lineHeight: 42px;\n --attach-size-l-holder-indentLeft: 10px;\n --badge-font-family: var(--control-font-family);\n --badge-size-small: 10px;\n --badge-size-large: 16px;\n --badge-font-size: 12px;\n --badge-border-radius: 8px;\n --badge-border-width: 2px;\n --button-font-family: var(--control-font-family);\n --button-border-width: 1px;\n --button-borderRadius: 4px; /* Радиус внутреннего блока */\n --button-size-s-font: var(--typography-controls-size-s-font-size); /* Размер текста у s-button */\n --button-size-s-lineHeight: 32px; /* Межстрочный интервал текста у s-button */\n --button-size-s-height: 32px; /* Высота у s-button */\n --button-size-s-icon-width: 32px; /* Ширина иконки у s-button */\n --button-size-s-icon-indentLeft: 25px; /* Размер внешнего левого отступа текста от иконки у s-button */\n --button-size-s-icon-indentRight: 25px; /* Размер внешнего правого отступа текста от иконки у s-button */\n --button-size-s-text-indentAll: 0 13px; /* Размер внешнего отступа у s-button */\n --button-size-m-font: var(--typography-controls-size-m-font-size); /* Размер текста у m-button */\n --button-size-m-lineHeight: 36px; /* Межстрочный интервал текста у m-button */\n --button-size-m-height: 36px; /* Высота у m-button */\n --button-size-m-icon-width: 36px; /* Ширина иконки у m-button */\n --button-size-m-icon-indentLeft: 29px; /* Размер внешнего левого отступа текста от иконки у m-button */\n --button-size-m-icon-indentRight: 29px; /* Размер внешнего правого отступа текста от иконки у m-button */\n --button-size-m-text-indentAll: 0 15px; /* Размер внешнего отступа у m-button */\n --button-size-l-font: var(--typography-controls-size-l-font-size); /* Размер текста у l-button */\n --button-size-l-lineHeight: 42px; /* Межстрочный интервал текста у l-button */\n --button-size-l-height: 42px; /* Высота у l-button */\n --button-size-l-icon-width: 42px; /* Ширина иконки у l-button */\n --button-size-l-icon-indentLeft: 35px; /* Размер внешнего левого отступа текста от иконки у l-button */\n --button-size-l-icon-indentRight: 35px; /* Размер внешнего правого отступа текста от иконки у l-button */\n --button-size-l-text-indentAll: 0 18px; /* Размер внешнего отступа у l-button */\n --button-group-gap-s: 1px; /* Растояние s между кнопками */\n --button-group-gap-m: 4px; /* Растояние m между кнопками */\n --button-group-gap-l: 6px; /* Растояние l между кнопками */\n --button-group-gap-xl: 8px; /* Растояние xl между кнопками */\n --button-group-pin-circle-border-radius: 100px; /* Радиус у кнопок с формой circle */\n --button-group-pin-round-border-radius: var(--button-borderRadius); /* Радиус у кнопок с формой round */\n --checkbox-view-outline-disabled-opacity: 0.4;\n --checkbox-font-family: var(--control-font-family);\n --checkbox-borderRadius: 4px;\n --checkbox-size-s-fontSize: var(--typography-controls-size-s-font-size); /* Размер текста у s-checkbox */\n --checkbox-size-s-indentLeft: 5px; /* Размер внешнего левого отступа у s-checkbox (от текста) */\n --checkbox-size-s-width: 14px; /* Ширина у s-checkbox */\n --checkbox-size-s-height: 14px; /* Высота у s-checkbox */\n --checkbox-size-s-tick-width: 12px;\n --checkbox-size-s-tick-height: 8px;\n --checkbox-size-m-fontSize: var(--typography-controls-size-m-font-size); /* Размер текста у m-checkbox */\n --checkbox-size-m-indentLeft: 5px; /* Размер внешнего левого отступа у m-checkbox (от текста) */\n --checkbox-size-m-width: 17px; /* Ширина у m-checkbox */\n --checkbox-size-m-height: 17px; /* Высота у m-checkbox */\n --checkbox-size-m-tick-width: 13px;\n --checkbox-size-m-tick-height: 10px;\n --checkbox-disabled-opacity: 0.6;\n --divider-indent-all: 16px;\n --header-font-family: 'YS Text', arial, sans-serif; /* Шрифт шапки */\n --header-shadow: none; /* Тень шапки */\n --header-space-all: 0 20px; /* Внутренние отступы шапки */\n --header-z-index: auto; /* Расположение шапки по оси Z */\n --header-content-height: 60px; /* Высота шапки */\n --header-content-width: auto; /* Ширина шапки */\n --header-content-indent-right: auto; /* Внешний отступ контента от блока с действиями. По умолчанию контент расположен рядом с логотипом. */\n --header-content-max-width: 1400px; /* Максимальная ширина шапки */\n --header-content-space-all: 0; /* Внутренние отступы контента шапки (область между Логотипом и блоком с действиями) */\n --header-logo-height: 32px; /* Высота логотипов */\n --header-logo-indent-right: 29px; /* Внешний отступ справа от основного логотипа */\n --header-logo-circle-indent-top: -3px; /* Внешний отступ сверху круглого логотипа */\n --header-logoaas-height: 32px; /* Высота Logoaas логотипа */\n --header-logoaas-indent: -5px auto 5px auto; /* Внешние отступы изображения внутри Logoaas */\n --header-icon-width: 20px; /* Ширина иконки */\n --header-icon-height: 20px; /* Высота иконки */\n --header-icon-indent-right: 8px; /* Внешний отступ справа от иконки */\n --header-actions-gap: 14px; /* Расстояние между action блоками */\n --header-actions-space-left: 24px; /* Внутренний отступ справа в блоке с действиями */\n --header-nav-indent: 0; /* Внешние отступы в навигационных табах */\n --header-nav-space-all: 0; /* Внутренние отступы в навигационных табах */\n --header-nav-link-font-size: 16px; /* Размер шрифта в навигационных табах */\n --header-nav-link-font-weight: 500; /* Насыщенность шрифта в навигационных табах */\n --header-nav-link-line-height: 21px; /* Межстрочный интервал в навигационных табах */\n --header-nav-link-space-all: 8px 2px; /* Внутренний отступ навигационного таба */\n --header-nav-link-border: 2px solid transparent; /* Граница навигационного таба */\n --header-nav-link-gap: 12px; /* Отступ между навигационными табами */\n --header-search-font-family: Arial, sans-serif; /* Шрифт Button_view_search-arrow */\n --header-search-min-width: 220px; /* Минимальная ширина поисковой формы */\n --header-search-max-width: 470px; /* Максимальная ширина поисковой формы */\n --header-search-width: 470px; /* Ширина поисковой формы */\n --header-search-indent-left: 29px; /* Внешний отступ слева поисковой формы */\n --header-search-button-font-size: 16px; /* Размер шрифта Button_view_search-arrow */\n --header-search-button-line-height: 36px; /* Межстрочный интервал Button_view_search-arrow */\n --header-search-button-width: 88px; /* Ширина Button_view_search-arrow */\n --header-search-button-indent-right: 9px; /* Внешний отступ справа у элемента Text внутри Button_view_search-arrow */\n --header-search-button-space-left: 5px; /* Внутренний отступ слева у элемента Text внутри Button_view_search-arrow */\n --header-search-button-before-border-width: 22px 0 22px 11px; /* Ширина границы :before Button_view_search-arrow */\n --header-search-button-before-top: -4px; /* Значение top :before Button_view_search-arrow */\n --header-search-button-before-right: -9px; /* Значение right :before Button_view_search-arrow */\n --header-search-textinput-height: 36px; /* Высота Texinput_view_search-arrow */\n --header-search-textinput-border-radius: 4px; /* Радиус скругления Texinput_view_search-arrow */\n --header-search-textinput-control-font-size: 18px; /* Размер шрифта Textinput_view_search-arrow Textinput-Control */\n --header-search-textinput-control-border-width: 0 30px 0 13px; /* Ширина границы Textinput_view_search-arrow Textinput-Control */\n --header-search-textinput-box-border-width: 2px 0 2px 2px; /* Ширина границы Textinput_view_search-arrow Texinput-Box */\n --menu-font-family: var(--control-font-family);\n --menu-group-borderWidth: 1px; /* Бордер у menu-group меню */\n --menu-size-s-fontSize: var(--typography-controls-size-s-font-size); /* Размер текста у s-menu */\n --menu-size-s-lineHeight: 32px; /* Межстрочный интервал s-menu у s-menu */\n --menu-size-s-spaceVert: 4px; /* Размер вертикального внутреннего отступа у s-menu */\n --menu-size-s-group-spaceVert: 4px; /* Размер вертикального внутреннего отступа от группе у s-menu */\n --menu-size-s-group-spaceHor: 0; /* Размер горизонтального внутреннего отступа от группе у s-menu */\n --menu-size-s-group-indentBottom: 4px; /* Размер нижнего внешнего отступа от группы до пунктов у s-menu */\n --menu-size-s-item-spaceVert: 3px; /* Размер вертикального внутреннего отступа в пункте у s-menu */\n --menu-size-s-item-spaceHor: 9px; /* Размер горизонтального внутреннего отступа в пункте у s-menu */\n --menu-size-s-item-indentBottom: 4px; /* Размер правого внешнего отступа от иконки до текста у s-menu */\n --menu-size-s-item-icon-indentRight: 4px;\n --menu-size-s-titleSibling-indentLeft: 20px; /* Размер внешнего левого отступа у сущностей после тайтла у s-menu */\n --menu-size-m-fontSize: var(--typography-controls-size-m-font-size); /* Размер текста у m-menu */\n --menu-size-m-lineHeight: 36px; /* Межстрочный интервал у m-menu */\n --menu-size-m-spaceVert: 5px; /* Размер вертикального внутреннего отступа у m-menu */\n --menu-size-m-group-spaceVert: 5px; /* Размер вертикального внутреннего отступа в группе у m-menu */\n --menu-size-m-group-spaceHor: 0; /* Размер горизонтального внутреннего отступа в группе у m-menu */\n --menu-size-m-group-indentBottom: 5px; /* Размер нижнего внешнего отступа от группы до пунктов у m-menu */\n --menu-size-m-item-spaceVert: 4px; /* Размер вертикального внутреннего отступа в пункте у m-menu */\n --menu-size-m-item-spaceHor: 15px; /* Размер горизонтального внутреннего отступа в пункте у m-menu */\n --menu-size-m-item-indentBottom: 5px; /* Размер нижнего внешнего отступа от пунктов до группы у m-menu */\n --menu-size-m-item-icon-indentRight: 6px;\n --menu-size-m-titleSibling-indentLeft: 20px; /* Размер внешнего левого отступа у сущностей после тайтла у m-menu */\n --message-box-fontSize: var(--typography-controls-size-s-font-size);\n --message-box-font-family: var(--control-font-family);\n --message-box-lineHeight: 16px;\n --message-box-hint-borderRadius: 4px;\n --message-box-close-lineHeight: 16px;\n --message-box-close-fontSize: 11px;\n --message-box-close-indentRight: 7px;\n --message-box-close-width: 16px;\n --message-box-close-height: 16px;\n --message-box-text-indentLeft: 20px;\n --message-box-text-indentRight: 20px;\n --message-box-content-spaceAll: 20px;\n --message-box-content-max-width: 180px;\n --message-box-size-s-tail-size: 22px; /* Размер хвоста у message-box */\n --message-box-size-s-tooltip-fontSize: 11px;\n --message-box-size-s-fontSize: var(--typography-controls-size-s-font-size);\n --message-box-size-s-border-radius: 7px;\n --message-box-size-s-content-maxWidth: 260px;\n --message-box-size-s-content-spaceAll: 5px 10px;\n --message-box-size-s-content-functional-width: 180px;\n --message-box-size-m-tail-size: 22px; /* Размер хвоста у message-box */\n --message-box-size-m-tooltip-fontSize: 11px;\n --message-box-size-m-fontSize: var(--typography-controls-size-s-font-size);\n --message-box-size-m-border-radius: 7px;\n --message-box-size-m-content-spaceAll: 10px 14px;\n --message-box-size-m-content-minWidth: 200px;\n --message-box-size-m-content-maxWidth: 280px;\n --message-box-size-m-content-tooltip-maxWidth: 320px;\n --message-box-size-m-content-functional-width: 280px;\n --message-box-size-l-tail-size: 22px; /* Размер хвоста у message-box */\n --message-box-size-l-functional-fontSize: 14px;\n --message-box-size-l-functional-lineHeight: 18px;\n --message-box-size-l-fontSize: var(--typography-controls-size-s-font-size);\n --message-box-size-l-border-radius: 7px;\n --message-box-size-l-content-spaceAll: 15px 20px;\n --message-box-size-l-content-minWidth: 300px;\n --message-box-size-l-content-maxWidth: 380px;\n --message-box-size-l-content-width: 380px;\n --message-box-size-l-content-functional-width: 380px;\n --message-box-button-indentRight: 0;\n --message-box-buttons-indentAll: 0;\n --message-box-view-default-shadow: 0 6px 20px -4px rgba(0, 0, 0, .7);\n --message-box-view-promo-shadow: 0 6px 20px -4px rgba(0, 0, 0, .7);\n --message-box-view-inverse-shadow: 0 6px 20px -4px rgba(0, 0, 0, .7);\n --modal-border-radius: 0;\n --popup-borderRadius: 4px;\n --progressbar-height: 2px; /* Высота у progressbar */\n --progress-border-radius: 0;\n --radio-button-font-family: var(--control-font-family);\n --radioButton-indent: 3px;\n --radioButton-borderRadius: 4px;\n --radioButton-after-borderRadius: 2px;\n --radioButton-size-s-fontSize: var(--typography-controls-size-s-font-size);\n --radioButton-size-s-lineHeight: 28px;\n --radioButton-size-s-space: 0 13px;\n --radioButton-size-m-fontSize: var(--typography-controls-size-m-font-size);\n --radioButton-size-m-lineHeight: 32px;\n --radioButton-size-m-space: 0 15px;\n --radioButton-size-l-fontSize: var(--typography-controls-size-l-font-size);\n --radioButton-size-l-lineHeight: 38px;\n --radioButton-size-l-space: 0 18px;\n --radiobox-font-family: var(--control-font-family);\n --radiobox-view-outline-disabled-opacity: 0.4;\n --radiobox-borderRadius: 50%; /* Скругление внешних краев у radioBox */\n --radiobox-after-borderRadius: 50%; /* Скругление внутренних краев у radioBox */\n --radiobox-size-s-fontSize: var(--typography-controls-size-s-font-size); /* Размер текста у s-radio */\n --radiobox-size-s-lineHeight: 28px; /* Межстрочный интервал текста у s-radio */\n --radiobox-size-s-size: 13px; /* Размер бокса у s-radio */\n --radiobox-size-s-positionTop: 2px; /* Верхний отступ у s-radio */\n --radiobox-size-s-indentRight: 5px; /* Размер внешнего правого отступа у s-radio (от текста) */\n --radiobox-size-s-after-size: 5px;\n --radiobox-size-m-fontSize: var(--typography-controls-size-m-font-size); /* Размер текста у m-radio */\n --radiobox-size-m-lineHeight: 32px; /* Межстрочный интервал текста у m-radio */\n --radiobox-size-m-size: 17px; /* Размер бокса у m-radio */\n --radiobox-size-m-positionTop: 3px; /* Верхний отступ у m-radio */\n --radiobox-size-m-indentRight: 6px; /* Размер внешнего правого отступа у m-radio (от текста) */\n --radiobox-size-m-after-size: 7px;\n --radiobox-disabled-opacity: 0.6;\n --slider-font-family: var(--control-font-family); /* Шрифт слайдера */\n --slider-view-default-height: 32px; /* Высота слайдера, без учета подписей */\n --slider-view-default-track-border-radius: 2px; /* Внешний радиус скругления трека */\n --slider-view-default-track-height: 2px; /* Высота трека */\n --slider-view-default-thumb-width: 16px; /* Ширина бегунка */\n --slider-view-default-thumb-height: 16px; /* Высота бегунка */\n --slider-view-default-thumb-border-radius: 50%; /* Внешний радиус скругления бегунка */\n --slider-view-default-tick-width: 2px; /* Ширина метки */\n --slider-view-default-tick-height: 2px; /* Высота метки */\n --slider-view-default-tick-label-font-size: 13px; /* Размер шрифта подписи метки */\n --slider-view-default-tick-label-line-height: 16px; /* Высота шрифта подписи метки */\n --spin-size-xxs: 16px;\n --spin-size-xs: 24px;\n --spin-size-s: 28px;\n --spin-size-m: 32px;\n --spin-size-l: 38px;\n --tabs-menu-font-family: var(--control-font-family);\n --tabsMenu-size-s-font: var(--typography-controls-size-s-font-size);\n --tabsMenu-size-s-lineHeight: 28px;\n --tabsMenu-size-m-font: var(--typography-controls-size-m-font-size);\n --tabsMenu-size-m-lineHeight: 36px;\n --text-display-size-xl-font-size: 3.5rem;\n --text-display-size-xl-line-height: 4rem;\n --text-display-size-xl-letter-spacing: normal;\n --text-display-size-xl-font-family: var(--typography-font-family);\n --text-display-size-l-font-size: 3rem;\n --text-display-size-l-line-height: 3.5rem;\n --text-display-size-l-letter-spacing: 0.0065em;\n --text-display-size-l-font-family: var(--typography-font-family);\n --text-display-size-m-font-size: 2.5rem;\n --text-display-size-m-line-height: 3rem;\n --text-display-size-m-letter-spacing: 0.0065em;\n --text-display-size-m-font-family: var(--typography-font-family);\n --text-display-size-s-font-size: 2.125rem;\n --text-display-size-s-line-height: 2.5rem;\n --text-display-size-s-letter-spacing: 0.0065em;\n --text-display-size-s-font-family: var(--typography-font-family);\n --text-headline-size-xl-font-size: 2rem;\n --text-headline-size-xl-line-height: 2.5rem;\n --text-headline-size-xl-letter-spacing: 0.0065em;\n --text-headline-size-xl-font-family: var(--typography-font-family);\n --text-headline-size-l-font-size: 1.75rem;\n --text-headline-size-l-line-height: 2.25rem;\n --text-headline-size-l-letter-spacing: 0.0065em;\n --text-headline-size-l-font-family: var(--typography-font-family);\n --text-headline-size-m-font-size: 1.5rem;\n --text-headline-size-m-line-height: 1.875rem;\n --text-headline-size-m-letter-spacing: 0.0065em;\n --text-headline-size-m-font-family: var(--typography-font-family);\n --text-headline-size-s-font-size: 1.25rem;\n --text-headline-size-s-line-height: 1.5rem;\n --text-headline-size-s-letter-spacing: 0.0065em;\n --text-headline-size-s-font-family: var(--typography-font-family);\n --text-headline-size-xs-font-size: 1.125rem;\n --text-headline-size-xs-line-height: 1.5rem;\n --text-headline-size-xs-letter-spacing: 0.0065em;\n --text-headline-size-xs-font-family: var(--typography-font-family);\n --text-subheader-size-xl-font-size: 1rem;\n --text-subheader-size-xl-line-height: 1.25rem;\n --text-subheader-size-xl-letter-spacing: 0.0065em;\n --text-subheader-size-xl-font-family: var(--typography-font-family);\n --text-subheader-size-l-font-size: 0.9375rem;\n --text-subheader-size-l-line-height: 1.125rem;\n --text-subheader-size-l-letter-spacing: 0.0065em;\n --text-subheader-size-l-font-family: var(--typography-font-family);\n --text-subheader-size-m-font-size: 0.875rem;\n --text-subheader-size-m-line-height: 1.125rem;\n --text-subheader-size-m-letter-spacing: 0.0065em;\n --text-subheader-size-m-font-family: var(--typography-font-family);\n --text-subheader-size-s-font-size: 0.8125rem;\n --text-subheader-size-s-line-height: 1.125rem;\n --text-subheader-size-s-letter-spacing: 0.0065em;\n --text-subheader-size-s-font-family: var(--typography-font-family);\n --text-body-long-size-xl-font-size: 1rem;\n --text-body-long-size-xl-line-height: 1.5rem;\n --text-body-long-size-xl-letter-spacing: 0.0065em;\n --text-body-long-size-xl-font-family: var(--typography-font-family);\n --text-body-long-size-l-font-size: 0.9375rem;\n --text-body-long-size-l-line-height: 1.25rem;\n --text-body-long-size-l-letter-spacing: 0.0065em;\n --text-body-long-size-l-font-family: var(--typography-font-family);\n --text-body-long-size-m-font-size: 0.875rem;\n --text-body-long-size-m-line-height: 1.25rem;\n --text-body-long-size-m-letter-spacing: 0.0065em;\n --text-body-long-size-m-font-family: var(--typography-font-family);\n --text-body-long-size-s-font-size: 0.8125rem;\n --text-body-long-size-s-line-height: 1.125rem;\n --text-body-long-size-s-letter-spacing: 0.0065em;\n --text-body-long-size-s-font-family: var(--typography-font-family);\n --text-body-short-size-xl-font-size: 1rem;\n --text-body-short-size-xl-line-height: 1.25rem;\n --text-body-short-size-xl-letter-spacing: 0.0065em;\n --text-body-short-size-xl-font-family: var(--typography-font-family);\n --text-body-short-size-l-font-size: 0.9375rem;\n --text-body-short-size-l-line-height: 1.125rem;\n --text-body-short-size-l-letter-spacing: 0.0065em;\n --text-body-short-size-l-font-family: var(--typography-font-family);\n --text-body-short-size-m-font-size: 0.875rem;\n --text-body-short-size-m-line-height: 1.125rem;\n --text-body-short-size-m-letter-spacing: 0.0065em;\n --text-body-short-size-m-font-family: var(--typography-font-family);\n --text-body-short-size-s-font-size: 0.8125rem;\n --text-body-short-size-s-line-height: 1rem;\n --text-body-short-size-s-letter-spacing: 0.0065em;\n --text-body-short-size-s-font-family: var(--typography-font-family);\n --text-caption-size-xl-font-size: 0.8125rem;\n --text-caption-size-xl-line-height: 1rem;\n --text-caption-size-xl-letter-spacing: 0.0065em;\n --text-caption-size-xl-font-family: var(--typography-font-family);\n --text-caption-size-l-font-size: 0.75rem;\n --text-caption-size-l-line-height: 1rem;\n --text-caption-size-l-letter-spacing: 0.0065em;\n --text-caption-size-l-font-family: var(--typography-font-family);\n --text-caption-size-m-font-size: 0.6875rem;\n --text-caption-size-m-line-height: 1rem;\n --text-caption-size-m-letter-spacing: 0.0065em;\n --text-caption-size-m-font-family: var(--typography-font-family);\n --text-overline-size-l-font-size: 0.75rem;\n --text-overline-size-l-line-height: 0.875rem;\n --text-overline-size-l-letter-spacing: 0.0065em;\n --text-overline-size-l-font-family: var(--typography-font-family);\n --text-overline-size-m-font-size: 0.6875rem;\n --text-overline-size-m-line-height: 0.875rem;\n --text-overline-size-m-letter-spacing: 0.0065em;\n --text-overline-size-m-font-family: var(--typography-font-family);\n --text-overline-size-s-font-size: 0.625rem;\n --text-overline-size-s-line-height: 0.75rem;\n --text-overline-size-s-letter-spacing: 0.0065em;\n --text-overline-size-s-font-family: var(--typography-font-family);\n --text-control-size-xxl-font-size: 1.125rem;\n --text-control-size-xxl-line-height: 1.5rem;\n --text-control-size-xxl-letter-spacing: 0.0065em;\n --text-control-size-xxl-font-family: var(--typography-font-family);\n --text-control-size-xl-font-size: 1rem;\n --text-control-size-xl-line-height: 1.25rem;\n --text-control-size-xl-letter-spacing: 0.0065em;\n --text-control-size-xl-font-family: var(--typography-font-family);\n --text-control-size-l-font-size: 0.9375rem;\n --text-control-size-l-line-height: 1.25rem;\n --text-control-size-l-letter-spacing: 0.0065em;\n --text-control-size-l-font-family: var(--typography-font-family);\n --text-control-size-m-font-size: 0.875rem;\n --text-control-size-m-line-height: 1rem;\n --text-control-size-m-letter-spacing: 0.0065em;\n --text-control-size-m-font-family: var(--typography-font-family);\n --text-control-size-s-font-size: 0.8125rem;\n --text-control-size-s-line-height: 1rem;\n --text-control-size-s-letter-spacing: 0.0065em;\n --text-control-size-s-font-family: var(--typography-font-family);\n --text-control-size-xs-font-size: 0.75rem;\n --text-control-size-xs-line-height: 1rem;\n --text-control-size-xs-letter-spacing: 0.0065em;\n --text-control-size-xs-font-family: var(--typography-font-family);\n --text-control-size-xxs-font-size: 0.6875rem;\n --text-control-size-xxs-line-height: 1rem;\n --text-control-size-xxs-letter-spacing: 0.0065em;\n --text-control-size-xxs-font-family: var(--typography-font-family);\n --textarea-font-family: var(--control-font-family);\n --textarea-borderWidth: 2px;\n --textarea-borderRadius: 4px; /* Ширина бордера у textarea */\n --textarea-size-s-fontSize: var(--typography-controls-size-s-font-size); /* Размер текста у s-textarea */\n --textarea-size-s-spaceAll: 6px; /* Внутренние отступы у s-textarea */\n --textarea-size-s-minWidth: 180px; /* Размер минимальной ширины у s-textarea */\n --textarea-size-s-minHeight: 32px; /* Размер минимальной высоты у s-textarea */\n --textarea-size-s-clear-width: 32px; /* Ширина очищающего контрола у s-textarea */\n --textarea-size-s-clear-height: 32px; /* Высота очищающего контрола у s-textarea */\n --textarea-hint-size-s-fontSize: 12px;\n --textarea-size-m-fontSize: var(--typography-controls-size-m-font-size); /* Размер текста у m textarea */\n --textarea-size-m-spaceAll: 8px; /* Внутренние отступы m-textarea */\n --textarea-size-m-minWidth: 200px; /* Размер минимальной ширины у m-textarea */\n --textarea-size-m-minHeight: 36px; /* Размер минимальной высоты у m-textarea */\n --textarea-size-m-clear-width: 36px; /* Ширина очищающего контрола у m-textarea */\n --textarea-size-m-clear-height: 36px; /* Высота очищающего контрола у m-textarea */\n --textarea-hint-size-m-fontSize: 13px;\n --textinput-font-family: var(--control-font-family);\n --textinput-borderWidth: 2px;\n --textinput-borderRadius: 4px;\n --textinput-size-s-fontSize: var(--typography-controls-size-s-font-size); /* Размер текста у s-textinput */\n --textinput-size-s-height: 32px; /* Высота самого s-textinput */\n --textinput-size-s-control-spaceAll: 0 8px; /* Размер внутреннего отступа самого s-textinput */\n --textinput-size-s-has-icon-spaceRight: 32px; /* Размер внутреннего правого отступа под размер иконки или крестика у s-textinput */\n --textinput-size-s-has-icon-spaceLeft: 32px; /* Размер внутреннего левого отступа под размер иконки или крестика у s-textinput */\n --textinput-size-s-icon-width: 32px;\n --textinput-size-s-icon-height: 32px;\n --textinput-hint-size-s-fontSize: 12px;\n --textinput-size-m-fontSize: var(--typography-controls-size-m-font-size); /* Размер текста у m-textinput */\n --textinput-size-m-height: 36px; /* Высота самого m-textinput */\n --textinput-size-m-control-spaceAll: 0 10px; /* `--textinput-size-m-control-spaceAll` *— Размер внутреннего отступа самого m-textinput* */\n --textinput-size-m-has-icon-spaceRight: 36px; /* Размер внутреннего правого отступа под размер иконки или крестика у m-textinput */\n --textinput-size-m-has-icon-spaceLeft: 36px; /* Размер внутреннего правого отступа правого отступа под размер иконки или крестика у m-textinput */\n --textinput-size-m-icon-width: 36px;\n --textinput-size-m-icon-height: 36px;\n --textinput-hint-size-m-fontSize: 13px;\n --textinput-view-material-font-size: 1rem;\n --textinput-view-material-space-all: 12px 0 10px;\n --textinput-view-material-space-left: 16px;\n --textinput-view-material-space-right: 16px;\n --textinput-view-material-space-top: 16px;\n --textinput-view-material-icon-width: 24px;\n --textinput-view-material-icon-height: 24px;\n --textinput-view-material-hint-font-size: 0.75rem;\n --tooltip-font-family: var(--control-font-family);\n --tooltip-borderRadius: 4px;\n --tooltip-size-s-fontSize: var(--typography-controls-size-s-font-size); /* Размер текста у s-tooltip */\n --tooltip-size-s-lineHeight: 12px; /* Межстрочный интервал текста у s-tooltip */\n --tooltip-size-s-content-spaceAll: 8px; /* Размер внутренних отступов у контента s-tooltip */\n --tooltip-size-s-tail-size: 12px; /* Размер хвоста s-tooltip */\n --tooltip-size-m-fontSize: var(--typography-controls-size-m-font-size); /* Размер текста у m-tooltip */\n --tooltip-size-m-lineHeight: 14px; /* Межстрочный интервал текста у m-tooltip */\n --tooltip-size-m-content-spaceAll: 9px 10px; /* Размер внутренних отступов у контента m-tooltip */\n --tooltip-size-m-tail-size: 24px; /* Размер хвоста m-tooltip */\n --tooltip-size-l-fontSize: 16px; /* Размер текста у l-tooltip */\n --tooltip-size-l-lineHeight: 16px; /* Межстрочный интервал текста у l-tooltip */\n --tooltip-size-l-content-spaceAll: 18px; /* Размер внутренних отступов у контента l-tooltip */\n --tooltip-size-l-tail-size: 36px; /* Размер хвоста l-tooltip */\n --tooltip-view-default-shadow: 0 10px 20px -5px rgba(0, 0, 0, .4);\n --tumbler-font-family: var(--control-font-family);\n --tumbler-button-space: 2px;\n --tumbler-button-opacity-disabled: 1;\n --tumbler-size-s-fontSize: var(--typography-controls-size-s-font-size); /* Размер текста s-tumbler */\n --tumbler-size-s-lineHeight: 16px; /* Межстрочный интервал текста у s-tumbler */\n --tumbler-size-s-borderRadius: 8px;\n --tumbler-size-s-width: 32px; /* Ширина s-tumbler */\n --tumbler-size-s-height: 16px; /* Высота s-tumbler */\n --tumbler-size-s-button-borderRadius: 6px;\n --tumbler-size-s-button-width: 12px; /* Ширина button m-tumbler */\n --tumbler-size-s-button-height: 12px; /* Высота button m-tumbler */\n --tumbler-size-s-button-press-width: 14px;\n --tumblerLabel-size-s-indentRight: 8px;\n --tumblerLabel-size-s-indentLeft: 8px;\n --tumbler-size-m-fontSize: var(--typography-controls-size-m-font-size); /* Размер текста m-tumbler */\n --tumbler-size-m-lineHeight: 20px; /* Межстрочный интервал текста у m-tumbler */\n --tumbler-size-m-borderRadius: 10px;\n --tumbler-size-m-width: 40px; /* Ширина m-tumbler */\n --tumbler-size-m-height: 20px; /* Высота m-tumbler */\n --tumbler-size-m-button-borderRadius: 8px;\n --tumbler-size-m-button-width: 16px; /* Ширина button m-tumbler */\n --tumbler-size-m-button-height: 16px; /* Высота button m-tumbler */\n --tumbler-size-m-button-press-width: 18px;\n --tumblerLabel-size-m-indentRight: 12px;\n --tumblerLabel-size-m-indentLeft: 12px;\n --tumbler-size-l-fontSize: var(--typography-controls-size-l-font-size);\n --tumbler-size-l-lineHeight: 24px;\n --tumbler-size-l-borderRadius: 14px;\n --tumbler-size-l-width: 56px;\n --tumbler-size-l-height: 28px;\n --tumbler-size-l-button-borderRadius: 12px;\n --tumbler-size-l-button-width: 24px;\n --tumbler-size-l-button-height: 24px;\n --tumbler-size-l-button-press-width: 26px;\n --tumblerLabel-size-l-indentRight: 16px;\n --tumblerLabel-size-l-indentLeft: 16px;\n --user-pic-size-m-size: 42px;\n --user-pic-size-m-size-plus: 52px;\n --user-pic-size-s-size: 24px;\n --user-pic-size-s-size-plus: 30px;\n --calendar-font-family: var(--typography-font-family);\n --calendar-size-s-min-width: 252px;\n --calendar-size-s-min-height: 252px;\n --calendar-size-s-line-height: var(--text-control-size-s-line-height);\n --calendar-size-s-font-size: var(--text-control-size-s-font-size);\n --calendar-size-s-space-horizontal: 16px;\n --calendar-size-s-header-space-top: 8px;\n --calendar-size-s-header-space-bottom: 8px;\n --calendar-size-s-nav-action-width: 32px;\n --calendar-size-s-nav-action-height: 32px;\n --calendar-size-s-body-space-top: 8px;\n --calendar-size-s-body-space-bottom: 24px;\n --calendar-size-s-aside-min-width: 28px;\n --calendar-size-s-aside-indent-right: 8px;\n --calendar-size-s-cell-width: 36px;\n --calendar-size-s-cell-space: 2px;\n --calendar-size-m-min-width: 308px;\n --calendar-size-m-min-height: 308px;\n --calendar-size-m-line-height: var(--text-control-size-m-line-height);\n --calendar-size-m-font-size: var(--text-control-size-m-font-size);\n --calendar-size-m-space-horizontal: 24px;\n --calendar-size-m-header-space-top: 12px;\n --calendar-size-m-header-space-bottom: 12px;\n --calendar-size-m-nav-action-width: 36px;\n --calendar-size-m-nav-action-height: 36px;\n --calendar-size-m-body-space-top: 12px;\n --calendar-size-m-body-space-bottom: 32px;\n --calendar-size-m-aside-min-width: 32px;\n --calendar-size-m-aside-indent-right: 12px;\n --calendar-size-m-cell-width: 44px;\n --calendar-size-m-cell-space: 4px;\n --calendar-size-l-min-width: 378px;\n --calendar-size-l-min-height: 378px;\n --calendar-size-l-line-height: var(--text-control-size-l-line-height);\n --calendar-size-l-font-size: var(--text-control-size-l-font-size);\n --calendar-size-l-space-horizontal: 32px;\n --calendar-size-l-header-space-top: 16px;\n --calendar-size-l-header-space-bottom: 16px;\n --calendar-size-l-nav-action-width: 42px;\n --calendar-size-l-nav-action-height: 42px;\n --calendar-size-l-body-space-top: 16px;\n --calendar-size-l-body-space-bottom: 40px;\n --calendar-size-l-aside-min-width: 36px;\n --calendar-size-l-aside-indent-right: 16px;\n --calendar-size-l-cell-width: 54px;\n --calendar-size-l-cell-space: 6px;\n --calendar-view-default-aside-border-radius: 8px;\n --calendar-view-default-cell-border-width: 1px;\n --calendar-view-default-cell-border-radius: 100px;\n --calendar-view-brand-aside-border-radius: 8px;\n --calendar-view-brand-cell-border-width: 1px;\n --calendar-view-brand-cell-border-radius: 100px;\n --datetimefield-font-family: var(--typography-font-family);\n --datetimefield-size-s-font-size: var(--typography-controls-size-s-font-size);\n --datetimefield-size-s-line-height: 18px;\n --datetimefield-size-s-height: 32px;\n --datetimefield-size-s-space-horizontal: 8px;\n --datetimefield-size-s-slots-gap: 4px;\n --datetimefield-size-m-font-size: var(--typography-controls-size-m-font-size);\n --datetimefield-size-m-line-height: 20px;\n --datetimefield-size-m-height: 36px;\n --datetimefield-size-m-space-horizontal: 10px;\n --datetimefield-size-m-slots-gap: 6px;\n --datetimefield-view-default-border-width-base: 2px;\n --datetimefield-view-default-border-radius: 4px;\n}\n",".tourcard-block{\n width: 400px;\n height: 548px;\n display: flex;\n flex-direction: column;\n gap:50px;\n padding: 25px;\n border: solid #F5DFB8 1px;\n background-color: #fff;\n}\n\n.cardDescr{\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n.cardTitle{\n display: flex;\n flex-direction: column;\n gap:15px\n}\n\n.cardInfo{\n display: flex;\n gap:15px;\n color:rgba(29, 29, 29, 0.5)\n}\n\n.cardAvatar{\n height: 100px;\n transform: rotate(5deg);\n}\n\n.titleText{\n font-size: 24px;\n padding-right: 50px;\n}\n\n.placesWrapper{\n display: flex;\n flex-direction: column;\n gap:20px;\n margin-top: 30px;\n height: 260px;\n overflow-y: scroll;\n}\n.placesWrapper::-webkit-scrollbar {\n width: 0;\n }\n.placeCard{\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n.placeImage{\n width: 40px;\n height: 40px;\n border-radius: 5px;\n}\n\n.placeDescrWrapper{\n display: flex;\n flex-direction: column;\n gap:7px;\n font-size: 16px;\n}\n\n.placeType{\n color:rgba(29, 29, 29, 0.5);\n font-size: 12px;\n}\n\n.mainCardContent{\n position: relative !important;\n}\n\n.tourCardSidebar{\n position: fixed !important;\n left: 0px;\n width: 30%;\n top:0px;\n border-radius: 0px 20px 20px 0px;\n padding: 50px; \n}\n\n.sidebarContent{\n display: flex;\n flex-direction: column;\n gap:50px;\n align-items: center;\n justify-content: space-between;\n}\n\n",".btn-y{\n width: 200px!important;\n background-color: #FFCF08;\n border-radius: 10px;\n padding: 15px 50px;\n outline: none;\n border: none;\n cursor: pointer;\n}\n\n.generateTourBlock{\n display: flex;\n flex-direction: column;\n gap:30px\n}\n\n.tourCardsWrapper{\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap:15px\n}\n\n.tourToolBar{\n display: flex;\n flex-direction: row;\n gap:15px;\n align-items: center;\n}\n\n.generateTourContent{\n padding:50px;\n \n}","\n.tourCardSidebar{\n position: fixed !important;\n left: 0px;\n width: 40%;\n top:0px;\n border-radius: 0px 20px 20px 0px;\n padding: 50px; \n}\n\n.tourcard-block{\n width: 400px;\n height: 548px;\n display: flex;\n flex-direction: column;\n gap:25px;\n padding: 25px;\n border: solid #F5DFB8 1px;\n background-color: #fff;\n}\n\n.cardDescr{\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n.cardTitle{\n display: flex;\n flex-direction: column;\n gap:15px;\n}\n\n.cardInfo{\n display: flex;\n gap:15px;\n color:rgba(29, 29, 29, 0.5)\n}\n\n.cardAvatar{\n height: 100px;\n transform: rotate(5deg);\n}\n\n.titleText{\n font-size: 24px;\n padding-right: 50px;\n}\n\n.placesWrapper{\n display: flex;\n flex-direction: column;\n gap:20px;\n margin-top: 30px;\n height: 260px;\n overflow-y: scroll;\n}\n.placesWrapper::-webkit-scrollbar {\n width: 0;\n }\n.placeCard{\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n.placeImage{\n width: 40px;\n height: 40px;\n border-radius: 5px;\n}\n\n.placeDescrWrapper{\n display: flex;\n flex-direction: column;\n gap:7px;\n font-size: 16px;\n}\n\n.placeType{\n color:rgba(29, 29, 29, 0.5);\n font-size: 12px;\n}\n\n.mainCardContent{\n position: relative !important;\n}\n\n\n\n.sidebarContent{\n display: flex;\n flex-direction: column;\n gap:50px;\n align-items: center;\n justify-content: space-between;\n}\n\n\n.openBtn{\n display: flex;\n flex-direction: row;\n\n}\n\n.yOpenBtn{\n width: 80%;\n height:48px;\n background: #FFCF08;\n padding: 0px 16px;\n border-radius: 20px 4px 4px 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: 0.3s;\n}\n\n.yOpenBtn:hover{\n opacity: 0.5;\n}\n\n.yOpenBtnTitle{\n font-weight: 500;\n font-size: 16px;\n line-height: 22px;\n color: #1D1D1D;\n}\n.yOpenBtnDescr{\n font-weight: 500;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n color: rgba(29, 29, 29, 0.5);\n}\n\n.btnWrapper{\n display: flex;\n flex-direction: row;\n width: 100%;\n gap:5px;\n align-items: center;\n justify-content: center;\n}\n\n.likeBtn{\n height:48px;\n padding: 0px 13px 0px 11px;\n background: rgba(245, 223, 184, 0.5);\n border-radius: 4px 20px 20px 4px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: 0.3s;\n}\n.route-btn{\n width: 100% !important;\n}\n.likeBtn:hover{\n opacity: 0.5;\n}\n\n.TabsRouteCard{\n width: 100%;\n}\n.nearesrtWrapper{\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap:15px\n}\n\n@media screen and (max-device-width: 600px) {\n .tourcard-block{\n width: 300px;\n gap:15px;\n padding: 15px;\n }\n .titleText{\n font-size: 18px;\n line-height: 22px;\n }\n\n .cardInfo{\n font-size: 14px;\n }\n .tourCardSidebar{\n width: calc(100% - 150px);\n }\n}\n\n@media screen and (max-device-width: 400px) {\n .tourcard-block{\n width: 280px;\n }\n}",".mainCard{\n background-color: #FFFBF3;\n margin: 0px 50px;\n display: flex;\n flex-direction: column;\n gap:25px;\n border-radius: 48px;\n padding: 50px;\n width: calc(100% - 200px);\n}\n\n\n.cardWrapper{\n display: inline-flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap:25px;\n justify-content: center;\n}\n\n.fav-wrapper{\n display: flex;\n justify-content: center;\n gap: 25px;\n flex-wrap: wrap;\n}\n\n.grey{\n font-size: 12px;\n color:#1D1D1D\n}\n\n.mainIcon{\n cursor: pointer;\n transition: 0.3s;\n}\n\n.mainIcon:hover{\n transform: scale(1.1);\n}\n\n.mainIconWrapper{\n display: flex;\n flex-direction: row;\n gap:25px\n}\n\n.mainWrapper{\n display: flex;\n flex-direction: column;\n gap:50px;\n justify-content: center;\n align-items: center;\n padding-bottom: 100px;\n width: 100%;\n \n}\n\n.toolsMainWrapper{\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap:15px;\n background-color: white;\n border-radius: 20px;\n padding: 10px 50px;\n margin-top: -50px;\n\n}\n\n.headMainWrapper{\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n\n}\n\n.backgroundIMG{\n width: calc(100% - 100px);\n}\n\n.rowWrapper{\n display: flex;\n flex-direction: row;\n gap:10px;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n}\n\n\n.searchOpened{\n transition: 0.3s;\n margin-top: 0px;\n background-color: white;\n position: relative;\n border-radius: 0px 0px 20px 20px;\n padding: 10px 50px;\n gap:25px;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap:50px;\n padding-bottom: 50px;\n}\n\n.checkboxWrapper{\n display: flex;\n flex-direction: column;\n gap:10px\n \n}\n\n\n\n.ant-select-selector, .ant-picker{\n border: 0px !important;\n}\n\n\n@media screen and (max-device-width: 1000px) {\n .toolsMainWrapper{\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n padding: 10px 15px;\n }\n .rectIMG{\n display: none;\n }\n .mainCard{\n padding: 25px !important;\n margin: 0px 25px !important;\n border-radius: 20px !important;\n }\n \n}\n@media screen and (max-device-width: 700px) {\n h1{\n font-size: 24px;\n text-align: center;\n }\n}\n\n@media screen and (max-device-width: 500px) {\n .mainCard{\n margin: 0px 15px !important;\n padding: 10px;\n width: calc(100% - 100px);\n }\n h1{\n width: 100%;\n font-size: 16px;\n text-align: center;\n margin-top: -50px;\n }\n}\n",".tourcard-block{\n width: 400px;\n height: 548px;\n display: flex;\n flex-direction: column;\n gap:25px;\n padding: 25px;\n border: solid #F5DFB8 1px;\n background-color: #fff;\n}\n\n.cardDescr{\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n.cardTitle{\n display: flex;\n flex-direction: column;\n gap:15px;\n}\n\n.cardInfo{\n display: flex;\n gap:15px;\n color:rgba(29, 29, 29, 0.5)\n}\n\n.cardAvatar{\n height: 100px;\n transform: rotate(5deg);\n}\n\n.titleText{\n font-size: 24px;\n padding-right: 50px;\n}\n\n.placesWrapper{\n display: flex;\n flex-direction: column;\n gap:20px;\n margin-top: 30px;\n height: 260px;\n overflow-y: scroll;\n}\n.placesWrapper::-webkit-scrollbar {\n width: 0;\n }\n.placeCard{\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n.placeImage{\n width: 40px;\n height: 40px;\n border-radius: 5px;\n}\n\n.placeDescrWrapper{\n display: flex;\n flex-direction: column;\n gap:7px;\n font-size: 16px;\n}\n\n.placeType{\n color:rgba(29, 29, 29, 0.5);\n font-size: 12px;\n}\n\n.mainCardContent{\n position: relative !important;\n}\n\n.tourCardSidebar{\n position: fixed !important;\n left: 0px;\n width: 40%;\n top:0px;\n border-radius: 0px 20px 20px 0px;\n padding: 50px; \n}\n\n.sidebarChangeContent{\n display: flex;\n flex-direction: column;\n gap:50px;\n align-items: center;\n justify-content: space-between;\n width: 400px;\n height: 100%;\n}\n\n\n.openBtn{\n display: flex;\n flex-direction: row;\n\n}\n\n.yOpenBtn{\n width: 80%;\n height:48px;\n background: #FFCF08;\n padding: 0px 16px;\n border-radius: 20px 4px 4px 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: 0.3s;\n}\n\n.yOpenBtn:hover{\n opacity: 0.5;\n}\n\n.yOpenBtnTitle{\n font-weight: 500;\n font-size: 16px;\n line-height: 22px;\n color: #1D1D1D;\n}\n.yOpenBtnDescr{\n font-weight: 500;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n color: rgba(29, 29, 29, 0.5);\n}\n\n.btnWrapper{\n display: flex;\n flex-direction: row;\n width: 100%;\n gap:5px;\n align-items: center;\n justify-content: center;\n}\n\n.likeBtn{\n height:48px;\n padding: 0px 13px 0px 11px;\n background: rgba(245, 223, 184, 0.5);\n border-radius: 4px 20px 20px 4px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: 0.3s;\n}\n\n.likeBtn:hover{\n opacity: 0.5;\n}\n\n@media screen and (max-device-width: 600px) {\n .tourcard-block{\n width: 300px;\n gap:15px;\n padding: 15px;\n }\n .titleText{\n font-size: 18px;\n line-height: 22px;\n }\n\n .cardInfo{\n font-size: 14px;\n }\n .tourCardSidebar{\n width: calc(100% - 150px);\n }\n}\n\n@media screen and (max-device-width: 400px) {\n .tourcard-block{\n width: 280px;\n }\n}\n\n.tabs{\n width: 100%;\n}",".changeBtnWrapper{\n display: flex;\n flex-direction: row;\n gap:25px;\n align-items:center ;\n justify-content: center;\n}\n\n.changeYBtn{\n width: 400px;\n background: #FFCF08;\n}\n.changeBtn{\n width: 400px;\n}\n\n@media screen and (max-device-width: 500px) {\n .changeBtnWrapper{\n flex-wrap: wrap;\n }\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/483.450c1111.chunk.js b/static/js/483.450c1111.chunk.js new file mode 100644 index 0000000..2d4fe34 --- /dev/null +++ b/static/js/483.450c1111.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 483.450c1111.chunk.js.LICENSE.txt */ +(self.webpackChunkfrontend1=self.webpackChunkfrontend1||[]).push([[483],{483:function(e){e.exports=function(){"use strict";var e,t,i;function r(r,n){if(e)if(t){var o="self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; ("+e+")(sharedChunk); ("+t+")(sharedChunk); self.onerror = null;",s={};e(s),i=n(s),"undefined"!==typeof window&&window&&window.URL&&window.URL.createObjectURL&&(i.workerUrl=window.URL.createObjectURL(new Blob([o],{type:"text/javascript"})))}else t=n;else e=n}return r(["exports"],(function(e){var t="undefined"!=typeof self?self:{},i="2.14.1";let r;const n={API_URL:"https://api.mapbox.com",get API_URL_REGEX(){if(null==r){const e=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;try{r=null!={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.API_URL_REGEX?new RegExp({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.API_URL_REGEX):e}catch(t){r=e}}return r},get API_TILEJSON_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/v[0-9]*\/.*\.json.*$)/i},get API_SPRITE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*\/sprite.*\..*$)/i},get API_FONTS_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/fonts\/v[0-9]*\/)(.*\.pbf.*$)/i},get API_STYLE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*$)/i},get API_CDN_URL_REGEX(){return/^((https?:)?\/\/)?api\.mapbox\.c(n|om)(\/mapbox-gl-js\/)(.*$)/i},get EVENTS_URL(){if(!n.API_URL)return null;try{const e=new URL(n.API_URL);return"api.mapbox.cn"===e.hostname?"https://events.mapbox.cn/events/v2":"api.mapbox.com"===e.hostname?"https://events.mapbox.com/events/v2":null}catch(e){return null}},SESSION_PATH:"/map-sessions/v1",FEEDBACK_URL:"https://apps.mapbox.com/feedback",TILE_URL_VERSION:"v4",RASTER_URL_PREFIX:"raster/v1",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},o={supported:!1,testSupport:function(e){!l&&a&&(c?h(e):s=e)}};let s,a,l=!1,c=!1;function h(e){const t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,a),e.isContextLost())return;o.supported=!0}catch(e){}e.deleteTexture(t),l=!0}t.document&&(a=t.document.createElement("img"),a.onload=function(){s&&h(s),s=null,c=!0},a.onerror=function(){l=!0,s=null},a.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const u="01";var d=p;function p(e,t,i,r){this.cx=3*e,this.bx=3*(i-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(r-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=i,this.p2y=r}p.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(void 0===t&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var i=e,r=0;r<8;r++){var n=this.sampleCurveX(i)-e;if(Math.abs(n)n?s=i:a=i,i=.5*(a-s)+s;return i},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var f=m;function m(e,t){this.x=e,this.y=t}m.prototype={clone:function(){return new m(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,i=e.y-this.y;return t*t+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[2]*this.x+e[3]*this.y;return this.x=e[0]*this.x+e[1]*this.y,this.y=t,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),i=Math.sin(e),r=i*this.x+t*this.y;return this.x=t*this.x-i*this.y,this.y=r,this},_rotateAround:function(e,t){var i=Math.cos(e),r=Math.sin(e),n=t.y+r*(this.x-t.x)+i*(this.y-t.y);return this.x=t.x+i*(this.x-t.x)-r*(this.y-t.y),this.y=n,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},m.convert=function(e){return e instanceof m?e:Array.isArray(e)?new m(e[0],e[1]):e};const _=Math.PI/180,g=180/Math.PI;function y(e){return e*_}function x(e){return e*g}const v=[[0,0],[1,0],[1,1],[0,1]];function b(e){if(e<=0)return 0;if(e>=1)return 1;const t=e*e,i=t*e;return 4*(e<.5?i:3*(e-t)+i-.75)}function w(e,t,i,r){const n=new d(e,t,i,r);return function(e){return n.solve(e)}}const T=w(.25,.1,.25,1);function E(e,t,i){return Math.min(i,Math.max(t,e))}function S(e,t,i){return(i=E((i-e)/(t-e),0,1))*i*(3-2*i)}function M(e,t,i){const r=i-t,n=((e-t)%r+r)%r+t;return n===t?i:n}function A(e,t,i){if(!e.length)return i(null,[]);let r=e.length;const n=new Array(e.length);let o=null;e.forEach(((e,s)=>{t(e,((e,t)=>{e&&(o=e),n[s]=t,0==--r&&i(o,n)}))}))}function I(e){const t=[];for(const i in e)t.push(e[i]);return t}function C(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r>t/4)).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}function P(e){return e<=1?1:Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function L(e){return!!e&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function R(e,t){e.forEach((e=>{t[e]&&(t[e]=t[e].bind(t))}))}function B(e,t){return-1!==e.indexOf(t,e.length-t.length)}function O(e,t,i){const r={};for(const n in e)r[n]=t.call(i||this,e[n],n,e);return r}function F(e,t,i){const r={};for(const n in e)t.call(i||this,e[n],n,e)&&(r[n]=e[n]);return r}function U(e){return Array.isArray(e)?e.map(U):"object"==typeof e&&e?O(e,U):e}const V={};function N(e){V[e]||("undefined"!=typeof console&&console.warn(e),V[e]=!0)}function j(e,t,i){return(i.y-e.y)*(t.x-e.x)>(t.y-e.y)*(i.x-e.x)}function G(e){let t=0;for(let i,r,n=0,o=e.length,s=o-1;n@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,i,r,n)=>{const o=r||n;return t[i]=!o||o.toLowerCase(),""})),t["max-age"]){const e=parseInt(t["max-age"],10);isNaN(e)?delete t["max-age"]:t["max-age"]=e}return t}let q=null;function W(e){if(null==q){const t=e.navigator?e.navigator.userAgent:null;q=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return q}function X(e){try{const i=t[e];return i.setItem("_mapbox_test_",1),i.removeItem("_mapbox_test_"),!0}catch(e){return!1}}function H(e,t){return[e[4*t],e[4*t+1],e[4*t+2],e[4*t+3]]}const Y="mapbox-tiles";let K,J,Q=500,ee=50;function te(){try{return t.caches}catch(e){}}function ie(){te()&&!K&&(K=t.caches.open(Y))}function re(e){const t=e.indexOf("?");if(t<0)return e;const i=function(e){const t=e.indexOf("?");return t>0?e.slice(t+1).split("&"):[]}(e),r=i.filter((e=>{const t=e.split("=");return"language"===t[0]||"worldview"===t[0]}));return r.length?`${e.slice(0,t)}?${r.join("&")}`:e.slice(0,t)}let ne=1/0;const oe={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(oe);class se extends Error{constructor(e,t,i){401===t&&ge(i)&&(e+=": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes"),super(e),this.status=t,this.url=i}toString(){return`${this.name}: ${this.message} (${this.status}): ${this.url}`}}const ae=Z()?()=>self.worker&&self.worker.referrer:()=>("blob:"===t.location.protocol?t.parent:t).location.href,le=function(e,i){if(!(/^file:/.test(r=e.url)||/^file:/.test(ae())&&!/^\w+:/.test(r))){if(t.fetch&&t.Request&&t.AbortController&&t.Request.prototype.hasOwnProperty("signal"))return function(e,i){const r=new t.AbortController,n=new t.Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,referrer:ae(),referrerPolicy:e.referrerPolicy,signal:r.signal});let o=!1,s=!1;const a=(l=n.url).indexOf("sku=")>0&&ge(l);var l;"json"===e.type&&n.headers.set("Accept","application/json");const c=(r,o,l)=>{if(s)return;if(r&&"SecurityError"!==r.message&&N(r),o&&l)return h(o);const c=Date.now();t.fetch(n).then((t=>{if(t.ok){const e=a?t.clone():null;return h(t,e,c)}return i(new se(t.statusText,t.status,e.url))})).catch((t=>{"AbortError"!==t.name&&i(new Error(`${t.message} ${e.url}`))}))},h=(r,a,l)=>{("arrayBuffer"===e.type?r.arrayBuffer():"json"===e.type?r.json():r.text()).then((e=>{s||(a&&l&&function(e,i,r){if(ie(),!K)return;const n={status:i.status,statusText:i.statusText,headers:new t.Headers};i.headers.forEach(((e,t)=>n.headers.set(t,e)));const o=$(i.headers.get("Cache-Control")||"");if(o["no-store"])return;o["max-age"]&&n.headers.set("Expires",new Date(r+1e3*o["max-age"]).toUTCString());const s=n.headers.get("Expires");s&&(new Date(s).getTime()-r<42e4||function(e,t){if(void 0===J)try{new Response(new ReadableStream),J=!0}catch(e){J=!1}J?t(e.body):e.blob().then(t)}(i,(i=>{const r=new t.Response(i,n);ie(),K&&K.then((t=>t.put(re(e.url),r))).catch((e=>N(e.message)))})))}(n,a,l),o=!0,i(null,e,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((e=>{s||i(new Error(e.message))}))};return a?function(e,t){if(ie(),!K)return t(null);const i=re(e.url);K.then((e=>{e.match(i).then((r=>{const n=function(e){if(!e)return!1;const t=new Date(e.headers.get("Expires")||0),i=$(e.headers.get("Cache-Control")||"");return t>Date.now()&&!i["no-cache"]}(r);e.delete(i),n&&e.put(i,r.clone()),t(null,r,n)})).catch(t)})).catch(t)}(n,c):c(null,null),{cancel:()=>{s=!0,o||r.abort()}}}(e,i);if(Z()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",e,i,void 0,!0)}var r;return function(e,i){const r=new t.XMLHttpRequest;r.open(e.method||"GET",e.url,!0),"arrayBuffer"===e.type&&(r.responseType="arraybuffer");for(const t in e.headers)r.setRequestHeader(t,e.headers[t]);return"json"===e.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===e.credentials,r.onerror=()=>{i(new Error(r.statusText))},r.onload=()=>{if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){let t=r.response;if("json"===e.type)try{t=JSON.parse(r.response)}catch(e){return i(e)}i(null,t,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else i(new se(r.statusText,r.status,e.url))},r.send(e.body),{cancel:()=>r.abort()}}(e,i)},ce=function(e,t){return le(C(e,{type:"arrayBuffer"}),t)};function he(e){const i=t.document.createElement("a");return i.href=e,i.protocol===t.document.location.protocol&&i.host===t.document.location.host}const ue="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let de,pe;de=[],pe=0;const fe=function(e,i){if(o.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),pe>=n.MAX_PARALLEL_IMAGE_REQUESTS){const t={requestParameters:e,callback:i,cancelled:!1,cancel(){this.cancelled=!0}};return de.push(t),t}pe++;let r=!1;const s=()=>{if(!r)for(r=!0,pe--;de.length&&pe{s(),e?i(e):r&&(t.createImageBitmap?function(e,i){const r=new t.Blob([new Uint8Array(e)],{type:"image/png"});t.createImageBitmap(r).then((e=>{i(null,e)})).catch((e=>{i(new Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(r,((e,t)=>i(e,t,n,o))):function(e,i){const r=new t.Image,n=t.URL;r.onload=()=>{i(null,r),n.revokeObjectURL(r.src),r.onload=null,t.requestAnimationFrame((()=>{r.src=ue}))},r.onerror=()=>i(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const o=new t.Blob([new Uint8Array(e)],{type:"image/png"});r.src=e.byteLength?n.createObjectURL(o):ue}(r,((e,t)=>i(e,t,n,o))))}));return{cancel:()=>{a.cancel(),s()}}},me="NO_ACCESS_TOKEN";function _e(e){return 0===e.indexOf("mapbox:")}function ge(e){return n.API_URL_REGEX.test(e)}function ye(e){return n.API_CDN_URL_REGEX.test(e)}function xe(e){return n.API_STYLE_REGEX.test(e)&&!ve(e)}function ve(e){return n.API_SPRITE_REGEX.test(e)}const be=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function we(e){const t=e.match(be);if(!t)throw new Error("Unable to parse URL object");return{protocol:t[1],authority:t[2],path:t[3]||"/",params:t[4]?t[4].split("&"):[]}}function Te(e){const t=e.params.length?`?${e.params.join("&")}`:"";return`${e.protocol}://${e.authority}${e.path}${t}`}function Ee(e){if(!e)return null;const i=e.split(".");if(!i||3!==i.length)return null;try{return JSON.parse(decodeURIComponent(t.atob(i[1]).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join("")))}catch(e){return null}}class Se{constructor(e){this.type=e,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null}getStorageKey(e){const i=Ee(n.ACCESS_TOKEN);let r="";return r=i&&i.u?t.btoa(encodeURIComponent(i.u).replace(/%([0-9A-F]{2})/g,((e,t)=>String.fromCharCode(Number("0x"+t))))):n.ACCESS_TOKEN||"",e?`mapbox.eventData.${e}:${r}`:`mapbox.eventData:${r}`}fetchEventData(){const e=X("localStorage"),i=this.getStorageKey(),r=this.getStorageKey("uuid");if(e)try{const e=t.localStorage.getItem(i);e&&(this.eventData=JSON.parse(e));const n=t.localStorage.getItem(r);n&&(this.anonId=n)}catch(e){N("Unable to read from LocalStorage")}}saveEventData(){const e=X("localStorage"),i=this.getStorageKey(),r=this.getStorageKey("uuid");if(e)try{t.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&t.localStorage.setItem(i,JSON.stringify(this.eventData))}catch(e){N("Unable to write to LocalStorage")}}processRequests(e){}postEvent(e,t,i,r){if(!n.EVENTS_URL)return;const o=we(n.EVENTS_URL);o.params.push(`access_token=${r||n.ACCESS_TOKEN||""}`);const s={event:this.type,created:new Date(e).toISOString()},a=t?C(s,t):s,l={url:Te(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([a])};this.pendingRequest=function(e,t){return le(C(e,{method:"POST"}),t)}(l,(e=>{this.pendingRequest=null,i(e),this.saveEventData(),this.processRequests(r)}))}queueRequest(e,t){this.queue.push(e),this.processRequests(t)}}const Me=new class extends Se{constructor(e){super("appUserTurnstile"),this._customAccessToken=e}postTurnstileEvent(e,t){n.EVENTS_URL&&n.ACCESS_TOKEN&&Array.isArray(e)&&e.some((e=>_e(e)||ge(e)))&&this.queueRequest(Date.now(),t)}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();const t=Ee(n.ACCESS_TOKEN),r=t?t.u:n.ACCESS_TOKEN;let o=r!==this.eventData.tokenU;L(this.anonId)||(this.anonId=k(),o=!0);const s=this.queue.shift();if(this.eventData.lastSuccess){const e=new Date(this.eventData.lastSuccess),t=new Date(s),i=(s-this.eventData.lastSuccess)/864e5;o=o||i>=1||i<-1||e.getDate()!==t.getDate()}else o=!0;o?this.postEvent(s,{sdkIdentifier:"mapbox-gl-js",sdkVersion:i,skuId:u,"enabled.telemetry":!1,userId:this.anonId},(e=>{e||(this.eventData.lastSuccess=s,this.eventData.tokenU=r)}),e):this.processRequests()}},Ae=Me.postTurnstileEvent.bind(Me),Ie=new class extends Se{constructor(){super("map.load"),this.success={},this.skuToken=""}postMapLoadEvent(e,t,i,r){this.skuToken=t,this.errorCb=r,n.EVENTS_URL&&(i||n.ACCESS_TOKEN?this.queueRequest({id:e,timestamp:Date.now()},i):this.errorCb(new Error(me)))}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{id:t,timestamp:r}=this.queue.shift();t&&this.success[t]||(this.anonId||this.fetchEventData(),L(this.anonId)||(this.anonId=k()),this.postEvent(r,{sdkIdentifier:"mapbox-gl-js",sdkVersion:i,skuId:u,skuToken:this.skuToken,userId:this.anonId},(e=>{e?this.errorCb(e):t&&(this.success[t]=!0)}),e))}},Ce=Ie.postMapLoadEvent.bind(Ie),ze=new class extends Se{constructor(){super("gljs.performance")}postPerformanceEvent(e,t){n.EVENTS_URL&&(e||n.ACCESS_TOKEN)&&this.queueRequest({timestamp:Date.now(),performanceData:t},e)}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:r,performanceData:n}=this.queue.shift(),o=function(e){const r=t.performance.getEntriesByType("resource"),n=t.performance.getEntriesByType("mark"),o=function(e){const t={};if(e)for(const i in e)if("other"!==i)for(const r of e[i]){const e=`${i}ResolveRangeMin`,n=`${i}ResolveRangeMax`,o=`${i}RequestCount`,s=`${i}RequestCachedCount`;t[e]=Math.min(t[e]||1/0,r.startTime),t[n]=Math.max(t[n]||-1/0,r.responseEnd);const a=e=>{void 0===t[e]&&(t[e]=0),++t[e]};void 0!==r.transferSize&&0===r.transferSize&&a(s),a(o)}return t}(function(e,t){const i={};if(e)for(const r of e){const e=t(r);void 0===i[e]&&(i[e]=[]),i[e].push(r)}return i}(r,Oe)),s=t.devicePixelRatio,a=t.navigator.connection||t.navigator.mozConnection||t.navigator.webkitConnection,l={counters:[],metadata:[],attributes:[]},c=(e,t,i)=>{null!=i&&e.push({name:t,value:i.toString()})};for(const t in o)c(l.counters,t,o[t]);if(e.interactionRange[0]!==1/0&&e.interactionRange[1]!==-1/0&&(c(l.counters,"interactionRangeMin",e.interactionRange[0]),c(l.counters,"interactionRangeMax",e.interactionRange[1])),n)for(const t of Object.keys(Re)){const e=Re[t],i=n.find((t=>t.name===e));i&&c(l.counters,e,i.startTime)}return c(l.counters,"visibilityHidden",e.visibilityHidden),c(l.attributes,"style",function(e){if(e)for(const t of e){const e=t.name.split("?")[0];if(xe(e)){const t=e.split("/").slice(-2);if(2===t.length)return`mapbox://styles/${t[0]}/${t[1]}`}}}(r)),c(l.attributes,"terrainEnabled",e.terrainEnabled?"true":"false"),c(l.attributes,"fogEnabled",e.fogEnabled?"true":"false"),c(l.attributes,"projection",e.projection),c(l.attributes,"zoom",e.zoom),c(l.metadata,"devicePixelRatio",s),c(l.metadata,"connectionEffectiveType",a?a.effectiveType:void 0),c(l.metadata,"navigatorUserAgent",t.navigator.userAgent),c(l.metadata,"screenWidth",t.screen.width),c(l.metadata,"screenHeight",t.screen.height),c(l.metadata,"windowWidth",t.innerWidth),c(l.metadata,"windowHeight",t.innerHeight),c(l.metadata,"mapWidth",e.width/s),c(l.metadata,"mapHeight",e.height/s),c(l.metadata,"webglRenderer",e.renderer),c(l.metadata,"webglVendor",e.vendor),c(l.metadata,"sdkVersion",i),c(l.metadata,"sdkIdentifier","mapbox-gl-js"),l}(n);for(const t of o.metadata);for(const t of o.counters);for(const t of o.attributes);this.postEvent(r,o,(()=>{}),e)}},De=ze.postPerformanceEvent.bind(ze),ke=new class extends Se{constructor(){super("map.auth"),this.success={},this.skuToken=""}getSession(e,t,i,r){if(!n.API_URL||!n.SESSION_PATH)return;const o=we(n.API_URL+n.SESSION_PATH);o.params.push(`sku=${t||""}`),o.params.push(`access_token=${r||n.ACCESS_TOKEN||""}`);const s={url:Te(o),headers:{"Content-Type":"text/plain"}};this.pendingRequest=function(e,t){return le(C(e,{method:"GET"}),t)}(s,(e=>{this.pendingRequest=null,i(e),this.saveEventData(),this.processRequests(r)}))}getSessionAPI(e,t,i,r){this.skuToken=t,this.errorCb=r,n.SESSION_PATH&&n.API_URL&&(i||n.ACCESS_TOKEN?this.queueRequest({id:e,timestamp:Date.now()},i):this.errorCb(new Error(me)))}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{id:t,timestamp:i}=this.queue.shift();t&&this.success[t]||this.getSession(i,this.skuToken,(e=>{e?this.errorCb(e):t&&(this.success[t]=!0)}),e)}},Pe=ke.getSessionAPI.bind(ke),Le=new Set,Re={create:"create",load:"load",fullLoad:"fullLoad"},Be={mark(e){t.performance.mark(e)},measure(e,i,r){t.performance.measure(e,i,r)}};function Oe(e){const t=e.name.split("?")[0];return ye(t)&&t.includes("mapbox-gl.js")?"javascript":ye(t)&&t.includes("mapbox-gl.css")?"css":function(e){return n.API_FONTS_REGEX.test(e)}(t)?"fontRange":ve(t)?"sprite":xe(t)?"style":function(e){return n.API_TILEJSON_REGEX.test(e)}(t)?"tilejson":"other"}const Fe=t.performance;function Ue(e){const t=e?e.url.toString():void 0;return Fe.getEntriesByName(t)}let Ve,Ne,je,Ge;const Ze={now:()=>void 0!==je?je:t.performance.now(),setNow(e){je=e},restoreNow(){je=void 0},frame(e){const i=t.requestAnimationFrame(e);return{cancel:()=>t.cancelAnimationFrame(i)}},getImageData(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const{width:r,height:n}=e;Ge||(Ge=t.document.createElement("canvas"));const o=Ge.getContext("2d",{willReadFrequently:!0});if(!o)throw new Error("failed to create canvas 2d context");return(r>Ge.width||n>Ge.height)&&(Ge.width=r,Ge.height=n),o.clearRect(-i,-i,r+2*i,n+2*i),o.drawImage(e,0,0,r,n),o.getImageData(-i,-i,r+2*i,n+2*i)},resolveURL:e=>(Ve||(Ve=t.document.createElement("a")),Ve.href=e,Ve.href),get devicePixelRatio(){return t.devicePixelRatio},get prefersReducedMotion(){return!!t.matchMedia&&(null==Ne&&(Ne=t.matchMedia("(prefers-reduced-motion: reduce)")),Ne.matches)}};function $e(e,t,i){i[e]&&-1!==i[e].indexOf(t)||(i[e]=i[e]||[],i[e].push(t))}function qe(e,t,i){if(i&&i[e]){const r=i[e].indexOf(t);-1!==r&&i[e].splice(r,1)}}class We{constructor(e){C(this,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),this.type=e}}class Xe extends We{constructor(e){super("error",C({error:e},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}}class He{on(e,t){return this._listeners=this._listeners||{},$e(e,t,this._listeners),this}off(e,t){return qe(e,t,this._listeners),qe(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},$e(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){"string"==typeof e&&(e=new We(e,t||{}));const i=e.type;if(this.listens(i)){e.target=this;const t=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of t)i.call(this,e);const r=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const o of r)qe(i,o,this._oneTimeListeners),o.call(this,e);const n=this._eventedParent;n&&(C(e,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(e))}else e instanceof Xe&&console.error(e.error);return this}listens(e){return!!(this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}var Ye=JSON.parse('{"$version":8,"$root":{"version":{"required":true,"type":"enum","values":[8]},"name":{"type":"string"},"metadata":{"type":"*"},"center":{"type":"array","value":"number"},"zoom":{"type":"number"},"bearing":{"type":"number","default":0,"period":360,"units":"degrees"},"pitch":{"type":"number","default":0,"units":"degrees"},"light":{"type":"light"},"terrain":{"type":"terrain"},"fog":{"type":"fog"},"sources":{"required":true,"type":"sources"},"sprite":{"type":"string"},"glyphs":{"type":"string"},"transition":{"type":"transition"},"projection":{"type":"projection"},"layers":{"required":true,"type":"array","value":"layer"}},"sources":{"*":{"type":"source"}},"source":["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],"source_vector":{"type":{"required":true,"type":"enum","values":{"vector":{}}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"scheme":{"type":"enum","values":{"xyz":{},"tms":{}},"default":"xyz"},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"attribution":{"type":"string"},"promoteId":{"type":"promoteId"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster":{"type":{"required":true,"type":"enum","values":{"raster":{}}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512,"units":"pixels"},"scheme":{"type":"enum","values":{"xyz":{},"tms":{}},"default":"xyz"},"attribution":{"type":"string"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster_dem":{"type":{"required":true,"type":"enum","values":{"raster-dem":{}}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512,"units":"pixels"},"attribution":{"type":"string"},"encoding":{"type":"enum","values":{"terrarium":{},"mapbox":{}},"default":"mapbox"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_geojson":{"type":{"required":true,"type":"enum","values":{"geojson":{}}},"data":{"type":"*"},"maxzoom":{"type":"number","default":18},"attribution":{"type":"string"},"buffer":{"type":"number","default":128,"maximum":512,"minimum":0},"filter":{"type":"*"},"tolerance":{"type":"number","default":0.375},"cluster":{"type":"boolean","default":false},"clusterRadius":{"type":"number","default":50,"minimum":0},"clusterMaxZoom":{"type":"number"},"clusterMinPoints":{"type":"number"},"clusterProperties":{"type":"*"},"lineMetrics":{"type":"boolean","default":false},"generateId":{"type":"boolean","default":false},"promoteId":{"type":"promoteId"}},"source_video":{"type":{"required":true,"type":"enum","values":{"video":{}}},"urls":{"required":true,"type":"array","value":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"source_image":{"type":{"required":true,"type":"enum","values":{"image":{}}},"url":{"required":true,"type":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"layer":{"id":{"type":"string","required":true},"type":{"type":"enum","values":{"fill":{},"line":{},"symbol":{},"circle":{},"heatmap":{},"fill-extrusion":{},"raster":{},"hillshade":{},"background":{},"sky":{}},"required":true},"metadata":{"type":"*"},"source":{"type":"string"},"source-layer":{"type":"string"},"minzoom":{"type":"number","minimum":0,"maximum":24},"maxzoom":{"type":"number","minimum":0,"maximum":24},"filter":{"type":"filter"},"layout":{"type":"layout"},"paint":{"type":"paint"}},"layout":["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background","layout_sky"],"layout_background":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_sky":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill":{"fill-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_circle":{"circle-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_heatmap":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill-extrusion":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"},"fill-extrusion-edge-radius":{"type":"number","private":true,"default":0,"minimum":0,"maximum":1,"property-type":"constant"}},"layout_line":{"line-cap":{"type":"enum","values":{"butt":{},"round":{},"square":{}},"default":"butt","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-join":{"type":"enum","values":{"bevel":{},"round":{},"miter":{}},"default":"miter","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{"type":"number","default":2,"requires":[{"line-join":"miter"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-round-limit":{"type":"number","default":1.05,"requires":[{"line-join":"round"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_symbol":{"symbol-placement":{"type":"enum","values":{"point":{},"line":{},"line-center":{}},"default":"point","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-spacing":{"type":"number","default":250,"minimum":1,"units":"pixels","requires":[{"symbol-placement":"line"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{"type":"boolean","default":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{"type":"enum","values":{"auto":{},"viewport-y":{},"source":{}},"default":"auto","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-optional":{"type":"boolean","default":false,"requires":["icon-image","text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-size":{"type":"number","default":1,"minimum":0,"units":"factor of the original icon size","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{"type":"enum","values":{"none":{},"width":{},"height":{},"both":{}},"default":"none","requires":["icon-image","text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{"type":"array","value":"number","length":4,"default":[0,0,0,0],"units":"pixels","requires":["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-image":{"type":"resolvedImage","tokens":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{"type":"boolean","default":false,"requires":["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-offset":{"type":"array","value":"number","length":2,"default":[0,0],"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{"type":"enum","values":{"center":{},"left":{},"right":{},"top":{},"bottom":{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"default":"center","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-field":{"type":"formatted","default":"","tokens":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-font":{"type":"array","value":"string","default":["Open Sans Regular","Arial Unicode MS Regular"],"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-size":{"type":"number","default":16,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{"type":"number","default":10,"minimum":0,"units":"ems","requires":["text-field",{"symbol-placement":["point"]}],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{"type":"number","default":1.2,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-letter-spacing":{"type":"number","default":0,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-justify":{"type":"enum","values":{"auto":{},"left":{},"center":{},"right":{}},"default":"center","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{"type":"number","units":"ems","default":0,"requires":["text-field"],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["zoom","feature"]}},"text-variable-anchor":{"type":"array","value":"enum","values":{"center":{},"left":{},"right":{},"top":{},"bottom":{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"requires":["text-field",{"symbol-placement":["point"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-anchor":{"type":"enum","values":{"center":{},"left":{},"right":{},"top":{},"bottom":{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"default":"center","requires":["text-field",{"!":"text-variable-anchor"}],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{"type":"number","default":45,"units":"degrees","requires":["text-field",{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-writing-mode":{"type":"array","value":"enum","values":{"horizontal":{},"vertical":{}},"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-keep-upright":{"type":"boolean","default":true,"requires":["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-transform":{"type":"enum","values":{"none":{},"uppercase":{},"lowercase":{}},"default":"none","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-offset":{"type":"array","value":"number","units":"ems","length":2,"default":[0,0],"requires":["text-field",{"!":"text-radial-offset"}],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-optional":{"type":"boolean","default":false,"requires":["text-field","icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_raster":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_hillshade":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"filter":{"type":"array","value":"*"},"filter_symbol":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature","pitch","distance-from-center"]}},"filter_fill":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_line":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_circle":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_fill-extrusion":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_heatmap":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_operator":{"type":"enum","values":{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},"all":{},"any":{},"none":{},"has":{},"!has":{},"within":{}}},"geometry_type":{"type":"enum","values":{"Point":{},"LineString":{},"Polygon":{}}},"function":{"expression":{"type":"expression"},"stops":{"type":"array","value":"function_stop"},"base":{"type":"number","default":1,"minimum":0},"property":{"type":"string","default":"$zoom"},"type":{"type":"enum","values":{"identity":{},"exponential":{},"interval":{},"categorical":{}},"default":"exponential"},"colorSpace":{"type":"enum","values":{"rgb":{},"lab":{},"hcl":{}},"default":"rgb"},"default":{"type":"*","required":false}},"function_stop":{"type":"array","minimum":0,"maximum":24,"value":["number","color"],"length":2},"expression":{"type":"array","value":"*","minimum":1},"fog":{"range":{"type":"array","default":[0.5,10],"minimum":-20,"maximum":20,"length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"high-color":{"type":"color","property-type":"data-constant","default":"#245cdf","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"space-color":{"type":"color","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"horizon-blend":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,0.2,7,0.1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"star-intensity":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],5,0.35,6,0],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":{},"viewport":{}},"property-type":"data-constant","transition":false,"expression":{"interpolated":false,"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"intensity":{"type":"number","property-type":"data-constant","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"projection":{"name":{"type":"enum","values":{"albers":{},"equalEarth":{},"equirectangular":{},"lambertConformalConic":{},"mercator":{},"naturalEarth":{},"winkelTripel":{},"globe":{}},"default":"mercator","required":true},"center":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-180,-90],"maximum":[180,90],"transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]},"parallels":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-90,-90],"maximum":[90,90],"transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]}},"terrain":{"source":{"type":"string","required":true},"exaggeration":{"type":"number","property-type":"data-constant","default":1,"minimum":0,"maximum":1000,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true,"requires":["source"]}},"paint":["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky"],"paint_fill":{"fill-antialias":{"type":"boolean","default":true,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{"type":"color","transition":true,"requires":[{"!":"fill-pattern"},{"fill-antialias":true}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-extrusion-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-extrusion-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-extrusion-height":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"requires":["fill-extrusion-height"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{"type":"boolean","default":true,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-ambient-occlusion-intensity":{"property-type":"data-constant","type":"number","private":true,"default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-radius":{"property-type":"data-constant","type":"number","private":true,"default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true,"requires":["fill-extrusion-edge-radius"]}},"paint_line":{"line-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"line-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["line-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"line-width":{"type":"number","default":1,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{"type":"number","default":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{"type":"array","value":"number","minimum":0,"transition":false,"units":"line widths","requires":[{"!":"line-pattern"}],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-gradient":{"type":"color","transition":false,"requires":[{"!":"line-pattern"},{"source":"geojson","has":{"lineMetrics":true}}],"expression":{"interpolated":true,"parameters":["line-progress"]},"property-type":"color-ramp"},"line-trim-offset":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1],"transition":false,"requires":[{"source":"geojson","has":{"lineMetrics":true}}],"property-type":"constant"}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["circle-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"}},"paint_heatmap":{"heatmap-radius":{"type":"number","default":30,"minimum":1,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{"type":"number","default":1,"minimum":0,"transition":false,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"heatmap-color":{"type":"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],"transition":false,"expression":{"interpolated":true,"parameters":["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{"type":"color","default":"#000000","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["icon-image","icon-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{"type":"color","default":"#000000","transition":true,"overridable":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["text-field","text-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{"type":"number","default":0,"period":360,"transition":true,"units":"degrees","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-resampling":{"type":"enum","values":{"linear":{},"nearest":{}},"default":"linear","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"transition":false,"units":"milliseconds","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_hillshade":{"hillshade-illumination-direction":{"type":"number","default":335,"minimum":0,"maximum":359,"transition":false,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{"type":"number","default":0.5,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{"type":"color","default":"#FFFFFF","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_background":{"background-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"background-pattern"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"background-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_sky":{"sky-type":{"type":"enum","values":{"gradient":{},"atmosphere":{}},"default":"atmosphere","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{"type":"array","value":"number","length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"requires":[{"sky-type":"atmosphere"}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{"type":"number","requires":[{"sky-type":"atmosphere"}],"default":10,"minimum":0,"maximum":100,"transition":false,"property-type":"data-constant"},"sky-gradient-center":{"type":"array","requires":[{"sky-type":"gradient"}],"value":"number","default":[0,0],"length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{"type":"number","requires":[{"sky-type":"gradient"}],"default":90,"minimum":0,"maximum":180,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient":{"type":"color","default":["interpolate",["linear"],["sky-radial-progress"],0.8,"#87ceeb",1,"white"],"transition":false,"requires":[{"sky-type":"gradient"}],"expression":{"interpolated":true,"parameters":["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-atmosphere-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"transition":{"duration":{"type":"number","default":300,"minimum":0,"units":"milliseconds"},"delay":{"type":"number","default":0,"minimum":0,"units":"milliseconds"}},"property-type":{"data-driven":{"type":"property-type"},"color-ramp":{"type":"property-type"},"data-constant":{"type":"property-type"},"constant":{"type":"property-type"}},"promoteId":{"*":{"type":"string"}}}');function Ke(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:[];this.parent=e,this.bindings={};for(const[i,r]of t)this.bindings[i]=r}concat(e){return new it(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}var rt=it;const nt={kind:"null"},ot={kind:"number"},st={kind:"string"},at={kind:"boolean"},lt={kind:"color"},ct={kind:"object"},ht={kind:"value"},ut={kind:"collator"},dt={kind:"formatted"},pt={kind:"resolvedImage"};function ft(e,t){return{kind:"array",itemType:e,N:t}}function mt(e){if("array"===e.kind){const t=mt(e.itemType);return"number"==typeof e.N?`array<${t}, ${e.N}>`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}const _t=[nt,ot,st,at,lt,dt,ct,ft(ht),pt];function gt(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!gt(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(const e of _t)if(!gt(e,t))return null}return`Expected ${mt(e)} but found ${mt(t)} instead.`}function yt(e,t){return t.some((t=>t.kind===e.kind))}function xt(e,t){return t.some((t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e))}var vt,bt={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function wt(e){return(e=Math.round(e))<0?0:e>255?255:e}function Tt(e){return wt("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function Et(e){return(t="%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))<0?0:t>1?1:t;var t}function St(e,t,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?e+(t-e)*i*6:2*i<1?t:3*i<2?e+(t-e)*(2/3-i)*6:e}try{vt={}.parseCSSColor=function(e){var t,i=e.replace(/ /g,"").toLowerCase();if(i in bt)return bt[i].slice();if("#"===i[0])return 4===i.length?(t=parseInt(i.substr(1),16))>=0&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===i.length&&(t=parseInt(i.substr(1),16))>=0&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;var r=i.indexOf("("),n=i.indexOf(")");if(-1!==r&&n+1===i.length){var o=i.substr(0,r),s=i.substr(r+1,n-(r+1)).split(","),a=1;switch(o){case"rgba":if(4!==s.length)return null;a=Et(s.pop());case"rgb":return 3!==s.length?null:[Tt(s[0]),Tt(s[1]),Tt(s[2]),a];case"hsla":if(4!==s.length)return null;a=Et(s.pop());case"hsl":if(3!==s.length)return null;var l=(parseFloat(s[0])%360+360)%360/360,c=Et(s[1]),h=Et(s[2]),u=h<=.5?h*(c+1):h+c-h*c,d=2*h-u;return[wt(255*St(d,u,l+1/3)),wt(255*St(d,u,l)),wt(255*St(d,u,l-1/3)),a];default:return null}}return null}}catch(e){}class Mt{constructor(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;this.r=e,this.g=t,this.b=i,this.a=r}static parse(e){if(!e)return;if(e instanceof Mt)return e;if("string"!=typeof e)return;const t=vt(e);return t?new Mt(t[0]/255*t[3],t[1]/255*t[3],t[2]/255*t[3],t[3]):void 0}toString(){const[e,t,i,r]=this.toArray();return`rgba(${Math.round(e)},${Math.round(t)},${Math.round(i)},${r})`}toArray(){const{r:e,g:t,b:i,a:r}=this;return 0===r?[0,0,0,0]:[255*e/r,255*t/r,255*i/r,r]}toArray01(){const{r:e,g:t,b:i,a:r}=this;return 0===r?[0,0,0,0]:[e/r,t/r,i/r,r]}toArray01PremultipliedAlpha(){const{r:e,g:t,b:i,a:r}=this;return[e,t,i,r]}}Mt.black=new Mt(0,0,0,1),Mt.white=new Mt(1,1,1,1),Mt.transparent=new Mt(0,0,0,0),Mt.red=new Mt(1,0,0,1),Mt.blue=new Mt(0,0,1,1);var At=Mt;class It{constructor(e,t,i){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=i,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Ct{constructor(e,t,i,r,n){this.text=e.normalize?e.normalize():e,this.image=t,this.scale=i,this.fontStack=r,this.textColor=n}}class zt{constructor(e){this.sections=e}static fromString(e){return new zt([new Ct(e,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((e=>0!==e.text.length||e.image&&0!==e.image.name.length))}static factory(e){return e instanceof zt?e:zt.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map((e=>e.text)).join("")}serialize(){const e=["format"];for(const t of this.sections){if(t.image){e.push(["image",t.image.name]);continue}e.push(t.text);const i={};t.fontStack&&(i["text-font"]=["literal",t.fontStack.split(",")]),t.scale&&(i["font-scale"]=t.scale),t.textColor&&(i["text-color"]=["rgba"].concat(t.textColor.toArray())),e.push(i)}return e}}class Dt{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(e){return e?new Dt({name:e,available:!1}):null}serialize(){return["image",this.name]}}function kt(e,t,i,r){return"number"==typeof e&&e>=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof r?[e,t,i,r]:[e,t,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Pt(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof At)return!0;if(e instanceof It)return!0;if(e instanceof zt)return!0;if(e instanceof Dt)return!0;if(Array.isArray(e)){for(const t of e)if(!Pt(t))return!1;return!0}if("object"==typeof e){for(const t in e)if(!Pt(e[t]))return!1;return!0}return!1}function Lt(e){if(null===e)return nt;if("string"==typeof e)return st;if("boolean"==typeof e)return at;if("number"==typeof e)return ot;if(e instanceof At)return lt;if(e instanceof It)return ut;if(e instanceof zt)return dt;if(e instanceof Dt)return pt;if(Array.isArray(e)){const t=e.length;let i;for(const r of e){const e=Lt(r);if(i){if(i===e)continue;i=ht;break}i=e}return ft(i||ht,t)}return ct}function Rt(e){const t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof At||e instanceof zt||e instanceof Dt?e.toString():JSON.stringify(e)}class Bt{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!Pt(e[1]))return t.error("invalid value");const i=e[1];let r=Lt(i);const n=t.expectedType;return"array"!==r.kind||0!==r.N||!n||"array"!==n.kind||"number"==typeof n.N&&0!==n.N||(r=n),new Bt(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof At?["rgba"].concat(this.value.toArray()):this.value instanceof zt?this.value.serialize():this.value}}var Ot=Bt,Ft=class{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}};const Ut={string:st,number:ot,boolean:at,object:ct};class Vt{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let i,r=1;const n=e[0];if("array"===n){let n,o;if(e.length>2){const i=e[1];if("string"!=typeof i||!(i in Ut)||"object"===i)return t.error('The item type argument of "array" must be one of string, number, boolean',1);n=Ut[i],r++}else n=ht;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);o=e[2],r++}i=ft(n,o)}else i=Ut[n];const o=[];for(;re.outputDefined()))}serialize(){const e=this.type,t=[e.kind];if("array"===e.kind){const i=e.itemType;if("string"===i.kind||"number"===i.kind||"boolean"===i.kind){t.push(i.kind);const r=e.N;("number"==typeof r||this.args.length>1)&&t.push(r)}}return t.concat(this.args.map((e=>e.serialize())))}}var Nt=Vt;class jt{constructor(e){this.type=dt,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const i=e[1];if(!Array.isArray(i)&&"object"==typeof i)return t.error("First argument must be an image or text section.");const r=[];let n=!1;for(let o=1;o<=e.length-1;++o){const i=e[o];if(n&&"object"==typeof i&&!Array.isArray(i)){n=!1;let e=null;if(i["font-scale"]&&(e=t.parse(i["font-scale"],1,ot),!e))return null;let o=null;if(i["text-font"]&&(o=t.parse(i["text-font"],1,ft(st)),!o))return null;let s=null;if(i["text-color"]&&(s=t.parse(i["text-color"],1,lt),!s))return null;const a=r[r.length-1];a.scale=e,a.font=o,a.textColor=s}else{const i=t.parse(e[o],1,ht);if(!i)return null;const s=i.type.kind;if("string"!==s&&"value"!==s&&"null"!==s&&"resolvedImage"!==s)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");n=!0,r.push({content:i,scale:null,font:null,textColor:null})}}return new jt(r)}evaluate(e){return new zt(this.sections.map((t=>{const i=t.content.evaluate(e);return Lt(i)===pt?new Ct("",i,null,null,null):new Ct(Rt(i),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))}eachChild(e){for(const t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor)}outputDefined(){return!1}serialize(){const e=["format"];for(const t of this.sections){e.push(t.content.serialize());const i={};t.scale&&(i["font-scale"]=t.scale.serialize()),t.font&&(i["text-font"]=t.font.serialize()),t.textColor&&(i["text-color"]=t.textColor.serialize()),e.push(i)}return e}}class Gt{constructor(e){this.type=pt,this.input=e}static parse(e,t){if(2!==e.length)return t.error("Expected two arguments.");const i=t.parse(e[1],1,st);return i?new Gt(i):t.error("No image name provided.")}evaluate(e){const t=this.input.evaluate(e),i=Dt.fromString(t);return i&&e.availableImages&&(i.available=e.availableImages.indexOf(t)>-1),i}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){return["image",this.input.serialize()]}}const Zt={"to-boolean":at,"to-color":lt,"to-number":ot,"to-string":st};class $t{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const i=e[0];if(("to-boolean"===i||"to-string"===i)&&2!==e.length)return t.error("Expected one argument.");const r=Zt[i],n=[];for(let o=1;o4?`Invalid rbga value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:kt(t[0],t[1],t[2],t[3]),!i))return new At(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new Ft(i||`Could not parse color from value '${"string"==typeof t?t:String(JSON.stringify(t))}'`)}if("number"===this.type.kind){let t=null;for(const i of this.args){if(t=i.evaluate(e),null===t)return 0;const r=Number(t);if(!isNaN(r))return r}throw new Ft(`Could not convert ${JSON.stringify(t)} to number.`)}return"formatted"===this.type.kind?zt.fromString(Rt(this.args[0].evaluate(e))):"resolvedImage"===this.type.kind?Dt.fromString(Rt(this.args[0].evaluate(e))):Rt(this.args[0].evaluate(e))}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){if("formatted"===this.type.kind)return new jt([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new Gt(this.args[0]).serialize();const e=[`to-${this.type.kind}`];return this.eachChild((t=>{e.push(t.serialize())})),e}}var qt=$t;const Wt=["Unknown","Point","LineString","Polygon"];var Xt=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null}id(){return this.feature&&void 0!==this.feature.id?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?Wt[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const e=this.featureDistanceData.center,t=this.featureDistanceData.scale,{x:i,y:r}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(i*t-e[0])+this.featureDistanceData.bearing[1]*(r*t-e[1])}return 0}parseColor(e){let t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=At.parse(e)),t}};class Ht{constructor(e,t,i,r){this.name=e,this.type=t,this._evaluate=i,this.args=r}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map((e=>e.serialize())))}static parse(e,t){const i=e[0],r=Ht.definitions[i];if(!r)return t.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const n=Array.isArray(r)?r[0]:r.type,o=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,s=o.filter((t=>{let[i]=t;return!Array.isArray(i)||i.length===e.length-1}));let a=null;for(const[l,c]of s){a=new wi(t.registry,t.path,null,t.scope);const r=[];let o=!1;for(let t=1;t{let[t]=e;return i=t,Array.isArray(i)?`(${i.map(mt).join(", ")})`:`(${mt(i.type)}...)`;var i})).join(" | "),r=[];for(let n=1;n=t[2]||e[1]<=t[1]||e[3]>=t[3])}function ti(e,t){const i=(180+e[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,n=Math.pow(2,t.z);return[Math.round(i*n*Jt),Math.round(r*n*Jt)]}function ii(e,t,i){const r=e[0]-t[0],n=e[1]-t[1],o=e[0]-i[0],s=e[1]-i[1];return r*s-o*n==0&&r*o<=0&&n*s<=0}function ri(e,t){let i=!1;for(let s=0,a=t.length;s(r=e)[1]!=(o=a[t+1])[1]>r[1]&&r[0]<(o[0]-n[0])*(r[1]-n[1])/(o[1]-n[1])+n[0]&&(i=!i)}}var r,n,o;return i}function ni(e,t){for(let i=0;i0&&a<0||s<0&&a>0}function si(e,t,i){for(const c of i)for(let i=0;ii[2]){const t=.5*r;let n=e[0]-i[0]>t?-r:i[0]-e[0]>t?r:0;0===n&&(n=e[0]-i[2]>t?-r:i[2]-e[0]>t?r:0),e[0]+=n}Qt(t,e)}function di(e,t,i,r){const n=Math.pow(2,r.z)*Jt,o=[r.x*Jt,r.y*Jt],s=[];if(!e)return s;for(const a of e)for(const e of a){const r=[e.x+o[0],e.y+o[1]];ui(r,t,i,n),s.push(r)}return s}function pi(e,t,i,r){const n=Math.pow(2,r.z)*Jt,o=[r.x*Jt,r.y*Jt],s=[];if(!e)return s;for(const l of e){const e=[];for(const i of l){const r=[i.x+o[0],i.y+o[1]];Qt(t,r),e.push(r)}s.push(e)}if(t[2]-t[0]<=n/2){(a=t)[0]=a[1]=1/0,a[2]=a[3]=-1/0;for(const e of s)for(const r of e)ui(r,t,i,n)}var a;return s}class fi{constructor(e,t){this.type=at,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(Pt(e[1])){const t=e[1];if("FeatureCollection"===t.type)for(let e=0;e{t&&!_i(e)&&(t=!1)})),t}function gi(e){if(e instanceof Yt&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild((e=>{t&&!gi(e)&&(t=!1)})),t}function yi(e,t){if(e instanceof Yt&&t.indexOf(e.name)>=0)return!1;let i=!0;return e.eachChild((e=>{i&&!yi(e,t)&&(i=!1)})),i}class xi{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(e,t){if(2!==e.length||"string"!=typeof e[1])return t.error("'var' expression requires exactly one string literal argument.");const i=e[1];return t.scope.has(i)?new xi(i,t.scope.get(i)):t.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}serialize(){return["var",this.name]}}var vi=xi;class bi{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new rt,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];this.registry=e,this.path=t,this.key=t.map((e=>`[${e}]`)).join(""),this.scope=r,this.errors=n,this.expectedType=i}parse(e,t,i,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return t?this.concat(t,i,r)._parse(e,n):this._parse(e,n)}_parse(e,t){function i(e,t,i){return"assert"===i?new Nt(t,[e]):"coerce"===i?new qt(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=e[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const n=this.registry[r];if(n){let r=n.parse(e,this);if(!r)return null;if(this.expectedType){const e=this.expectedType,n=r.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==n.kind)if("color"!==e.kind&&"formatted"!==e.kind&&"resolvedImage"!==e.kind||"value"!==n.kind&&"string"!==n.kind){if(this.checkSubtype(e,n))return null}else r=i(r,e,t.typeAnnotation||"coerce");else r=i(r,e,t.typeAnnotation||"assert")}if(!(r instanceof Ot)&&"resolvedImage"!==r.type.kind&&Ti(r)){const t=new Xt;try{r=new Ot(r.type,r.evaluate(t))}catch(e){return this.error(e.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===e?"'undefined' value invalid. Use null instead.":"object"==typeof e?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,t,i){const r="number"==typeof e?this.path.concat(e):this.path,n=i?this.scope.concat(i):this.scope;return new bi(this.registry,r,t||null,n,this.errors)}error(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r`[${e}]`)).join("")}`;this.errors.push(new tt(n,e))}checkSubtype(e,t){const i=gt(e,t);return i&&this.error(i),i}}var wi=bi;function Ti(e){if(e instanceof vi)return Ti(e.boundExpression);if(e instanceof Yt&&"error"===e.name)return!1;if(e instanceof Kt)return!1;if(e instanceof mi)return!1;const t=e instanceof qt||e instanceof Nt;let i=!0;return e.eachChild((e=>{i=t?i&&Ti(e):i&&e instanceof Ot})),!!i&&_i(e)&&yi(e,["zoom","heatmap-density","line-progress","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center"])}function Ei(e,t){const i=e.length-1;let r,n,o=0,s=i,a=0;for(;o<=s;)if(a=Math.floor((o+s)/2),r=e[a],n=e[a+1],r<=t){if(a===i||tt))throw new Ft("Input is not a number.");s=a-1}return 0}class Si{constructor(e,t,i){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(const[r,n]of i)this.labels.push(r),this.outputs.push(n)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");const i=t.parse(e[1],1,ot);if(!i)return null;const r=[];let n=null;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);for(let o=1;o=i)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const c=t.parse(s,l,n);if(!c)return null;n=n||c.type,r.push([i,c])}return new Si(n,i,r)}evaluate(e){const t=this.labels,i=this.outputs;if(1===t.length)return i[0].evaluate(e);const r=this.input.evaluate(e);if(r<=t[0])return i[0].evaluate(e);const n=t.length;return r>=t[n-1]?i[n-1].evaluate(e):i[Ei(t,r)].evaluate(e)}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){const e=["step",this.input.serialize()];for(let t=0;t0&&e.push(this.labels[t]),e.push(this.outputs[t].serialize());return e}}var Mi=Si;function Ai(e,t,i){return e*(1-i)+t*i}var Ii=Object.freeze({__proto__:null,number:Ai,color:function(e,t,i){return new At(Ai(e.r,t.r,i),Ai(e.g,t.g,i),Ai(e.b,t.b,i),Ai(e.a,t.a,i))},array:function(e,t,i){return e.map(((e,r)=>Ai(e,t[r],i)))}});const Ci=.95047,zi=1.08883,Di=4/29,ki=6/29,Pi=3*ki*ki,Li=Math.PI/180,Ri=180/Math.PI;function Bi(e){return e>.008856451679035631?Math.pow(e,1/3):e/Pi+Di}function Oi(e){return e>ki?e*e*e:Pi*(e-Di)}function Fi(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Ui(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Vi(e){const t=Ui(e.r),i=Ui(e.g),r=Ui(e.b),n=Bi((.4124564*t+.3575761*i+.1804375*r)/Ci),o=Bi((.2126729*t+.7151522*i+.072175*r)/1);return{l:116*o-16,a:500*(n-o),b:200*(o-Bi((.0193339*t+.119192*i+.9503041*r)/zi)),alpha:e.a}}function Ni(e){let t=(e.l+16)/116,i=isNaN(e.a)?t:t+e.a/500,r=isNaN(e.b)?t:t-e.b/200;return t=1*Oi(t),i=Ci*Oi(i),r=zi*Oi(r),new At(Fi(3.2404542*i-1.5371385*t-.4985314*r),Fi(-.969266*i+1.8760108*t+.041556*r),Fi(.0556434*i-.2040259*t+1.0572252*r),e.alpha)}function ji(e,t,i){const r=t-e;return e+i*(r>180||r<-180?r-360*Math.round(r/360):r)}const Gi={forward:Vi,reverse:Ni,interpolate:function(e,t,i){return{l:Ai(e.l,t.l,i),a:Ai(e.a,t.a,i),b:Ai(e.b,t.b,i),alpha:Ai(e.alpha,t.alpha,i)}}},Zi={forward:function(e){const{l:t,a:i,b:r}=Vi(e),n=Math.atan2(r,i)*Ri;return{h:n<0?n+360:n,c:Math.sqrt(i*i+r*r),l:t,alpha:e.a}},reverse:function(e){const t=e.h*Li,i=e.c;return Ni({l:e.l,a:Math.cos(t)*i,b:Math.sin(t)*i,alpha:e.alpha})},interpolate:function(e,t,i){return{h:ji(e.h,t.h,i),c:Ai(e.c,t.c,i),l:Ai(e.l,t.l,i),alpha:Ai(e.alpha,t.alpha,i)}}};var $i=Object.freeze({__proto__:null,lab:Gi,hcl:Zi});class qi{constructor(e,t,i,r,n){this.type=e,this.operator=t,this.interpolation=i,this.input=r,this.labels=[],this.outputs=[];for(const[o,s]of n)this.labels.push(o),this.outputs.push(s)}static interpolationFactor(e,t,i,r){let n=0;if("exponential"===e.name)n=Wi(t,e.base,i,r);else if("linear"===e.name)n=Wi(t,1,i,r);else if("cubic-bezier"===e.name){const o=e.controlPoints;n=new d(o[0],o[1],o[2],o[3]).solve(Wi(t,1,i,r))}return n}static parse(e,t){let[i,r,n,...o]=e;if(!Array.isArray(r)||0===r.length)return t.error("Expected an interpolation type expression.",1);if("linear"===r[0])r={name:"linear"};else if("exponential"===r[0]){const e=r[1];if("number"!=typeof e)return t.error("Exponential interpolation requires a numeric base.",1,1);r={name:"exponential",base:e}}else{if("cubic-bezier"!==r[0])return t.error(`Unknown interpolation type ${String(r[0])}`,1,0);{const e=r.slice(1);if(4!==e.length||e.some((e=>"number"!=typeof e||e<0||e>1)))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(n=t.parse(n,2,ot),!n)return null;const s=[];let a=null;"interpolate-hcl"===i||"interpolate-lab"===i?a=lt:t.expectedType&&"value"!==t.expectedType.kind&&(a=t.expectedType);for(let l=0;l=e)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=t.parse(i,n,a);if(!c)return null;a=a||c.type,s.push([e,c])}return"number"===a.kind||"color"===a.kind||"array"===a.kind&&"number"===a.itemType.kind&&"number"==typeof a.N?new qi(a,i,r,n,s):t.error(`Type ${mt(a)} is not interpolatable.`)}evaluate(e){const t=this.labels,i=this.outputs;if(1===t.length)return i[0].evaluate(e);const r=this.input.evaluate(e);if(r<=t[0])return i[0].evaluate(e);const n=t.length;if(r>=t[n-1])return i[n-1].evaluate(e);const o=Ei(t,r),s=qi.interpolationFactor(this.interpolation,r,t[o],t[o+1]),a=i[o].evaluate(e),l=i[o+1].evaluate(e);return"interpolate"===this.operator?Ii[this.type.kind.toLowerCase()](a,l,s):"interpolate-hcl"===this.operator?Zi.reverse(Zi.interpolate(Zi.forward(a),Zi.forward(l),s)):Gi.reverse(Gi.interpolate(Gi.forward(a),Gi.forward(l),s))}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){let e;e="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);const t=[this.operator,e,this.input.serialize()];for(let i=0;igt(r,e.type)));return new Hi(o?ht:i,n)}evaluate(e){let t,i=null,r=0;for(const n of this.args){if(r++,i=n.evaluate(e),i&&i instanceof Dt&&!i.available&&(t||(t=i),i=null,r===this.args.length))return t;if(null!==i)break}return i}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){const e=["coalesce"];return this.eachChild((t=>{e.push(t.serialize())})),e}}var Yi=Hi;class Ki{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const i=[];for(let n=1;n=i.length)throw new Ft(`Array index out of bounds: ${t} > ${i.length-1}.`);if(t!==Math.floor(t))throw new Ft(`Array index must be an integer, but found ${t} instead.`);return i[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}serialize(){return["at",this.index.serialize(),this.input.serialize()]}}var er=Qi;class tr{constructor(e,t){this.type=at,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const i=t.parse(e[1],1,ht),r=t.parse(e[2],2,ht);return i&&r?yt(i.type,[at,st,ot,nt,ht])?new tr(i,r):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${mt(i.type)} instead`):null}evaluate(e){const t=this.needle.evaluate(e),i=this.haystack.evaluate(e);if(null==i)return!1;if(!xt(t,["boolean","string","number","null"]))throw new Ft(`Expected first argument to be of type boolean, string, number or null, but found ${mt(Lt(t))} instead.`);if(!xt(i,["string","array"]))throw new Ft(`Expected second argument to be of type array or string, but found ${mt(Lt(i))} instead.`);return i.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]}}var ir=tr;class rr{constructor(e,t,i){this.type=ot,this.needle=e,this.haystack=t,this.fromIndex=i}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const i=t.parse(e[1],1,ht),r=t.parse(e[2],2,ht);if(!i||!r)return null;if(!yt(i.type,[at,st,ot,nt,ht]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${mt(i.type)} instead`);if(4===e.length){const n=t.parse(e[3],3,ot);return n?new rr(i,r,n):null}return new rr(i,r)}evaluate(e){const t=this.needle.evaluate(e),i=this.haystack.evaluate(e);if(!xt(t,["boolean","string","number","null"]))throw new Ft(`Expected first argument to be of type boolean, string, number or null, but found ${mt(Lt(t))} instead.`);if(!xt(i,["string","array"]))throw new Ft(`Expected second argument to be of type array or string, but found ${mt(Lt(i))} instead.`);if(this.fromIndex){const r=this.fromIndex.evaluate(e);return i.indexOf(t,r)}return i.indexOf(t)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]}}var nr=rr;class or{constructor(e,t,i,r,n,o){this.inputType=e,this.type=t,this.input=i,this.cases=r,this.outputs=n,this.otherwise=o}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");let i,r;t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType);const n={},o=[];for(let l=2;lNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,Lt(e)))return null}else i=Lt(e);if(void 0!==n[String(e)])return c.error("Branch labels must be unique.");n[String(e)]=o.length}const h=t.parse(a,l,r);if(!h)return null;r=r||h.type,o.push(h)}const s=t.parse(e[1],1,ht);if(!s)return null;const a=t.parse(e[e.length-1],e.length-1,r);return a?"value"!==s.type.kind&&t.concat(1).checkSubtype(i,s.type)?null:new or(i,r,s,n,o,a):null}evaluate(e){const t=this.input.evaluate(e);return(Lt(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const e=["match",this.input.serialize()],t=Object.keys(this.cases).sort(),i=[],r={};for(const o of t){const e=r[this.cases[o]];void 0===e?(r[this.cases[o]]=i.length,i.push([this.cases[o],[o]])):i[e][1].push(o)}const n=e=>"number"===this.inputType.kind?Number(e):e;for(const[o,s]of i)e.push(1===s.length?n(s[0]):s.map(n)),e.push(this.outputs[o].serialize());return e.push(this.otherwise.serialize()),e}}var sr=or;class ar{constructor(e,t,i){this.type=e,this.branches=t,this.otherwise=i}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");let i;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);const r=[];for(let o=1;o{let[t,i]=e;return i.outputDefined()}))&&this.otherwise.outputDefined()}serialize(){const e=["case"];return this.eachChild((t=>{e.push(t.serialize())})),e}}var lr=ar;class cr{constructor(e,t,i,r){this.type=e,this.input=t,this.beginIndex=i,this.endIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const i=t.parse(e[1],1,ht),r=t.parse(e[2],2,ot);if(!i||!r)return null;if(!yt(i.type,[ft(ht),st,ht]))return t.error(`Expected first argument to be of type array or string, but found ${mt(i.type)} instead`);if(4===e.length){const n=t.parse(e[3],3,ot);return n?new cr(i.type,i,r,n):null}return new cr(i.type,i,r)}evaluate(e){const t=this.input.evaluate(e),i=this.beginIndex.evaluate(e);if(!xt(t,["string","array"]))throw new Ft(`Expected first argument to be of type array or string, but found ${mt(Lt(t))} instead.`);if(this.endIndex){const r=this.endIndex.evaluate(e);return t.slice(i,r)}return t.slice(i)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]}}var hr=cr;function ur(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function dr(e,t,i,r){return 0===r.compare(t,i)}function pr(e,t,i){const r="=="!==e&&"!="!==e;return class n{constructor(e,t,i){this.type=at,this.lhs=e,this.rhs=t,this.collator=i,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");const i=e[0];let o=t.parse(e[1],1,ht);if(!o)return null;if(!ur(i,o.type))return t.concat(1).error(`"${i}" comparisons are not supported for type '${mt(o.type)}'.`);let s=t.parse(e[2],2,ht);if(!s)return null;if(!ur(i,s.type))return t.concat(2).error(`"${i}" comparisons are not supported for type '${mt(s.type)}'.`);if(o.type.kind!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error(`Cannot compare types '${mt(o.type)}' and '${mt(s.type)}'.`);r&&("value"===o.type.kind&&"value"!==s.type.kind?o=new Nt(s.type,[o]):"value"!==o.type.kind&&"value"===s.type.kind&&(s=new Nt(o.type,[s])));let a=null;if(4===e.length){if("string"!==o.type.kind&&"string"!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error("Cannot use collator to compare non-string types.");if(a=t.parse(e[3],3,ut),!a)return null}return new n(o,s,a)}evaluate(n){const o=this.lhs.evaluate(n),s=this.rhs.evaluate(n);if(r&&this.hasUntypedArgument){const t=Lt(o),i=Lt(s);if(t.kind!==i.kind||"string"!==t.kind&&"number"!==t.kind)throw new Ft(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${i.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){const e=Lt(o),i=Lt(s);if("string"!==e.kind||"string"!==i.kind)return t(n,o,s)}return this.collator?i(n,o,s,this.collator.evaluate(n)):t(n,o,s)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}serialize(){const t=[e];return this.eachChild((e=>{t.push(e.serialize())})),t}}}const fr=pr("==",(function(e,t,i){return t===i}),dr),mr=pr("!=",(function(e,t,i){return t!==i}),(function(e,t,i,r){return!dr(0,t,i,r)})),_r=pr("<",(function(e,t,i){return t",(function(e,t,i){return t>i}),(function(e,t,i,r){return r.compare(t,i)>0})),yr=pr("<=",(function(e,t,i){return t<=i}),(function(e,t,i,r){return r.compare(t,i)<=0})),xr=pr(">=",(function(e,t,i){return t>=i}),(function(e,t,i,r){return r.compare(t,i)>=0}));class vr{constructor(e,t,i,r,n,o){this.type=st,this.number=e,this.locale=t,this.currency=i,this.unit=r,this.minFractionDigits=n,this.maxFractionDigits=o}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");const i=t.parse(e[1],1,ot);if(!i)return null;const r=e[2];if("object"!=typeof r||Array.isArray(r))return t.error("NumberFormat options argument must be an object.");let n=null;if(r.locale&&(n=t.parse(r.locale,1,st),!n))return null;let o=null;if(r.currency&&(o=t.parse(r.currency,1,st),!o))return null;let s=null;if(r.unit&&(s=t.parse(r.unit,1,st),!s))return null;let a=null;if(r["min-fraction-digits"]&&(a=t.parse(r["min-fraction-digits"],1,ot),!a))return null;let l=null;return r["max-fraction-digits"]&&(l=t.parse(r["max-fraction-digits"],1,ot),!l)?null:new vr(i,n,o,s,a,l)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:(this.currency?"currency":this.unit&&"unit")||"decimal",currency:this.currency?this.currency.evaluate(e):void 0,unit:this.unit?this.unit.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.unit&&e(this.unit),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}serialize(){const e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.unit&&(e.unit=this.unit.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]}}class br{constructor(e){this.type=ot,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);const i=t.parse(e[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?t.error(`Expected argument of type string or array, but found ${mt(i.type)} instead.`):new br(i):null}evaluate(e){const t=this.input.evaluate(e);if("string"==typeof t)return t.length;if(Array.isArray(t))return t.length;throw new Ft(`Expected value to be of type string or array, but found ${mt(Lt(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){const e=["length"];return this.eachChild((t=>{e.push(t.serialize())})),e}}const wr={"==":fr,"!=":mr,">":gr,"<":_r,">=":xr,"<=":yr,array:Nt,at:er,boolean:Nt,case:lr,coalesce:Yi,collator:Kt,format:jt,image:Gt,in:ir,"index-of":nr,interpolate:Xi,"interpolate-hcl":Xi,"interpolate-lab":Xi,length:br,let:Ji,literal:Ot,match:sr,number:Nt,"number-format":vr,object:Nt,slice:hr,step:Mi,string:Nt,"to-boolean":qt,"to-color":qt,"to-number":qt,"to-string":qt,var:vi,within:mi};function Tr(e,t){let[i,r,n,o]=t;i=i.evaluate(e),r=r.evaluate(e),n=n.evaluate(e);const s=o?o.evaluate(e):1,a=kt(i,r,n,s);if(a)throw new Ft(a);return new At(i/255*s,r/255*s,n/255*s,s)}function Er(e,t){return e in t}function Sr(e,t){const i=t[e];return void 0===i?null:i}function Mr(e){return{type:e}}Yt.register(wr,{error:[{kind:"error"},[st],(e,t)=>{let[i]=t;throw new Ft(i.evaluate(e))}],typeof:[st,[ht],(e,t)=>{let[i]=t;return mt(Lt(i.evaluate(e)))}],"to-rgba":[ft(ot,4),[lt],(e,t)=>{let[i]=t;return i.evaluate(e).toArray()}],rgb:[lt,[ot,ot,ot],Tr],rgba:[lt,[ot,ot,ot,ot],Tr],has:{type:at,overloads:[[[st],(e,t)=>{let[i]=t;return Er(i.evaluate(e),e.properties())}],[[st,ct],(e,t)=>{let[i,r]=t;return Er(i.evaluate(e),r.evaluate(e))}]]},get:{type:ht,overloads:[[[st],(e,t)=>{let[i]=t;return Sr(i.evaluate(e),e.properties())}],[[st,ct],(e,t)=>{let[i,r]=t;return Sr(i.evaluate(e),r.evaluate(e))}]]},"feature-state":[ht,[st],(e,t)=>{let[i]=t;return Sr(i.evaluate(e),e.featureState||{})}],properties:[ct,[],e=>e.properties()],"geometry-type":[st,[],e=>e.geometryType()],id:[ht,[],e=>e.id()],zoom:[ot,[],e=>e.globals.zoom],pitch:[ot,[],e=>e.globals.pitch||0],"distance-from-center":[ot,[],e=>e.distanceFromCenter()],"heatmap-density":[ot,[],e=>e.globals.heatmapDensity||0],"line-progress":[ot,[],e=>e.globals.lineProgress||0],"sky-radial-progress":[ot,[],e=>e.globals.skyRadialProgress||0],accumulated:[ht,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[ot,Mr(ot),(e,t)=>{let i=0;for(const r of t)i+=r.evaluate(e);return i}],"*":[ot,Mr(ot),(e,t)=>{let i=1;for(const r of t)i*=r.evaluate(e);return i}],"-":{type:ot,overloads:[[[ot,ot],(e,t)=>{let[i,r]=t;return i.evaluate(e)-r.evaluate(e)}],[[ot],(e,t)=>{let[i]=t;return-i.evaluate(e)}]]},"/":[ot,[ot,ot],(e,t)=>{let[i,r]=t;return i.evaluate(e)/r.evaluate(e)}],"%":[ot,[ot,ot],(e,t)=>{let[i,r]=t;return i.evaluate(e)%r.evaluate(e)}],ln2:[ot,[],()=>Math.LN2],pi:[ot,[],()=>Math.PI],e:[ot,[],()=>Math.E],"^":[ot,[ot,ot],(e,t)=>{let[i,r]=t;return Math.pow(i.evaluate(e),r.evaluate(e))}],sqrt:[ot,[ot],(e,t)=>{let[i]=t;return Math.sqrt(i.evaluate(e))}],log10:[ot,[ot],(e,t)=>{let[i]=t;return Math.log(i.evaluate(e))/Math.LN10}],ln:[ot,[ot],(e,t)=>{let[i]=t;return Math.log(i.evaluate(e))}],log2:[ot,[ot],(e,t)=>{let[i]=t;return Math.log(i.evaluate(e))/Math.LN2}],sin:[ot,[ot],(e,t)=>{let[i]=t;return Math.sin(i.evaluate(e))}],cos:[ot,[ot],(e,t)=>{let[i]=t;return Math.cos(i.evaluate(e))}],tan:[ot,[ot],(e,t)=>{let[i]=t;return Math.tan(i.evaluate(e))}],asin:[ot,[ot],(e,t)=>{let[i]=t;return Math.asin(i.evaluate(e))}],acos:[ot,[ot],(e,t)=>{let[i]=t;return Math.acos(i.evaluate(e))}],atan:[ot,[ot],(e,t)=>{let[i]=t;return Math.atan(i.evaluate(e))}],min:[ot,Mr(ot),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[ot,Mr(ot),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[ot,[ot],(e,t)=>{let[i]=t;return Math.abs(i.evaluate(e))}],round:[ot,[ot],(e,t)=>{let[i]=t;const r=i.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[ot,[ot],(e,t)=>{let[i]=t;return Math.floor(i.evaluate(e))}],ceil:[ot,[ot],(e,t)=>{let[i]=t;return Math.ceil(i.evaluate(e))}],"filter-==":[at,[st,ht],(e,t)=>{let[i,r]=t;return e.properties()[i.value]===r.value}],"filter-id-==":[at,[ht],(e,t)=>{let[i]=t;return e.id()===i.value}],"filter-type-==":[at,[st],(e,t)=>{let[i]=t;return e.geometryType()===i.value}],"filter-<":[at,[st,ht],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r":[at,[st,ht],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n>o}],"filter-id->":[at,[ht],(e,t)=>{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r>n}],"filter-<=":[at,[st,ht],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n<=o}],"filter-id-<=":[at,[ht],(e,t)=>{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r<=n}],"filter->=":[at,[st,ht],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n>=o}],"filter-id->=":[at,[ht],(e,t)=>{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r>=n}],"filter-has":[at,[ht],(e,t)=>{let[i]=t;return i.value in e.properties()}],"filter-has-id":[at,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[at,[ft(st)],(e,t)=>{let[i]=t;return i.value.indexOf(e.geometryType())>=0}],"filter-id-in":[at,[ft(ht)],(e,t)=>{let[i]=t;return i.value.indexOf(e.id())>=0}],"filter-in-small":[at,[st,ft(ht)],(e,t)=>{let[i,r]=t;return r.value.indexOf(e.properties()[i.value])>=0}],"filter-in-large":[at,[st,ft(ht)],(e,t)=>{let[i,r]=t;return function(e,t,i,r){for(;i<=r;){const n=i+r>>1;if(t[n]===e)return!0;t[n]>e?r=n-1:i=n+1}return!1}(e.properties()[i.value],r.value,0,r.value.length-1)}],all:{type:at,overloads:[[[at,at],(e,t)=>{let[i,r]=t;return i.evaluate(e)&&r.evaluate(e)}],[Mr(at),(e,t)=>{for(const i of t)if(!i.evaluate(e))return!1;return!0}]]},any:{type:at,overloads:[[[at,at],(e,t)=>{let[i,r]=t;return i.evaluate(e)||r.evaluate(e)}],[Mr(at),(e,t)=>{for(const i of t)if(i.evaluate(e))return!0;return!1}]]},"!":[at,[at],(e,t)=>{let[i]=t;return!i.evaluate(e)}],"is-supported-script":[at,[st],(e,t)=>{let[i]=t;const r=e.globals&&e.globals.isSupportedScript;return!r||r(i.evaluate(e))}],upcase:[st,[st],(e,t)=>{let[i]=t;return i.evaluate(e).toUpperCase()}],downcase:[st,[st],(e,t)=>{let[i]=t;return i.evaluate(e).toLowerCase()}],concat:[st,Mr(ht),(e,t)=>t.map((t=>Rt(t.evaluate(e)))).join("")],"resolved-locale":[st,[ut],(e,t)=>{let[i]=t;return i.evaluate(e).resolvedLocale()}]});var Ar=wr;function Ir(e){return{result:"success",value:e}}function Cr(e){return{result:"error",value:e}}function zr(e){return"data-driven"===e["property-type"]}function Dr(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function kr(e){return!!e.expression&&e.expression.interpolated}function Pr(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function Lr(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Rr(e){return e}function Br(e,t){const i="color"===t.type,r=e.stops&&"object"==typeof e.stops[0][0],n=r||!(r||void 0!==e.property),o=e.type||(kr(t)?"exponential":"interval");if(i&&((e=Ke({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],At.parse(e[1])]))),e.default=At.parse(e.default?e.default:t.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!$i[e.colorSpace])throw new Error(`Unknown color space: ${e.colorSpace}`);let s,a,l;if("exponential"===o)s=Vr;else if("interval"===o)s=Ur;else if("categorical"===o){s=Fr,a=Object.create(null);for(const t of e.stops)a[t[0]]=t[1];l=typeof e.stops[0][0]}else{if("identity"!==o)throw new Error(`Unknown function type "${o}"`);s=Nr}if(r){const i={},r=[];for(let t=0;te[0])),evaluate:(i,r)=>{let{zoom:o}=i;return Vr({stops:n,base:e.base},t,o).evaluate(o,r)}}}if(n){const i="exponential"===o?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:Xi.interpolationFactor.bind(void 0,i),zoomStops:e.stops.map((e=>e[0])),evaluate:i=>{let{zoom:r}=i;return s(e,t,r,a,l)}}}return{kind:"source",evaluate(i,r){const n=r&&r.properties?r.properties[e.property]:void 0;return void 0===n?Or(e.default,t.default):s(e,t,n,a,l)}}}function Or(e,t,i){return void 0!==e?e:void 0!==t?t:void 0!==i?i:void 0}function Fr(e,t,i,r,n){return Or(typeof i===n?r[i]:void 0,e.default,t.default)}function Ur(e,t,i){if("number"!==Pr(i))return Or(e.default,t.default);const r=e.stops.length;if(1===r)return e.stops[0][1];if(i<=e.stops[0][0])return e.stops[0][1];if(i>=e.stops[r-1][0])return e.stops[r-1][1];const n=Ei(e.stops.map((e=>e[0])),i);return e.stops[n][1]}function Vr(e,t,i){const r=void 0!==e.base?e.base:1;if("number"!==Pr(i))return Or(e.default,t.default);const n=e.stops.length;if(1===n)return e.stops[0][1];if(i<=e.stops[0][0])return e.stops[0][1];if(i>=e.stops[n-1][0])return e.stops[n-1][1];const o=Ei(e.stops.map((e=>e[0])),i),s=function(e,t,i,r){const n=r-i,o=e-i;return 0===n?0:1===t?o/n:(Math.pow(t,o)-1)/(Math.pow(t,n)-1)}(i,r,e.stops[o][0],e.stops[o+1][0]),a=e.stops[o][1],l=e.stops[o+1][1];let c=Ii[t.type]||Rr;if(e.colorSpace&&"rgb"!==e.colorSpace){const t=$i[e.colorSpace];c=(e,i)=>t.reverse(t.interpolate(t.forward(e),t.forward(i),s))}return"function"==typeof a.evaluate?{evaluate(){for(var e=arguments.length,t=new Array(e),i=0;iJSON.stringify(e))).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),this._defaultValue}}}function Gr(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&e[0]in Ar}function Zr(e,t){const i=new wi(Ar,[],t?function(e){const t={color:lt,string:st,number:ot,enum:st,boolean:at,formatted:dt,resolvedImage:pt};return"array"===e.type?ft(t[e.value]||ht,e.length):t[e.type]}(t):void 0),r=i.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return r?Ir(new jr(r,t)):Cr(i.errors)}class $r{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!gi(t.expression)}evaluateWithoutErrorHandling(e,t,i,r,n,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,i,r,n,o)}evaluate(e,t,i,r,n,o){return this._styleExpression.evaluate(e,t,i,r,n,o)}}class qr{constructor(e,t,i,r){this.kind=e,this.zoomStops=i,this._styleExpression=t,this.isStateDependent="camera"!==e&&!gi(t.expression),this.interpolationType=r}evaluateWithoutErrorHandling(e,t,i,r,n,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,i,r,n,o)}evaluate(e,t,i,r,n,o){return this._styleExpression.evaluate(e,t,i,r,n,o)}interpolationFactor(e,t,i){return this.interpolationType?Xi.interpolationFactor(this.interpolationType,e,t,i):0}}function Wr(e,t){if("error"===(e=Zr(e,t)).result)return e;const i=e.value.expression,r=_i(i);if(!r&&!zr(t))return Cr([new tt("","data expressions not supported")]);const n=yi(i,["zoom","pitch","distance-from-center"]);if(!n&&!Dr(t))return Cr([new tt("","zoom expressions not supported")]);const o=Hr(i);return o||n?o instanceof tt?Cr([o]):o instanceof Xi&&!kr(t)?Cr([new tt("",'"interpolate" expressions cannot be used with this property')]):Ir(o?new qr(r?"camera":"composite",e.value,o.labels,o instanceof Xi?o.interpolation:void 0):new $r(r?"constant":"source",e.value)):Cr([new tt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Xr{constructor(e,t){this._parameters=e,this._specification=t,Ke(this,Br(this._parameters,this._specification))}static deserialize(e){return new Xr(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function Hr(e){let t=null;if(e instanceof Ji)t=Hr(e.result);else if(e instanceof Yi){for(const i of e.args)if(t=Hr(i),t)break}else(e instanceof Mi||e instanceof Xi)&&e.input instanceof Yt&&"zoom"===e.input.name&&(t=e);return t instanceof tt||e.eachChild((e=>{const i=Hr(e);i instanceof tt?t=i:!t&&i?t=new tt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&i&&t!==i&&(t=new tt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),t}class Yr{constructor(e,t,i,r){this.message=(e?`${e}: `:"")+i,r&&(this.identifier=r),null!=t&&t.__line__&&(this.line=t.__line__)}}function Kr(e){const t=e.key,i=e.value,r=e.valueSpec||{},n=e.objectElementValidators||{},o=e.style,s=e.styleSpec;let a=[];const l=Pr(i);if("object"!==l)return[new Yr(t,i,`object expected, ${l} found`)];for(const c in i){const e=c.split(".")[0],l=r[e]||r["*"];let h;n[e]?h=n[e]:r[e]?h=kn:n["*"]?h=n["*"]:r["*"]&&(h=kn),h?a=a.concat(h({key:(t?`${t}.`:t)+c,value:i[c],valueSpec:l,style:o,styleSpec:s,object:i,objectKey:c},i)):a.push(new Yr(t,i[c],`unknown property "${c}"`))}for(const c in r)n[c]||r[c].required&&void 0===r[c].default&&void 0===i[c]&&a.push(new Yr(t,i,`missing required property "${c}"`));return a}function Jr(e){const t=e.value,i=e.valueSpec,r=e.style,n=e.styleSpec,o=e.key,s=e.arrayElementValidator||kn;if("array"!==Pr(t))return[new Yr(o,t,`array expected, ${Pr(t)} found`)];if(i.length&&t.length!==i.length)return[new Yr(o,t,`array length ${i.length} expected, length ${t.length} found`)];if(i["min-length"]&&t.lengthn)return[new Yr(t,i,`${i} is greater than the maximum value ${n}`)]}return[]}function en(e){const t=e.valueSpec,i=Je(e.value.type);let r,n,o,s={};const a="categorical"!==i&&void 0===e.value.property,l=!a,c="array"===Pr(e.value.stops)&&"array"===Pr(e.value.stops[0])&&"object"===Pr(e.value.stops[0][0]),h=Kr({key:e.key,value:e.value,valueSpec:e.styleSpec.function,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===i)return[new Yr(e.key,e.value,'identity function may not have a "stops" property')];let t=[];const r=e.value;return t=t.concat(Jr({key:e.key,value:r,valueSpec:e.valueSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:u})),"array"===Pr(r)&&0===r.length&&t.push(new Yr(e.key,r,"array must have at least one stop")),t},default:function(e){return kn({key:e.key,value:e.value,valueSpec:t,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===i&&a&&h.push(new Yr(e.key,e.value,'missing required property "property"')),"identity"===i||e.value.stops||h.push(new Yr(e.key,e.value,'missing required property "stops"')),"exponential"===i&&e.valueSpec.expression&&!kr(e.valueSpec)&&h.push(new Yr(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!zr(e.valueSpec)?h.push(new Yr(e.key,e.value,"property functions not supported")):a&&!Dr(e.valueSpec)&&h.push(new Yr(e.key,e.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==e.value.property||h.push(new Yr(e.key,e.value,'"property" property is required')),h;function u(e){let i=[];const r=e.value,a=e.key;if("array"!==Pr(r))return[new Yr(a,r,`array expected, ${Pr(r)} found`)];if(2!==r.length)return[new Yr(a,r,`array length 2 expected, length ${r.length} found`)];if(c){if("object"!==Pr(r[0]))return[new Yr(a,r,`object expected, ${Pr(r[0])} found`)];if(void 0===r[0].zoom)return[new Yr(a,r,"object stop key must have zoom")];if(void 0===r[0].value)return[new Yr(a,r,"object stop key must have value")];const t=Je(r[0].zoom);if("number"!=typeof t)return[new Yr(a,r[0].zoom,"stop zoom values must be numbers")];if(o&&o>t)return[new Yr(a,r[0].zoom,"stop zoom values must appear in ascending order")];t!==o&&(o=t,n=void 0,s={}),i=i.concat(Kr({key:`${a}[0]`,value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:Qr,value:d}}))}else i=i.concat(d({key:`${a}[0]`,value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec},r));return Gr(Qe(r[1]))?i.concat([new Yr(`${a}[1]`,r[1],"expressions are not allowed in function stops.")]):i.concat(kn({key:`${a}[1]`,value:r[1],valueSpec:t,style:e.style,styleSpec:e.styleSpec}))}function d(e,o){const a=Pr(e.value),l=Je(e.value),c=null!==e.value?e.value:o;if(r){if(a!==r)return[new Yr(e.key,c,`${a} stop domain type must match previous stop domain type ${r}`)]}else r=a;if("number"!==a&&"string"!==a&&"boolean"!==a&&"number"!=typeof l&&"string"!=typeof l&&"boolean"!=typeof l)return[new Yr(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==a&&"categorical"!==i){let r=`number expected, ${a} found`;return zr(t)&&void 0===i&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Yr(e.key,c,r)]}return"categorical"!==i||"number"!==a||"number"==typeof l&&isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===a&&"number"==typeof l&&"number"==typeof n&&void 0!==n&&lnew Yr(`${e.key}${t.key}`,e.value,t.message)));const i=t.value.expression||t.value._styleExpression.expression;if("property"===e.expressionContext&&"text-font"===e.propertyKey&&!i.outputDefined())return[new Yr(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===e.expressionContext&&"layout"===e.propertyType&&!gi(i))return[new Yr(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===e.expressionContext)return rn(i,e);if(e.expressionContext&&0===e.expressionContext.indexOf("cluster")){if(!yi(i,["zoom","feature-state"]))return[new Yr(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===e.expressionContext&&!_i(i))return[new Yr(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function rn(e,t){const i=new Set(["zoom","feature-state","pitch","distance-from-center"]);if(t.valueSpec&&t.valueSpec.expression)for(const n of t.valueSpec.expression.parameters)i.delete(n);if(0===i.size)return[];const r=[];return e instanceof Yt&&i.has(e.name)?[new Yr(t.key,t.value,`["${e.name}"] expression is not supported in a filter for a ${t.object.type} layer with id: ${t.object.id}`)]:(e.eachChild((e=>{r.push(...rn(e,t))})),r)}function nn(e){const t=e.key,i=e.value,r=e.valueSpec,n=[];return Array.isArray(r.values)?-1===r.values.indexOf(Je(i))&&n.push(new Yr(t,i,`expected one of [${r.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(r.values).indexOf(Je(i))&&n.push(new Yr(t,i,`expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(i)} found`)),n}function on(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(const t of e.slice(1))if(!on(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}function sn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fill";if(null==e)return{filter:()=>!0,needGeometry:!1,needFeature:!1};on(e)||(e=pn(e));const i=e;let r=!0;try{r=function(e){if(!cn(e))return e;let t=Qe(e);return ln(t),t=an(t),t}(i)}catch(e){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\nand paste the contents of this message in the report.\nThank you!\nFilter Expression:\n${JSON.stringify(i,null,2)}\n `)}const n=Ye[`filter_${t}`],o=Zr(r,n);let s=null;if("error"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(", "));s=(e,t,i)=>o.value.evaluate(e,t,{},i);let a=null,l=null;if(r!==i){const e=Zr(i,n);if("error"===e.result)throw new Error(e.value.map((e=>`${e.key}: ${e.message}`)).join(", "));a=(t,i,r,n,o)=>e.value.evaluate(t,i,{},r,void 0,void 0,n,o),l=!_i(e.value.expression)}return{filter:s,dynamicFilter:a||void 0,needGeometry:dn(r),needFeature:!!l}}function an(e){if(!Array.isArray(e))return e;const t=function(e){if(hn.has(e[0]))for(let t=1;tan(e)))}function ln(e){let t=!1;const i=[];if("case"===e[0]){for(let r=1;r",">=","<","<=","to-boolean"]);function un(e,t){return et?1:0}function dn(e){if(!Array.isArray(e))return!1;if("within"===e[0])return!0;for(let t=1;t"===t||"<="===t||">="===t?fn(e[1],e[2],t):"any"===t?(i=e.slice(1),["any"].concat(i.map(pn))):"all"===t?["all"].concat(e.slice(1).map(pn)):"none"===t?["all"].concat(e.slice(1).map(pn).map(gn)):"in"===t?mn(e[1],e.slice(2)):"!in"===t?gn(mn(e[1],e.slice(2))):"has"===t?_n(e[1]):"!has"===t?gn(_n(e[1])):"within"!==t||e;var i}function fn(e,t,i){switch(e){case"$type":return[`filter-type-${i}`,t];case"$id":return[`filter-id-${i}`,t];default:return[`filter-${i}`,e,t]}}function mn(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some((e=>typeof e!=typeof t[0]))?["filter-in-large",e,["literal",t.sort(un)]]:["filter-in-small",e,["literal",t]]}}function _n(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function gn(e){return["!",e]}function yn(e){return on(Qe(e.value))?tn(Ke({},e,{expressionContext:"filter",valueSpec:e.styleSpec[`filter_${e.layerType||"fill"}`]})):xn(e)}function xn(e){const t=e.value,i=e.key;if("array"!==Pr(t))return[new Yr(i,t,`array expected, ${Pr(t)} found`)];const r=e.styleSpec;let n,o=[];if(t.length<1)return[new Yr(i,t,"filter array must have at least 1 element")];switch(o=o.concat(nn({key:`${i}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),Je(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&"$type"===Je(t[1])&&o.push(new Yr(i,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":3!==t.length&&o.push(new Yr(i,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(n=Pr(t[1]),"string"!==n&&o.push(new Yr(`${i}[1]`,t[1],`string expected, ${n} found`)));for(let s=2;s{e in i&&t.push(new Yr(r,i[e],`"${e}" is prohibited for ref layers`))})),n.layers.forEach((t=>{Je(t.id)===a&&(e=t)})),e?e.ref?t.push(new Yr(r,i.ref,"ref cannot reference another ref layer")):s=Je(e.type):"string"==typeof a&&t.push(new Yr(r,i.ref,`ref layer "${a}" not found`))}else if("background"!==s&&"sky"!==s)if(i.source){const e=n.sources&&n.sources[i.source],o=e&&Je(e.type);e?"vector"===o&&"raster"===s?t.push(new Yr(r,i.source,`layer "${i.id}" requires a raster source`)):"raster"===o&&"raster"!==s?t.push(new Yr(r,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==o||i["source-layer"]?"raster-dem"===o&&"hillshade"!==s?t.push(new Yr(r,i.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!i.paint||!i.paint["line-gradient"]&&!i.paint["line-trim-offset"]||"geojson"===o&&e.lineMetrics||t.push(new Yr(r,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new Yr(r,i,`layer "${i.id}" must specify a "source-layer"`)):t.push(new Yr(r,i.source,`source "${i.source}" not found`))}else t.push(new Yr(r,i,'missing required property "source"'));return t=t.concat(Kr({key:r,value:i,valueSpec:o.layer,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{"*":()=>[],type:()=>kn({key:`${r}.type`,value:i.type,valueSpec:o.layer.type,style:e.style,styleSpec:e.styleSpec,object:i,objectKey:"type"}),filter:e=>yn(Ke({layerType:s},e)),layout:e=>Kr({layer:i,key:e.key,value:e.value,valueSpec:{},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{"*":e=>wn(Ke({layerType:s},e))}}),paint:e=>Kr({layer:i,key:e.key,value:e.value,valueSpec:{},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{"*":e=>bn(Ke({layerType:s},e))}})}})),t}function En(e){const t=e.value,i=e.key,r=Pr(t);return"string"!==r?[new Yr(i,t,`string expected, ${r} found`)]:[]}const Sn={promoteId:function(e){let{key:t,value:i}=e;if("string"===Pr(i))return En({key:t,value:i});{const e=[];for(const r in i)e.push(...En({key:`${t}.${r}`,value:i[r]}));return e}}};function Mn(e){const t=e.value,i=e.key,r=e.styleSpec,n=e.style;if(!t.type)return[new Yr(i,t,'"type" is required')];const o=Je(t.type);let s;switch(o){case"vector":case"raster":case"raster-dem":return s=Kr({key:i,value:t,valueSpec:r[`source_${o.replace("-","_")}`],style:e.style,styleSpec:r,objectElementValidators:Sn}),s;case"geojson":if(s=Kr({key:i,value:t,valueSpec:r.source_geojson,style:n,styleSpec:r,objectElementValidators:Sn}),t.cluster)for(const e in t.clusterProperties){const[r,n]=t.clusterProperties[e],o="string"==typeof r?[r,["accumulated"],["get",e]]:r;s.push(...tn({key:`${i}.${e}.map`,value:n,expressionContext:"cluster-map"})),s.push(...tn({key:`${i}.${e}.reduce`,value:o,expressionContext:"cluster-reduce"}))}return s;case"video":return Kr({key:i,value:t,valueSpec:r.source_video,style:n,styleSpec:r});case"image":return Kr({key:i,value:t,valueSpec:r.source_image,style:n,styleSpec:r});case"canvas":return[new Yr(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return nn({key:`${i}.type`,value:t.type,valueSpec:{values:An(r)},style:n,styleSpec:r})}}function An(e){return e.source.reduce(((t,i)=>{const r=e[i];return"enum"===r.type.type&&(t=t.concat(Object.keys(r.type.values))),t}),[])}function In(e){const t=e.value,i=e.styleSpec,r=i.light,n=e.style;let o=[];const s=Pr(t);if(void 0===t)return o;if("object"!==s)return o=o.concat([new Yr("light",t,`object expected, ${s} found`)]),o;for(const a in t){const e=a.match(/^(.*)-transition$/);o=o.concat(e&&r[e[1]]&&r[e[1]].transition?kn({key:a,value:t[a],valueSpec:i.transition,style:n,styleSpec:i}):r[a]?kn({key:a,value:t[a],valueSpec:r[a],style:n,styleSpec:i}):[new Yr(a,t[a],`unknown property "${a}"`)])}return o}function Cn(e){const t=e.value,i=e.key,r=e.style,n=e.styleSpec,o=n.terrain;let s=[];const a=Pr(t);if(void 0===t)return s;if("object"!==a)return s=s.concat([new Yr("terrain",t,`object expected, ${a} found`)]),s;for(const l in t){const e=l.match(/^(.*)-transition$/);s=s.concat(e&&o[e[1]]&&o[e[1]].transition?kn({key:l,value:t[l],valueSpec:n.transition,style:r,styleSpec:n}):o[l]?kn({key:l,value:t[l],valueSpec:o[l],style:r,styleSpec:n}):[new Yr(l,t[l],`unknown property "${l}"`)])}if(t.source){const e=r.sources&&r.sources[t.source],n=e&&Je(e.type);e?"raster-dem"!==n&&s.push(new Yr(i,t.source,`terrain cannot be used with a source of type ${String(n)}, it only be used with a "raster-dem" source type`)):s.push(new Yr(i,t.source,`source "${t.source}" not found`))}else s.push(new Yr(i,t,'terrain is missing required property "source"'));return s}function zn(e){const t=e.value,i=e.style,r=e.styleSpec,n=r.fog;let o=[];const s=Pr(t);if(void 0===t)return o;if("object"!==s)return o=o.concat([new Yr("fog",t,`object expected, ${s} found`)]),o;for(const a in t){const e=a.match(/^(.*)-transition$/);o=o.concat(e&&n[e[1]]&&n[e[1]].transition?kn({key:a,value:t[a],valueSpec:r.transition,style:i,styleSpec:r}):n[a]?kn({key:a,value:t[a],valueSpec:n[a],style:i,styleSpec:r}):[new Yr(a,t[a],`unknown property "${a}"`)])}return o}const Dn={"*":()=>[],array:Jr,boolean:function(e){const t=e.value,i=e.key,r=Pr(t);return"boolean"!==r?[new Yr(i,t,`boolean expected, ${r} found`)]:[]},number:Qr,color:function(e){const t=e.key,i=e.value,r=Pr(i);return"string"!==r?[new Yr(t,i,`color expected, ${r} found`)]:null===vt(i)?[new Yr(t,i,`color expected, "${i}" found`)]:[]},enum:nn,filter:yn,function:en,layer:Tn,object:Kr,source:Mn,light:In,terrain:Cn,fog:zn,string:En,formatted:function(e){return 0===En(e).length?[]:tn(e)},resolvedImage:function(e){return 0===En(e).length?[]:tn(e)},projection:function(e){const t=e.value,i=e.styleSpec,r=i.projection,n=e.style;let o=[];const s=Pr(t);if("object"===s)for(const a in t)o=o.concat(kn({key:a,value:t[a],valueSpec:r[a],style:n,styleSpec:i}));else"string"!==s&&(o=o.concat([new Yr("projection",t,`object or string expected, ${s} found`)]));return o}};function kn(e){const t=e.value,i=e.valueSpec,r=e.styleSpec;return i.expression&&Lr(Je(t))?en(e):i.expression&&Gr(Qe(t))?tn(e):i.type&&Dn[i.type]?Dn[i.type](e):Kr(Ke({},e,{valueSpec:i.type?r[i.type]:i}))}function Pn(e){const t=e.value,i=e.key,r=En(e);return r.length||(-1===t.indexOf("{fontstack}")&&r.push(new Yr(i,t,'"glyphs" url must include a "{fontstack}" token')),-1===t.indexOf("{range}")&&r.push(new Yr(i,t,'"glyphs" url must include a "{range}" token'))),r}function Ln(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ye;return On(kn({key:"",value:e,valueSpec:t.$root,styleSpec:t,style:e,objectElementValidators:{glyphs:Pn,"*":()=>[]}}))}const Rn=e=>On(bn(e)),Bn=e=>On(wn(e));function On(e){return e.slice().sort(((e,t)=>e.line&&t.line?e.line-t.line:0))}function Fn(e,t){let i=!1;if(t&&t.length)for(const r of t)e.fire(new Xe(new Error(r.message))),i=!0;return i}var Un=Vn;function Vn(e,t,i){var r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;var n=new Int32Array(this.arrayBuffer);e=n[0],this.d=(t=n[1])+2*(i=n[2]);for(var o=0;o=h[p+0]&&r>=h[p+1])?(s[d]=!0,o.push(c[d])):s[d]=!1}}},Vn.prototype._forEachCell=function(e,t,i,r,n,o,s,a){for(var l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),h=this._convertToCellCoord(i),u=this._convertToCellCoord(r),d=l;d<=h;d++)for(var p=c;p<=u;p++){var f=this.d*p+d;if((!a||a(this._convertFromCellCoord(d),this._convertFromCellCoord(p),this._convertFromCellCoord(d+1),this._convertFromCellCoord(p+1)))&&n.call(this,e,t,i,r,f,o,s,a))return}},Vn.prototype._convertFromCellCoord=function(e){return(e-this.padding)/this.scale},Vn.prototype._convertToCellCoord=function(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))},Vn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var e=this.cells,t=3+this.cells.length+1+1,i=0,r=0;r2&&void 0!==arguments[2]?arguments[2]:{};Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),Nn[t]={klass:e,omit:i.omit||[]}}jn(Object,"Object"),Un.serialize=function(e,t){const i=e.toArrayBuffer();return t&&t.push(i),{buffer:i}},Un.deserialize=function(e){return new Un(e.buffer)},Object.defineProperty(Un,"name",{value:"Grid"}),jn(Un,"Grid"),jn(At,"Color"),jn(Error,"Error"),jn(se,"AJAXError"),jn(Dt,"ResolvedImage"),jn(Xr,"StylePropertyFunction"),jn(jr,"StyleExpression",{omit:["_evaluator"]}),jn(qr,"ZoomDependentExpression"),jn($r,"ZoomConstantExpression"),jn(Yt,"CompoundExpression",{omit:["_evaluate"]});for(const xm in Ar)Nn[Ar[xm]._classRegistryKey]||jn(Ar[xm],`Expression${xm}`);function Gn(e){return e&&"undefined"!=typeof ArrayBuffer&&(e instanceof ArrayBuffer||e.constructor&&"ArrayBuffer"===e.constructor.name)}function Zn(e){return t.ImageBitmap&&e instanceof t.ImageBitmap}function $n(e,i){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(Gn(e)||Zn(e))return i&&i.push(e),e;if(ArrayBuffer.isView(e)){const t=e;return i&&i.push(t.buffer),t}if(e instanceof t.ImageData)return i&&i.push(e.data.buffer),e;if(Array.isArray(e)){const t=[];for(const r of e)t.push($n(r,i));return t}if("object"==typeof e){const t=e.constructor,r=t._classRegistryKey;if(!r)throw new Error(`can't serialize object of unregistered class ${r}`);const n=t.serialize?t.serialize(e,i):{};if(!t.serialize){for(const t in e)e.hasOwnProperty(t)&&(Nn[r].omit.indexOf(t)>=0||(n[t]=$n(e[t],i)));e instanceof Error&&(n.message=e.message)}if(n.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(n.$name=r),n}throw new Error("can't serialize object of type "+typeof e)}function qn(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||Gn(e)||Zn(e)||ArrayBuffer.isView(e)||e instanceof t.ImageData)return e;if(Array.isArray(e))return e.map(qn);if("object"==typeof e){const t=e.$name||"Object",{klass:i}=Nn[t];if(!i)throw new Error(`can't deserialize unregistered class ${t}`);if(i.deserialize)return i.deserialize(e);const r=Object.create(i.prototype);for(const n of Object.keys(e))"$name"!==n&&(r[n]=qn(e[n]));return r}throw new Error("can't deserialize object of type "+typeof e)}const Wn=e=>e>=1536&&e<=1791,Xn=e=>e>=1872&&e<=1919,Hn=e=>e>=2208&&e<=2303,Yn=e=>e>=11904&&e<=12031,Kn=e=>e>=12032&&e<=12255,Jn=e=>e>=12272&&e<=12287,Qn=e=>e>=12288&&e<=12351,eo=e=>e>=12352&&e<=12447,to=e=>e>=12448&&e<=12543,io=e=>e>=12544&&e<=12591,ro=e=>e>=12704&&e<=12735,no=e=>e>=12736&&e<=12783,oo=e=>e>=12784&&e<=12799,so=e=>e>=12800&&e<=13055,ao=e=>e>=13056&&e<=13311,lo=e=>e>=13312&&e<=19903,co=e=>e>=19968&&e<=40959,ho=e=>e>=40960&&e<=42127,uo=e=>e>=42128&&e<=42191,po=e=>e>=44032&&e<=55215,fo=e=>e>=63744&&e<=64255,mo=e=>e>=64336&&e<=65023,_o=e=>e>=65040&&e<=65055,go=e=>e>=65072&&e<=65103,yo=e=>e>=65104&&e<=65135,xo=e=>e>=65136&&e<=65279,vo=e=>e>=65280&&e<=65519;function bo(e){for(const t of e)if(Eo(t.charCodeAt(0)))return!0;return!1}function wo(e){for(const t of e)if(!To(t.charCodeAt(0)))return!1;return!0}function To(e){return!(Wn(e)||Xn(e)||Hn(e)||mo(e)||xo(e))}function Eo(e){return!(746!==e&&747!==e&&(e<4352||!(ro(e)||io(e)||go(e)&&!(e>=65097&&e<=65103)||fo(e)||ao(e)||Yn(e)||no(e)||!(!Qn(e)||e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||lo(e)||co(e)||so(e)||(e=>e>=12592&&e<=12687)(e)||(e=>e>=43360&&e<=43391)(e)||(e=>e>=55216&&e<=55295)(e)||(e=>e>=4352&&e<=4607)(e)||po(e)||eo(e)||Jn(e)||(e=>e>=12688&&e<=12703)(e)||Kn(e)||oo(e)||to(e)&&12540!==e||!(!vo(e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!yo(e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||(e=>e>=5120&&e<=5759)(e)||(e=>e>=6320&&e<=6399)(e)||_o(e)||(e=>e>=19904&&e<=19967)(e)||ho(e)||uo(e))))}function So(e){return!(Eo(e)||function(e){return!!((e=>e>=128&&e<=255)(e)&&(167===e||169===e||174===e||177===e||188===e||189===e||190===e||215===e||247===e)||(e=>e>=8192&&e<=8303)(e)&&(8214===e||8224===e||8225===e||8240===e||8241===e||8251===e||8252===e||8258===e||8263===e||8264===e||8265===e||8273===e)||(e=>e>=8448&&e<=8527)(e)||(e=>e>=8528&&e<=8591)(e)||(e=>e>=8960&&e<=9215)(e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||9003===e||e>=9085&&e<=9114||e>=9150&&e<=9165||9167===e||e>=9169&&e<=9179||e>=9186&&e<=9215)||(e=>e>=9216&&e<=9279)(e)&&9251!==e||(e=>e>=9280&&e<=9311)(e)||(e=>e>=9312&&e<=9471)(e)||(e=>e>=9632&&e<=9727)(e)||(e=>e>=9728&&e<=9983)(e)&&!(e>=9754&&e<=9759)||(e=>e>=11008&&e<=11263)(e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||Qn(e)||to(e)||(e=>e>=57344&&e<=63743)(e)||go(e)||yo(e)||vo(e)||8734===e||8756===e||8757===e||e>=9984&&e<=10087||e>=10102&&e<=10131||65532===e||65533===e)}(e))}function Mo(e){return e>=1424&&e<=2303||mo(e)||xo(e)}function Ao(e,t){return!(!t&&Mo(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||(e=>e>=6016&&e<=6143)(e))}function Io(e){for(const t of e)if(Mo(t.charCodeAt(0)))return!0;return!1}const Co="deferred",zo="loading",Do="loaded";let ko=null,Po="unavailable",Lo=null;const Ro=function(e){e&&"string"==typeof e&&e.indexOf("NetworkError")>-1&&(Po="error"),ko&&ko(e)};function Bo(){Oo.fire(new We("pluginStateChange",{pluginStatus:Po,pluginURL:Lo}))}const Oo=new He,Fo=function(){return Po},Uo=function(){if(Po!==Co||!Lo)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Po=zo,Bo(),Lo&&ce({url:Lo},(e=>{e?Ro(e):(Po=Do,Bo())}))},Vo={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Po===Do||null!=Vo.applyArabicShaping,isLoading:()=>Po===zo,setState(e){Po=e.pluginStatus,Lo=e.pluginURL},isParsed:()=>null!=Vo.applyArabicShaping&&null!=Vo.processBidirectionalText&&null!=Vo.processStyledBidirectionalText,getPluginURL:()=>Lo};class No{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.transition=t.transition,this.pitch=t.pitch):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0)}isSupportedScript(e){return function(e,t){for(const i of e)if(!Ao(i.charCodeAt(0),t))return!1;return!0}(e,Vo.isLoaded())}}class jo{constructor(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(Lr(e))return new Xr(e,t);if(Gr(e)){const i=Wr(e,t);if("error"===i.result)throw new Error(i.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return i.value}{let i=e;return"string"==typeof e&&"color"===t.type&&(i=At.parse(e)),{kind:"constant",evaluate:()=>i}}}(void 0===t?e.specification.default:t,e.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(e,t,i){return this.property.possiblyEvaluate(this,e,t,i)}}class Go{constructor(e){this.property=e,this.value=new jo(e,void 0)}transitioned(e,t){return new $o(this.property,this.value,t,C({},e.transition,this.transition),e.now)}untransitioned(){return new $o(this.property,this.value,null,{},0)}}class Zo{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)}getValue(e){return U(this._values[e].value.value)}setValue(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Go(this._values[e].property)),this._values[e].value=new jo(this._values[e].property,null===t?void 0:U(t))}getTransition(e){return U(this._values[e].transition)}setTransition(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Go(this._values[e].property)),this._values[e].transition=U(t)||void 0}serialize(){const e={};for(const t of Object.keys(this._values)){const i=this.getValue(t);void 0!==i&&(e[t]=i);const r=this.getTransition(t);void 0!==r&&(e[`${t}-transition`]=r)}return e}transitioned(e,t){const i=new qo(this._properties);for(const r of Object.keys(this._values))i._values[r]=this._values[r].transitioned(e,t._values[r]);return i}untransitioned(){const e=new qo(this._properties);for(const t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class $o{constructor(e,t,i,r,n){const o=r.delay||0,s=r.duration||0;n=n||0,this.property=e,this.value=t,this.begin=n+o,this.end=this.begin+s,e.specification.transition&&(r.delay||r.duration)&&(this.prior=i)}possiblyEvaluate(e,t,i){const r=e.now||0,n=this.value.possiblyEvaluate(e,t,i),o=this.prior;if(o){if(r>this.end)return this.prior=null,n;if(this.value.isDataDriven())return this.prior=null,n;if(rthis.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}destroy(){this.int8=this.uint8=this.int16=this.uint16=this.int32=this.uint32=this.float32=null,this.arrayBuffer=null}}function ns(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=0,r=0;return{members:e.map((e=>{const n=ts[e.type].BYTES_PER_ELEMENT,o=i=os(i,Math.max(t,n)),s=e.components||1;return r=Math.max(r,n),i+=n*s,{name:e.name,type:e.type,components:s,offset:o}})),size:os(i,Math.max(r,t)),alignment:t}}function os(e,t){return Math.ceil(e/t)*t}class ss extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){const i=this.length;return this.resize(i+1),this.emplace(i,e,t)}emplace(e,t,i){const r=2*e;return this.int16[r+0]=t,this.int16[r+1]=i,e}}ss.prototype.bytesPerElement=4,jn(ss,"StructArrayLayout2i4");class as extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,i)}emplace(e,t,i,r){const n=3*e;return this.int16[n+0]=t,this.int16[n+1]=i,this.int16[n+2]=r,e}}as.prototype.bytesPerElement=6,jn(as,"StructArrayLayout3i6");class ls extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=4*e;return this.int16[o+0]=t,this.int16[o+1]=i,this.int16[o+2]=r,this.int16[o+3]=n,e}}ls.prototype.bytesPerElement=8,jn(ls,"StructArrayLayout4i8");class cs extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=6*e,c=12*e,h=3*e;return this.int16[l+0]=t,this.int16[l+1]=i,this.uint8[c+4]=r,this.uint8[c+5]=n,this.uint8[c+6]=o,this.uint8[c+7]=s,this.float32[h+2]=a,e}}cs.prototype.bytesPerElement=12,jn(cs,"StructArrayLayout2i4ub1f12");class hs extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=4*e;return this.float32[o+0]=t,this.float32[o+1]=i,this.float32[o+2]=r,this.float32[o+3]=n,e}}hs.prototype.bytesPerElement=16,jn(hs,"StructArrayLayout4f16");class us extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=6*e,a=3*e;return this.uint16[s+0]=t,this.uint16[s+1]=i,this.uint16[s+2]=r,this.uint16[s+3]=n,this.float32[a+2]=o,e}}us.prototype.bytesPerElement=12,jn(us,"StructArrayLayout4ui1f12");class ds extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=4*e;return this.uint16[o+0]=t,this.uint16[o+1]=i,this.uint16[o+2]=r,this.uint16[o+3]=n,e}}ds.prototype.bytesPerElement=8,jn(ds,"StructArrayLayout4ui8");class ps extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o){const s=this.length;return this.resize(s+1),this.emplace(s,e,t,i,r,n,o)}emplace(e,t,i,r,n,o,s){const a=6*e;return this.int16[a+0]=t,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=n,this.int16[a+4]=o,this.int16[a+5]=s,e}}ps.prototype.bytesPerElement=12,jn(ps,"StructArrayLayout6i12");class fs extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u){const d=this.length;return this.resize(d+1),this.emplace(d,e,t,i,r,n,o,s,a,l,c,h,u)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d){const p=12*e;return this.int16[p+0]=t,this.int16[p+1]=i,this.int16[p+2]=r,this.int16[p+3]=n,this.uint16[p+4]=o,this.uint16[p+5]=s,this.uint16[p+6]=a,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=h,this.int16[p+10]=u,this.int16[p+11]=d,e}}fs.prototype.bytesPerElement=24,jn(fs,"StructArrayLayout4i4ui4i24");class ms extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o){const s=this.length;return this.resize(s+1),this.emplace(s,e,t,i,r,n,o)}emplace(e,t,i,r,n,o,s){const a=10*e,l=5*e;return this.int16[a+0]=t,this.int16[a+1]=i,this.int16[a+2]=r,this.float32[l+2]=n,this.float32[l+3]=o,this.float32[l+4]=s,e}}ms.prototype.bytesPerElement=20,jn(ms,"StructArrayLayout3i3f20");class _s extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}_s.prototype.bytesPerElement=4,jn(_s,"StructArrayLayout1ul4");class gs extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d){const p=this.length;return this.resize(p+1),this.emplace(p,e,t,i,r,n,o,s,a,l,c,h,u,d)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p){const f=20*e,m=10*e;return this.int16[f+0]=t,this.int16[f+1]=i,this.int16[f+2]=r,this.int16[f+3]=n,this.int16[f+4]=o,this.float32[m+3]=s,this.float32[m+4]=a,this.float32[m+5]=l,this.float32[m+6]=c,this.int16[f+14]=h,this.uint32[m+8]=u,this.uint16[f+18]=d,this.uint16[f+19]=p,e}}gs.prototype.bytesPerElement=40,jn(gs,"StructArrayLayout5i4f1i1ul2ui40");class ys extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=8*e;return this.int16[l+0]=t,this.int16[l+1]=i,this.int16[l+2]=r,this.int16[l+4]=n,this.int16[l+5]=o,this.int16[l+6]=s,this.int16[l+7]=a,e}}ys.prototype.bytesPerElement=16,jn(ys,"StructArrayLayout3i2i2i16");class xs extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=4*e,a=8*e;return this.float32[s+0]=t,this.float32[s+1]=i,this.float32[s+2]=r,this.int16[a+6]=n,this.int16[a+7]=o,e}}xs.prototype.bytesPerElement=16,jn(xs,"StructArrayLayout2f1f2i16");class vs extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=12*e,s=3*e;return this.uint8[o+0]=t,this.uint8[o+1]=i,this.float32[s+1]=r,this.float32[s+2]=n,e}}vs.prototype.bytesPerElement=12,jn(vs,"StructArrayLayout2ub2f12");class bs extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,i)}emplace(e,t,i,r){const n=3*e;return this.float32[n+0]=t,this.float32[n+1]=i,this.float32[n+2]=r,e}}bs.prototype.bytesPerElement=12,jn(bs,"StructArrayLayout3f12");class ws extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,i)}emplace(e,t,i,r){const n=3*e;return this.uint16[n+0]=t,this.uint16[n+1]=i,this.uint16[n+2]=r,e}}ws.prototype.bytesPerElement=6,jn(ws,"StructArrayLayout3ui6");class Ts extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v){const b=this.length;return this.resize(b+1),this.emplace(b,e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b){const w=30*e,T=15*e,E=60*e;return this.int16[w+0]=t,this.int16[w+1]=i,this.int16[w+2]=r,this.float32[T+2]=n,this.float32[T+3]=o,this.uint16[w+8]=s,this.uint16[w+9]=a,this.uint32[T+5]=l,this.uint32[T+6]=c,this.uint32[T+7]=h,this.uint16[w+16]=u,this.uint16[w+17]=d,this.uint16[w+18]=p,this.float32[T+10]=f,this.float32[T+11]=m,this.uint8[E+48]=_,this.uint8[E+49]=g,this.uint8[E+50]=y,this.uint32[T+13]=x,this.int16[w+28]=v,this.uint8[E+58]=b,e}}Ts.prototype.bytesPerElement=60,jn(Ts,"StructArrayLayout3i2f2ui3ul3ui2f3ub1ul1i1ub60");class Es extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I,C){const z=this.length;return this.resize(z+1),this.emplace(z,e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I,C)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I,C,z){const D=38*e,k=19*e;return this.int16[D+0]=t,this.int16[D+1]=i,this.int16[D+2]=r,this.float32[k+2]=n,this.float32[k+3]=o,this.int16[D+8]=s,this.int16[D+9]=a,this.int16[D+10]=l,this.int16[D+11]=c,this.int16[D+12]=h,this.int16[D+13]=u,this.uint16[D+14]=d,this.uint16[D+15]=p,this.uint16[D+16]=f,this.uint16[D+17]=m,this.uint16[D+18]=_,this.uint16[D+19]=g,this.uint16[D+20]=y,this.uint16[D+21]=x,this.uint16[D+22]=v,this.uint16[D+23]=b,this.uint16[D+24]=w,this.uint16[D+25]=T,this.uint16[D+26]=E,this.uint16[D+27]=S,this.uint16[D+28]=M,this.uint32[k+15]=A,this.float32[k+16]=I,this.float32[k+17]=C,this.float32[k+18]=z,e}}Es.prototype.bytesPerElement=76,jn(Es,"StructArrayLayout3i2f6i15ui1ul3f76");class Ss extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}Ss.prototype.bytesPerElement=4,jn(Ss,"StructArrayLayout1f4");class Ms extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=5*e;return this.float32[s+0]=t,this.float32[s+1]=i,this.float32[s+2]=r,this.float32[s+3]=n,this.float32[s+4]=o,e}}Ms.prototype.bytesPerElement=20,jn(Ms,"StructArrayLayout5f20");class As extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=6*e;return this.uint32[3*e+0]=t,this.uint16[o+2]=i,this.uint16[o+3]=r,this.uint16[o+4]=n,e}}As.prototype.bytesPerElement=12,jn(As,"StructArrayLayout1ul3ui12");class Is extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){const i=this.length;return this.resize(i+1),this.emplace(i,e,t)}emplace(e,t,i){const r=2*e;return this.uint16[r+0]=t,this.uint16[r+1]=i,e}}Is.prototype.bytesPerElement=4,jn(Is,"StructArrayLayout2ui4");class Cs extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}Cs.prototype.bytesPerElement=2,jn(Cs,"StructArrayLayout1ui2");class zs extends rs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){const i=this.length;return this.resize(i+1),this.emplace(i,e,t)}emplace(e,t,i){const r=2*e;return this.float32[r+0]=t,this.float32[r+1]=i,e}}zs.prototype.bytesPerElement=8,jn(zs,"StructArrayLayout2f8");class Ds extends is{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.int16[this._pos2+3]}get tileAnchorY(){return this._structArray.int16[this._pos2+4]}get x1(){return this._structArray.float32[this._pos4+3]}get y1(){return this._structArray.float32[this._pos4+4]}get x2(){return this._structArray.float32[this._pos4+5]}get y2(){return this._structArray.float32[this._pos4+6]}get padding(){return this._structArray.int16[this._pos2+14]}get featureIndex(){return this._structArray.uint32[this._pos4+8]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+18]}get bucketIndex(){return this._structArray.uint16[this._pos2+19]}}Ds.prototype.size=40;class ks extends gs{get(e){return new Ds(this,e)}}jn(ks,"CollisionBoxArray");class Ps extends is{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+8]}get numGlyphs(){return this._structArray.uint16[this._pos2+9]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+5]}get lineStartIndex(){return this._structArray.uint32[this._pos4+6]}get lineLength(){return this._structArray.uint32[this._pos4+7]}get segment(){return this._structArray.uint16[this._pos2+16]}get lowerSize(){return this._structArray.uint16[this._pos2+17]}get upperSize(){return this._structArray.uint16[this._pos2+18]}get lineOffsetX(){return this._structArray.float32[this._pos4+10]}get lineOffsetY(){return this._structArray.float32[this._pos4+11]}get writingMode(){return this._structArray.uint8[this._pos1+48]}get placedOrientation(){return this._structArray.uint8[this._pos1+49]}set placedOrientation(e){this._structArray.uint8[this._pos1+49]=e}get hidden(){return this._structArray.uint8[this._pos1+50]}set hidden(e){this._structArray.uint8[this._pos1+50]=e}get crossTileID(){return this._structArray.uint32[this._pos4+13]}set crossTileID(e){this._structArray.uint32[this._pos4+13]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+28]}get flipState(){return this._structArray.uint8[this._pos1+58]}set flipState(e){this._structArray.uint8[this._pos1+58]=e}}Ps.prototype.size=60;class Ls extends Ts{get(e){return new Ps(this,e)}}jn(Ls,"PlacedSymbolArray");class Rs extends is{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+8]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+9]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+10]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+11]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+12]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+13]}get key(){return this._structArray.uint16[this._pos2+14]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+17]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+18]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+19]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+20]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+21]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+22]}get featureIndex(){return this._structArray.uint16[this._pos2+23]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+24]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+25]}get numIconVertices(){return this._structArray.uint16[this._pos2+26]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+27]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+28]}get crossTileID(){return this._structArray.uint32[this._pos4+15]}set crossTileID(e){this._structArray.uint32[this._pos4+15]=e}get textOffset0(){return this._structArray.float32[this._pos4+16]}get textOffset1(){return this._structArray.float32[this._pos4+17]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+18]}}Rs.prototype.size=76;class Bs extends Es{get(e){return new Rs(this,e)}}jn(Bs,"SymbolInstanceArray");class Os extends Ss{getoffsetX(e){return this.float32[1*e+0]}}jn(Os,"GlyphOffsetArray");class Fs extends ss{getx(e){return this.int16[2*e+0]}gety(e){return this.int16[2*e+1]}}jn(Fs,"SymbolLineVertexArray");class Us extends is{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}get layoutVertexArrayOffset(){return this._structArray.uint16[this._pos2+4]}}Us.prototype.size=12;class Vs extends As{get(e){return new Us(this,e)}}jn(Vs,"FeatureIndexArray");class Ns extends Is{geta_centroid_pos0(e){return this.uint16[2*e+0]}geta_centroid_pos1(e){return this.uint16[2*e+1]}}jn(Ns,"FillExtrusionCentroidArray");const js=ns([{name:"a_pattern",components:4,type:"Uint16"},{name:"a_pixel_ratio",components:1,type:"Float32"}]),Gs=ns([{name:"a_dash",components:4,type:"Uint16"}]);var Zs={},$s={get exports(){return Zs},set exports(e){Zs=e}},qs={};({get exports(){return qs},set exports(e){qs=e}}).exports=function(e,t){var i,r,n,o,s,a,l,c;for(r=e.length-(i=3&e.length),n=t,s=3432918353,a=461845907,c=0;c>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<13|n>>>19))+((5*(n>>>16)&65535)<<16)&4294967295))+((58964+(o>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&e.charCodeAt(c+2))<<16;case 2:l^=(255&e.charCodeAt(c+1))<<8;case 1:n^=l=(65535&(l=(l=(65535&(l^=255&e.charCodeAt(c)))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295}return n^=e.length,n=2246822507*(65535&(n^=n>>>16))+((2246822507*(n>>>16)&65535)<<16)&4294967295,n=3266489909*(65535&(n^=n>>>13))+((3266489909*(n>>>16)&65535)<<16)&4294967295,(n^=n>>>16)>>>0};var Ws={};({get exports(){return Ws},set exports(e){Ws=e}}).exports=function(e,t){for(var i,r=e.length,n=t^r,o=0;r>=4;)i=1540483477*(65535&(i=255&e.charCodeAt(o)|(255&e.charCodeAt(++o))<<8|(255&e.charCodeAt(++o))<<16|(255&e.charCodeAt(++o))<<24))+((1540483477*(i>>>16)&65535)<<16),n=1540483477*(65535&n)+((1540483477*(n>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),r-=4,++o;switch(r){case 3:n^=(255&e.charCodeAt(o+2))<<16;case 2:n^=(255&e.charCodeAt(o+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(o)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0};var Xs=qs,Hs=Ws;$s.exports=Xs,Zs.murmur3=Xs,Zs.murmur2=Hs;class Ys{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,i,r){this.ids.push(Ks(e)),this.positions.push(t,i,r)}getPositions(e){const t=Ks(e);let i=0,r=this.ids.length-1;for(;i>1;this.ids[e]>=t?r=e:i=e+1}const n=[];for(;this.ids[i]===t;)n.push({index:this.positions[3*i],start:this.positions[3*i+1],end:this.positions[3*i+2]}),i++;return n}static serialize(e,t){const i=new Float64Array(e.ids),r=new Uint32Array(e.positions);return Js(i,r,0,i.length-1),t&&t.push(i.buffer,r.buffer),{ids:i,positions:r}}static deserialize(e){const t=new Ys;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t}}function Ks(e){const t=+e;return!isNaN(t)&&Number.MIN_SAFE_INTEGER<=t&&t<=Number.MAX_SAFE_INTEGER?t:Zs(String(e))}function Js(e,t,i,r){for(;i>1];let o=i-1,s=r+1;for(;;){do{o++}while(e[o]n);if(o>=s)break;Qs(e,o,s),Qs(t,3*o,3*s),Qs(t,3*o+1,3*s+1),Qs(t,3*o+2,3*s+2)}s-i`u_${e}`)),this.type=i}setUniform(e,t,i,r,n){t.set(e,n,r.constantOr(this.value))}getBinding(e,t){return"color"===this.type?new ra(e):new ta(e)}}class ca{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),this.pattern=null,this.pixelRatio=1}setConstantPatternPositions(e){this.pixelRatio=e.pixelRatio||1,this.pattern=e.tl.concat(e.br)}setUniform(e,t,i,r,n){const o="u_pattern"===n||"u_dash"===n?this.pattern:"u_pixel_ratio"===n?this.pixelRatio:null;o&&t.set(e,n,o)}getBinding(e,t){return"u_pattern"===t||"u_dash"===t?new ia(e):new ta(e)}}class ha{constructor(e,t,i,r){this.expression=e,this.type=i,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(e,t,i,r,n,o){const s=this.paintVertexArray.length,a=this.expression.evaluate(new No(0),t,{},n,r,o);this.paintVertexArray.resize(e),this._setPaintValue(s,e,a)}updatePaintArray(e,t,i,r,n){const o=this.expression.evaluate({zoom:0},i,r,void 0,n);this._setPaintValue(e,t,o)}_setPaintValue(e,t,i){if("color"===this.type){const r=aa(i);for(let i=e;i`u_${e}_t`)),this.type=i,this.useIntegerZoom=r,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new o}populatePaintArray(e,t,i,r,n,o){const s=this.expression.evaluate(new No(this.zoom),t,{},n,r,o),a=this.expression.evaluate(new No(this.zoom+1),t,{},n,r,o),l=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(l,e,s,a)}updatePaintArray(e,t,i,r,n){const o=this.expression.evaluate({zoom:this.zoom},i,r,void 0,n),s=this.expression.evaluate({zoom:this.zoom+1},i,r,void 0,n);this._setPaintValue(e,t,o,s)}_setPaintValue(e,t,i,r){if("color"===this.type){const n=aa(i),o=aa(r);for(let i=e;i2&&void 0!==arguments[2]?arguments[2]:()=>!0;this.binders={},this._buffers=[];const r=[];for(const n in e.paint._values){if(!i(n))continue;const o=e.paint.get(n);if(!(o instanceof Xo&&zr(o.property.specification)))continue;const s=_a(n,e.type),a=o.value,l=o.property.specification.type,c=!!o.property.useIntegerZoom,h="line-dasharray"===n||n.endsWith("pattern"),u="line-dasharray"===n&&"constant"!==e.layout.get("line-cap").value.kind;if("constant"!==a.kind||u)if("source"===a.kind||u||h){const t=xa(n,l,"source");this.binders[n]=h?new da(a,s,l,t,e.id):new ha(a,s,l,t),r.push(`/a_${n}`)}else{const e=xa(n,l,"composite");this.binders[n]=new ua(a,s,l,c,t,e),r.push(`/z_${n}`)}else this.binders[n]=h?new ca(a.value,s):new la(a.value,s,l),r.push(`/u_${n}`)}this.cacheKey=r.sort().join("")}getMaxValue(e){const t=this.binders[e];return t instanceof ha||t instanceof ua?t.maxValue:0}populatePaintArrays(e,t,i,r,n,o){for(const s in this.binders){const a=this.binders[s];(a instanceof ha||a instanceof ua||a instanceof da)&&a.populatePaintArray(e,t,i,r,n,o)}}setConstantPatternPositions(e){for(const t in this.binders){const i=this.binders[t];i instanceof ca&&i.setConstantPatternPositions(e)}}updatePaintArrays(e,t,i,r,n,o){let s=!1;for(const a in e){const l=t.getPositions(a);for(const t of l){const l=i.feature(t.index);for(const i in this.binders){const c=this.binders[i];if((c instanceof ha||c instanceof ua||c instanceof da)&&!0===c.expression.isStateDependent){const h=r.paint.get(i);c.expression=h.value,c.updatePaintArray(t.start,t.end,l,e[a],n,o),s=!0}}}}return s}defines(){const e=[];for(const t in this.binders){const i=this.binders[t];(i instanceof la||i instanceof ca)&&e.push(...i.uniformNames.map((e=>`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){const e=[];for(const t in this.binders){const i=this.binders[t];if(i instanceof ha||i instanceof ua||i instanceof da)for(let t=0;t2&&void 0!==arguments[2]?arguments[2]:()=>!0;this.programConfigurations={};for(const r of e)this.programConfigurations[r.id]=new pa(r,t,i);this.needsUpload=!1,this._featureMap=new Ys,this._bufferOffset=0}populatePaintArrays(e,t,i,r,n,o,s){for(const a in this.programConfigurations)this.programConfigurations[a].populatePaintArrays(e,t,r,n,o,s);void 0!==t.id&&this._featureMap.add(t.id,i,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,i,r,n){for(const o of i)this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(e,this._featureMap,t,o,r,n)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(const t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(const e in this.programConfigurations)this.programConfigurations[e].destroy()}}const ma={"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern","pixel_ratio"],"fill-pattern":["pattern","pixel_ratio"],"fill-extrusion-pattern":["pattern","pixel_ratio"],"line-dasharray":["dash"]};function _a(e,t){return ma[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}const ga={"line-pattern":{source:us,composite:us},"fill-pattern":{source:us,composite:us},"fill-extrusion-pattern":{source:us,composite:us},"line-dasharray":{source:ds,composite:ds}},ya={color:{source:zs,composite:hs},number:{source:Ss,composite:zs}};function xa(e,t,i){const r=ga[e];return r&&r[i]||ya[t][i]}jn(la,"ConstantBinder"),jn(ca,"PatternConstantBinder"),jn(ha,"SourceExpressionBinder"),jn(da,"PatternCompositeBinder"),jn(ua,"CompositeExpressionBinder"),jn(pa,"ProgramConfiguration",{omit:["_buffers"]}),jn(fa,"ProgramConfigurationSet");const va="-transition";class ba extends He{constructor(e,t){if(super(),this.id=e.id,this.type=e.type,this._featureFilter={filter:()=>!0,needGeometry:!1,needFeature:!1},this._filterCompiled=!1,"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&"sky"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),t.layout&&(this._unevaluatedLayout=new Wo(t.layout)),t.paint)){this._transitionablePaint=new Zo(t.paint);for(const t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(const t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ho(t.paint)}}getLayoutProperty(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};null!=t&&this._validate(Bn,`layers.${this.id}.layout.${e}`,e,t,i)||("visibility"!==e?this._unevaluatedLayout.setValue(e,t):this.visibility=t)}getPaintProperty(e){return B(e,va)?this._transitionablePaint.getTransition(e.slice(0,-va.length)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null!=t&&this._validate(Rn,`layers.${this.id}.paint.${e}`,e,t,i))return!1;if(B(e,va))return this._transitionablePaint.setTransition(e.slice(0,-va.length),t||void 0),!1;{const i=this._transitionablePaint._values[e],r=i.value.isDataDriven(),n=i.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);const o=this._transitionablePaint._values[e].value,s=o.isDataDriven(),a=B(e,"pattern")||"line-dasharray"===e;return s||r||a||this._handleOverridablePaintPropertyUpdate(e,n,o)}}_handleSpecialPaintPropertyUpdate(e){}getProgramIds(){return null}getProgramConfiguration(e){return null}_handleOverridablePaintPropertyUpdate(e,t,i){return!1}isHidden(e){return!!(this.minzoom&&e=this.maxzoom)||"none"===this.visibility}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){const e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),F(e,((e,t)=>!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length)))}_validate(e,t,i,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return(!n||!1!==n.validate)&&Fn(this,e.call(Ln,{key:t,layerType:this.type,objectKey:i,value:r,styleSpec:Ye,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isSky(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const e in this.paint._values){const t=this.paint.get(e);if(t instanceof Xo&&zr(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1}compileFilter(){this._filterCompiled||(this._featureFilter=sn(this.filter),this._filterCompiled=!0)}invalidateCompiledFilter(){this._filterCompiled=!1}dynamicFilter(){return this._featureFilter.dynamicFilter}dynamicFilterNeedsFeature(){return this._featureFilter.needFeature}}const wa=ns([{name:"a_pos",components:2,type:"Int16"}],4),Ta=ns([{name:"a_pos_3",components:3,type:"Int16"},{name:"a_pos_normal_3",components:3,type:"Int16"}]);class Ea{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.segments=e}prepareSegment(e,t,i,r){let n=this.segments[this.segments.length-1];return e>Ea.MAX_VERTEX_ARRAY_LENGTH&&N(`Max vertices per segment is ${Ea.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}`),(!n||n.vertexLength+e>Ea.MAX_VERTEX_ARRAY_LENGTH||n.sortKey!==r)&&(n={vertexOffset:t.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},void 0!==r&&(n.sortKey=r),this.segments.push(n)),n}get(){return this.segments}destroy(){for(const e of this.segments)for(const t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,i,r){return new Ea([{vertexOffset:e,primitiveOffset:t,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}Ea.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,jn(Ea,"SegmentVector");var Sa=8192;class Ma{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1]))}setNorthEast(e){return this._ne=e instanceof ic?new ic(e.lng,e.lat):ic.convert(e),this}setSouthWest(e){return this._sw=e instanceof ic?new ic(e.lng,e.lat):ic.convert(e),this}extend(e){const t=this._sw,i=this._ne;let r,n;if(e instanceof ic)r=e,n=e;else{if(!(e instanceof Ma))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(Ma.convert(e)):this.extend(ic.convert(e)):"object"==typeof e&&null!==e&&e.hasOwnProperty("lat")&&(e.hasOwnProperty("lon")||e.hasOwnProperty("lng"))?this.extend(ic.convert(e)):this;if(r=e._sw,n=e._ne,!r||!n)return this}return t||i?(t.lng=Math.min(r.lng,t.lng),t.lat=Math.min(r.lat,t.lat),i.lng=Math.max(n.lng,i.lng),i.lat=Math.max(n.lat,i.lat)):(this._sw=new ic(r.lng,r.lat),this._ne=new ic(n.lng,n.lat)),this}getCenter(){return new ic((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new ic(this.getWest(),this.getNorth())}getSouthEast(){return new ic(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){const{lng:t,lat:i}=ic.convert(e);let r=this._sw.lng<=t&&t<=this._ne.lng;return this._sw.lng>this._ne.lng&&(r=this._sw.lng>=t&&t>=this._ne.lng),this._sw.lat<=i&&i<=this._ne.lat&&r}static convert(e){return!e||e instanceof Ma?e:new Ma(e)}}var Aa=1e-6,Ia="undefined"!=typeof Float32Array?Float32Array:Array;function Ca(){var e=new Ia(9);return Ia!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function za(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=i[0],p=i[1],f=i[2],m=i[3],_=i[4],g=i[5],y=i[6],x=i[7],v=i[8];return e[0]=d*r+p*s+f*c,e[1]=d*n+p*a+f*h,e[2]=d*o+p*l+f*u,e[3]=m*r+_*s+g*c,e[4]=m*n+_*a+g*h,e[5]=m*o+_*l+g*u,e[6]=y*r+x*s+v*c,e[7]=y*n+x*a+v*h,e[8]=y*o+x*l+v*u,e}function Da(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ka(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=t[9],d=t[10],p=t[11],f=t[12],m=t[13],_=t[14],g=t[15],y=i*a-r*s,x=i*l-n*s,v=i*c-o*s,b=r*l-n*a,w=r*c-o*a,T=n*c-o*l,E=h*m-u*f,S=h*_-d*f,M=h*g-p*f,A=u*_-d*m,I=u*g-p*m,C=d*g-p*_,z=y*C-x*I+v*A+b*M-w*S+T*E;return z?(e[0]=(a*C-l*I+c*A)*(z=1/z),e[1]=(n*I-r*C-o*A)*z,e[2]=(m*T-_*w+g*b)*z,e[3]=(d*w-u*T-p*b)*z,e[4]=(l*M-s*C-c*S)*z,e[5]=(i*C-n*M+o*S)*z,e[6]=(_*v-f*T-g*x)*z,e[7]=(h*T-d*v+p*x)*z,e[8]=(s*I-a*M+c*E)*z,e[9]=(r*M-i*I-o*E)*z,e[10]=(f*w-m*v+g*y)*z,e[11]=(u*v-h*w-p*y)*z,e[12]=(a*S-s*A-l*E)*z,e[13]=(i*A-r*S+n*E)*z,e[14]=(m*x-f*b-_*y)*z,e[15]=(h*b-u*x+d*y)*z,e):null}function Pa(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=t[9],p=t[10],f=t[11],m=t[12],_=t[13],g=t[14],y=t[15],x=i[0],v=i[1],b=i[2],w=i[3];return e[0]=x*r+v*a+b*u+w*m,e[1]=x*n+v*l+b*d+w*_,e[2]=x*o+v*c+b*p+w*g,e[3]=x*s+v*h+b*f+w*y,e[4]=(x=i[4])*r+(v=i[5])*a+(b=i[6])*u+(w=i[7])*m,e[5]=x*n+v*l+b*d+w*_,e[6]=x*o+v*c+b*p+w*g,e[7]=x*s+v*h+b*f+w*y,e[8]=(x=i[8])*r+(v=i[9])*a+(b=i[10])*u+(w=i[11])*m,e[9]=x*n+v*l+b*d+w*_,e[10]=x*o+v*c+b*p+w*g,e[11]=x*s+v*h+b*f+w*y,e[12]=(x=i[12])*r+(v=i[13])*a+(b=i[14])*u+(w=i[15])*m,e[13]=x*n+v*l+b*d+w*_,e[14]=x*o+v*c+b*p+w*g,e[15]=x*s+v*h+b*f+w*y,e}function La(e,t,i){var r,n,o,s,a,l,c,h,u,d,p,f,m=i[0],_=i[1],g=i[2];return t===e?(e[12]=t[0]*m+t[4]*_+t[8]*g+t[12],e[13]=t[1]*m+t[5]*_+t[9]*g+t[13],e[14]=t[2]*m+t[6]*_+t[10]*g+t[14],e[15]=t[3]*m+t[7]*_+t[11]*g+t[15]):(n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=t[9],p=t[10],f=t[11],e[0]=r=t[0],e[1]=n,e[2]=o,e[3]=s,e[4]=a,e[5]=l,e[6]=c,e[7]=h,e[8]=u,e[9]=d,e[10]=p,e[11]=f,e[12]=r*m+a*_+u*g+t[12],e[13]=n*m+l*_+d*g+t[13],e[14]=o*m+c*_+p*g+t[14],e[15]=s*m+h*_+f*g+t[15]),e}function Ra(e,t,i){var r=i[0],n=i[1],o=i[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Ba(e,t,i){var r=Math.sin(i),n=Math.cos(i),o=t[4],s=t[5],a=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=o*n+c*r,e[5]=s*n+h*r,e[6]=a*n+u*r,e[7]=l*n+d*r,e[8]=c*n-o*r,e[9]=h*n-s*r,e[10]=u*n-a*r,e[11]=d*n-l*r,e}function Oa(e,t,i){var r=Math.sin(i),n=Math.cos(i),o=t[0],s=t[1],a=t[2],l=t[3],c=t[8],h=t[9],u=t[10],d=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*n-c*r,e[1]=s*n-h*r,e[2]=a*n-u*r,e[3]=l*n-d*r,e[8]=o*r+c*n,e[9]=s*r+h*n,e[10]=a*r+u*n,e[11]=l*r+d*n,e}function Fa(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ua(e,t,i){var r,n,o,s=i[0],a=i[1],l=i[2],c=Math.hypot(s,a,l);return c0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e}function Qa(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function el(e,t,i){var r=t[0],n=t[1],o=t[2],s=i[0],a=i[1],l=i[2];return e[0]=n*l-o*a,e[1]=o*s-r*l,e[2]=r*a-n*s,e}function tl(e,t,i){var r=t[0],n=t[1],o=t[2],s=i[3]*r+i[7]*n+i[11]*o+i[15];return e[0]=(i[0]*r+i[4]*n+i[8]*o+i[12])/(s=s||1),e[1]=(i[1]*r+i[5]*n+i[9]*o+i[13])/s,e[2]=(i[2]*r+i[6]*n+i[10]*o+i[14])/s,e}function il(e,t,i){var r=i[0],n=i[1],o=i[2],s=t[0],a=t[1],l=t[2],c=n*l-o*a,h=o*s-r*l,u=r*a-n*s,d=n*u-o*h,p=o*c-r*u,f=r*h-n*c,m=2*i[3];return h*=m,u*=m,p*=2,f*=2,e[0]=s+(c*=m)+(d*=2),e[1]=a+h+p,e[2]=l+u+f,e}var rl,nl=qa,ol=Wa,sl=Ga;function al(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e}function ll(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i*i+r*r+n*n+o*o;return s>0&&(s=1/Math.sqrt(s)),e[0]=i*s,e[1]=r*s,e[2]=n*s,e[3]=o*s,e}function cl(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3];return e[0]=i[0]*r+i[4]*n+i[8]*o+i[12]*s,e[1]=i[1]*r+i[5]*n+i[9]*o+i[13]*s,e[2]=i[2]*r+i[6]*n+i[10]*o+i[14]*s,e[3]=i[3]*r+i[7]*n+i[11]*o+i[15]*s,e}function hl(){var e=new Ia(4);return Ia!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function ul(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function dl(e,t,i){i*=.5;var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l+s*a,e[1]=n*l+o*a,e[2]=o*l-n*a,e[3]=s*l-r*a,e}function pl(e,t,i){i*=.5;var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l-o*a,e[1]=n*l+s*a,e[2]=o*l+r*a,e[3]=s*l-n*a,e}Na(),rl=new Ia(4),Ia!=Float32Array&&(rl[0]=0,rl[1]=0,rl[2]=0,rl[3]=0);var fl=ll;Na(),Za(1,0,0),Za(0,1,0),hl(),hl(),Ca();const ml=ns([{type:"Float32",name:"a_globe_pos",components:3},{type:"Float32",name:"a_uv",components:2}]),{members:_l}=ml,gl=ns([{name:"a_pos_3",components:3,type:"Int16"}]);var yl=ns([{name:"a_pos",type:"Int16",components:2}]);class xl{constructor(e,t){this.pos=e,this.dir=t}intersectsPlane(e,t,i){const r=Qa(t,this.dir);if(Math.abs(r)<1e-6)return!1;const n=((e[0]-this.pos[0])*t[0]+(e[1]-this.pos[1])*t[1]+(e[2]-this.pos[2])*t[2])/r;return i[0]=this.pos[0]+this.dir[0]*n,i[1]=this.pos[1]+this.dir[1]*n,i[2]=this.pos[2]+this.dir[2]*n,!0}closestPointOnSphere(e,t,i){if(function(e,t){var i=e[0],r=e[1],n=e[2],o=t[0],s=t[1],a=t[2];return Math.abs(i-o)<=Aa*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(r-s)<=Aa*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-a)<=Aa*Math.max(1,Math.abs(n),Math.abs(a))}(this.pos,e)||0===t)return i[0]=i[1]=i[2]=0,!1;const[r,n,o]=this.dir,s=this.pos[0]-e[0],a=this.pos[1]-e[1],l=this.pos[2]-e[2],c=r*r+n*n+o*o,h=2*(s*r+a*n+l*o),u=h*h-4*c*(s*s+a*a+l*l-t*t);if(u<0){const e=Math.max(-h/2,0),c=s+r*e,u=a+n*e,d=l+o*e,p=Math.hypot(c,u,d);return i[0]=c*t/p,i[1]=u*t/p,i[2]=d*t/p,!1}{const e=(-h-Math.sqrt(u))/(2*c);if(e<0){const e=Math.hypot(s,a,l);return i[0]=s*t/e,i[1]=a*t/e,i[2]=l*t/e,!1}return i[0]=s+r*e,i[1]=a+n*e,i[2]=l+o*e,!0}}}class vl{constructor(e,t,i,r,n){this.TL=e,this.TR=t,this.BR=i,this.BL=r,this.horizon=n}static fromInvProjectionMatrix(e,t,i){const r=[-1,1,1],n=[1,1,1],o=[1,-1,1],s=[-1,-1,1],a=tl(r,r,e),l=tl(n,n,e),c=tl(o,o,e),h=tl(s,s,e);return new vl(a,l,c,h,t/i)}}class bl{constructor(e,t){this.points=e,this.planes=t}static fromInvProjectionMatrix(e,t,i,r){const n=Math.pow(2,i),o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((i=>{const o=cl([],i,e),s=1/o[3]/t*n;return function(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e[2]=t[2]*i[2],e[3]=t[3]*i[3],e}(o,o,[s,s,r?1/o[3]:s,s])})),s=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{const t=Ja([],el([],nl([],o[e[0]],o[e[1]]),nl([],o[e[2]],o[e[1]]))),i=-Qa(t,o[e[1]]);return t.concat(i)}));return new bl(o,s)}}class wl{static fromPoints(e){const t=[1/0,1/0,1/0],i=[-1/0,-1/0,-1/0];for(const r of e)Xa(t,t,r),Ha(i,i,r);return new wl(t,i)}static applyTransform(e,t){const i=e.getCorners();for(let r=0;r=0;if(0===o)return 0;o!==t.length&&(i=!1)}if(i)return 2;for(let r=0;r<3;r++){let t=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let n=0;nthis.max[r]-this.min[r])return 0}return 1}}const Tl=Sa/Math.PI/2,El=64,Sl=[El,32,16],Ml=-Tl,Al=Tl,Il=[new wl([Ml,Ml,Ml],[Al,Al,Al]),new wl([Ml,Ml,Ml],[0,0,Al]),new wl([0,Ml,Ml],[Al,0,Al]),new wl([Ml,0,Ml],[0,Al,Al]),new wl([0,0,Ml],[Al,Al,Al])];function Cl(e){return e*Tl/ec}function zl(e,t,i){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const n=Ya([],e._camera.position,e.worldSize),o=[t,i,1,1];cl(o,o,e.pixelMatrixInverse),al(o,o,1/o[3]);const s=Ja([],nl([],o,n)),a=e.globeMatrix,l=[a[12],a[13],a[14]],c=nl([],l,n),h=Ga(c),u=Ja([],c),d=e.worldSize/(2*Math.PI),p=Qa(u,s),f=Math.asin(d/h);if(f1?null:function(e,t,i,r){const n=Math.sin(i);return e*(Math.sin((1-r)*i)/n)+t*(Math.sin(r*i)/n)}(e.a[t],e.b[t],e.angle,E(i,0,1))+e.center[t]}function Pl(e){if(e.z<=1)return Il[e.z+2*e.y+e.x];const t=Ul(Fl(e));return wl.fromPoints(t)}function Ll(e,t,i){return Ya(e,e,1-i),Ka(e,e,t,i)}function Rl(e,t){const i=Xl(t.zoom);if(0===i)return Pl(e);const r=Fl(e),n=Ul(r),o=nc(r.getWest())*t.worldSize,s=nc(r.getEast())*t.worldSize,a=oc(r.getNorth())*t.worldSize,l=oc(r.getSouth())*t.worldSize,c=[o,a,0],h=[s,a,0],u=[o,l,0],d=[s,l,0],p=ka([],t.globeMatrix);return tl(c,c,p),tl(h,h,p),tl(u,u,p),tl(d,d,p),n[0]=Ll(n[0],u,i),n[1]=Ll(n[1],d,i),n[2]=Ll(n[2],h,i),n[3]=Ll(n[3],c,i),wl.fromPoints(n)}function Bl(e,t,i){for(const r of e)tl(r,r,t),Ya(r,r,i)}function Ol(e,t,i){const r=t/e.worldSize,n=e.globeMatrix;if(i.z<=1){const e=Pl(i).getCorners();return Bl(e,n,r),wl.fromPoints(e)}const o=Fl(i),s=Ul(o);Bl(s,n,r);const a=Number.MAX_VALUE,l=[-a,-a,-a],c=[a,a,a];if(o.contains(e.center)){for(const e of s)Xa(c,c,e),Ha(l,l,e);l[2]=0;const t=e.point,i=[t.x*r,t.y*r,0];return Xa(c,c,i),Ha(l,l,i),new wl(c,l)}const h=[n[12]*r,n[13]*r,n[14]*r],u=o.getCenter(),d=E(e.center.lat,-hc,hc),p=E(u.lat,-hc,hc),f=nc(e.center.lng),m=oc(d);let _=f-nc(u.lng);const g=m-oc(p);_>.5?_-=1:_<-.5&&(_+=1);let x=0;Math.abs(_)>Math.abs(g)?x=_>=0?1:3:(x=g>=0?0:2,Ka(h,h,[n[4]*r,n[5]*r,n[6]*r],-Math.sin(y(g>=0?o.getSouth():o.getNorth()))*Tl));const v=s[x],b=s[(x+1)%4],w=new Dl(v,b,h),T=[kl(w,0)||v[0],kl(w,1)||v[1],kl(w,2)||v[2]],S=Xl(e.zoom);if(S>0){const r=function(e,t,i,r,n){let{x:o,y:s,z:a}=e;const l=1/(1<.5?p=-1:f<-.5&&(p=1),c=((c+p)*t-(r*=t))*i+r,h=((h+p)*t-r)*i+r,u=(u*t-(n*=t))*i+n,d=(d*t-n)*i+n,[[c,d,0],[h,d,0],[h,u,0],[c,u,0]]}(i,t,e._pixelsPerMercatorPixel,f,m);for(let e=0;e3&&void 0!==arguments[3]?arguments[3]:Tl;return i=y(i),[e*Math.sin(i)*r,-t*r,e*Math.cos(i)*r]}function Nl(e,t,i){return Vl(Math.cos(y(e)),Math.sin(y(e)),t,i)}function jl(e,t,i,r){const n=1<Math.PI/2*1.01}const Kl=y(85),Jl=Math.cos(Kl),Ql=Math.sin(Kl),ec=6371008.8,tc=2*Math.PI*ec;class ic{constructor(e,t){if(isNaN(e)||isNaN(t))throw new Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new ic(M(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){const t=Math.PI/180,i=this.lat*t,r=e.lat*t,n=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return ec*Math.acos(Math.min(n,1))}toBounds(){const e=360*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)/40075017,t=e/Math.cos(Math.PI/180*this.lat);return new Ma(new ic(this.lng-t,this.lat-e),new ic(this.lng+t,this.lat+e))}toEcef(e){const t=Cl(e);return Nl(this.lat,this.lng,Tl+t)}static convert(e){if(e instanceof ic)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new ic(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new ic(Number("lng"in e?e.lng:e.lon),Number(e.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}function rc(e){return tc*Math.cos(e*Math.PI/180)}function nc(e){return(180+e)/360}function oc(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function sc(e,t){return e/rc(t)}function ac(e){return 360*e-180}function lc(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}function cc(e,t){return e*rc(lc(t))}const hc=85.051129;function uc(e){return 1/Math.cos(e*Math.PI/180)}class dc{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;this.x=+e,this.y=+t,this.z=+i}static fromLngLat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const i=ic.convert(e);return new dc(nc(i.lng),oc(i.lat),sc(t,i.lat))}toLngLat(){return new ic(ac(this.x),lc(this.y))}toAltitude(){return cc(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/tc*uc(lc(this.y))}}function pc(e,t,i,r,n,o,s,a,l){const c=(t+r)/2,h=(i+n)/2,u=new f(c,h);a(u),function(e,t,i,r,n,o){const s=i-n,a=r-o;return Math.abs((r-t)*s-(i-e)*a)/Math.hypot(s,a)}(u.x,u.y,o.x,o.y,s.x,s.y)>=l?(pc(e,t,i,c,h,o,u,a,l),pc(e,c,h,r,n,u,s,a,l)):e.push(s)}function fc(e,t,i){let r=e[0],n=r.x,o=r.y;t(r);const s=[r];for(let a=1;ae.x+1||re.y+1)&&N("Geometry exceeds allowed extent, reduce your vector tile buffer size"),e}function vc(e,t,i){const r=e.loadGeometry(),n=e.extent,o=Sa/n;if(t&&i&&i.projection.isReprojectedInTileSpace){const o=1<{const i=ac((t.x+e.x/n)/o),r=lc((t.y+e.y/n)/o),h=c.project(i,r);e.x=(h.x*s-a)*n,e.y=(h.y*s-l)*n};for(let t=0;t=n||i.y<0||i.y>=n||(h(i),e.push(i));r[t]=e}}for(const s of r)for(const e of s)xc(e,o);return r}function bc(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?vc(e):[]}}function wc(e,t,i,r,n){e.emplaceBack(2*t+(r+1)/2,2*i+(n+1)/2)}function Tc(e,t,i){const r=16384;e.emplaceBack(t.x,t.y,t.z,i[0]*r,i[1]*r,i[2]*r)}class Ec{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.projection=e.projection,this.layoutVertexArray=new ss,this.indexArray=new ws,this.segments=new Ea,this.programConfigurations=new fa(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,i,r){const n=this.layers[0],o=[];let s=null;"circle"===n.type&&(s=n.layout.get("circle-sort-key"));for(const{feature:l,id:c,index:h,sourceLayerIndex:u}of e){const e=this.layers[0]._featureFilter.needGeometry,t=bc(l,e);if(!this.layers[0]._featureFilter.filter(new No(this.zoom),t,i))continue;const n=s?s.evaluate(t,{},i):void 0,a={id:c,properties:l.properties,type:l.type,sourceLayerIndex:u,index:h,geometry:e?t.geometry:vc(l,i,r),patterns:{},sortKey:n};o.push(a)}s&&o.sort(((e,t)=>e.sortKey-t.sortKey));let a=null;"globe"===r.projection.name&&(this.globeExtVertexArray=new ps,a=r.projection);for(const l of o){const{geometry:r,index:n,sourceLayerIndex:o}=l,s=e[n].feature;this.addFeature(l,r,n,t.availableImages,i,a),t.featureIndex.insert(s,r,n,o,this.index)}}update(e,t,i,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,i,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,wa.members),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.globeExtVertexArray&&(this.globeExtVertexBuffer=e.createVertexBuffer(this.globeExtVertexArray,Ta.members))),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}addFeature(e,t,i,r,n,o){for(const s of t)for(const t of s){const i=t.x,r=t.y;if(i<0||i>=Sa||r<0||r>=Sa)continue;if(o){const e=o.projectTilePoint(i,r,n),t=o.upVector(n,i,r),s=this.globeExtVertexArray;Tc(s,e,t),Tc(s,e,t),Tc(s,e,t),Tc(s,e,t)}const s=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),a=s.vertexLength;wc(this.layoutVertexArray,i,r,-1,-1),wc(this.layoutVertexArray,i,r,1,-1),wc(this.layoutVertexArray,i,r,1,1),wc(this.layoutVertexArray,i,r,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+2,a+3),s.vertexLength+=4,s.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,i,{},r,n)}}function Sc(e,t){for(let i=0;i1){if(Cc(e,t))return!0;for(let r=0;r1?i:i.sub(t)._mult(n)._add(t))}function Pc(e,t){let i,r,n,o=!1;for(let s=0;st.y!=n.y>t.y&&t.x<(n.x-r.x)*(t.y-r.y)/(n.y-r.y)+r.x&&(o=!o)}return o}function Lc(e,t){let i=!1;for(let r=0,n=e.length-1;rt.y!=s.y>t.y&&t.x<(s.x-o.x)*(t.y-o.y)/(s.y-o.y)+o.x&&(i=!i)}return i}function Rc(e,t,i,r,n){for(const s of e)if(t<=s.x&&i<=s.y&&r>=s.x&&n>=s.y)return!0;const o=[new f(t,i),new f(t,n),new f(r,n),new f(r,i)];if(e.length>2)for(const s of o)if(Lc(e,s))return!0;for(let s=0;sn.x&&t.x>n.x||e.yn.y&&t.y>n.y)return!1;const o=j(e,t,i[0]);return o!==j(e,t,i[1])||o!==j(e,t,i[2])||o!==j(e,t,i[3])}function Oc(e,t,i){const r=t.paint.get(e).value;return"constant"===r.kind?r.value:i.programConfigurations.get(t.id).getMaxValue(e)}function Fc(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function Uc(e,t,i,r,n){if(!t[0]&&!t[1])return e;const o=f.convert(t)._mult(n);"viewport"===i&&o._rotate(-r);const s=[];for(let a=0;a0){const e=i.projection.upVector(c,u.x,u.y);p.x+=e[0]*h*d,p.y+=e[1]*h*d,p.z+=e[2]*h*d}const f=o?u:Zc(p.x,p.y,p.z,r),m=o?e.tilespaceRays.map((e=>Wc(e,d))):e.queryGeometry.screenGeometry,_=cl([],[p.x,p.y,p.z,1],r);if(!s&&o?l*=_[3]/i.cameraToCenterDistance:s&&!o&&(l*=i.cameraToCenterDistance/_[3]),o){const e=lc((t.y/Sa+c.y)/(1<e.width||n.height>e.height||i.x>e.width-n.width||i.y>e.height-n.height)throw new RangeError("out of range source coordinates for image copy");if(n.width>t.width||n.height>t.height||r.x>t.width-n.width||r.y>t.height-n.height)throw new RangeError("out of range destination coordinates for image copy");const s=e.data,a=t.data;for(let l=0;l{t[e.evaluationKey]=o;const s=e.expression.evaluate(t);n.data[i+r+0]=Math.floor(255*s.r/s.a),n.data[i+r+1]=Math.floor(255*s.g/s.a),n.data[i+r+2]=Math.floor(255*s.b/s.a),n.data[i+r+3]=Math.floor(255*s.a)};if(e.clips)for(let s=0,a=0;s80*i){r=o=e[0],n=s=e[1];for(var f=i;fo&&(o=a),l>s&&(s=l);c=0!==(c=Math.max(o-r,s-n))?32767/c:0}return ch(d,p,i,r,n,c,0),p}function ah(e,t,i,r,n){var o,s;if(n===Dh(e,t,i,r)>0)for(o=t;o=t;o-=r)s=Ih(o,e[o],e[o+1],s);return s&&wh(s,s.next)&&(Ch(s),s=s.next),s}function lh(e,t){if(!e)return e;t||(t=e);var i,r=e;do{if(i=!1,r.steiner||!wh(r,r.next)&&0!==bh(r.prev,r,r.next))r=r.next;else{if(Ch(r),(r=t=r.prev)===r.next)break;i=!0}}while(i||r!==t);return t}function ch(e,t,i,r,n,o,s){if(e){!s&&o&&function(e,t,i,r){var n=e;do{0===n.z&&(n.z=gh(n.x,n.y,t,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==e);n.prevZ.nextZ=null,n.prevZ=null,function(e){var t,i,r,n,o,s,a,l,c=1;do{for(i=e,e=null,o=null,s=0;i;){for(s++,r=i,a=0,t=0;t0||l>0&&r;)0!==a&&(0===l||!r||i.z<=r.z)?(n=i,i=i.nextZ,a--):(n=r,r=r.nextZ,l--),o?o.nextZ=n:e=n,n.prevZ=o,o=n;i=r}o.nextZ=null,c*=2}while(s>1)}(n)}(e,r,n,o);for(var a,l,c=e;e.prev!==e.next;)if(a=e.prev,l=e.next,o?uh(e,r,n,o):hh(e))t.push(a.i/i|0),t.push(e.i/i|0),t.push(l.i/i|0),Ch(e),e=l.next,c=l.next;else if((e=l)===c){s?1===s?ch(e=dh(lh(e),t,i),t,i,r,n,o,2):2===s&&ph(e,t,i,r,n,o):ch(lh(e),t,i,r,n,o,1);break}}}function hh(e){var t=e.prev,i=e,r=e.next;if(bh(t,i,r)>=0)return!1;for(var n=t.x,o=i.x,s=r.x,a=t.y,l=i.y,c=r.y,h=no?n>s?n:s:o>s?o:s,p=a>l?a>c?a:c:l>c?l:c,f=r.next;f!==t;){if(f.x>=h&&f.x<=d&&f.y>=u&&f.y<=p&&xh(n,a,o,l,s,c,f.x,f.y)&&bh(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function uh(e,t,i,r){var n=e.prev,o=e,s=e.next;if(bh(n,o,s)>=0)return!1;for(var a=n.x,l=o.x,c=s.x,h=n.y,u=o.y,d=s.y,p=al?a>c?a:c:l>c?l:c,_=h>u?h>d?h:d:u>d?u:d,g=gh(p,f,t,i,r),y=gh(m,_,t,i,r),x=e.prevZ,v=e.nextZ;x&&x.z>=g&&v&&v.z<=y;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=_&&x!==n&&x!==s&&xh(a,h,l,u,c,d,x.x,x.y)&&bh(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,v.x>=p&&v.x<=m&&v.y>=f&&v.y<=_&&v!==n&&v!==s&&xh(a,h,l,u,c,d,v.x,v.y)&&bh(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;x&&x.z>=g;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=_&&x!==n&&x!==s&&xh(a,h,l,u,c,d,x.x,x.y)&&bh(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;v&&v.z<=y;){if(v.x>=p&&v.x<=m&&v.y>=f&&v.y<=_&&v!==n&&v!==s&&xh(a,h,l,u,c,d,v.x,v.y)&&bh(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function dh(e,t,i){var r=e;do{var n=r.prev,o=r.next.next;!wh(n,o)&&Th(n,r,r.next,o)&&Mh(n,o)&&Mh(o,n)&&(t.push(n.i/i|0),t.push(r.i/i|0),t.push(o.i/i|0),Ch(r),Ch(r.next),r=e=o),r=r.next}while(r!==e);return lh(r)}function ph(e,t,i,r,n,o){var s=e;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&vh(s,a)){var l=Ah(s,a);return s=lh(s,s.next),l=lh(l,l.next),ch(s,t,i,r,n,o,0),void ch(l,t,i,r,n,o,0)}a=a.next}s=s.next}while(s!==e)}function fh(e,t){return e.x-t.x}function mh(e,t){var i=function(e,t){var i,r=t,n=e.x,o=e.y,s=-1/0;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){var a=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(a<=n&&a>s&&(s=a,i=r.x=r.x&&r.x>=h&&n!==r.x&&xh(oi.x||r.x===i.x&&_h(i,r)))&&(i=r,d=l)),r=r.next}while(r!==c);return i}(e,t);if(!i)return t;var r=Ah(i,e);return lh(r,r.next),lh(i,i.next)}function _h(e,t){return bh(e.prev,e,t.prev)<0&&bh(t.next,e,e.next)<0}function gh(e,t,i,r,n){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-i)*n|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*n|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function yh(e){var t=e,i=e;do{(t.x=(e-s)*(o-a)&&(e-s)*(r-a)>=(i-s)*(t-a)&&(i-s)*(o-a)>=(n-s)*(r-a)}function vh(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var i=e;do{if(i.i!==e.i&&i.next.i!==e.i&&i.i!==t.i&&i.next.i!==t.i&&Th(i,i.next,e,t))return!0;i=i.next}while(i!==e);return!1}(e,t)&&(Mh(e,t)&&Mh(t,e)&&function(e,t){var i=e,r=!1,n=(e.x+t.x)/2,o=(e.y+t.y)/2;do{i.y>o!=i.next.y>o&&i.next.y!==i.y&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next}while(i!==e);return r}(e,t)&&(bh(e.prev,e,t.prev)||bh(e,t.prev,t))||wh(e,t)&&bh(e.prev,e,e.next)>0&&bh(t.prev,t,t.next)>0)}function bh(e,t,i){return(t.y-e.y)*(i.x-t.x)-(t.x-e.x)*(i.y-t.y)}function wh(e,t){return e.x===t.x&&e.y===t.y}function Th(e,t,i,r){var n=Sh(bh(e,t,i)),o=Sh(bh(e,t,r)),s=Sh(bh(i,r,e)),a=Sh(bh(i,r,t));return n!==o&&s!==a||!(0!==n||!Eh(e,i,t))||!(0!==o||!Eh(e,r,t))||!(0!==s||!Eh(i,e,r))||!(0!==a||!Eh(i,t,r))}function Eh(e,t,i){return t.x<=Math.max(e.x,i.x)&&t.x>=Math.min(e.x,i.x)&&t.y<=Math.max(e.y,i.y)&&t.y>=Math.min(e.y,i.y)}function Sh(e){return e>0?1:e<0?-1:0}function Mh(e,t){return bh(e.prev,e,e.next)<0?bh(e,t,e.next)>=0&&bh(e,e.prev,t)>=0:bh(e,t,e.prev)<0||bh(e,e.next,t)<0}function Ah(e,t){var i=new zh(e.i,e.x,e.y),r=new zh(t.i,t.x,t.y),n=e.next,o=t.prev;return e.next=t,t.prev=e,i.next=n,n.prev=i,r.next=i,i.prev=r,o.next=r,r.prev=o,r}function Ih(e,t,i,r){var n=new zh(e,t,i);return r?(n.next=r.next,n.prev=r,r.next.prev=n,r.next=n):(n.prev=n,n.next=n),n}function Ch(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function zh(e,t,i){this.i=e,this.x=t,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Dh(e,t,i,r){for(var n=0,o=t,s=i-r;oi;){if(r-i>600){var o=r-i+1,s=t-i+1,a=Math.log(o),l=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*l*(o-l)/o)*(s-o/2<0?-1:1);Ph(e,t,Math.max(i,Math.floor(t-s*l/o+c)),Math.min(r,Math.floor(t+(o-s)*l/o+c)),n)}var h=e[t],u=i,d=r;for(Lh(e,i,t),n(e[r],h)>0&&Lh(e,i,r);u0;)d--}0===n(e[i],h)?Lh(e,i,d):Lh(e,++d,r),d<=t&&(i=d+1),t<=d&&(r=d-1)}}function Lh(e,t,i){var r=e[t];e[t]=e[i],e[i]=r}function Rh(e,t){return et?1:0}function Bh(e,t){const i=e.length;if(i<=1)return[e];const r=[];let n,o;for(let s=0;s1)for(let s=0;s0&&i.holes.push(r+=e[n-1].length)}return i};class Vh{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ss,this.indexArray=new ws,this.indexArray2=new Is,this.programConfigurations=new fa(e.layers,e.zoom),this.segments=new Ea,this.segments2=new Ea,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.projection=e.projection}populate(e,t,i,r){this.hasPattern=Fh("fill",this.layers,t);const n=this.layers[0].layout.get("fill-sort-key"),o=[];for(const{feature:s,id:a,index:l,sourceLayerIndex:c}of e){const e=this.layers[0]._featureFilter.needGeometry,h=bc(s,e);if(!this.layers[0]._featureFilter.filter(new No(this.zoom),h,i))continue;const u=n?n.evaluate(h,{},i,t.availableImages):void 0,d={id:a,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:e?h.geometry:vc(s,i,r),patterns:{},sortKey:u};o.push(d)}n&&o.sort(((e,t)=>e.sortKey-t.sortKey));for(const s of o){const{geometry:r,index:n,sourceLayerIndex:o}=s;if(this.hasPattern){const e=Uh("fill",this.layers,s,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(s,r,n,i,{},t.availableImages);t.featureIndex.insert(e[n].feature,r,n,o,this.index)}}update(e,t,i,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,i,r)}addFeatures(e,t,i,r,n){for(const o of this.patternFeatures)this.addFeature(o,o.geometry,o.index,t,i,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,nh),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,i,r,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];for(const s of Bh(t,500)){let e=0;for(const a of s)e+=a.length;const t=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),i=t.vertexLength,r=[],n=[];for(const a of s){if(0===a.length)continue;a!==s[0]&&n.push(r.length/2);const e=this.segments2.prepareSegment(a.length,this.layoutVertexArray,this.indexArray2),t=e.vertexLength;this.layoutVertexArray.emplaceBack(a[0].x,a[0].y),this.indexArray2.emplaceBack(t+a.length-1,t),r.push(a[0].x),r.push(a[0].y);for(let i=1;i>3}if(n--,1===r||2===r)o+=e.readSVarint(),s+=e.readSVarint(),1===r&&(t&&a.push(t),t=[]),t.push(new Xh(o,s));else{if(7!==r)throw new Error("unknown command "+r);t&&t.push(t[0].clone())}}return t&&a.push(t),a},Yh.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,i=1,r=0,n=0,o=0,s=1/0,a=-1/0,l=1/0,c=-1/0;e.pos>3}if(r--,1===i||2===i)(n+=e.readSVarint())a&&(a=n),(o+=e.readSVarint())c&&(c=o);else if(7!==i)throw new Error("unknown command "+i)}return[s,l,a,c]},Yh.prototype.toGeoJSON=function(e,t,i){var r,n,o=this.extent*Math.pow(2,i),s=this.extent*e,a=this.extent*t,l=this.loadGeometry(),c=Yh.types[this.type];function h(e){for(var t=0;t>3;t=1===r?e.readString():2===r?e.readFloat():3===r?e.readDouble():4===r?e.readVarint64():5===r?e.readVarint():6===r?e.readSVarint():7===r?e.readBoolean():null}return t}(i))}tu.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Qh(this._pbf,t,this.extent,this._keys,this._values)};var ru=eu;function nu(e,t,i){if(3===e){var r=new ru(i,i.readVarint()+i.pos);r.length&&(t[r.name]=r)}}var ou=Wh.VectorTile=function(e,t){this.layers=e.readFields(nu,{},t)},su=Wh.VectorTileFeature=Hh;function au(e,t,i,r){const n=[],o=0===r?(e,t,i,r,n,o)=>{e.push(new f(o,i+(o-t)/(r-t)*(n-i)))}:(e,t,i,r,n,o)=>{e.push(new f(t+(o-i)/(n-i)*(r-t),o))};for(const s of e){const e=[];for(const n of s){if(n.length<=2)continue;const s=[];for(let e=0;et&&o(s,a,l,c,h,t):u>i?d=t&&o(s,a,l,c,h,t),d>i&&u<=i&&o(s,a,l,c,h,i)}let a=n[n.length-1];const l=0===r?a.x:a.y;l>=t&&l<=i&&s.push(a),s.length&&(a=s[s.length-1],s[0].x===a.x&&s[0].y===a.y||s.push(s[0]),e.push(s))}e.length&&n.push(e)}return n}Wh.VectorTileLayer=eu;const lu=su.types,cu=Math.pow(2,13);function hu(e,t,i,r,n,o,s,a){e.emplaceBack((t<<1)+s,(i<<1)+o,(Math.floor(r*cu)<<1)+n,Math.round(a))}function uu(e,t,i){const r=16384;e.emplaceBack(t.x,t.y,t.z,i[0]*r,i[1]*r,i[2]*r)}class du{constructor(){this.acc=new f(0,0),this.polyCount=[]}startRing(e){this.currentPolyCount={edges:0,top:0},this.polyCount.push(this.currentPolyCount),this.min||(this.min=new f(e.x,e.y),this.max=new f(e.x,e.y))}append(e,t){this.currentPolyCount.edges++,this.acc._add(e);const i=this.min,r=this.max;e.xr.x&&(r.x=e.x),e.yr.y&&(r.y=e.y),((0===e.x||e.x===Sa)&&e.x===t.x)!=((0===e.y||e.y===Sa)&&e.y===t.y)&&this.processBorderOverlap(e,t),t.x<0!=e.x<0&&this.addBorderIntersection(0,Ai(t.y,e.y,(0-t.x)/(e.x-t.x))),t.x>Sa!=e.x>Sa&&this.addBorderIntersection(1,Ai(t.y,e.y,(Sa-t.x)/(e.x-t.x))),t.y<0!=e.y<0&&this.addBorderIntersection(2,Ai(t.x,e.x,(0-t.y)/(e.y-t.y))),t.y>Sa!=e.y>Sa&&this.addBorderIntersection(3,Ai(t.x,e.x,(Sa-t.y)/(e.y-t.y)))}addBorderIntersection(e,t){this.borders||(this.borders=[[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE]]);const i=this.borders[e];ti[1]&&(i[1]=t)}processBorderOverlap(e,t){if(e.x===t.x){if(e.y===t.y)return;const i=0===e.x?0:1;this.addBorderIntersection(i,t.y),this.addBorderIntersection(i,e.y)}else{const i=0===e.y?2:3;this.addBorderIntersection(i,t.x),this.addBorderIntersection(i,e.x)}}centroid(){const e=this.polyCount.reduce(((e,t)=>e+t.edges),0);return 0!==e?this.acc.div(e)._round():new f(0,0)}span(){return new f(this.max.x-this.min.x,this.max.y-this.min.y)}intersectsCount(){return this.borders.reduce(((e,t)=>e+ +(t[0]!==Number.MAX_VALUE)),0)}}class pu{constructor(e){this.zoom=e.zoom,this.canonical=e.canonical,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.edgeRadius=0,this.projection=e.projection,this.layoutVertexArray=new ls,this.centroidVertexArray=new Ns,this.indexArray=new ws,this.programConfigurations=new fa(e.layers,e.zoom),this.segments=new Ea,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.enableTerrain=e.enableTerrain}populate(e,t,i,r){this.features=[],this.hasPattern=Fh("fill-extrusion",this.layers,t),this.featuresOnBorder=[],this.borders=[[],[],[],[]],this.borderDoneWithNeighborZ=[-1,-1,-1,-1],this.tileToMeter=function(e){const t=Math.exp(Math.PI*(1-e.y/(1<=0;f--){const e=d[f];(0===e.length||(p=e[0]).every((e=>e.x<=0))||p.every((e=>e.x>=Sa))||p.every((e=>e.y<=0))||p.every((e=>e.y>=Sa)))&&d.splice(f,1)}var p;let m;if(c)m=bu(d,a,r);else{m=[];for(const e of d)m.push({polygon:e,bounds:a})}const _=u?this.edgeRadius:0;for(const{polygon:f,bounds:g}of m){let e=0,t=0;for(const r of f)u&&!r[0].equals(r[r.length-1])&&r.push(r[0]),t+=u?r.length-1:r.length;const i=this.segments.prepareSegment((u?5:4)*t,this.layoutVertexArray,this.indexArray);if(u){const t=[],n=[];e=i.vertexLength;for(const e of f){let o,s;e.length&&e!==f[0]&&n.push(t.length/2),o=e[1].sub(e[0])._perp()._unit();for(let n=1;n4&&yu(n[n.length-2],n[0],n[1]),d=_?mu(n[n.length-2],n[0],n[1],_):0;o=n[1].sub(n[0])._perp()._unit();let p=!0;for(let f=1,m=0;f0?1:0,E=y.dist(x);if(m+E>32768&&(m=0),_){s=v.sub(x)._perp()._unit();let e=_u(y,x,v,fu(o,s),_);isNaN(e)&&(e=0);const t=x.sub(y)._unit();y=y.add(t.mult(d))._round(),x=x.add(t.mult(-e))._round(),d=e,o=s}const S=i.vertexLength,M=n.length>4&&yu(y,x,v);let A=xu(m,a,p);if(hu(this.layoutVertexArray,y.x,y.y,w,T,0,0,A),hu(this.layoutVertexArray,y.x,y.y,w,T,0,1,A),m+=E,A=xu(m,M,!p),a=M,hu(this.layoutVertexArray,x.x,x.y,w,T,0,0,A),hu(this.layoutVertexArray,x.x,x.y,w,T,0,1,A),i.vertexLength+=4,this.indexArray.emplaceBack(S+0,S+1,S+2),this.indexArray.emplaceBack(S+1,S+3,S+2),i.primitiveLength+=2,_){const r=e+(1===f?n.length-2:f-2),o=1===f?e:r+1;if(this.indexArray.emplaceBack(S+1,r,S+3),this.indexArray.emplaceBack(r,o,S+3),i.primitiveLength+=2,void 0===t&&(t=S),!gu(v,n[f],g)){const e=f===n.length-1?t:i.vertexLength;this.indexArray.emplaceBack(S+2,S+3,e),this.indexArray.emplaceBack(S+3,e+1,e),this.indexArray.emplaceBack(S+3,o,e+1),i.primitiveLength+=3}p=!p}if(c){const e=this.layoutVertexExtArray,t=l.projectTilePoint(y.x,y.y,r),i=l.projectTilePoint(x.x,x.y,r),n=l.upVector(r,y.x,y.y),o=l.upVector(r,x.x,x.y);uu(e,t,n),uu(e,t,n),uu(e,i,o),uu(e,i,o)}}u&&(e+=n.length-1)}}if(h&&h.polyCount.length>0){if(h.borders){h.vertexArrayOffset=this.centroidVertexArray.length;const e=h.borders,t=this.featuresOnBorder.push(h)-1;for(let i=0;i<4;i++)e[i][0]!==Number.MAX_VALUE&&this.borders[i].push(t)}this.encodeCentroid(h.borders?void 0:h.centroid(),h)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,i,n,o,r)}sortBorders(){for(let e=0;e<4;e++)this.borders[e].sort(((t,i)=>this.featuresOnBorder[t].borders[e][0]-this.featuresOnBorder[i].borders[e][0]))}encodeCentroid(e,t){let i,r,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e)if(0!==e.y){const n=t.span()._mult(this.tileToMeter);i=(Math.max(e.x,1)<<3)+Math.min(7,Math.round(n.x/10)),r=(Math.max(e.y,1)<<3)+Math.min(7,Math.round(n.y/10))}else i=Math.ceil(7*(e.x+450)),r=0;else i=0,r=+n;let o=n?this.centroidVertexArray.length:t.vertexArrayOffset;for(const s of t.polyCount){n&&this.centroidVertexArray.resize(this.centroidVertexArray.length+4*s.edges+s.top);for(let e=0;ei[1].x&&t.x>i[1].x||e.yi[1].y&&t.y>i[1].y}function yu(e,t,i){if(e.x<0||e.x>=Sa||t.x<0||t.x>=Sa||i.x<0||i.x>=Sa)return!1;const r=i.sub(t),n=r.perp(),o=e.sub(t);return(r.x*o.x+r.y*o.y)/Math.sqrt((r.x*r.x+r.y*r.y)*(o.x*o.x+o.y*o.y))>-.866&&n.x*o.x+n.y*o.y<0}function xu(e,t,i){const r=t?2|e:-3&e;return i?1|r:-2&r}function vu(){const e=Math.PI/32,t=Math.tan(e),i=ec;return i*Math.sqrt(1+2*t*t)-i}function bu(e,t,i){const r=1<4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5?arguments[5]:void 0;const s=[];if(!e.length||!i||!r)return s;const a=(e,t)=>{for(const i of e)s.push({polygon:i,bounds:t})},l=Math.ceil(Math.log2(i)),c=Math.ceil(Math.log2(r)),h=l-c,u=[];for(let f=0;f0?0:1);for(let f=0;ft+1?p.push({polygons:d,bounds:e,depth:t+1}):a(d,e)}if(m.length){const e=[new f(0===i?h:r.x,1===i?h:r.y),s];u.length>t+1?p.push({polygons:m,bounds:e,depth:t+1}):a(m,e)}}return s}(e,t,Math.ceil((o-n)/11.25),Math.ceil((s-a)/11.25),1,((e,t,n)=>{if(0===e)return.5*(t+n);{const e=lc((i.y+t/Sa)/r);return(oc(.5*(lc((i.y+n/Sa)/r)+e))*r-i.y)*Sa}}))}jn(pu,"FillExtrusionBucket",{omit:["layers","features"]}),jn(du,"PartMetadata");const wu=new Qo({"fill-extrusion-edge-radius":new Yo(Ye["layout_fill-extrusion"]["fill-extrusion-edge-radius"])});var Tu={paint:new Qo({"fill-extrusion-opacity":new Yo(Ye["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Ko(Ye["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Yo(Ye["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Yo(Ye["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Ko(Ye["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Ko(Ye["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Ko(Ye["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Yo(Ye["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"]),"fill-extrusion-ambient-occlusion-intensity":new Yo(Ye["paint_fill-extrusion"]["fill-extrusion-ambient-occlusion-intensity"]),"fill-extrusion-ambient-occlusion-radius":new Yo(Ye["paint_fill-extrusion"]["fill-extrusion-ambient-occlusion-radius"])}),layout:wu};function Eu(e,t,i){var r=2*Math.PI*6378137/256/Math.pow(2,i);return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}class Su{constructor(e,t,i){this.z=e,this.x=t,this.y=i,this.key=Iu(0,e,e,t,i)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t){const i=function(e,t,i){var r=Eu(256*e,256*(t=Math.pow(2,i)-t-1),i),n=Eu(256*(e+1),256*(t+1),i);return r[0]+","+r[1]+","+n[0]+","+n[1]}(this.x,this.y,this.z),r=function(e,t,i){let r,n="";for(let o=e;o>0;o--)r=1<this.canonical.z?new Au(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Au(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.overscaledZ===e&&t)return this.key;if(e>this.canonical.z)return Iu(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y);{const i=this.canonical.z-e;return Iu(this.wrap*+t,e,e,this.canonical.x>>i,this.canonical.y>>i)}}isChildOf(e){if(e.wrap!==this.wrap)return!1;const t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new Au(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const t=this.canonical.z+1,i=2*this.canonical.x,r=2*this.canonical.y;return[new Au(t,this.wrap,t,i,r),new Au(t,this.wrap,t,i+1,r),new Au(t,this.wrap,t,i,r+1),new Au(t,this.wrap,t,i+1,r+1)]}isLessThan(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.ye.id)),this.index=e.index,this.projection=e.projection,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((e=>{this.gradients[e.id]={}})),this.layoutVertexArray=new cs,this.layoutVertexArray2=new hs,this.indexArray=new ws,this.programConfigurations=new fa(e.layers,e.zoom),this.segments=new Ea,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,i,r){this.hasPattern=Fh("line",this.layers,t);const n=this.layers[0].layout.get("line-sort-key"),o=[];for(const{feature:c,id:h,index:u,sourceLayerIndex:d}of e){const e=this.layers[0]._featureFilter.needGeometry,t=bc(c,e);if(!this.layers[0]._featureFilter.filter(new No(this.zoom),t,i))continue;const s=n?n.evaluate(t,{},i):void 0,a={id:h,properties:c.properties,type:c.type,sourceLayerIndex:d,index:u,geometry:e?t.geometry:vc(c,i,r),patterns:{},sortKey:s};o.push(a)}n&&o.sort(((e,t)=>e.sortKey-t.sortKey));const{lineAtlas:s,featureIndex:a}=t,l=this.addConstantDashes(s);for(const c of o){const{geometry:r,index:n,sourceLayerIndex:o}=c;if(l&&this.addFeatureDashes(c,s),this.hasPattern){const e=Uh("line",this.layers,c,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(c,r,n,i,s.positions,t.availableImages);a.insert(e[n].feature,r,n,o,this.index)}}addConstantDashes(e){let t=!1;for(const i of this.layers){const r=i.paint.get("line-dasharray").value,n=i.layout.get("line-cap").value;if("constant"!==r.kind||"constant"!==n.kind)t=!0;else{const t=n.value,i=r.value;if(!i)continue;e.addDash(i,t)}}return t}addFeatureDashes(e,t){const i=this.zoom;for(const r of this.layers){const n=r.paint.get("line-dasharray").value,o=r.layout.get("line-cap").value;if("constant"===n.kind&&"constant"===o.kind)continue;let s,a;if("constant"===n.kind){if(s=n.value,!s)continue}else s=n.evaluate({zoom:i},e);a="constant"===o.kind?o.value:o.evaluate({zoom:i},e),t.addDash(s,a),e.patterns[r.id]=t.getKey(s,a)}}update(e,t,i,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,i,r)}addFeatures(e,t,i,r,n){for(const o of this.patternFeatures)this.addFeature(o,o.geometry,o.index,t,i,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,Bu)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Lu),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end"))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,i,r,n,o){const s=this.layers[0].layout,a=s.get("line-join").evaluate(e,{}),l=s.get("line-cap").evaluate(e,{}),c=s.get("line-miter-limit"),h=s.get("line-round-limit");this.lineClips=this.lineFeatureClips(e);for(const u of t)this.addLine(u,e,a,l,c,h);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,i,n,o,r)}addLine(e,t,i,r,n,o){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineSoFar=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t=2&&e[a-1].equals(e[a-2]);)a--;let l=0;for(;l0;if(b&&_>l){const e=u.dist(d);if(e>2*c){const t=u.sub(u.sub(d)._mult(c/e)._round());this.updateDistance(d,t),this.addCurrentVertex(t,f,0,0,h),d=t}}const T=d&&p;let E=T?i:s?"butt":r;if(T&&"round"===E&&(xn&&(E="bevel"),"bevel"===E&&(x>2&&(E="flipbevel"),x100)t=m.mult(-1);else{const e=x*f.add(m).mag()/f.sub(m).mag();t._perp()._mult(e*(w?-1:1))}this.addCurrentVertex(u,t,0,0,h),this.addCurrentVertex(u,t.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){const e=-Math.sqrt(x*x-1),t=w?e:0,i=w?0:e;if(d&&this.addCurrentVertex(u,f,t,i,h),"fakeround"===E){const e=Math.round(180*v/Math.PI/20);for(let t=1;t2*c){const t=u.add(p.sub(u)._mult(c/e)._round());this.updateDistance(u,t),this.addCurrentVertex(t,m,0,0,h),u=t}}}}addCurrentVertex(e,t,i,r,n){let o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];const s=t.y*r-t.x,a=-t.y-t.x*r;this.addHalfVertex(e,t.x+t.y*i,t.y-t.x*i,o,!1,i,n),this.addHalfVertex(e,s,a,o,!0,-r,n)}addHalfVertex(e,t,i,r,n,o,s){let{x:a,y:l}=e;this.layoutVertexArray.emplaceBack((a<<1)+(r?1:0),(l<<1)+(n?1:0),Math.round(63*t)+128,Math.round(63*i)+128,1+(0===o?0:o<0?-1:1),0,this.lineSoFar),this.lineClips&&this.layoutVertexArray2.emplaceBack(this.scaledDistance,this.lineClipsArray.length,this.lineClips.start,this.lineClips.end);const c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),n?this.e2=c:this.e1=c}updateScaledDistance(){if(this.lineClips){const e=this.totalDistance/(this.lineClips.end-this.lineClips.start);this.scaledDistance=this.distance/this.totalDistance,this.lineSoFar=e*this.lineClips.start+this.distance}else this.lineSoFar=this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}}jn(Uu,"LineBucket",{omit:["layers","patternFeatures"]});const Vu=new Qo({"line-cap":new Ko(Ye.layout_line["line-cap"]),"line-join":new Ko(Ye.layout_line["line-join"]),"line-miter-limit":new Yo(Ye.layout_line["line-miter-limit"]),"line-round-limit":new Yo(Ye.layout_line["line-round-limit"]),"line-sort-key":new Ko(Ye.layout_line["line-sort-key"])});var Nu={paint:new Qo({"line-opacity":new Ko(Ye.paint_line["line-opacity"]),"line-color":new Ko(Ye.paint_line["line-color"]),"line-translate":new Yo(Ye.paint_line["line-translate"]),"line-translate-anchor":new Yo(Ye.paint_line["line-translate-anchor"]),"line-width":new Ko(Ye.paint_line["line-width"]),"line-gap-width":new Ko(Ye.paint_line["line-gap-width"]),"line-offset":new Ko(Ye.paint_line["line-offset"]),"line-blur":new Ko(Ye.paint_line["line-blur"]),"line-dasharray":new Ko(Ye.paint_line["line-dasharray"]),"line-pattern":new Ko(Ye.paint_line["line-pattern"]),"line-gradient":new Jo(Ye.paint_line["line-gradient"]),"line-trim-offset":new Yo(Ye.paint_line["line-trim-offset"])}),layout:Vu};const ju=new class extends Ko{possiblyEvaluate(e,t){return t=new No(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,i,r){return t=C({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,i,r)}}(Nu.paint.properties["line-width"].specification);function Gu(e,t){return t>0?t+2*e:e}ju.useIntegerZoom=!0;const Zu=ns([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_tex_size",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),$u=ns([{name:"a_globe_anchor",components:3,type:"Int16"},{name:"a_globe_normal",components:3,type:"Float32"}],4),qu=ns([{name:"a_projected_pos",components:4,type:"Float32"}],4);ns([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const Wu=ns([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]),Xu=ns([{name:"a_size_scale",components:1,type:"Float32"},{name:"a_padding",components:2,type:"Float32"}]);ns([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Int16",name:"tileAnchorX"},{type:"Int16",name:"tileAnchorY"},{type:"Float32",name:"x1"},{type:"Float32",name:"y1"},{type:"Float32",name:"x2"},{type:"Float32",name:"y2"},{type:"Int16",name:"padding"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const Hu=ns([{name:"a_pos",components:3,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),Yu=ns([{name:"a_pos_2f",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);ns([{name:"triangle",components:3,type:"Uint16"}]),ns([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"},{type:"Uint8",name:"flipState"}]),ns([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),ns([{type:"Float32",name:"offsetX"}]),ns([{type:"Int16",name:"x"},{type:"Int16",name:"y"}]);var Ku=24;const Ju=128;function Qu(e,t){const{expression:i}=t;if("constant"===i.kind)return{kind:"constant",layoutSize:i.evaluate(new No(e+1))};if("source"===i.kind)return{kind:"source"};{const{zoomStops:t,interpolationType:r}=i;let n=0;for(;n{e.text=function(e,t,i){const r=t.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?e=e.toLocaleUpperCase():"lowercase"===r&&(e=e.toLocaleLowerCase()),Vo.applyArabicShaping&&(e=Vo.applyArabicShaping(e)),e}(e.text,t,i)})),e}const nd={"!":"\ufe15","#":"\uff03",$:"\uff04","%":"\uff05","&":"\uff06","(":"\ufe35",")":"\ufe36","*":"\uff0a","+":"\uff0b",",":"\ufe10","-":"\ufe32",".":"\u30fb","/":"\uff0f",":":"\ufe13",";":"\ufe14","<":"\ufe3f","=":"\uff1d",">":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42","\u2190":"\u2191","\u2192":"\u2193"};function od(e){return"\ufe36"===e||"\ufe48"===e||"\ufe38"===e||"\ufe44"===e||"\ufe42"===e||"\ufe3e"===e||"\ufe3c"===e||"\ufe3a"===e||"\ufe18"===e||"\ufe40"===e||"\ufe10"===e||"\ufe13"===e||"\ufe14"===e||"\uff40"===e||"\uffe3"===e||"\ufe11"===e||"\ufe12"===e}function sd(e){return"\ufe35"===e||"\ufe47"===e||"\ufe37"===e||"\ufe43"===e||"\ufe41"===e||"\ufe3d"===e||"\ufe3b"===e||"\ufe39"===e||"\ufe17"===e||"\ufe3f"===e}var ad=hd,ld=function(e,t,i,r,n){var o,s,a=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,d=i?-1:1,p=e[t+u];for(u+=d,o=p&(1<<-h)-1,p>>=-h,h+=a;h>0;o=256*o+e[t+u],u+=d,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=r;h>0;s=256*s+e[t+u],u+=d,h-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),o-=c}return(p?-1:1)*s*Math.pow(2,o-r)},cd=function(e,t,i,r,n,o){var s,a,l,c=8*o-n-1,h=(1<>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=h):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(s++,l/=2),s+u>=h?(a=0,s=h):s+u>=1?(a=(t*l-1)*Math.pow(2,n),s+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,n),s=0));n>=8;e[i+p]=255&a,p+=f,a/=256,n-=8);for(s=s<0;e[i+p]=255&s,p+=f,s/=256,c-=8);e[i+p-f]|=128*m};function hd(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}hd.Varint=0,hd.Fixed64=1,hd.Bytes=2,hd.Fixed32=5;var ud=4294967296,dd=1/ud,pd="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function fd(e){return e.type===hd.Bytes?e.readVarint()+e.pos:e.pos+1}function md(e,t,i){return i?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function _d(e,t,i){var r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));i.realloc(r);for(var n=i.pos-1;n>=e;n--)i.buf[n+r]=i.buf[n]}function gd(e,t){for(var i=0;i>>8,e[i+2]=t>>>16,e[i+3]=t>>>24}function Id(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}function Cd(e,t,i){t.glyphs=[],1===e&&i.readMessage(zd,t)}function zd(e,t,i){if(3===e){const{id:e,bitmap:r,width:n,height:o,left:s,top:a,advance:l}=i.readMessage(Dd,{});t.glyphs.push({id:e,bitmap:new Jc({width:n+6,height:o+6},r),metrics:{width:n,height:o,left:s,top:a,advance:l}})}else 4===e?t.ascender=i.readSVarint():5===e&&(t.descender=i.readSVarint())}function Dd(e,t,i){1===e?t.id=i.readVarint():2===e?t.bitmap=i.readBytes():3===e?t.width=i.readVarint():4===e?t.height=i.readVarint():5===e?t.left=i.readSVarint():6===e?t.top=i.readSVarint():7===e&&(t.advance=i.readVarint())}function kd(e){let t=0,i=0;for(const s of e)t+=s.w*s.h,i=Math.max(i,s.w);e.sort(((e,t)=>t.h-e.h));const r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),i),h:1/0}];let n=0,o=0;for(const s of e)for(let e=r.length-1;e>=0;e--){const t=r[e];if(!(s.w>t.w||s.h>t.h)){if(s.x=t.x,s.y=t.y,o=Math.max(o,s.y+s.h),n=Math.max(n,s.x+s.w),s.w===t.w&&s.h===t.h){const t=r.pop();e>3,o=this.pos;this.type=7&r,e(n,t,this),this.pos===o&&this.skip(r)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=Md(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=Id(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=Md(this.buf,this.pos)+Md(this.buf,this.pos+4)*ud;return this.pos+=8,e},readSFixed64:function(){var e=Md(this.buf,this.pos)+Id(this.buf,this.pos+4)*ud;return this.pos+=8,e},readFloat:function(){var e=ld(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=ld(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,i,r=this.buf;return t=127&(i=r[this.pos++]),i<128?t:(t|=(127&(i=r[this.pos++]))<<7,i<128?t:(t|=(127&(i=r[this.pos++]))<<14,i<128?t:(t|=(127&(i=r[this.pos++]))<<21,i<128?t:function(e,t,i){var r,n,o=i.buf;if(r=(112&(n=o[i.pos++]))>>4,n<128)return md(e,r,t);if(r|=(127&(n=o[i.pos++]))<<3,n<128)return md(e,r,t);if(r|=(127&(n=o[i.pos++]))<<10,n<128)return md(e,r,t);if(r|=(127&(n=o[i.pos++]))<<17,n<128)return md(e,r,t);if(r|=(127&(n=o[i.pos++]))<<24,n<128)return md(e,r,t);if(r|=(1&(n=o[i.pos++]))<<31,n<128)return md(e,r,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(i=r[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&pd?function(e,t,i){return pd.decode(e.subarray(t,i))}(this.buf,t,e):function(e,t,i){for(var r="",n=t;n239?4:l>223?3:l>191?2:1;if(n+h>i)break;1===h?l<128&&(c=l):2===h?128==(192&(o=e[n+1]))&&(c=(31&l)<<6|63&o)<=127&&(c=null):3===h?(s=e[n+2],128==(192&(o=e[n+1]))&&128==(192&s)&&((c=(15&l)<<12|(63&o)<<6|63&s)<=2047||c>=55296&&c<=57343)&&(c=null)):4===h&&(s=e[n+2],a=e[n+3],128==(192&(o=e[n+1]))&&128==(192&s)&&128==(192&a)&&((c=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,h=1):c>65535&&(c-=65536,r+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),r+=String.fromCharCode(c),n+=h}return r}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==hd.Bytes)return e.push(this.readVarint(t));var i=fd(this);for(e=e||[];this.pos127;);else if(t===hd.Bytes)this.pos=this.readVarint()+this.pos;else if(t===hd.Fixed32)this.pos+=4;else{if(t!==hd.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var i,r;if(e>=0?(i=e%4294967296|0,r=e/4294967296|0):(r=~(-e/4294967296),4294967295^(i=~(-e%4294967296))?i=i+1|0:(i=0,r=r+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,i){i.buf[i.pos++]=127&e|128,e>>>=7,i.buf[i.pos++]=127&e|128,e>>>=7,i.buf[i.pos++]=127&e|128,e>>>=7,i.buf[i.pos++]=127&e|128,i.buf[i.pos]=127&(e>>>=7)}(i,0,t),function(e,t){var i=(7&e)<<4;t.buf[t.pos++]|=i|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(r,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(Boolean(e))},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,i){for(var r,n,o=0;o55295&&r<57344){if(!n){r>56319||o+1===t.length?(e[i++]=239,e[i++]=191,e[i++]=189):n=r;continue}if(r<56320){e[i++]=239,e[i++]=191,e[i++]=189,n=r;continue}r=n-55296<<10|r-56320|65536,n=null}else n&&(e[i++]=239,e[i++]=191,e[i++]=189,n=null);r<128?e[i++]=r:(r<2048?e[i++]=r>>6|192:(r<65536?e[i++]=r>>12|224:(e[i++]=r>>18|240,e[i++]=r>>12&63|128),e[i++]=r>>6&63|128),e[i++]=63&r|128)}return i}(this.buf,e,this.pos);var i=this.pos-t;i>=128&&_d(t,i,this),this.pos=t-1,this.writeVarint(i),this.pos+=i},writeFloat:function(e){this.realloc(4),cd(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),cd(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var i=0;i=128&&_d(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(e,t,i){this.writeTag(e,hd.Bytes),this.writeRawMessage(t,i)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,gd,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,yd,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,bd,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,xd,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,vd,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,wd,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,Td,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Ed,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,Sd,t)},writeBytesField:function(e,t){this.writeTag(e,hd.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,hd.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,hd.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,hd.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,hd.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,hd.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,hd.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,hd.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,hd.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,hd.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}};class Pd{constructor(e,t){let{pixelRatio:i,version:r,stretchX:n,stretchY:o,content:s}=t;this.paddedRect=e,this.pixelRatio=i,this.stretchX=n,this.stretchY=o,this.content=s,this.version=r}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class Ld{constructor(e,t){const i={},r={};this.haveRenderCallbacks=[];const n=[];this.addImages(e,i,n),this.addImages(t,r,n);const{w:o,h:s}=kd(n),a=new Qc({width:o||1,height:s||1});for(const l in e){const t=e[l],r=i[l].paddedRect;Qc.copy(t.data,a,{x:0,y:0},{x:r.x+1,y:r.y+1},t.data)}for(const l in t){const e=t[l],i=r[l].paddedRect,n=i.x+1,o=i.y+1,s=e.data.width,c=e.data.height;Qc.copy(e.data,a,{x:0,y:0},{x:n,y:o},e.data),Qc.copy(e.data,a,{x:0,y:c-1},{x:n,y:o-1},{width:s,height:1}),Qc.copy(e.data,a,{x:0,y:0},{x:n,y:o+c},{width:s,height:1}),Qc.copy(e.data,a,{x:s-1,y:0},{x:n-1,y:o},{width:1,height:c}),Qc.copy(e.data,a,{x:0,y:0},{x:n+s,y:o},{width:1,height:c})}this.image=a,this.iconPositions=i,this.patternPositions=r}addImages(e,t,i){for(const r in e){const n=e[r],o={x:0,y:0,w:n.data.width+2,h:n.data.height+2};i.push(o),t[r]=new Pd(o,n),n.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(e,t){this.haveRenderCallbacks=this.haveRenderCallbacks.filter((t=>e.hasImage(t))),e.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const i in e.updatedImages)this.patchUpdatedImage(this.iconPositions[i],e.getImage(i),t),this.patchUpdatedImage(this.patternPositions[i],e.getImage(i),t)}patchUpdatedImage(e,t,i){if(!e||!t)return;if(e.version===t.version)return;e.version=t.version;const[r,n]=e.tl;i.update(t.data,void 0,{x:r,y:n})}}jn(Pd,"ImagePosition"),jn(Ld,"ImageAtlas");const Rd={horizontal:1,vertical:2,horizontalOnly:3};class Bd{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(e,t){const i=new Bd;return i.scale=e||1,i.fontStack=t,i}static forImage(e){const t=new Bd;return t.imageName=e,t}}class Od{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(e,t){const i=new Od;for(let r=0;r=0&&i>=e&&Ud[this.text.charCodeAt(i)];i--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){const i=new Od;return i.text=this.text.substring(e,t),i.sectionIndex=this.sectionIndex.slice(e,t),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}addTextSection(e,t){this.text+=e.text,this.sections.push(Bd.forText(e.scale,e.fontStack||t));const i=this.sections.length-1;for(let r=0;r=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Fd(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f){const m=Od.fromFeature(e,n);u===Rd.vertical&&m.verticalizePunctuation(d);let _=[];const g=function(e,t,i,r,n,o){if(!e)return[];const s=[],a=function(e,t,i,r,n,o){let s=0;for(let a=0;a=0;let c=0;for(let u=0;u0&&o>v&&(v=o)}else{const e=i[s.fontStack];if(!e)continue;e[f]&&(E=e[f]);const r=t[s.fontStack];if(!r)continue;const o=r.glyphs[f];if(!o)continue;if(g=o.metrics,M=8203!==f?Ku:0,_){const e=void 0!==r.ascender?Math.abs(r.ascender):0,t=void 0!==r.descender?Math.abs(r.descender):0,i=(e+t)*m;b-i/2;){if(s--,s<0)return!1;a-=e[s].dist(o),o=e[s]}a+=e[s].dist(e[s+1]),s++;const l=[];let c=0;for(;ar;)c-=l.shift().angleDelta;if(c>n)return!1;s++,a+=t.dist(i)}return!0}function Jd(e){let t=0;for(let i=0;ic){const o=(c-l)/n,u=Ai(i.x,r.x,o),d=Ai(i.y,r.y,o),p=new Yd(u,d,0,r.angleTo(i),h);return!s||Kd(e,p,a,s,t)?p:void 0}l+=n}}function ip(e,t,i,r,n,o,s,a,l){const c=Qd(r,o,s),h=ep(r,n),u=h*s,d=0===e[0].x||e[0].x===l||0===e[0].y||e[0].y===l;return t-u=0&&g=0&&y=0&&d+c<=h){const t=new Yd(g,y,0,m,f);t._round(),r&&!Kd(e,t,o,r,n)||p.push(t)}}u+=a}return a||p.length||s||(p=rp(e,u/2,i,r,n,o,s,!0,l)),p}function np(e,t,i,r,n){const o=[];for(let s=0;s=r&&c.x>=r||(s.x>=r?s=new f(r,s.y+(r-s.x)/(c.x-s.x)*(c.y-s.y))._round():c.x>=r&&(c=new f(r,s.y+(r-s.x)/(c.x-s.x)*(c.y-s.y))._round()),s.y>=n&&c.y>=n||(s.y>=n?s=new f(s.x+(n-s.y)/(c.y-s.y)*(c.x-s.x),n)._round():c.y>=n&&(c=new f(s.x+(n-s.y)/(c.y-s.y)*(c.x-s.x),n)._round()),l&&s.equals(l[l.length-1])||(l=[s],o.push(l)),l.push(c)))))}}return o}jn(Yd,"Anchor");const op=1e20;function sp(e,t,i,r,n,o,s,a,l){for(let c=t;c-1);l++,o[l]=a,s[l]=c,s[l+1]=op}for(let a=0,l=0;a{let{stack:i,id:r}=e,n=this.entries[i];n||(n=this.entries[i]={glyphs:{},requests:{},ranges:{},ascender:void 0,descender:void 0});let o=n.glyphs[r];if(void 0!==o)return void t(null,{stack:i,id:r,glyph:o});if(o=this._tinySDF(n,i,r),o)return n.glyphs[r]=o,void t(null,{stack:i,id:r,glyph:o});const s=Math.floor(r/256);if(256*s>65535)return void t(new Error("glyphs > 65535 not supported"));if(n.ranges[s])return void t(null,{stack:i,id:r,glyph:o});let a=n.requests[s];a||(a=n.requests[s]=[],cp.loadGlyphRange(i,s,this.url,this.requestManager,((e,t)=>{if(t){n.ascender=t.ascender,n.descender=t.descender;for(const e in t.glyphs)this._doesCharSupportLocalGlyph(+e)||(n.glyphs[+e]=t.glyphs[+e]);n.ranges[s]=!0}for(const i of a)i(e,t);delete n.requests[s]}))),a.push(((e,n)=>{e?t(e):n&&t(null,{stack:i,id:r,glyph:n.glyphs[r]||null})}))}),((e,i)=>{if(e)t(e);else if(i){const e={};for(const{stack:t,id:r,glyph:n}of i)void 0===e[t]&&(e[t]={}),void 0===e[t].glyphs&&(e[t].glyphs={}),e[t].glyphs[r]=n&&{id:n.id,bitmap:n.bitmap.clone(),metrics:n.metrics},e[t].ascender=this.entries[t].ascender,e[t].descender=this.entries[t].descender;t(null,e)}}))}_doesCharSupportLocalGlyph(e){return this.localGlyphMode!==lp.none&&(this.localGlyphMode===lp.all?!!this.localFontFamily:!!this.localFontFamily&&(co(e)||po(e)||eo(e)||to(e)||Qn(e)))}_tinySDF(e,t,i){const r=this.localFontFamily;if(!r||!this._doesCharSupportLocalGlyph(i))return;let n=e.tinySDF;if(!n){let i="400";/bold/i.test(t)?i="900":/medium/i.test(t)?i="500":/light/i.test(t)&&(i="200"),n=e.tinySDF=new cp.TinySDF({fontFamily:r,fontWeight:i,fontSize:48,buffer:6,radius:16}),n.fontWeight=i}if(this.localGlyphs[n.fontWeight][i])return this.localGlyphs[n.fontWeight][i];const o=String.fromCharCode(i),{data:s,width:a,height:l,glyphWidth:c,glyphHeight:h,glyphLeft:u,glyphTop:d,glyphAdvance:p}=n.draw(o);return this.localGlyphs[n.fontWeight][i]={id:i,bitmap:new Jc({width:a,height:l},s),metrics:{width:c/2,height:h/2,left:u/2,top:d/2-27,advance:p/2,localGlyph:!0}}}}function hp(e,t,i,r){const n=[],o=e.image,s=o.pixelRatio,a=o.paddedRect.w-2,l=o.paddedRect.h-2,c=e.right-e.left,h=e.bottom-e.top,u=o.stretchX||[[0,a]],d=o.stretchY||[[0,l]],p=(e,t)=>e+t[1]-t[0],m=u.reduce(p,0),_=d.reduce(p,0),g=a-m,y=l-_;let x=0,v=m,b=0,w=_,T=0,E=g,S=0,M=y;if(o.content&&r){const e=o.content;x=up(u,0,e[0]),b=up(d,0,e[1]),v=up(u,e[0],e[2]),w=up(d,e[1],e[3]),T=e[0]-x,S=e[1]-b,E=e[2]-e[0]-v,M=e[3]-e[1]-w}const A=(r,n,a,l)=>{const u=pp(r.stretch-x,v,c,e.left),d=fp(r.fixed-T,E,r.stretch,m),p=pp(n.stretch-b,w,h,e.top),g=fp(n.fixed-S,M,n.stretch,_),y=pp(a.stretch-x,v,c,e.left),A=fp(a.fixed-T,E,a.stretch,m),I=pp(l.stretch-b,w,h,e.top),C=fp(l.fixed-S,M,l.stretch,_),z=new f(u,p),D=new f(y,p),k=new f(y,I),P=new f(u,I),L=new f(d/s,g/s),R=new f(A/s,C/s),B=t*Math.PI/180;if(B){const e=Math.sin(B),t=Math.cos(B),i=[t,-e,e,t];z._matMult(i),D._matMult(i),P._matMult(i),k._matMult(i)}const O=r.stretch+r.fixed,F=n.stretch+n.fixed;return{tl:z,tr:D,bl:P,br:k,tex:{x:o.paddedRect.x+1+O,y:o.paddedRect.y+1+F,w:a.stretch+a.fixed-O,h:l.stretch+l.fixed-F},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:L,pixelOffsetBR:R,minFontScaleX:E/s/c,minFontScaleY:M/s/h,isSDF:i}};if(r&&(o.stretchX||o.stretchY)){const e=dp(u,g,m),t=dp(d,y,_);for(let i=0;i{if(e)n(e);else if(t){const e={},i=function(e){return new ad(e).readFields(Cd,{})}(t);for(const t of i.glyphs)e[t.id]=t;n(null,{glyphs:e,ascender:i.ascender,descender:i.descender})}}))},cp.TinySDF=class{constructor(){let{fontSize:e=24,buffer:t=3,radius:i=8,cutoff:r=.25,fontFamily:n="sans-serif",fontWeight:o="normal",fontStyle:s="normal"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.buffer=t,this.cutoff=r,this.radius=i;const a=this.size=e+4*t,l=this._createCanvas(a),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${s} ${o} ${e}px ${n}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Uint16Array(a)}_createCanvas(e){const t=document.createElement("canvas");return t.width=t.height=e,t}draw(e){const{width:t,actualBoundingBoxAscent:i,actualBoundingBoxDescent:r,actualBoundingBoxLeft:n,actualBoundingBoxRight:o}=this.ctx.measureText(e),s=Math.ceil(i),a=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-n))),l=Math.min(this.size-this.buffer,s+Math.ceil(r)),c=a+2*this.buffer,h=l+2*this.buffer,u=Math.max(c*h,0),d=new Uint8ClampedArray(u),p={data:d,width:c,height:h,glyphWidth:a,glyphHeight:l,glyphTop:s,glyphLeft:0,glyphAdvance:t};if(0===a||0===l)return p;const{ctx:f,buffer:m,gridInner:_,gridOuter:g}=this;f.clearRect(m,m,a,l),f.fillText(e,m,m+s);const y=f.getImageData(m,m,a,l);g.fill(op,0,u),_.fill(0,0,u);for(let x=0;x0?e*e:0,_[i]=e<0?e*e:0}}sp(g,0,0,c,h,c,this.f,this.v,this.z),sp(_,m,m,a,l,c,this.f,this.v,this.z);for(let x=0;x0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gp;if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let i=(this.length>>1)-1;i>=0;i--)this._down(i)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:i}=this,r=t[e];for(;e>0;){const n=e-1>>1,o=t[n];if(i(r,o)>=0)break;t[e]=o,e=n}t[e]=r}_down(e){const{data:t,compare:i}=this,r=this.length>>1,n=t[e];for(;e=0)break;t[e]=o,e=r}t[e]=n}}function gp(e,t){return et?1:0}function yp(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=1/0,n=1/0,o=-1/0,s=-1/0;const a=e[0];for(let p=0;po)&&(o=e.x),(!p||e.y>s)&&(s=e.y)}const l=Math.min(o-r,s-n);let c=l/2;const h=new _p([],xp);if(0===l)return new f(r,n);for(let p=r;pu.d||!u.d)&&(u=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,d)),r.max-u.d<=t||(c=r.h/2,h.push(new vp(r.p.x-c,r.p.y-c,c,e)),h.push(new vp(r.p.x+c,r.p.y-c,c,e)),h.push(new vp(r.p.x-c,r.p.y+c,c,e)),h.push(new vp(r.p.x+c,r.p.y+c,c,e)),d+=4)}return i&&(console.log(`num probes: ${d}`),console.log(`best distance: ${u.d}`)),u.p}function xp(e,t){return t.max-e.max}class vp{constructor(e,t,i,r){this.p=new f(e,t),this.h=i,this.d=function(e,t){let i=!1,r=1/0;for(let n=0;ne.y!=a.y>e.y&&e.x<(a.x-n.x)*(e.y-n.y)/(a.y-n.y)+n.x&&(i=!i),r=Math.min(r,kc(e,n,a))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}}const bp=Number.POSITIVE_INFINITY,wp=Math.sqrt(2);function Tp(e,t){let[i,r]=t,n=0,o=0;if(r===bp){i<0&&(i=0);const t=i/wp;switch(e){case"top-right":case"top-left":o=t-7;break;case"bottom-right":case"bottom-left":o=7-t;break;case"bottom":o=7-i;break;case"top":o=i-7}switch(e){case"top-right":case"bottom-right":n=-t;break;case"top-left":case"bottom-left":n=t;break;case"left":n=i;break;case"right":n=-i}}else{switch(i=Math.abs(i),r=Math.abs(r),e){case"top-right":case"top-left":case"top":o=r-7;break;case"bottom-right":case"bottom-left":case"bottom":o=7-r}switch(e){case"top-right":case"bottom-right":case"right":n=-i;break;case"top-left":case"bottom-left":case"left":n=i}}return[n,o]}function Ep(e,t,i,r,n,o,s,a,l,c){e.createArrays(),e.tilePixelRatio=Sa/(512*e.overscaling),e.compareText={},e.iconsNeedLinear=!1;const h=e.layers[0].layout,u=e.layers[0]._unevaluatedLayout._values,d={};if("composite"===e.textSizeData.kind){const{minZoom:t,maxZoom:i}=e.textSizeData;d.compositeTextSizes=[u["text-size"].possiblyEvaluate(new No(t),a),u["text-size"].possiblyEvaluate(new No(i),a)]}if("composite"===e.iconSizeData.kind){const{minZoom:t,maxZoom:i}=e.iconSizeData;d.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new No(t),a),u["icon-size"].possiblyEvaluate(new No(i),a)]}d.layoutTextSize=u["text-size"].possiblyEvaluate(new No(l+1),a),d.layoutIconSize=u["icon-size"].possiblyEvaluate(new No(l+1),a),d.textMaxSize=u["text-size"].possiblyEvaluate(new No(18),a);const p="map"===h.get("text-rotation-alignment")&&"point"!==h.get("symbol-placement"),f=h.get("text-size");for(const m of e.features){const o=h.get("text-font").evaluate(m,{},a).join(","),l=f.evaluate(m,{},a),u=d.layoutTextSize.evaluate(m,{},a),_=(d.layoutIconSize.evaluate(m,{},a),{horizontal:{},vertical:void 0}),g=m.text;let y,x=[0,0];if(g){const r=g.toString(),s=h.get("text-letter-spacing").evaluate(m,{},a)*Ku,c=h.get("text-line-height").evaluate(m,{},a)*Ku,d=wo(r)?s:0,f=h.get("text-anchor").evaluate(m,{},a),y=h.get("text-variable-anchor");if(!y){const e=h.get("text-radial-offset").evaluate(m,{},a);x=e?Tp(f,[e*Ku,bp]):h.get("text-offset").evaluate(m,{},a).map((e=>e*Ku))}let v=p?"center":h.get("text-justify").evaluate(m,{},a);const b="point"===h.get("symbol-placement"),w=b?h.get("text-max-width").evaluate(m,{},a)*Ku:1/0,T=s=>{e.allowVerticalPlacement&&bo(r)&&(_.vertical=Fd(g,t,i,n,o,w,c,f,s,d,x,Rd.vertical,!0,u,l))};if(!p&&y){const e="auto"===v?y.map((e=>Sp(e))):[v];let r=!1;for(let s=0;s=0||!bo(r)){const e=Fd(g,t,i,n,o,w,c,f,v,d,x,Rd.horizontal,!1,u,l);e&&(_.horizontal[v]=e)}T(b?"left":v)}}let v=!1;if(m.icon&&m.icon.name){const t=r[m.icon.name];t&&(y=Xd(n[m.icon.name],h.get("icon-offset").evaluate(m,{},a),h.get("icon-anchor").evaluate(m,{},a)),v=t.sdf,void 0===e.sdfIcons?e.sdfIcons=t.sdf:e.sdfIcons!==t.sdf&&N("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(t.pixelRatio!==e.pixelRatio||0!==h.get("icon-rotate").constantOr(1))&&(e.iconsNeedLinear=!0))}const b=Cp(_.horizontal)||_.vertical;e.iconsInText||(e.iconsInText=!!b&&b.iconsInText),(b||y)&&Mp(e,m,_,y,r,d,u,0,x,v,s,a,c)}o&&e.generateCollisionDebugBuffers(l,e.collisionBoxArray)}function Sp(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Mp(e,t,i,r,n,o,s,a,l,c,h,u,d){let p=o.textMaxSize.evaluate(t,{},u);void 0===p&&(p=s);const f=e.layers[0].layout,m=f.get("icon-offset").evaluate(t,{},u),_=Cp(i.horizontal)||i.vertical,g="globe"===d.name,x=s/24,v=e.tilePixelRatio*p/24,b=(C=e.overscaling,e.zoom>18&&C>2&&(C>>=1),Math.max(Sa/(512*C),1)*f.get("symbol-spacing")),w=f.get("text-padding")*e.tilePixelRatio,T=f.get("icon-padding")*e.tilePixelRatio,E=y(f.get("text-max-angle")),S="map"===f.get("text-rotation-alignment")&&"point"!==f.get("symbol-placement"),M="map"===f.get("icon-rotation-alignment")&&"point"!==f.get("symbol-placement"),A=f.get("symbol-placement"),I=b/2;var C;const z=f.get("icon-text-fit");let D;r&&"none"!==z&&(e.allowVerticalPlacement&&i.vertical&&(D=Hd(r,i.vertical,z,f.get("icon-text-fit-padding"),m,x)),_&&(r=Hd(r,_,z,f.get("icon-text-fit-padding"),m,x)));const k=(s,a,p)=>{if(a.x<0||a.x>=Sa||a.y<0||a.y>=Sa)return;let f=null;if(g){const{x:e,y:t,z:i}=d.projectTilePoint(a.x,a.y,p);f={anchor:new Yd(e,t,i,0,void 0),up:d.upVector(p,a.x,a.y)}}!function(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E){const S=e.addToLineVertexArray(t,r);let M,A,I,C,z,D,k,P=0,L=0,R=0,B=0,O=-1,F=-1;const U={};let V=Zs("");const j=i?i.anchor:t;let G=0,Z=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[G,Z]=l.layout.get("text-offset").evaluate(v,{},E).map((e=>e*Ku)):(G=l.layout.get("text-radial-offset").evaluate(v,{},E)*Ku,Z=bp),e.allowVerticalPlacement&&n.vertical){const e=n.vertical;if(f)D=Dp(e),a&&(k=Dp(a));else{const i=l.layout.get("text-rotate").evaluate(v,{},E)+90;I=zp(c,j,t,h,u,d,e,p,i,m),a&&(C=zp(c,j,t,h,u,d,a,g,i))}}if(o){const r=l.layout.get("icon-rotate").evaluate(v,{},E),n="none"!==l.layout.get("icon-text-fit"),s=hp(o,r,w,n),p=a?hp(a,r,w,n):void 0;A=zp(c,j,t,h,u,d,o,g,r),P=4*s.length;const f=e.iconSizeData;let m=null;"source"===f.kind?(m=[Ju*l.layout.get("icon-size").evaluate(v,{},E)],m[0]>Ap&&N(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):"composite"===f.kind&&(m=[Ju*b.compositeIconSizes[0].evaluate(v,{},E),Ju*b.compositeIconSizes[1].evaluate(v,{},E)],(m[0]>Ap||m[1]>Ap)&&N(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,s,m,x,y,v,!1,i,t,S.lineStartIndex,S.lineLength,-1,T,E),O=e.icon.placedSymbolArray.length-1,p&&(L=4*p.length,e.addSymbols(e.icon,p,m,x,y,v,Rd.vertical,i,t,S.lineStartIndex,S.lineLength,-1,T,E),F=e.icon.placedSymbolArray.length-1)}for(const N in n.horizontal){const r=n.horizontal[N];M||(V=Zs(r.text),f?z=Dp(r):M=zp(c,j,t,h,u,d,r,p,l.layout.get("text-rotate").evaluate(v,{},E),m));const o=1===r.positionedLines.length;if(R+=Ip(e,i,t,r,s,l,f,v,m,S,n.vertical?Rd.horizontal:Rd.horizontalOnly,o?Object.keys(n.horizontal):[N],U,O,b,T,E),o)break}n.vertical&&(B+=Ip(e,i,t,n.vertical,s,l,f,v,m,S,Rd.vertical,["vertical"],U,F,b,T,E));let $=-1;const q=(e,t)=>e?Math.max(e,t):t;$=q(z,$),$=q(D,$),$=q(k,$);const W=$>-1?1:0;e.glyphOffsetArray.length>=uf.MAX_GLYPHS&&N("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==v.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,v.sortKey),e.symbolInstances.emplaceBack(j.x,j.y,j.z,t.x,t.y,U.right>=0?U.right:-1,U.center>=0?U.center:-1,U.left>=0?U.left:-1,U.vertical>=0?U.vertical:-1,O,F,V,void 0!==M?M:e.collisionBoxArray.length,void 0!==M?M+1:e.collisionBoxArray.length,void 0!==I?I:e.collisionBoxArray.length,void 0!==I?I+1:e.collisionBoxArray.length,void 0!==A?A:e.collisionBoxArray.length,void 0!==A?A+1:e.collisionBoxArray.length,C||e.collisionBoxArray.length,C?C+1:e.collisionBoxArray.length,h,R,B,P,L,W,0,G,Z,$)}(e,a,f,s,i,r,n,D,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,w,S,l,0,T,M,m,t,o,c,h,u)};if("line"===A)for(const y of np(t.geometry,0,0,Sa,Sa)){const t=ip(y,b,E,i.vertical||_,r,24,v,e.overscaling,Sa);for(const i of t)_&&kp(e,_.text,I,i)||k(y,i,u)}else if("line-center"===A){for(const y of t.geometry)if(y.length>1){const e=tp(y,E,i.vertical||_,r,24,v);e&&k(y,e,u)}}else if("Polygon"===t.type)for(const y of Bh(t.geometry,0)){const e=yp(y,16);k(y[0],new Yd(e.x,e.y,0,0,void 0),u)}else if("LineString"===t.type)for(const y of t.geometry)k(y,new Yd(y[0].x,y[0].y,0,0,void 0),u);else if("Point"===t.type)for(const y of t.geometry)for(const e of y)k([e],new Yd(e.x,e.y,0,0,void 0),u)}const Ap=32640;function Ip(e,t,i,r,n,o,s,a,l,c,h,u,d,p,m,_,g){const y=function(e,t,i,r,n,o,s,a){const l=[];if(0===t.positionedLines.length)return l;const c=r.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,h=function(e){const t=e[0],i=e[1],r=t*i;return r>0?[t,-i]:r<0?[-t,i]:0===t?[i,t]:[i,-t]}(i);let u=Math.abs(t.top-t.bottom);for(const f of t.positionedLines)u-=f.lineOffset;const d=t.positionedLines.length,p=u/d;let m=t.top-i[1];for(let _=0;_Ap&&N(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):"composite"===x.kind&&(v=[Ju*m.compositeTextSizes[0].evaluate(a,{},g),Ju*m.compositeTextSizes[1].evaluate(a,{},g)],(v[0]>Ap||v[1]>Ap)&&N(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,y,v,l,s,a,h,t,i,c.lineStartIndex,c.lineLength,p,_,g);for(const f of u)d[f]=e.text.placedSymbolArray.length-1;return 4*y.length}function Cp(e){for(const t in e)return e[t];return null}function zp(e,t,i,r,n,o,s,a,l,c){let h=s.top,u=s.bottom,d=s.left,p=s.right;const m=s.collisionPadding;if(m&&(d-=m[0],h-=m[1],p+=m[2],u+=m[3]),l){const e=new f(d,h),t=new f(p,h),i=new f(d,u),r=new f(p,u),n=y(l);let o=new f(0,0);c&&(o=new f(c[0],c[1])),e._rotateAround(n,o),t._rotateAround(n,o),i._rotateAround(n,o),r._rotateAround(n,o),d=Math.min(e.x,t.x,i.x,r.x),p=Math.max(e.x,t.x,i.x,r.x),h=Math.min(e.y,t.y,i.y,r.y),u=Math.max(e.y,t.y,i.y,r.y)}return e.emplaceBack(t.x,t.y,t.z,i.x,i.y,d,h,p,u,a,r,n,o),e.length-1}function Dp(e){e.collisionPadding&&(e.top-=e.collisionPadding[1],e.bottom+=e.collisionPadding[3]);const t=e.bottom-e.top;return t>0?Math.max(10,t):null}function kp(e,t,i,r){const n=e.compareText;if(t in n){const e=n[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])x&&(v(e,c,r,n,a,l),v(c,i,a,l,o,s))}v(u,d,r,o,n,o),v(d,p,n,o,n,s),v(p,f,n,s,r,s),v(f,u,r,s,r,o),m-=x,_-=x,g+=x,y+=x;const b=1/Math.max(g-m,y-_);return{scale:b,x:m*b,y:_*b,x2:g*b,y2:y*b,projection:t}}const Rp=Da(new Float32Array(16));class Bp{constructor(e){this.spec=e,this.name=e.name,this.wrap=!1,this.requiresDraping=!1,this.supportsWorldCopies=!1,this.supportsTerrain=!1,this.supportsFog=!1,this.supportsFreeCamera=!1,this.zAxisUnit="meters",this.isReprojectedInTileSpace=!0,this.unsupportedLayers=["custom"],this.center=[0,0],this.range=[3.5,7]}project(e,t){return{x:0,y:0,z:0}}unproject(e,t){return new ic(0,0)}projectTilePoint(e,t,i){return{x:e,y:t,z:0}}locationPoint(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return e._coordinatePoint(e.locationCoordinate(t),i)}pixelsPerMeter(e,t){return sc(1,e)*t}pixelSpaceConversion(e,t,i){return 1}farthestPixelDistance(e){return Pp(e,e.pixelsPerMeter)}pointCoordinate(e,t,i,r){const n=e.horizonLineFromTop(!1),o=new f(t,Math.max(n,i));return e.rayIntersectionCoordinate(e.pointRayIntersection(o,r))}pointCoordinate3D(e,t,i){const r=new f(t,i);if(e.elevation)return e.elevation.pointCoordinate(r);{const t=this.pointCoordinate(e,r.x,r.y,0);return[t.x,t.y,t.z]}}isPointAboveHorizon(e,t){if(e.elevation)return!this.pointCoordinate3D(e,t.x,t.y);const i=e.horizonLineFromTop();return t.y0?t<-$p+i&&(t=-$p+i):t>$p-i&&(t=$p-i);const o=n/Math.pow(qp(t),r);let s=o*Math.sin(r*e),a=n-o*Math.cos(r*e);return s=.5*(s/Math.PI+.5),a=.5*(a/Math.PI+.5),{x:s,y:this.southernCenter?a:1-a,z:0}}unproject(e,t){e=(2*e-.5)*Math.PI,this.southernCenter&&(t=1-t),t=(2*(1-t)-.5)*Math.PI;const{n:i,f:r}=this,n=r-t,o=Math.sign(n),s=Math.sign(i)*Math.sqrt(e*e+n*n);let a=Math.atan2(e,Math.abs(n))*o;n*i<0&&(a-=Math.PI*Math.sign(e)*o);const l=E(x(a/i)+this.center[0],-180,180),c=E(x(2*Math.atan(Math.pow(r/s,1/i))-$p),-hc,hc);return new ic(l,this.southernCenter?-c:c)}}class Xp extends Bp{constructor(e){super(e),this.wrap=!0,this.supportsWorldCopies=!0,this.supportsTerrain=!0,this.supportsFog=!0,this.supportsFreeCamera=!0,this.isReprojectedInTileSpace=!1,this.unsupportedLayers=[],this.range=null}project(e,t){return{x:nc(e),y:oc(t),z:0}}unproject(e,t){const i=ac(e),r=lc(t);return new ic(i,r)}}const Hp=y(hc);class Yp extends Bp{project(e,t){const i=(t=y(t))*t,r=i*i;return{x:.5*((e=y(e))*(.8707-.131979*i+r*(r*(.003971*i-.001529*r)-.013791))/Math.PI+.5),y:1-.5*(t*(1.007226+i*(.015085+r*(.028874*i-.044475-.005916*r)))/Math.PI+1),z:0}}unproject(e,t){e=(2*e-.5)*Math.PI;let i=t=(2*(1-t)-1)*Math.PI,r=25,n=0,o=i*i;do{o=i*i;const e=o*o;n=(i*(1.007226+o*(.015085+e*(.028874*o-.044475-.005916*e)))-t)/(1.007226+o*(.045255+e*(.259866*o-.311325-.005916*11*e))),i=E(i-n,-Hp,Hp)}while(Math.abs(n)>1e-6&&--r>0);o=i*i;const s=E(x(e/(.8707+o*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979))),-180,180),a=x(i);return new ic(s,a)}}const Kp=y(hc);class Jp extends Bp{project(e,t){t=y(t),e=y(e);const i=Math.cos(t),r=2/Math.PI,n=Math.acos(i*Math.cos(e/2)),o=Math.sin(n)/n,s=.5*(e*r+2*i*Math.sin(e/2)/o)||0,a=.5*(t+Math.sin(t)/o)||0;return{x:.5*(s/Math.PI+.5),y:1-.5*(a/Math.PI+1),z:0}}unproject(e,t){let i=e=(2*e-.5)*Math.PI,r=t=(2*(1-t)-1)*Math.PI,n=25;const o=1e-6;let s=0,a=0;do{const n=Math.cos(r),o=Math.sin(r),l=2*o*n,c=o*o,h=n*n,u=Math.cos(i/2),d=Math.sin(i/2),p=2*u*d,f=d*d,m=1-h*u*u,_=m?1/m:0,g=m?Math.acos(n*u)*Math.sqrt(1/m):0,y=.5*(2*g*n*d+2*i/Math.PI)-e,x=.5*(g*o+r)-t,v=.5*_*(h*f+g*n*u*c)+1/Math.PI,b=_*(p*l/4-g*o*d),w=.125*_*(l*d-g*o*h*p),T=.5*_*(c*u+g*f*n)+.5,S=b*w-T*v;s=(x*b-y*T)/S,a=(y*w-x*v)/S,i=E(i-s,-Math.PI,Math.PI),r=E(r-a,-Kp,Kp)}while((Math.abs(s)>o||Math.abs(a)>o)&&--n>0);return new ic(x(i),x(r))}}class Qp extends Bp{constructor(e){super(e),this.center=e.center||[0,0],this.parallels=e.parallels||[0,0],this.cosPhi=Math.max(.01,Math.cos(y(this.parallels[0]))),this.scale=1/(2*Math.max(Math.PI*this.cosPhi,1/this.cosPhi)),this.wrap=!0,this.supportsWorldCopies=!0}project(e,t){const{scale:i,cosPhi:r}=this;return{x:y(e)*r*i+.5,y:-Math.sin(y(t))/r*i+.5,z:0}}unproject(e,t){const{scale:i,cosPhi:r}=this,n=-(t-.5)/i,o=E(x((e-.5)/i)/r,-180,180),s=Math.asin(E(n*r,-1,1)),a=E(x(s),-hc,hc);return new ic(o,a)}}class ef extends Xp{constructor(e){super(e),this.requiresDraping=!0,this.supportsWorldCopies=!1,this.supportsFog=!0,this.zAxisUnit="pixels",this.unsupportedLayers=["debug"],this.range=[3,5]}projectTilePoint(e,t,i){const r=jl(e,t,i);return tl(r,r,$l(Pl(i))),{x:r[0],y:r[1],z:r[2]}}locationPoint(e,t){const i=Nl(t.lat,t.lng),r=Ja([],i),n=e.elevation?e.elevation.getAtPointOrZero(e.locationCoordinate(t),e._centerAltitude):e._centerAltitude;Ka(i,i,r,sc(1,0)*Sa*n);const o=Da(new Float64Array(16));return Pa(o,e.pixelMatrix,e.globeMatrix),tl(i,i,o),new f(i[0],i[1])}pixelsPerMeter(e,t){return sc(1,0)*t}pixelSpaceConversion(e,t,i){const r=sc(1,e)*t,n=Ai(sc(1,45)*t,r,i);return this.pixelsPerMeter(e,t)/n}createTileMatrix(e,t,i){const r=ql(Pl(i.canonical));return Pa(new Float64Array(16),e.globeMatrix,r)}createInversionMatrix(e,t){const{center:i}=e,r=$l(Pl(t));return Oa(r,r,y(i.lng)),Ba(r,r,y(i.lat)),Ra(r,r,[e._pixelsPerMercatorPixel,e._pixelsPerMercatorPixel,1]),Float32Array.from(r)}pointCoordinate(e,t,i,r){return zl(e,t,i,!0)||new dc(0,0)}pointCoordinate3D(e,t,i){const r=this.pointCoordinate(e,t,i,0);return[r.x,r.y,r.z]}isPointAboveHorizon(e,t){return!zl(e,t.x,t.y,!1)}farthestPixelDistance(e){const t=function(e,t){const i=e.cameraToCenterDistance,r=e._centerAltitude*t,n=e._camera,o=e._camera.forward(),s=$a([],Ya([],o,-i),[0,0,r]),a=e.worldSize/(2*Math.PI),l=[0,0,-a],c=e.width/e.height,h=Math.tan(e.fovAboveCenter),u=Ya([],n.up(),h),d=Ya([],n.right(),h*c),p=Ja([],$a([],$a([],o,u),d)),f=[];let m;if(new xl(s,p).closestPointOnSphere(l,a,f)){const t=$a([],f,l),i=nl([],t,s);m=Math.cos(e.fovAboveCenter)*Ga(i)}else{const e=nl([],s,l),t=nl([],l,s);Ja(t,t);const i=Ga(e)-a;m=Math.sqrt(i*(i+2*a));const r=Math.acos(m/(a+i))-Math.acos(Qa(o,t));m*=Math.cos(r)}return 1.01*m}(e,this.pixelsPerMeter(e.center.lat,e.worldSize)),i=Xl(e.zoom);if(i>0){const r=Pp(e,sc(1,e.center.lat)*e.worldSize),n=e.worldSize/(2*Math.PI),o=Math.max(e.width,e.height)/e.worldSize*Math.PI;return Ai(t,r+n*(1-Math.cos(o)),Math.pow(i,10))}return t}upVector(e,t,i){return jl(t,i,e,1)}upVectorScale(e){return{metersToTile:Cl(Gl(Pl(e)))}}}function tf(e){const t=e.parallels,i=!!t&&Math.abs(t[0]+t[1])<.01;switch(e.name){case"mercator":return new Xp(e);case"equirectangular":return new Zp(e);case"naturalEarth":return new Yp(e);case"equalEarth":return new Gp(e);case"winkelTripel":return new Jp(e);case"albers":return i?new Qp(e):new Op(e);case"lambertConformalConic":return i?new Qp(e):new Wp(e);case"globe":return new ef(e)}throw new Error(`Invalid projection name: ${e.name}`)}const rf=su.types,nf=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function of(e,t,i,r,n,o,s,a,l,c,h,u,d){const p=a?Math.min(Ap,Math.round(a[0])):0,f=a?Math.min(Ap,Math.round(a[1])):0;e.emplaceBack(t,i,Math.round(32*r),Math.round(32*n),o,s,(p<<1)+(l?1:0),f,16*c,16*h,256*u,256*d)}function sf(e,t,i,r,n,o,s){e.emplaceBack(t,i,r,n,o,s)}function af(e,t,i,r,n){e.emplaceBack(t,i,r,n),e.emplaceBack(t,i,r,n),e.emplaceBack(t,i,r,n),e.emplaceBack(t,i,r,n)}function lf(e){for(const t of e.sections)if(Io(t.text))return!0;return!1}class cf{constructor(e){this.layoutVertexArray=new fs,this.indexArray=new ws,this.programConfigurations=e,this.segments=new Ea,this.dynamicLayoutVertexArray=new hs,this.opacityVertexArray=new _s,this.placedSymbolArray=new Ls,this.globeExtVertexArray=new ms}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length}upload(e,t,i,r){this.isEmpty()||(i&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Zu.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,qu.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,nf,!0),this.globeExtVertexArray.length>0&&(this.globeExtVertexBuffer=e.createVertexBuffer(this.globeExtVertexArray,$u.members,!0)),this.opacityVertexBuffer.itemSize=1),(i||r)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}}jn(cf,"SymbolBuffers");class hf{constructor(e,t,i){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new i,this.segments=new Ea,this.collisionVertexArray=new vs,this.collisionVertexArrayExt=new bs}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,Wu.members,!0),this.collisionVertexBufferExt=e.createVertexBuffer(this.collisionVertexArrayExt,Xu.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy(),this.collisionVertexBufferExt.destroy())}}jn(hf,"CollisionBuffers");class uf{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.fullyClipped=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Da([]),this.placementViewportMatrix=Da([]);const t=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Qu(this.zoom,t["text-size"]),this.iconSizeData=Qu(this.zoom,t["icon-size"]);const i=this.layers[0].layout,r=i.get("symbol-sort-key"),n=i.get("symbol-z-order");this.canOverlap=i.get("text-allow-overlap")||i.get("icon-allow-overlap")||i.get("text-ignore-placement")||i.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==n&&void 0!==r.constantOr(1),this.sortFeaturesByY=("viewport-y"===n||"auto"===n&&!this.sortFeaturesByKey)&&this.canOverlap,this.writingModes=i.get("text-writing-mode").map((e=>Rd[e])),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=e.sourceID,this.projection=e.projection}createArrays(){this.text=new cf(new fa(this.layers,this.zoom,(e=>/^text/.test(e)))),this.icon=new cf(new fa(this.layers,this.zoom,(e=>/^icon/.test(e)))),this.glyphOffsetArray=new Os,this.lineVertexArray=new Fs,this.symbolInstances=new Bs}calculateGlyphDependencies(e,t,i,r,n){for(let o=0;o0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==c.value.kind||!!c.value.value||Object.keys(c.parameters).length>0,d=o.get("symbol-sort-key");if(this.features=[],!h&&!u)return;const p=t.iconDependencies,f=t.glyphDependencies,m=t.availableImages,_=new No(this.zoom);for(const{feature:g,id:y,index:x,sourceLayerIndex:v}of e){const e=n._featureFilter.needGeometry,t=bc(g,e);if(!n._featureFilter.filter(_,t,i))continue;if(e||(t.geometry=vc(g,i,r)),s&&1!==g.type&&i.z<=5){const e=t.geometry,r=.98078528056,n=(e,t)=>Qa(jl(e.x,e.y,i,1),jl(t.x,t.y,i,1))=0;for(const t of l.sections)if(t.image)p[t.image.name]=!0;else{const i=bo(l.toString()),n=t.fontStack||e,o=f[n]=f[n]||{};this.calculateGlyphDependencies(t.text,o,r,this.allowVerticalPlacement,i)}}}"line"===o.get("symbol-placement")&&(this.features=function(e){const t={},i={},r=[];let n=0;function o(t){r.push(e[t]),n++}function s(e,t,n){const o=i[e];return delete i[e],i[t]=o,r[o].geometry[0].pop(),r[o].geometry[0]=r[o].geometry[0].concat(n[0]),o}function a(e,i,n){const o=t[i];return delete t[i],t[e]=o,r[o].geometry[0].shift(),r[o].geometry[0]=n[0].concat(r[o].geometry[0]),o}function l(e,t,i){const r=i?t[0][t[0].length-1]:t[0][0];return`${e}:${r.x}:${r.y}`}for(let c=0;ce.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,i,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,i,r),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,i,r))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}getProjection(){return this.projectionInstance||(this.projectionInstance=tf(this.projection)),this.projectionInstance}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){const i=this.lineVertexArray.length;if(void 0!==e.segment)for(const{x:r,y:n}of t)this.lineVertexArray.emplaceBack(r,n);return{lineStartIndex:i,lineLength:this.lineVertexArray.length-i}}addSymbols(e,t,i,r,n,o,s,a,l,c,h,u,d,p){const f=e.indexArray,m=e.layoutVertexArray,_=e.globeExtVertexArray,g=e.segments.prepareSegment(4*t.length,m,f,this.canOverlap?o.sortKey:void 0),y=this.glyphOffsetArray.length,x=g.vertexLength,v=this.allowVerticalPlacement&&s===Rd.vertical?Math.PI/2:0,b=o.text&&o.text.sections;for(let T=0;T=0?t.rightJustifiedTextSymbolIndex:t.centerJustifiedTextSymbolIndex>=0?t.centerJustifiedTextSymbolIndex:t.leftJustifiedTextSymbolIndex>=0?t.leftJustifiedTextSymbolIndex:t.verticalPlacedTextSymbolIndex>=0?t.verticalPlacedTextSymbolIndex:r),o=ed(this.textSizeData,e,n)/Ku;return this.tilePixelRatio*o}getSymbolInstanceIconSize(e,t,i){const r=this.icon.placedSymbolArray.get(i),n=ed(this.iconSizeData,e,r);return this.tilePixelRatio*n}_commitDebugCollisionVertexUpdate(e,t,i){e.emplaceBack(t,-i,-i),e.emplaceBack(t,i,-i),e.emplaceBack(t,i,i),e.emplaceBack(t,-i,i)}_updateTextDebugCollisionBoxes(e,t,i,r,n,o){for(let s=r;s0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){const i=e.placedSymbolArray.get(t),r=i.vertexStartIndex+4*i.numGlyphs;for(let n=i.vertexStartIndex;nr[e]-r[t]||n[t]-n[e])),o}addToSortKeyRanges(e,t){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===t?i.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const e of this.symbolInstanceIndexes){const t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex);const{rightJustifiedTextSymbolIndex:i,centerJustifiedTextSymbolIndex:r,leftJustifiedTextSymbolIndex:n,verticalPlacedTextSymbolIndex:o,placedIconSymbolIndex:s,verticalPlacedIconSymbolIndex:a}=t;i>=0&&this.addIndicesForPlacedSymbol(this.text,i),r>=0&&r!==i&&this.addIndicesForPlacedSymbol(this.text,r),n>=0&&n!==r&&n!==i&&this.addIndicesForPlacedSymbol(this.text,n),o>=0&&this.addIndicesForPlacedSymbol(this.text,o),s>=0&&this.addIndicesForPlacedSymbol(this.icon,s),a>=0&&this.addIndicesForPlacedSymbol(this.icon,a)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}jn(uf,"SymbolBucket",{omit:["layers","collisionBoxArray","features","compareText"]}),uf.MAX_GLYPHS=65535,uf.addDynamicAttributes=af;const df=new Qo({"symbol-placement":new Yo(Ye.layout_symbol["symbol-placement"]),"symbol-spacing":new Yo(Ye.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Yo(Ye.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Ko(Ye.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Yo(Ye.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Yo(Ye.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Yo(Ye.layout_symbol["icon-ignore-placement"]),"icon-optional":new Yo(Ye.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Yo(Ye.layout_symbol["icon-rotation-alignment"]),"icon-size":new Ko(Ye.layout_symbol["icon-size"]),"icon-text-fit":new Yo(Ye.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Yo(Ye.layout_symbol["icon-text-fit-padding"]),"icon-image":new Ko(Ye.layout_symbol["icon-image"]),"icon-rotate":new Ko(Ye.layout_symbol["icon-rotate"]),"icon-padding":new Yo(Ye.layout_symbol["icon-padding"]),"icon-keep-upright":new Yo(Ye.layout_symbol["icon-keep-upright"]),"icon-offset":new Ko(Ye.layout_symbol["icon-offset"]),"icon-anchor":new Ko(Ye.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Yo(Ye.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Yo(Ye.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Yo(Ye.layout_symbol["text-rotation-alignment"]),"text-field":new Ko(Ye.layout_symbol["text-field"]),"text-font":new Ko(Ye.layout_symbol["text-font"]),"text-size":new Ko(Ye.layout_symbol["text-size"]),"text-max-width":new Ko(Ye.layout_symbol["text-max-width"]),"text-line-height":new Ko(Ye.layout_symbol["text-line-height"]),"text-letter-spacing":new Ko(Ye.layout_symbol["text-letter-spacing"]),"text-justify":new Ko(Ye.layout_symbol["text-justify"]),"text-radial-offset":new Ko(Ye.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Yo(Ye.layout_symbol["text-variable-anchor"]),"text-anchor":new Ko(Ye.layout_symbol["text-anchor"]),"text-max-angle":new Yo(Ye.layout_symbol["text-max-angle"]),"text-writing-mode":new Yo(Ye.layout_symbol["text-writing-mode"]),"text-rotate":new Ko(Ye.layout_symbol["text-rotate"]),"text-padding":new Yo(Ye.layout_symbol["text-padding"]),"text-keep-upright":new Yo(Ye.layout_symbol["text-keep-upright"]),"text-transform":new Ko(Ye.layout_symbol["text-transform"]),"text-offset":new Ko(Ye.layout_symbol["text-offset"]),"text-allow-overlap":new Yo(Ye.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Yo(Ye.layout_symbol["text-ignore-placement"]),"text-optional":new Yo(Ye.layout_symbol["text-optional"])});var pf={paint:new Qo({"icon-opacity":new Ko(Ye.paint_symbol["icon-opacity"]),"icon-color":new Ko(Ye.paint_symbol["icon-color"]),"icon-halo-color":new Ko(Ye.paint_symbol["icon-halo-color"]),"icon-halo-width":new Ko(Ye.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Ko(Ye.paint_symbol["icon-halo-blur"]),"icon-translate":new Yo(Ye.paint_symbol["icon-translate"]),"icon-translate-anchor":new Yo(Ye.paint_symbol["icon-translate-anchor"]),"text-opacity":new Ko(Ye.paint_symbol["text-opacity"]),"text-color":new Ko(Ye.paint_symbol["text-color"],{runtimeType:lt,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new Ko(Ye.paint_symbol["text-halo-color"]),"text-halo-width":new Ko(Ye.paint_symbol["text-halo-width"]),"text-halo-blur":new Ko(Ye.paint_symbol["text-halo-blur"]),"text-translate":new Yo(Ye.paint_symbol["text-translate"]),"text-translate-anchor":new Yo(Ye.paint_symbol["text-translate-anchor"])}),layout:df};class ff{constructor(e){this.type=e.property.overrides?e.property.overrides.runtimeType:nt,this.defaultValue=e}evaluate(e){if(e.formattedSection){const t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}jn(ff,"FormatSectionOverride",{omit:["defaultValue"]});class mf extends ba{constructor(e){super(e,pf)}recalculate(e,t){super.recalculate(e,t),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment"));const i=this.layout.get("text-writing-mode");if(i){const e=[];for(const t of i)e.indexOf(t)<0&&e.push(t);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]="point"===this.layout.get("symbol-placement")?["horizontal"]:["horizontal","vertical"];this._setPaintOverrides()}getValueAndResolveTokens(e,t,i,r){const n=this.layout.get(e).evaluate(t,{},i,r),o=this._unevaluatedLayout._values[e];return o.isDataDriven()||Gr(o.value)||!n?n:function(e,t){return t.replace(/{([^{}]+)}/g,((t,i)=>i in e?String(e[i]):""))}(t.properties,n)}createBucket(e){return new uf(e)}queryRadius(){return 0}queryIntersectsFeature(){return!1}_setPaintOverrides(){for(const e of pf.paint.overridableProperties){if(!mf.hasPaintOverride(this.layout,e))continue;const t=this.paint.get(e),i=new ff(t),r=new jr(i,t.property.specification);let n=null;n="constant"===t.value.kind||"source"===t.value.kind?new $r("source",r):new qr("composite",r,t.value.zoomStops,t.value._interpolationType),this.paint._values[e]=new Xo(t.property,n,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,i){return!(!this.layout||t.isDataDriven()||i.isDataDriven())&&mf.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){const i=e.get("text-field"),r=pf.paint.properties[t];let n=!1;const o=e=>{for(const t of e)if(r.overrides&&r.overrides.hasOverride(t))return void(n=!0)};if("constant"===i.value.kind&&i.value.value instanceof zt)o(i.value.value.sections);else if("source"===i.value.kind){const e=t=>{n||(t instanceof Ot&&Lt(t.value)===dt?o(t.value.sections):t instanceof jt?o(t.sections):t.eachChild(e))},t=i.value;t._styleExpression&&e(t._styleExpression.expression)}return n}getProgramConfiguration(e){return new pa(this,e)}}var _f={paint:new Qo({"background-color":new Yo(Ye.paint_background["background-color"]),"background-pattern":new Yo(Ye.paint_background["background-pattern"]),"background-opacity":new Yo(Ye.paint_background["background-opacity"])})},gf={paint:new Qo({"raster-opacity":new Yo(Ye.paint_raster["raster-opacity"]),"raster-hue-rotate":new Yo(Ye.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Yo(Ye.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Yo(Ye.paint_raster["raster-brightness-max"]),"raster-saturation":new Yo(Ye.paint_raster["raster-saturation"]),"raster-contrast":new Yo(Ye.paint_raster["raster-contrast"]),"raster-resampling":new Yo(Ye.paint_raster["raster-resampling"]),"raster-fade-duration":new Yo(Ye.paint_raster["raster-fade-duration"])})};class yf extends ba{constructor(e){super(e,{}),this.implementation=e}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}isLayerDraped(){return void 0!==this.implementation.renderToTile}shouldRedrape(){return!!this.implementation.shouldRerenderTiles&&this.implementation.shouldRerenderTiles()}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){}onAdd(e){this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)}onRemove(e){this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)}}var xf={paint:new Qo({"sky-type":new Yo(Ye.paint_sky["sky-type"]),"sky-atmosphere-sun":new Yo(Ye.paint_sky["sky-atmosphere-sun"]),"sky-atmosphere-sun-intensity":new Yo(Ye.paint_sky["sky-atmosphere-sun-intensity"]),"sky-gradient-center":new Yo(Ye.paint_sky["sky-gradient-center"]),"sky-gradient-radius":new Yo(Ye.paint_sky["sky-gradient-radius"]),"sky-gradient":new Jo(Ye.paint_sky["sky-gradient"]),"sky-atmosphere-halo-color":new Yo(Ye.paint_sky["sky-atmosphere-halo-color"]),"sky-atmosphere-color":new Yo(Ye.paint_sky["sky-atmosphere-color"]),"sky-opacity":new Yo(Ye.paint_sky["sky-opacity"])})};function vf(e,t,i){const r=[0,0,1],n=ul([]);return pl(n,n,i?-y(e)+Math.PI:y(e)),dl(n,n,-y(t)),il(r,r,n),Ja(r,r)}const bf={circle:class extends ba{constructor(e){super(e,jc)}createBucket(e){return new Ec(e)}queryRadius(e){const t=e;return Oc("circle-radius",this,t)+Oc("circle-stroke-width",this,t)+Fc(this.paint.get("circle-translate"))}queryIntersectsFeature(e,t,i,r,n,o,s,a){const l=Vc(this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),o.angle,e.pixelToTileUnitsFactor),c=this.paint.get("circle-radius").evaluate(t,i)+this.paint.get("circle-stroke-width").evaluate(t,i);return Gc(e,r,o,s,a,"map"===this.paint.get("circle-pitch-alignment"),"map"===this.paint.get("circle-pitch-scale"),l,c)}getProgramIds(){return["circle"]}getProgramConfiguration(e){return new pa(this,e)}},heatmap:class extends ba{createBucket(e){return new Xc(e)}constructor(e){super(e,eh),this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){"heatmap-color"===e&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=th({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)}queryRadius(e){return Oc("heatmap-radius",this,e)}queryIntersectsFeature(e,t,i,r,n,o,s,a){const l=this.paint.get("heatmap-radius").evaluate(t,i);return Gc(e,r,o,s,a,!0,!0,new f(0,0),l)}hasOffscreenPass(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility}getProgramIds(){return["heatmap","heatmapTexture"]}getProgramConfiguration(e){return new pa(this,e)}},hillshade:class extends ba{constructor(e){super(e,ih)}hasOffscreenPass(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility}getProgramIds(){return["hillshade","hillshadePrepare"]}},fill:class extends ba{constructor(e){super(e,jh)}getProgramIds(){const e=this.paint.get("fill-pattern"),t=e&&e.constantOr(1),i=[t?"fillPattern":"fill"];return this.paint.get("fill-antialias")&&i.push(t&&!this.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline"),i}getProgramConfiguration(e){return new pa(this,e)}recalculate(e,t){super.recalculate(e,t);const i=this.paint._values["fill-outline-color"];"constant"===i.value.kind&&void 0===i.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(e){return new Vh(e)}queryRadius(){return Fc(this.paint.get("fill-translate"))}queryIntersectsFeature(e,t,i,r,n,o){return!e.queryGeometry.isAboveHorizon&&Ac(Uc(e.tilespaceGeometry,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),o.angle,e.pixelToTileUnitsFactor),r)}isTileClipped(){return!0}},"fill-extrusion":class extends ba{constructor(e){super(e,Tu)}createBucket(e){return new pu(e)}queryRadius(){return Fc(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}getProgramIds(){return[this.paint.get("fill-extrusion-pattern").constantOr(1)?"fillExtrusionPattern":"fillExtrusion"]}getProgramConfiguration(e){return new pa(this,e)}queryIntersectsFeature(e,t,i,r,n,o,s,a,l){const c=Vc(this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,e.pixelToTileUnitsFactor),h=this.paint.get("fill-extrusion-height").evaluate(t,i),u=this.paint.get("fill-extrusion-base").evaluate(t,i),d=[0,0],p=a&&o.elevation,m=o.elevation?o.elevation.exaggeration():1,_=e.tile.getBucket(this);if(p&&_ instanceof pu){const e=_.centroidVertexArray,t=l+1;te.polygon)).flat());const g=p?a:null,[y,x]=function(e,t,i,r,n,o,s,a,l,c,h){return"globe"===e.projection.name?function(e,t,i,r,n,o,s,a,l,c,h){const u=[],d=[],p=e.projection.upVectorScale(h,e.center.lat,e.worldSize).metersToTile,f=[0,0,0,1],m=[0,0,0,1],_=(e,t,i,r)=>{e[0]=t,e[1]=i,e[2]=r,e[3]=1},g=vu();i>0&&(i+=g),r+=g;for(const y of t){const t=[],g=[];for(const u of y){const d=u.x+n.x,y=u.y+n.y,x=e.projection.projectTilePoint(d,y,h),v=e.projection.upVector(h,u.x,u.y);let b=i,w=r;if(s){const e=ku(d,y,i,r,s,a,l,c);b+=e.base,w+=e.top}0!==i?_(f,x.x+v[0]*p*b,x.y+v[1]*p*b,x.z+v[2]*p*b):_(f,x.x,x.y,x.z),_(m,x.x+v[0]*p*w,x.y+v[1]*p*w,x.z+v[2]*p*w),tl(f,f,o),tl(m,m,o),t.push(new Cu(f[0],f[1],f[2])),g.push(new Cu(m[0],m[1],m[2]))}u.push(t),d.push(g)}return[u,d]}(e,t,i,r,n,o,s,a,l,c,h):s?function(e,t,i,r,n,o,s,a,l){const c=[],h=[],u=[0,0,0,1];for(const d of e){const e=[],p=[];for(const c of d){const h=c.x+r.x,d=c.y+r.y,f=ku(h,d,t,i,o,s,a,l);u[0]=h,u[1]=d,u[2]=f.base,u[3]=1,cl(u,u,n),u[3]=Math.max(u[3],1e-5);const m=new Cu(u[0]/u[3],u[1]/u[3],u[2]/u[3]);u[0]=h,u[1]=d,u[2]=f.top,u[3]=1,cl(u,u,n),u[3]=Math.max(u[3],1e-5);const _=new Cu(u[0]/u[3],u[1]/u[3],u[2]/u[3]);e.push(m),p.push(_)}c.push(e),h.push(p)}return[c,h]}(t,i,r,n,o,s,a,l,c):function(e,t,i,r,n){const o=[],s=[],a=n[8]*t,l=n[9]*t,c=n[10]*t,h=n[11]*t,u=n[8]*i,d=n[9]*i,p=n[10]*i,f=n[11]*i;for(const m of e){const e=[],t=[];for(const i of m){const o=i.x+r.x,s=i.y+r.y,m=n[0]*o+n[4]*s+n[12],_=n[1]*o+n[5]*s+n[13],g=n[2]*o+n[6]*s+n[14],y=n[3]*o+n[7]*s+n[15],x=m+a,v=_+l,b=g+c,w=Math.max(y+h,1e-5),T=m+u,E=_+d,S=g+p,M=Math.max(y+f,1e-5);e.push(new Cu(x/w,v/w,b/w)),t.push(new Cu(T/M,E/M,S/M))}o.push(e),s.push(t)}return[o,s]}(t,i,r,n,o)}(o,r,u,h,c,s,g,d,m,o.center.lat,e.tileID.canonical),v=e.queryGeometry;return function(e,t,i){let r=1/0;Ac(i,t)&&(r=Du(i,t[0]));for(let n=0;n=3)for(let t=0;t{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){this._channel=void 0,this._callback=()=>{}}}class Ef{constructor(){this.tasks={},this.taskQueue=[],R(["process"],this),this.invoker=new Tf(this.process),this.nextId=0}add(e,t){const i=this.nextId++,r=function(e){let{type:t,isSymbolTile:i,zoom:r}=e;return r=r||0,"message"===t?0:"maybePrepare"!==t||i?"parseTile"!==t||i?"parseTile"===t&&i?300-r:"maybePrepare"===t&&i?400-r:500:200-r:100-r}(t);if(0===r){Z();try{e()}finally{}return{cancel:()=>{}}}return this.tasks[i]={fn:e,metadata:t,priority:r,id:i},this.taskQueue.push(i),this.invoker.trigger(),{cancel:()=>{delete this.tasks[i]}}}process(){Z();try{if(this.taskQueue=this.taskQueue.filter((e=>!!this.tasks[e])),!this.taskQueue.length)return;const e=this.pick();if(null===e)return;const t=this.tasks[e];if(delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),!t)return;t.fn()}finally{}}pick(){let e=null,t=1/0;for(let r=0;r>=1)>1;){const a=t+r>>1,l=i+n>>1;1&e?(r=t,n=i,t=o,i=s):(t=r,i=n,r=o,n=s),o=a,s=l}const a=4*xm;zf[a+0]=t,zf[a+1]=i,zf[a+2]=r,zf[a+3]=n}const Df=new Uint16Array(2178),kf=new Uint8Array(1089),Pf=new Uint16Array(1089);function Lf(e){return 0===e?-.03125:32===e?.03125:0}var Rf=ns([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);const Bf={type:2,extent:Sa,loadGeometry:()=>[[new f(0,0),new f(8193,0),new f(8193,8193),new f(0,8193),new f(0,0)]]};class Of{constructor(e,t,i,r,n){this.tileID=e,this.uid=D(),this.uses=0,this.tileSize=t,this.tileZoom=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.isRaster=n,this.expiredRequestCount=0,this.state="loading",r&&r.transform&&(this.projection=r.transform.projection)}registerFadeDuration(e){const t=e+this.timeAdded;tt.getLayer(e))).filter(Boolean);if(0!==e.length){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(const t of e)i[t.id]=r}}return i}(e.buckets,t.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const t=this.buckets[e];if(t instanceof uf){if(this.hasSymbolBuckets=!0,!i)break;t.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const t=this.buckets[e];if(t instanceof uf&&t.hasRTLText){this.hasRTLText=!0,Vo.isLoading()||Vo.isLoaded()||"deferred"!==Fo()||Uo();break}}this.queryPadding=0;for(const e in this.buckets){const i=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,t.style.getLayer(e).queryRadius(i))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage),e.lineAtlas&&(this.lineAtlas=e.lineAtlas)}else this.collisionBoxArray=new ks}unloadVectorData(){if(this.hasData()){for(const e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.lineAtlasTexture&&this.lineAtlasTexture.destroy(),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),this.latestFeatureIndex=null,this.state="unloaded"}}getBucket(e){return this.buckets[e.id]}upload(e){for(const i in this.buckets){const t=this.buckets[i];t.uploadPending()&&t.upload(e)}const t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new wf(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new wf(e,this.glyphAtlasImage,t.ALPHA),this.glyphAtlasImage=null),this.lineAtlas&&!this.lineAtlas.uploaded&&(this.lineAtlasTexture=new wf(e,this.lineAtlas.image,t.ALPHA),this.lineAtlas.uploaded=!0)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,i,r,n,o,s,a){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({tileResult:r,pixelPosMatrix:s,transform:o,params:n,tileTransform:this.tileTransform},e,t,i):{}}querySourceFeatures(e,t){const i=this.latestFeatureIndex;if(!i||!i.rawTileData)return;const r=i.loadVTLayers(),n=t?t.sourceLayer:"",o=r._geojsonTileLayer||r[n];if(!o)return;const s=sn(t&&t.filter),{z:a,x:l,y:c}=this.tileID.canonical,h={z:a,x:l,y:c};for(let u=0;ue)i=!1;else if(t)if(this.expirationTime=0;c--){const e=4*c,t=zf[e+0],i=zf[e+1],r=zf[e+2],n=zf[e+3],o=t+r>>1,s=i+n>>1,a=o+s-i,l=s+t-o,h=i*Cf+t,u=n*Cf+r,d=s*Cf+o,p=Math.hypot((Df[2*h+0]+Df[2*u+0])/2-Df[2*d+0],(Df[2*h+1]+Df[2*u+1])/2-Df[2*d+1])>=16;if(kf[d]=kf[d]||(p?1:0),c<1022){const e=(i+l>>1)*Cf+(t+a>>1),o=(n+l>>1)*Cf+(r+a>>1);kf[d]=kf[d]||kf[e]||kf[o]}}const n=new ls,o=new ws;let s=0;function a(e,t){const i=t*Cf+e;return 0===Pf[i]&&(n.emplaceBack(Df[2*i+0],Df[2*i+1],e*Sa/If,t*Sa/If),Pf[i]=++s),Pf[i]-1}function l(e,t,i,r,n,s){const c=e+i>>1,h=t+r>>1;if(Math.abs(e-n)+Math.abs(t-s)>1&&kf[h*Cf+c])l(n,s,e,t,c,h),l(i,r,n,s,c,h);else{const l=a(e,t),c=a(i,r),h=a(n,s);o.emplaceBack(l,c,h)}}return l(0,0,If,If,If,0),l(If,If,0,0,0,If),{vertices:n,indices:o}}(this.tileID.canonical,t);r=e.vertices,n=e.indices}else{r=new ls,n=new ws;for(const{x:t,y:n}of i)r.emplaceBack(t,n,0,0);const e=oh(r.int16,void 0,4);for(let t=0;t0&&(s=ka(new Float64Array(16),t.globeMatrix)),this._makeGlobeTileDebugBorderBuffer(e,r,t,n,s,o),this._makeGlobeTileDebugTextBuffer(e,r,t,n,s,o)}_globePoint(e,t,i,r,n,o,s){let a=jl(e,t,i);if(o){const n=1<.5?u=-1:h<-.5&&(u=1);let d=(e/Sa+i.x)/n+u,p=(t/Sa+i.y)/n;d=(d-l)*r._pixelsPerMercatorPixel+l,p=(p-c)*r._pixelsPerMercatorPixel+c;const f=[d*r.worldSize,p*r.worldSize,0];tl(f,f,o),a=Ll(a,f,s)}return tl(a,a,n)}_makeGlobeTileDebugBorderBuffer(e,t,i,r,n,o){const s=new ss,a=new Cs,l=new as,c=(e,c,h,u,d)=>{const p=(h-e)/(d-1),f=(u-c)/(d-1),m=s.length;for(let _=0;_c*e+t;for(let u=0;ut[s])return null}else{const a=1/r[s];let l=(e[s]-i[s])*a,c=(t[s]-i[s])*a;if(l>c){const e=l;l=c,c=e}if(l>n&&(n=l),co)return null}return n}function Nf(e,t,i,r,n,o,s,a,l,c,h){const u=r-e,d=n-t,p=o-i,f=s-e,m=a-t,_=l-i,g=h[1]*_-h[2]*m,y=h[2]*f-h[0]*_,x=h[0]*m-h[1]*f,v=u*g+d*y+p*x;if(Math.abs(v)<1e-15)return null;const b=1/v,w=c[0]-e,T=c[1]-t,E=c[2]-i,S=(w*g+T*y+E*x)*b;if(S<0||S>1)return null;const M=T*p-E*d,A=E*u-w*p,I=w*d-T*u,C=(h[0]*M+h[1]*A+h[2]*I)*b;return C<0||S+C>1?null:(f*M+m*A+_*I)*b}function jf(e,t,i){return(e-t)/(i-t)}function Gf(e,t,i,r,n,o,s,a,l){const c=1<{const o=r?1:0,s=(e+1)*i-o,a=t*i,l=(t+1)*i-o;n[0]=e*i,n[1]=a,n[2]=s,n[3]=l};let s=new Uf(r);const a=[];for(let l=0;l=1;r/=2){const e=i[i.length-1];s=new Uf(r);for(let t=0;t6&&void 0!==arguments[6]?arguments[6]:1;return Vf([e,t,-100],[i,r,this.maximums[0]*s],n,o)}raycast(e,t,i,r,n,o){let s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1;if(!this.nodeCount)return null;const a=this.raycastRoot(e,t,i,r,n,o,s);if(null==a)return null;const l=[],c=[],h=[],u=[],d=[{idx:0,t:a,nodex:0,nodey:0,depth:0}];for(;d.length>0;){const{idx:a,t:p,nodex:f,nodey:m,depth:_}=d.pop();if(this.leaves[a]){Gf(f,m,_,e,t,i,r,h,u);const a=1<<_,l=(f+0)/a,c=(f+1)/a,d=(m+0)/a,g=(m+1)/a,y=qf(l,d,this.dem)*s,x=qf(c,d,this.dem)*s,v=qf(c,g,this.dem)*s,b=qf(l,g,this.dem)*s,w=Nf(h[0],h[1],y,u[0],h[1],x,u[0],u[1],v,n,o),T=Nf(u[0],u[1],v,h[0],u[1],b,h[0],h[1],y,n,o),E=Math.min(null!==w?w:Number.MAX_VALUE,null!==T?T:Number.MAX_VALUE);if(E!==Number.MAX_VALUE)return E;{const e=Ka([],n,o,p);if($f(y,x,b,v,jf(e[0],h[0],u[0]),jf(e[1],h[1],u[1]))>=e[2])return p}continue}let g=0;for(let d=0;d=l[c[i]]&&(c.splice(i,0,d),t=!0);t||(c[g]=d),g++}}for(let e=0;e3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(this.uid=e,t.height!==t.width)throw new RangeError("DEM tiles must be square");if(i&&"mapbox"!==i&&"terrarium"!==i)return N(`"${i}" is not a valid encoding type. Valid types include "mapbox" and "terrarium".`);this.stride=t.height;const o=this.dim=t.height-2,s=new Uint32Array(t.data.buffer);if(this.pixels=new Uint8Array(t.data.buffer),this.encoding=i||"mapbox",this.borderReady=r,!r){for(let e=0;e2&&void 0!==arguments[2]&&arguments[2]&&(e=E(e,-1,this.dim),t=E(t,-1,this.dim));const i=4*this._idx(e,t);return("terrarium"===this.encoding?Hf:Xf)(this.pixels[i],this.pixels[i+1],this.pixels[i+2])}static getUnpackVector(e){return Wf[e]}get unpackVector(){return Wf[this.encoding]}_idx(e,t){if(e<-1||e>=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)}static pack(e,t){const i=[0,0,0,0],r=Yf.getUnpackVector(t);let n=Math.floor((e+r[3])/r[2]);return i[2]=n%256,n=Math.floor(n/256),i[1]=n%256,n=Math.floor(n/256),i[0]=n,i}getPixels(){return new Qc({width:this.stride,height:this.stride},this.pixels)}backfillBorder(e,t,i){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");let r=t*this.dim,n=t*this.dim+this.dim,o=i*this.dim,s=i*this.dim+this.dim;switch(t){case-1:r=n-1;break;case 1:n=r+1}switch(i){case-1:o=s-1;break;case 1:s=o+1}const a=-t*this.dim,l=-i*this.dim;for(let c=o;c{this.remove(e,n)}),i)),this.data[r].push(n),this.order.push(r),this.order.length>this.max){const e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){const t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){const t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;const i=e.wrapped().key,r=void 0===t?0:this.data[i].indexOf(t),n=this.data[i][r];return this.data[i].splice(r,1),n.timeout&&clearTimeout(n.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(n.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){const e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){const t=[];for(const i in this.data)for(const r of this.data[i])e(r.value)||t.push(r);for(const i of t)this.remove(i.value.tileID,i)}}class Jf{constructor(e,t,i){this.func=e,this.mask=t,this.range=i}}Jf.ReadOnly=!1,Jf.ReadWrite=!0,Jf.disabled=new Jf(519,Jf.ReadOnly,[0,1]);const Qf=7680;class em{constructor(e,t,i,r,n,o){this.test=e,this.ref=t,this.mask=i,this.fail=r,this.depthFail=n,this.pass=o}}em.disabled=new em({func:519,mask:0},0,0,Qf,Qf,Qf);class tm{constructor(e,t,i){this.blendFunction=e,this.blendColor=t,this.mask=i}}tm.Replace=[1,0],tm.disabled=new tm(tm.Replace,At.transparent,[!1,!1,!1,!1]),tm.unblended=new tm(tm.Replace,At.transparent,[!0,!0,!0,!0]),tm.alphaBlended=new tm([1,771],At.transparent,[!0,!0,!0,!0]);const im=1029,rm=2305;class nm{constructor(e,t,i){this.enable=e,this.mode=t,this.frontFace=i}}nm.disabled=new nm(!1,im,rm),nm.backCCW=new nm(!0,im,rm),nm.backCW=new nm(!0,im,2304),nm.frontCW=new nm(!0,1028,2304),nm.frontCCW=new nm(!0,1028,rm);class om extends He{constructor(e,t,i){super(),this.id=e,this._onlySymbols=i,t.on("data",(e=>{"source"===e.dataType&&"metadata"===e.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===e.dataType&&"content"===e.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform))})),t.on("error",(()=>{this._sourceErrored=!0})),this._source=t,this._tiles={},this._cache=new Kf(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._minTileCacheSize=t.minTileCacheSize,this._maxTileCacheSize=t.maxTileCacheSize,this._loadedParentTiles={},this._coveredTiles={},this._state=new Ff,this._isRaster="raster"===this._source.type||"raster-dem"===this._source.type||"custom"===this._source.type&&"raster"===this._source._dataType}onAdd(e){this.map=e,this._minTileCacheSize=void 0===this._minTileCacheSize&&e?e._minTileCacheSize:this._minTileCacheSize,this._maxTileCacheSize=void 0===this._maxTileCacheSize&&e?e._maxTileCacheSize:this._maxTileCacheSize}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const e in this._tiles){const t=this._tiles[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform)}_loadTile(e,t){return e.isSymbolTile=this._onlySymbols,this._source.loadTile(e,t)}_unloadTile(e){if(this._source.unloadTile)return this._source.unloadTile(e,(()=>{}))}_abortTile(e){if(this._source.abortTile)return this._source.abortTile(e,(()=>{}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const t in this._tiles){const i=this._tiles[t];i.upload(e),i.prepare(this.map.style.imageManager)}}getIds(){return I(this._tiles).map((e=>e.tileID)).sort(sm).map((e=>e.key))}getRenderableIds(e){const t=[];for(const i in this._tiles)this._isIdRenderable(+i,e)&&t.push(this._tiles[i]);return e?t.sort(((e,t)=>{const i=e.tileID,r=t.tileID,n=new f(i.canonical.x,i.canonical.y)._rotate(this.transform.angle),o=new f(r.canonical.x,r.canonical.y)._rotate(this.transform.angle);return i.overscaledZ-r.overscaledZ||o.y-n.y||o.x-n.x})).map((e=>e.tileID.key)):t.map((e=>e.tileID)).sort(sm).map((e=>e.key))}hasRenderableParent(e){const t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const e in this._tiles)"errored"!==this._tiles[e].state&&this._reloadTile(+e,"reloading")}}_reloadTile(e,t){const i=this._tiles[e];i&&("loading"!==i.state&&(i.state=t),this._loadTile(i,this._tileLoaded.bind(this,i,e,t)))}_tileLoaded(e,t,i,r){if(r)if(e.state="errored",404!==r.status)this._source.fire(new Xe(r,{tile:e}));else if("raster-dem"===this._source.type&&this.usedForTerrain&&this.map.painter.terrain){const e=this.map.painter.terrain;this.update(this.transform,e.getScaledDemTileSize(),!0),e.resetTileLookupCache(this.id)}else this.update(this.transform);else e.timeAdded=Ze.now(),"expired"===i&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(t,e),"raster-dem"===this._source.type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new We("data",{dataType:"source",tile:e,coord:e.tileID,sourceCacheId:this.id}))}_backfillDEM(e){const t=this.getRenderableIds();for(let r=0;r1||(Math.abs(i)>1&&(1===Math.abs(i+n)?i+=n:1===Math.abs(i-n)&&(i-=n)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,i,r),e.neighboringTiles&&e.neighboringTiles[o]&&(e.neighboringTiles[o].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,i,r){for(const n in this._tiles){let o=this._tiles[n];if(r[n]||!o.hasData()||o.tileID.overscaledZ<=t||o.tileID.overscaledZ>i)continue;let s=o.tileID;for(;o&&o.tileID.overscaledZ>t+1;){const e=o.tileID.scaledTo(o.tileID.overscaledZ-1);o=this._tiles[e.key],o&&o.hasData()&&(s=e)}let a=s;for(;a.overscaledZ>t;)if(a=a.scaledTo(a.overscaledZ-1),e[a.key]){r[s.key]=s;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){const i=this._loadedParentTiles[e.key];return i&&i.tileID.overscaledZ>=t?i:null}for(let i=e.overscaledZ-1;i>=t;i--){const t=e.scaledTo(i),r=this._getLoadedTile(t);if(r)return r}}_getLoadedTile(e){const t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(this._source.reparseOverscaled?e.wrapped().key:e.canonical.key)}updateCacheSize(e,t){t=t||this._source.tileSize;const i=Math.ceil(e.width/t)+1,r=Math.ceil(e.height/t)+1,n=Math.floor(i*r*5),o="number"==typeof this._minTileCacheSize?Math.max(this._minTileCacheSize,n):n,s="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(s)}handleWrapJump(e){const t=Math.round((e-(void 0===this._prevLng?e:this._prevLng))/360);if(this._prevLng=e,t){const e={};for(const i in this._tiles){const r=this._tiles[i];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+t),e[r.tileID.key]=r}this._tiles=e;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(+t,this._tiles[t])}}update(e,t,i){if(this.transform=e,!this._sourceLoaded||this._paused||this.transform.freezeTileCoverage)return;if(this.usedForTerrain&&!i)return;let r;this.updateCacheSize(e,t),"globe"!==this.transform.projection.name&&this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new Au(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(r=e.coveringTiles({tileSize:t||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!i,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.hasTile&&(r=r.filter((e=>this._source.hasTile(e))))):r=[];const n=this._updateRetainedTiles(r);if(am(this._source.type)&&0!==r.length){const e={},t={},i=Object.keys(n);for(const r of i){const i=n[r],o=this._tiles[r];if(!o||o.fadeEndTime&&o.fadeEndTime<=Ze.now())continue;const s=this.findLoadedParent(i,Math.max(i.overscaledZ-om.maxOverzooming,this._source.minzoom));s&&(this._addTile(s.tileID),e[s.tileID.key]=s.tileID),t[r]=i}const o=r[r.length-1].overscaledZ;for(const r in this._tiles){const e=this._tiles[r];if(n[r]||!e.hasData())continue;let i=e.tileID;for(;i.overscaledZ>o;){i=i.scaledTo(i.overscaledZ-1);const o=this._tiles[i.key];if(o&&o.hasData()&&t[i.key]){n[r]=e.tileID;break}}}for(const r in e)n[r]||(this._coveredTiles[r]=!0,n[r]=e[r])}for(const s in n)this._tiles[s].clearFadeHold();const o=function(e,t){const i=[];for(const r in e)r in t||i.push(r);return i}(this._tiles,n);for(const s of o){const e=this._tiles[s];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(+s)}this._updateLoadedParentTileCache(),this._onlySymbols&&this._source.afterUpdate&&this._source.afterUpdate()}releaseSymbolFadeTiles(){for(const e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(+e)}_updateRetainedTiles(e){const t={};if(0===e.length)return t;const i={},r=e.reduce(((e,t)=>Math.min(e,t.overscaledZ)),1/0),n=e[0].overscaledZ,o=Math.max(n-om.maxOverzooming,this._source.minzoom),s=Math.max(n+om.maxUnderzooming,this._source.minzoom),a={};for(const l of e){const e=this._addTile(l);t[l.key]=l,e.hasData()||r=this._source.maxzoom){const e=l.children(this._source.maxzoom)[0],i=this.getTile(e);if(i&&i.hasData()){t[e.key]=e;continue}}else{const e=l.children(this._source.maxzoom);if(t[e[0].key]&&t[e[1].key]&&t[e[2].key]&&t[e[3].key])continue}let r=e.wasRequested();for(let n=l.overscaledZ-1;n>=o;--n){const o=l.scaledTo(n);if(i[o.key])break;if(i[o.key]=!0,e=this.getTile(o),!e&&r&&(e=this._addTile(o)),e&&(t[o.key]=o,r=e.wasRequested(),e.hasData()))break}}return t}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const e in this._tiles){const t=[];let i,r=this._tiles[e].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}t.push(r.key);const e=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(e),i)break;r=e}for(const e of t)this._loadedParentTiles[e]=i}}_addTile(e){let t=this._tiles[e.key];if(t)return t;t=this._cache.getAndRemove(e),t&&(this._setTileReloadTimer(e.key,t),t.tileID=e,this._state.initializeTileState(t,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,t)));const i=Boolean(t);if(!i){const i=this.map?this.map.painter:null;t=new Of(e,this._source.tileSize*e.overscaleFactor(),this.transform.tileZoom,i,this._isRaster),this._loadTile(t,this._tileLoaded.bind(this,t,e.key,t.state))}return t?(t.uses++,this._tiles[e.key]=t,i||this._source.fire(new We("dataloading",{tile:t,coord:t.tileID,dataType:"source"})),t):null}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);const i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,"expired"),delete this._timers[e]}),i))}_removeTile(e){const t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const e in this._tiles)this._removeTile(+e);this._source._clear&&this._source._clear(),this._cache.reset(),this.map&&this.usedForTerrain&&this.map.painter.terrain&&this.map.painter.terrain.resetTileLookupCache(this.id)}tilesIn(e,t,i){const r=[],n=this.transform;if(!n)return r;const o="globe"===n.projection.name,s=nc(n.center.lng);for(const a in this._tiles){const l=this._tiles[a];if(i&&l.clearQueryDebugViz(),l.holdingForFade())continue;let c;if(o){const e=l.tileID.canonical;if(0===e.z){const t=[Math.abs(E(s,...lm(e,-1))-s),Math.abs(E(s,...lm(e,1))-s)];c=[0,2*t.indexOf(Math.min(...t))-1]}else{const t=[Math.abs(E(s,...lm(e,-1))-s),Math.abs(E(s,...lm(e,0))-s),Math.abs(E(s,...lm(e,1))-s)];c=[t.indexOf(Math.min(...t))-1]}}else c=[0];for(const i of c){const o=e.containsTile(l,n,t,i);o&&r.push(o)}}return r}getVisibleCoordinates(e){const t=this.getRenderableIds(e).map((e=>this._tiles[e].tileID));for(const i of t)i.projMatrix=this.transform.calculateProjMatrix(i.toUnwrapped());return t}hasTransition(){if(this._source.hasTransition())return!0;if(am(this._source.type))for(const e in this._tiles){const t=this._tiles[e];if(void 0!==t.fadeEndTime&&t.fadeEndTime>=Ze.now())return!0}return!1}setFeatureState(e,t,i){this._state.updateState(e=e||"_geojsonTileLayer",t,i)}removeFeatureState(e,t,i){this._state.removeFeatureState(e=e||"_geojsonTileLayer",t,i)}getFeatureState(e,t){return this._state.getState(e=e||"_geojsonTileLayer",t)}setDependencies(e,t,i){const r=this._tiles[e];r&&r.setDependencies(t,i)}reloadTilesForDependencies(e,t){for(const i in this._tiles)this._tiles[i].hasDependency(e,t)&&this._reloadTile(+i,"reloading");this._cache.filter((i=>!i.hasDependency(e,t)))}_preloadTiles(e,t){const i=new Map,r=Array.isArray(e)?e:[e],n=this.map.painter.terrain,o=this.usedForTerrain&&n?n.getScaledDemTileSize():this._source.tileSize;for(const s of r){const e=s.coveringTiles({tileSize:o,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!this.usedForTerrain,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain});for(const t of e)i.set(t.key,t);this.usedForTerrain&&s.updateElevation(!1)}A(Array.from(i.values()),((e,t)=>{const i=new Of(e,this._source.tileSize*e.overscaleFactor(),this.transform.tileZoom,this.map.painter,this._isRaster);this._loadTile(i,(e=>{"raster-dem"===this._source.type&&i.dem&&this._backfillDEM(i),t(e,i)}))}),t)}}function sm(e,t){const i=Math.abs(2*e.wrap)-+(e.wrap<0),r=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-i||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function am(e){return"raster"===e||"image"===e||"video"===e||"custom"===e}function lm(e,t){const i=1<5&&void 0!==arguments[5]?arguments[5]:0;const s=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(i,r,n,o);const a=this.grid;for(let l=0;l=0&&i[3]>=0&&a.insert(s,i[0],i[1],i[2],i[3])}}loadVTLayers(){if(!this.vtLayers){this.vtLayers=new ou(new ad(this.rawTileData)).layers,this.sourceLayerCoder=new Sf(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"]),this.vtFeatures={};for(const e in this.vtLayers)this.vtFeatures[e]=[]}return this.vtLayers}query(e,t,i,r){var n=this;this.loadVTLayers();const o=e.params||{},s=sn(o.filter),a=e.tileResult,l=e.transform,c=a.bufferedTilespaceBounds,h=this.grid.query(c.min.x,c.min.y,c.max.x,c.max.y,((e,t,i,r)=>Rc(a.bufferedTilespaceGeometry,e,t,i,r)));h.sort(dm);let u=null;l.elevation&&h.length>0&&(u=cm.create(l.elevation,this.tileID));const d={};let p;for(let f=0;f3&&void 0!==arguments[3]?arguments[3]:0;return m||(m=vc(t,n.tileID.canonical,e.tileTransform)),i.queryIntersectsFeature(a,t,r,m,n.z,e.transform,e.pixelPosMatrix,u,o)}))}return d}loadMatchingFeature(e,t,i,r,n,o,s,a,l){const{featureIndex:c,bucketIndex:h,sourceLayerIndex:u,layoutVertexArrayOffset:d}=t,p=this.bucketLayerIDs[h];if(r&&!function(e,t){for(let i=0;i=0)return!0;return!1}(r,p))return;const f=this.sourceLayerCoder.decode(u),m=this.vtLayers[f].feature(c);if(i.needGeometry){const e=bc(m,!0);if(!i.filter(new No(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new No(this.tileID.overscaledZ),m))return;const _=this.getId(m,f);for(let g=0;g{const s=t instanceof Ho?t.get(o):null;return s&&s.evaluate?s.evaluate(i,r,n):s}))}function dm(e,t){return t-e}jn(hm,"FeatureIndex",{omit:["rawTileData","sourceLayerCoder"]});class pm{constructor(e,t){this.width=e,this.height=t,this.nextRow=0,this.image=new Jc({width:e,height:t}),this.positions={},this.uploaded=!1}getDash(e,t){const i=this.getKey(e,t);return this.positions[i]}trim(){const e=this.width,t=this.height=P(this.nextRow);this.image.resize({width:e,height:t})}getKey(e,t){return e.join(",")+t}getDashRanges(e,t,i){const r=[];let n=e.length%2==1?-e[e.length-1]*i:0,o=e[0]*i,s=!0;r.push({left:n,right:o,isDash:s,zeroLength:0===e[0]});let a=e[0];for(let l=1;l1&&(s=e[++o]);const l=Math.abs(a-s.left),c=Math.abs(a-s.right),h=Math.min(l,c);let u;const d=n/i*(r+1);if(s.isDash){const e=r-Math.abs(d);u=Math.sqrt(h*h+e*e)}else u=r-Math.sqrt(h*h+d*d);this.image.data[t+a]=Math.max(0,Math.min(255,u+128))}}}addRegularDash(e,t){for(let a=e.length-1;a>=0;--a){const t=e[a],i=e[a+1];t.zeroLength?e.splice(a,1):i&&i.isDash===t.isDash&&(i.left=t.left,e.splice(a,1))}const i=e[0],r=e[e.length-1];i.isDash===r.isDash&&(i.left=r.left-this.width,r.right=i.right+this.width);const n=this.width*this.nextRow;let o=0,s=e[o];for(let a=0;a1&&(s=e[++o]);const i=Math.abs(a-s.left),r=Math.abs(a-s.right),l=Math.min(i,r);this.image.data[n+a]=Math.max(0,Math.min(255,(s.isDash?l:-l)+t+128))}}addDash(e,t){const i=this.getKey(e,t);if(this.positions[i])return this.positions[i];const r="round"===t,n=r?7:0,o=2*n+1;if(this.nextRow+o>this.height)return N("LineAtlas out of space"),null;0===e.length&&e.push(1);let s=0;for(let c=0;c=t.maxzoom||"none"!==t.visibility&&(_m(e,this.zoom,i),(a[t.id]=t.createBucket({index:s.bucketLayerIDs.length,layers:e,zoom:this.zoom,canonical:this.canonical,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:l,sourceID:this.source,enableTerrain:this.enableTerrain,projection:this.projection.spec,availableImages:i})).populate(u,c,this.tileID.canonical,this.tileTransform),s.bucketLayerIDs.push(e.map((e=>e.id))))}}let u,d,p,f;l.trim();const m={type:"maybePrepare",isSymbolTile:this.isSymbolTile,zoom:this.zoom},_=O(c.glyphDependencies,(e=>Object.keys(e).map(Number)));Object.keys(_).length?r.send("getGlyphs",{uid:this.uid,stacks:_},((e,t)=>{u||(u=e,d=t,x.call(this))}),void 0,!1,m):d={};const g=Object.keys(c.iconDependencies);g.length?r.send("getImages",{icons:g,source:this.source,tileID:this.tileID,type:"icons"},((e,t)=>{u||(u=e,p=t,x.call(this))}),void 0,!1,m):p={};const y=Object.keys(c.patternDependencies);function x(){if(u)return n(u);if(d&&p&&f){const e=new fm(d),t=new Ld(p,f);for(const r in a){const n=a[r];n instanceof uf?(_m(n.layers,this.zoom,i),Ep(n,d,e.positions,p,t.iconPositions,this.showCollisionBoxes,i,this.tileID.canonical,this.tileZoom,this.projection)):n.hasPattern&&(n instanceof Uu||n instanceof Vh||n instanceof pu)&&(_m(n.layers,this.zoom,i),n.addFeatures(c,this.tileID.canonical,t.patternPositions,i,this.tileTransform))}this.status="done",n(null,{buckets:I(a).filter((e=>!e.isEmpty())),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,lineAtlas:l,imageAtlas:t,glyphMap:this.returnDependencies?d:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}y.length?r.send("getImages",{icons:y,source:this.source,tileID:this.tileID,type:"patterns"},((e,t)=>{u||(u=e,f=t,x.call(this))}),void 0,!1,m):f={},x.call(this)}}function _m(e,t,i){const r=new No(t);for(const n of e)n.recalculate(r,i)}class gm{constructor(e){this.entries={},this.scheduler=e}request(e,t,i,r){const n=this.entries[e]=this.entries[e]||{callbacks:[]};if(n.result){const[e,i]=n.result;return this.scheduler?this.scheduler.add((()=>{r(e,i)}),t):r(e,i),()=>{}}return n.callbacks.push(r),n.cancel||(n.cancel=i(((i,r)=>{n.result=[i,r];for(const e of n.callbacks)this.scheduler?this.scheduler.add((()=>{e(i,r)}),t):e(i,r);setTimeout((()=>delete this.entries[e]),3e3)}))),()=>{n.result||(n.callbacks=n.callbacks.filter((e=>e!==r)),n.callbacks.length||(n.cancel(),delete this.entries[e]))}}}function ym(e,t,i){const r=JSON.stringify(e.request);return e.data&&(this.deduped.entries[r]={result:[null,e.data]}),this.deduped.request(r,{type:"parseTile",isSymbolTile:e.isSymbolTile,zoom:e.tileZoom},(t=>{const r=ce(e.request,((e,r,n,o)=>{e?t(e):r&&t(null,{vectorTile:i?void 0:new ou(new ad(r)),rawData:r,cacheControl:n,expires:o})}));return()=>{r.cancel(),t()}}),t)}e.ARRAY_TYPE=Ia,e.AUTH_ERR_MSG=me,e.Aabb=wl,e.Actor=class{constructor(e,i,r){this.target=e,this.parent=i,this.mapId=r,this.callbacks={},this.cancelCallbacks={},R(["receive"],this),this.target.addEventListener("message",this.receive,!1),this.globalScope=Z()?e:t,this.scheduler=new Ef}send(e,t,i,r){let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5?arguments[5]:void 0;const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(i.metadata=o,this.callbacks[s]=i);const a=W(this.globalScope)?void 0:[];return this.target.postMessage({id:s,type:e,hasCallback:!!i,targetMapId:r,mustQueue:n,sourceMapId:this.mapId,data:$n(t,a)},a),{cancel:()=>{i&&delete this.callbacks[s],this.target.postMessage({id:s,type:"",targetMapId:r,sourceMapId:this.mapId})}}}receive(e){const t=e.data,i=t.id;if(i&&(!t.targetMapId||this.mapId===t.targetMapId))if(""===t.type){const e=this.cancelCallbacks[i];delete this.cancelCallbacks[i],e&&e.cancel()}else if(t.mustQueue||Z()){const e=this.callbacks[i];this.cancelCallbacks[i]=this.scheduler.add((()=>this.processTask(i,t)),e&&e.metadata||{type:"message"})}else this.processTask(i,t)}processTask(e,t){if(""===t.type){const i=this.callbacks[e];delete this.callbacks[e],i&&(t.error?i(qn(t.error)):i(null,qn(t.data)))}else{const i=W(this.globalScope)?void 0:[],r=t.hasCallback?(t,r)=>{delete this.cancelCallbacks[e],this.target.postMessage({id:e,type:"",sourceMapId:this.mapId,error:t?$n(t):null,data:$n(r,i)},i)}:e=>{},n=qn(t.data);if(this.parent[t.type])this.parent[t.type](t.sourceMapId,n,r);else if(this.parent.getWorkerSource){const e=t.type.split(".");this.parent.getWorkerSource(t.sourceMapId,e[0],n.source)[e[1]](n,r)}else r(new Error(`Could not find function ${t.type}`))}}remove(){this.scheduler.remove(),this.target.removeEventListener("message",this.receive,!1)}},e.CanonicalTileID=Su,e.Color=At,e.ColorMode=tm,e.CullFaceMode=nm,e.DEMData=Yf,e.DataConstantProperty=Yo,e.DedupedRequest=gm,e.DepthMode=Jf,e.EXTENT=Sa,e.Elevation=class{isDataAvailableAtPoint(e){const t=this._source();if(this.isUsingMockSource()||!t||e.y<0||e.y>1)return!1;const i=t.getSource().maxzoom,r=1<1&&void 0!==arguments[1]?arguments[1]:0;return this.getAtPoint(e,t)||0}getAtPoint(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.isUsingMockSource())return null;null==t&&(t=null);const r=this._source();if(!r)return t;if(e.y<0||e.y>1)return t;const n=r.getSource().maxzoom,o=1<{const o=this.getAtTileOffset(e,n.x,n.y),s=r.upVector(e.canonical,n.x,n.y);return Ya(s,s,o*r.upVectorScale(e.canonical,t,i).metersToTile),s}}getForTilePoints(e,t,i,r){if(this.isUsingMockSource())return!1;const n=cm.create(this,e,r);return!!n&&(t.forEach((e=>{e[2]=this.exaggeration()*n.getElevationAt(e[0],e[1],i)})),!0)}getMinMaxForTile(e){if(this.isUsingMockSource())return null;const t=this.findDEMTileFor(e);if(!t||!t.dem)return null;const i=t.dem.tree,r=t.tileID,n=1<{let r=e===o-1?e-2:0===e?e:e-1;return r+=i?24575:0,[r,t]};for(let c=0;cthis._skuTokenExpiresAt}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}normalizeStyleURL(e,t){if(!_e(e))return e;const i=we(e);return i.path=`/styles/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||t)}normalizeGlyphsURL(e,t){if(!_e(e))return e;const i=we(e);return i.path=`/fonts/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||t)}normalizeSourceURL(e,t,i,r){if(!_e(e))return e;const n=we(e);return n.path=`/v4/${n.authority}.json`,n.params.push("secure"),i&&n.params.push(`language=${i}`),r&&n.params.push(`worldview=${r}`),this._makeAPIURL(n,this._customAccessToken||t)}normalizeSpriteURL(e,t,i,r){const n=we(e);return _e(e)?(n.path=`/styles/v1${n.path}/sprite${t}${i}`,this._makeAPIURL(n,this._customAccessToken||r)):(n.path+=`${t}${i}`,Te(n))}normalizeTileURL(e,t,i){if(this._isSkuTokenExpired()&&this._createSkuToken(),e&&!_e(e))return e;const r=we(e);r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,`${t||i&&"raster"!==r.authority&&512===i?"@2x":""}${o.supported?".webp":"$1"}`),"raster"===r.authority?r.path=`/${n.RASTER_URL_PREFIX}${r.path}`:(r.path=r.path.replace(/^.+\/v4\//,"/"),r.path=`/${n.TILE_URL_VERSION}${r.path}`);const s=this._customAccessToken||function(e){for(const t of e){const e=t.match(/^access_token=(.*)$/);if(e)return e[1]}return null}(r.params)||n.ACCESS_TOKEN;return n.REQUIRE_ACCESS_TOKEN&&s&&this._skuToken&&r.params.push(`sku=${this._skuToken}`),this._makeAPIURL(r,s)}canonicalizeTileURL(e,t){const i=we(e);if(!i.path.match(/^(\/v4\/|\/raster\/v1\/)/)||!i.path.match(/\.[\w]+$/))return e;let r="mapbox://";i.path.match(/^\/raster\/v1\//)?r+=`raster/${i.path.replace(`/${n.RASTER_URL_PREFIX}/`,"")}`:r+=`tiles/${i.path.replace(`/${n.TILE_URL_VERSION}/`,"")}`;let o=i.params;return t&&(o=o.filter((e=>!e.match(/^access_token=/)))),o.length&&(r+=`?${o.join("&")}`),r}canonicalizeTileset(e,t){const i=!!t&&_e(t),r=[];for(const n of e.tiles||[])ge(n)?r.push(this.canonicalizeTileURL(n,i)):r.push(n);return r}_makeAPIURL(e,t){const i="See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes",r=we(n.API_URL);if(e.protocol=r.protocol,e.authority=r.authority,"http"===e.protocol){const t=e.params.indexOf("secure");t>=0&&e.params.splice(t,1)}if("/"!==r.path&&(e.path=`${r.path}${e.path}`),!n.REQUIRE_ACCESS_TOKEN)return Te(e);if(t=t||n.ACCESS_TOKEN,!this._silenceAuthErrors){if(!t)throw new Error(`An API access token is required to use Mapbox GL. ${i}`);if("s"===t[0])throw new Error(`Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ${i}`)}return e.params=e.params.filter((e=>-1===e.indexOf("access_token"))),e.params.push(`access_token=${t||""}`),Te(e)}},e.ResourceType=oe,e.SegmentVector=Ea,e.SourceCache=om,e.StencilMode=em,e.StructArrayLayout1ui2=Cs,e.StructArrayLayout2f1f2i16=xs,e.StructArrayLayout2i4=ss,e.StructArrayLayout2ui4=Is,e.StructArrayLayout3f12=bs,e.StructArrayLayout3ui6=ws,e.StructArrayLayout4i8=ls,e.StructArrayLayout5f20=Ms,e.Texture=wf,e.Tile=Of,e.Transitionable=Zo,e.Uniform1f=ta,e.Uniform1i=class extends ea{constructor(e){super(e),this.current=0}set(e,t,i){this.fetchUniformLocation(e,t)&&this.current!==i&&(this.current=i,this.gl.uniform1i(this.location,i))}},e.Uniform2f=class extends ea{constructor(e){super(e),this.current=[0,0]}set(e,t,i){this.fetchUniformLocation(e,t)&&(i[0]===this.current[0]&&i[1]===this.current[1]||(this.current=i,this.gl.uniform2f(this.location,i[0],i[1])))}},e.Uniform3f=class extends ea{constructor(e){super(e),this.current=[0,0,0]}set(e,t,i){this.fetchUniformLocation(e,t)&&(i[0]===this.current[0]&&i[1]===this.current[1]&&i[2]===this.current[2]||(this.current=i,this.gl.uniform3f(this.location,i[0],i[1],i[2])))}},e.Uniform4f=ia,e.UniformColor=ra,e.UniformMatrix2f=class extends ea{constructor(e){super(e),this.current=sa}set(e,t,i){if(this.fetchUniformLocation(e,t))for(let r=0;r<4;r++)if(i[r]!==this.current[r]){this.current=i,this.gl.uniformMatrix2fv(this.location,!1,i);break}}},e.UniformMatrix3f=class extends ea{constructor(e){super(e),this.current=oa}set(e,t,i){if(this.fetchUniformLocation(e,t))for(let r=0;r<9;r++)if(i[r]!==this.current[r]){this.current=i,this.gl.uniformMatrix3fv(this.location,!1,i);break}}},e.UniformMatrix4f=class extends ea{constructor(e){super(e),this.current=na}set(e,t,i){if(this.fetchUniformLocation(e,t)){if(i[12]!==this.current[12]||i[0]!==this.current[0])return this.current=i,void this.gl.uniformMatrix4fv(this.location,!1,i);for(let e=1;e<16;e++)if(i[e]!==this.current[e]){this.current=i,this.gl.uniformMatrix4fv(this.location,!1,i);break}}}},e.UnwrappedTileID=Mu,e.ValidationError=Yr,e.VectorTileFeature=su,e.VectorTileWorkerSource=class extends He{constructor(e,t,i,r,n){super(),this.actor=e,this.layerIndex=t,this.availableImages=i,this.loadVectorData=n||ym,this.loading={},this.loaded={},this.deduped=new gm(e.scheduler),this.isSpriteLoaded=r,this.scheduler=e.scheduler}loadTile(e,t){const i=e.uid,r=e&&e.request,n=r&&r.collectResourceTiming,o=this.loading[i]=new mm(e);o.abort=this.loadVectorData(e,((s,a)=>{const l=!this.loading[i];if(delete this.loading[i],l||s||!a)return o.status="done",l||(this.loaded[i]=o),t(s);const c=a.rawData,h={};a.expires&&(h.expires=a.expires),a.cacheControl&&(h.cacheControl=a.cacheControl),o.vectorTile=a.vectorTile||new ou(new ad(c));const u=()=>{o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,((e,i)=>{if(e||!i)return t(e);const o={};if(n){const e=Ue(r);e.length>0&&(o.resourceTiming=JSON.parse(JSON.stringify(e)))}t(null,C({rawTileData:c.slice(0)},i,h,o))}))};this.isSpriteLoaded?u():this.once("isSpriteLoaded",(()=>{this.scheduler?this.scheduler.add(u,{type:"parseTile",isSymbolTile:e.isSymbolTile,zoom:e.tileZoom}):u()})),this.loaded=this.loaded||{},this.loaded[i]=o}))}reloadTile(e,t){const i=this.loaded,r=e.uid,n=this;if(i&&i[r]){const o=i[r];o.showCollisionBoxes=e.showCollisionBoxes,o.enableTerrain=!!e.enableTerrain,o.projection=e.projection,o.tileTransform=Lp(e.tileID.canonical,e.projection);const s=(e,i)=>{const r=o.reloadCallback;r&&(delete o.reloadCallback,o.parse(o.vectorTile,n.layerIndex,this.availableImages,n.actor,r)),t(e,i)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}}abortTile(e,t){const i=e.uid,r=this.loading[i];r&&(r.abort&&r.abort(),delete this.loading[i]),t()}removeTile(e,t){const i=this.loaded,r=e.uid;i&&i[r]&&delete i[r],t()}},e.WritingMode=Rd,e.ZoomDependentExpression=qr,e.add=$a,e.addDynamicAttributes=af,e.adjoint=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8];return e[0]=s*h-a*c,e[1]=n*c-r*h,e[2]=r*a-n*s,e[3]=a*l-o*h,e[4]=i*h-n*l,e[5]=n*o-i*a,e[6]=o*c-s*l,e[7]=r*l-i*c,e[8]=i*s-r*o,e},e.asyncAll=A,e.bezier=w,e.bindAll=R,e.boundsAttributes=Rf,e.bufferConvexPolygon=function(e,t){const i=[];for(let r=0;ree&&(e.getActor().send("enforceCacheSizeLimit",Q),ne=0)},e.calculateGlobeLabelMatrix=function(e,t){const{x:i,y:r}=e.point,n=Wl(i,r,e.worldSize/e._pixelsPerMercatorPixel,0,0);return Pa(n,n,ql(Pl(t)))},e.calculateGlobeMatrix=function(e){const{x:t,y:i}=e.point,{lng:r,lat:n}=e._center;return Wl(t,i,e.worldSize,r,n)},e.calculateGlobeMercatorMatrix=function(e){const t=e.pixelsPerMeter,i=t/sc(1,e.center.lat),r=Da(new Float64Array(16));return La(r,r,[e.point.x,e.point.y,0]),Ra(r,r,[i,i,t]),Float32Array.from(r)},e.circumferenceAtLatitude=rc,e.clamp=E,e.clearTileCache=function(e){if(!te())return;const i=t.caches.delete(Y);e&&i.catch(e).then((()=>e()))},e.clipLine=np,e.clone=function(e){var t=new Ia(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.clone$1=U,e.collisionCircleLayout=Yu,e.config=n,e.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},e.create=function(){var e=new Ia(16);return Ia!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.create$1=Ca,e.createExpression=Zr,e.createLayout=ns,e.createStyleLayer=function(e){return"custom"===e.type?new yf(e):new bf[e.type](e)},e.cross=el,e.degToRad=y,e.distance=function(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2])},e.div=function(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e[2]=t[2]/i[2],e},e.dot=Qa,e.earthRadius=ec,e.ease=T,e.easeCubicInOut=b,e.ecefToLatLng=function(e){let[t,i,r]=e;const n=Math.hypot(t,i,r),o=Math.atan2(t,r),s=.5*Math.PI-Math.acos(-i/n);return new ic(x(o),x(s))},e.emitValidationErrors=Fn,e.endsWith=B,e.enforceCacheSizeLimit=function(e){ie(),K&&K.then((t=>{t.keys().then((i=>{for(let r=0;ro&&(r+=(e[n]-o)*(e[n]-o)),t[n]0){const e=180/r;za(p,p,[e/c+1,0,0,0,e/h+1,0,-.5*e/u,.5*e/d,1])}return p[2]=l,p[5]=e.x,p[8]=e.y,p},e.getImage=fe,e.getJSON=function(e,t){return le(C(e,{type:"json"}),t)},e.getLatitudinalLod=function(e){const t=hc-5;e=E(e,-t,t)/t*90;const i=Math.pow(Math.abs(Math.sin(y(e))),3);return Math.round(i*(Sl.length-1))},e.getMapSessionAPI=Pe,e.getPerformanceMeasurement=Ue,e.getProjection=tf,e.getRTLTextPluginStatus=Fo,e.getReferrer=ae,e.getTilePoint=function(e,t){let{x:i,y:r}=t;return new f(((i-(arguments.length>2&&void 0!==arguments[2]?arguments[2]:0))*e.scale-e.x)*Sa,(r*e.scale-e.y)*Sa)},e.getTileVec3=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Za(((t.x-i)*e.scale-e.x)*Sa,(t.y*e.scale-e.y)*Sa,cc(t.z,t.y))},e.getVideo=function(e,i){const r=t.document.createElement("video");r.muted=!0,r.onloadstart=function(){i(null,r)};for(let n=0;n{}}},e.globeCenterToScreenPoint=function(e){const t=[0,0,0],i=Da(new Float64Array(16));return Pa(i,e.pixelMatrix,e.globeMatrix),tl(t,t,i),new f(t[0],t[1])},e.globeDenormalizeECEF=ql,e.globeECEFOrigin=function(e,t){const i=[0,0,0];return tl(i,i,$l(Pl(t.canonical))),tl(i,i,e),i},e.globeMetersToEcef=Cl,e.globeNormalizeECEF=$l,e.globePixelsToTileUnits=function(e,t){return Sa/(512*Math.pow(2,e))*Gl(Pl(t))},e.globePoleMatrixForTile=function(e,t,i){const r=Da(new Float64Array(16)),n=(t/(1<0;return 0===r&&!n&&!s&&o},e.identity=Da,e.identity$1=ul,e.invert=ka,e.isFullscreen=function(){return!!t.document.fullscreenElement||!!t.document.webkitFullscreenElement},e.isLngLatBehindGlobe=Yl,e.isMapAuthenticated=function(e){return Le.has(e)},e.isMapboxURL=_e,e.isSafariWithAntialiasingBug=function(e){const t=e.navigator?e.navigator.userAgent:null;return!!W(e)&&t&&(t.match("Version/15.4")||t.match("Version/15.5")||t.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/))},e.latFromMercatorY=lc,e.latLngToECEF=Nl,e.len=sl,e.length=Ga,e.length$1=function(e){return Math.hypot(e[0],e[1],e[2],e[3])},e.lngFromMercatorX=ac,e.loadVectorTile=ym,e.makeRequest=le,e.mapValue=function(e,t,i,r,n){return E((e-t)/(i-t)*(n-r)+r,r,n)},e.mercatorScale=uc,e.mercatorXfromLng=nc,e.mercatorYfromLat=oc,e.mercatorZfromAltitude=sc,e.mul=Va,e.mul$1=ol,e.multiply=Pa,e.multiply$1=za,e.multiply$2=Wa,e.nextPowerOfTwo=P,e.normalize=Ja,e.normalize$1=fl,e.normalize$2=ll,e.number=Ai,e.ortho=function(e,t,i,r,n,o,s){var a=1/(t-i),l=1/(r-n),c=1/(o-s);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+i)*a,e[13]=(n+r)*l,e[14]=(s+o)*c,e[15]=1,e},e.pbf=ad,e.perspective=function(e,t,i,r,n){var o,s=1/Math.tan(t/2);return e[0]=s/i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=n&&n!==1/0?(e[10]=(n+r)*(o=1/(r-n)),e[14]=2*n*r*o):(e[10]=-1,e[14]=-2*r),e},e.pick=function(e,t){const i={};for(let r=0;r0&&i[0]<=e.width&&i[1]>0&&i[1]<=e.height&&!Yl(e,new ic(e.center.lat,90)),r[0]>0&&r[0]<=e.width&&r[1]>0&&r[1]<=e.height&&!Yl(e,new ic(e.center.lat,-90))]},e.polygonContainsPoint=Lc,e.polygonIntersectsBox=Rc,e.polygonIntersectsPolygon=Sc,e.polygonizeBounds=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const n=new f(i,i),o=e.sub(n),s=t.add(n),a=[o,new f(s.x,o.y),s,new f(o.x,s.y)];return r&&a.push(o.clone()),a},e.posAttributes=yl,e.postMapLoadEvent=Ce,e.postPerformanceEvent=De,e.postTurnstileEvent=Ae,e.potpack=kd,e.prevPowerOfTwo=function(e){return e<=1?1:Math.pow(2,Math.floor(Math.log(e)/Math.LN2))},e.radToDeg=x,e.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],e.registerForPluginStateChange=function(e){return e({pluginStatus:Po,pluginURL:Lo}),Oo.on("pluginStateChange",e),e},e.removeAuthState=function(e){Le.delete(e)},e.renderColorRamp=th,e.resample=fc,e.rotateX=Ba,e.rotateX$1=dl,e.rotateY=Oa,e.rotateY$1=pl,e.rotateZ=function(e,t,i){var r=Math.sin(i),n=Math.cos(i),o=t[0],s=t[1],a=t[2],l=t[3],c=t[4],h=t[5],u=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*n+c*r,e[1]=s*n+h*r,e[2]=a*n+u*r,e[3]=l*n+d*r,e[4]=c*n-o*r,e[5]=h*n-s*r,e[6]=u*n-a*r,e[7]=d*n-l*r,e},e.rotateZ$1=function(e,t,i){i*=.5;var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l+n*a,e[1]=n*l-r*a,e[2]=o*l+s*a,e[3]=s*l-o*a,e},e.scale=Ra,e.scale$1=al,e.scale$2=Ya,e.scaleAndAdd=Ka,e.set=function(e,t,i,r){return e[0]=t,e[1]=i,e[2]=r,e},e.setCacheLimits=function(e,t){Q=e,ee=t},e.setColumn=function(e,t,i){e[4*t+0]=i[0],e[4*t+1]=i[1],e[4*t+2]=i[2],e[4*t+3]=i[3]},e.setRTLTextPlugin=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(Po===Co||Po===zo||Po===Do)throw new Error("setRTLTextPlugin cannot be called multiple times.");Lo=Ze.resolveURL(e),Po=Co,ko=t,Bo(),i||Uo()},e.smoothstep=S,e.spec=Ye,e.squaredLength=function(e){var t=e[0],i=e[1],r=e[2];return t*t+i*i+r*r},e.storeAuthState=function(e,t){t?Le.add(e):Le.delete(e)},e.sub=nl,e.subtract=qa,e.symbolSize=id,e.tileAABB=function(e,t,i,r,n,o,s,a,l){if("globe"===l.name)return Ol(e,t,new Su(i,r,n));const c=Lp({z:i,x:r,y:n},l);return new wl([(o+c.x/c.scale)*t,t*(c.y/c.scale),s],[(o+c.x2/c.scale)*t,t*(c.y2/c.scale),a])},e.tileCornersToBounds=Fl,e.tileTransform=Lp,e.transformMat3=function(e,t,i){var r=t[0],n=t[1],o=t[2];return e[0]=r*i[0]+n*i[3]+o*i[6],e[1]=r*i[1]+n*i[4]+o*i[7],e[2]=r*i[2]+n*i[5]+o*i[8],e},e.transformMat4=tl,e.transformMat4$1=cl,e.transformQuat=il,e.transitionTileAABBinECEF=Rl,e.translate=La,e.transpose=function(e,t){if(e===t){var i=t[1],r=t[2],n=t[5];e[1]=t[3],e[2]=t[6],e[3]=i,e[5]=t[7],e[6]=r,e[7]=n}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e},e.triggerPluginCompletionEvent=Ro,e.uniqueId=D,e.updateGlobeVertexNormal=function(e,t,i,r,n){const o=5*t+2;e.float32[o+0]=i,e.float32[o+1]=r,e.float32[o+2]=n},e.validateCustomStyleLayer=function(e){const t=[],i=e.id;return void 0===i&&t.push({message:`layers.${i}: missing required property "id"`}),void 0===e.render&&t.push({message:`layers.${i}: missing required method "render"`}),e.renderingMode&&"2d"!==e.renderingMode&&"3d"!==e.renderingMode&&t.push({message:`layers.${i}: property "renderingMode" must be either "2d" or "3d"`}),t},e.validateFilter=e=>On(yn(e)),e.validateFog=e=>On(zn(e)),e.validateLayer=e=>On(Tn(e)),e.validateLight=e=>On(In(e)),e.validateSource=e=>On(Mn(e)),e.validateStyle=Ln,e.validateTerrain=e=>On(Cn(e)),e.values=I,e.vectorTile=Wh,e.version=i,e.warnOnce=N,e.window=t,e.wrap=M})),r(["./shared"],(function(e){function t(e){if("number"==typeof e||"boolean"==typeof e||"string"==typeof e||null==e)return JSON.stringify(e);if(Array.isArray(e)){let i="[";for(const r of e)i+=`${t(r)},`;return`${i}]`}let i="{";for(const r of Object.keys(e).sort())i+=`${r}:${t(e[r])},`;return`${i}}`}function i(i){let r="";for(const n of e.refProperties)r+=`/${t(i[n])}`;return r}class r{constructor(e){this.keyCache={},e&&this.replace(e)}replace(e){this._layerConfigs={},this._layers={},this.update(e,[])}update(t,r){for(const i of t)this._layerConfigs[i.id]=i,(this._layers[i.id]=e.createStyleLayer(i)).compileFilter(),this.keyCache[i.id]&&delete this.keyCache[i.id];for(const e of r)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};const n=function(e,t){const r={};for(let o=0;othis._layers[e.id])),i=t[0];if("none"===i.visibility)continue;const r=i.source||"";let n=this.familiesBySource[r];n||(n=this.familiesBySource[r]={});const o=i.sourceLayer||"_geojsonTileLayer";let s=n[o];s||(s=n[o]=[]),s.push(t)}}}class n{loadTile(t,i){const{uid:r,encoding:n,rawImageData:o,padding:s,buildQuadTree:a}=t,l=e.window.ImageBitmap&&o instanceof e.window.ImageBitmap?this.getImageData(o,s):o;i(null,new e.DEMData(r,l,n,s<1,a))}getImageData(e,t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d",{willReadFrequently:!0})),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);const i=this.offscreenCanvasContext.getImageData(-t,-t,e.width+2*t,e.height+2*t);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),i}}var o=function e(t,i){var r,n=t&&t.type;if("FeatureCollection"===n)for(r=0;r=Math.abs(a)?i-l+a:a-l+i,i=l}i+r>=0!=!!t&&e.reverse()}const l=e.VectorTileFeature.prototype.toGeoJSON;class c{constructor(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))}loadGeometry(){if(1===this._feature.type){const t=[];for(const i of this._feature.geometry)t.push([new e.pointGeometry(i[0],i[1])]);return t}{const t=[];for(const i of this._feature.geometry){const r=[];for(const t of i)r.push(new e.pointGeometry(t[0],t[1]));t.push(r)}return t}}toGeoJSON(e,t,i){return l.call(this,e,t,i)}}class h{constructor(t){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=e.EXTENT,this.length=t.length,this._features=t}feature(e){return new c(this._features[e])}}var u={},d={get exports(){return u},set exports(e){u=e}},p=e.pointGeometry,f=e.vectorTile.VectorTileFeature,m=_;function _(e,t){this.options=t||{},this.features=e,this.length=e.length}function g(e,t){this.id="number"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096}_.prototype.feature=function(e){return new g(this.features[e],this.options.extent)},g.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var t=0;t>31}function M(e,t){for(var i=e.loadGeometry(),r=e.type,n=0,o=0,s=i.length,a=0;a>1;C(e,t,s,r,n,o%2),I(e,t,i,r,s-1,o+1),I(e,t,i,s+1,n,o+1)}function C(e,t,i,r,n,o){for(;n>r;){if(n-r>600){const s=n-r+1,a=i-r+1,l=Math.log(s),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(s-c)/s)*(a-s/2<0?-1:1);C(e,t,i,Math.max(r,Math.floor(i-a*c/s+h)),Math.min(n,Math.floor(i+(s-a)*c/s+h)),o)}const s=t[2*i+o];let a=r,l=n;for(z(e,t,r,i),t[2*n+o]>s&&z(e,t,r,n);as;)l--}t[2*r+o]===s?z(e,t,r,l):(l++,z(e,t,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function z(e,t,i,r){D(e,i,r),D(t,2*i,2*r),D(t,2*i+1,2*r+1)}function D(e,t,i){const r=e[t];e[t]=e[i],e[i]=r}function k(e,t,i,r){const n=e-i,o=t-r;return n*n+o*o}d.exports=v,u.fromVectorTileJs=v,u.fromGeojsonVt=function(e,t){t=t||{};var i={};for(var r in e)i[r]=new x(e[r].features,t),i[r].name=r,i[r].version=t.version,i[r].extent=t.extent;return v({layers:i})},u.GeoJSONWrapper=x;const P=e=>e[0],L=e=>e[1];class R{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:P,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:L,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:64,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Float64Array;this.nodeSize=r,this.points=e;const o=e.length<65536?Uint16Array:Uint32Array,s=this.ids=new o(e.length),a=this.coords=new n(2*e.length);for(let l=0;l=i&&c<=n&&h>=r&&h<=o&&l.push(e[s]);continue}const f=Math.floor((p+d)/2);c=t[2*f],h=t[2*f+1],c>=i&&c<=n&&h>=r&&h<=o&&l.push(e[f]);const m=(u+1)%2;(0===u?i<=c:r<=h)&&(a.push(p),a.push(f-1),a.push(m)),(0===u?n>=c:o>=h)&&(a.push(f+1),a.push(d),a.push(m))}return l}(this.ids,this.coords,e,t,i,r,this.nodeSize)}within(e,t,i){return function(e,t,i,r,n,o){const s=[0,e.length-1,0],a=[],l=n*n;for(;s.length;){const c=s.pop(),h=s.pop(),u=s.pop();if(h-u<=o){for(let n=u;n<=h;n++)k(t[2*n],t[2*n+1],i,r)<=l&&a.push(e[n]);continue}const d=Math.floor((u+h)/2),p=t[2*d],f=t[2*d+1];k(p,f,i,r)<=l&&a.push(e[d]);const m=(c+1)%2;(0===c?i-n<=p:r-n<=f)&&(s.push(u),s.push(d-1),s.push(m)),(0===c?i+n>=p:r+n>=f)&&(s.push(d+1),s.push(h),s.push(m))}return a}(this.ids,this.coords,e,t,i,this.nodeSize)}}const B={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},O=Math.fround||(F=new Float32Array(1),e=>(F[0]=+e,F[0]));var F;class U{constructor(e){this.options=W(Object.create(B),e),this.trees=new Array(this.options.maxZoom+1)}load(e){const{log:t,minZoom:i,maxZoom:r,nodeSize:n}=this.options;t&&console.time("total time");const o=`prepare ${e.length} points`;t&&console.time(o),this.points=e;let s=[];for(let a=0;a=i;a--){const e=+Date.now();s=this._cluster(s,a),this.trees[a]=new R(s,X,H,n,Float32Array),t&&console.log("z%d: %d clusters in %dms",a,s.length,+Date.now()-e)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let i=((e[0]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,e[1]));let n=180===e[2]?180:((e[2]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)i=-180,n=180;else if(i>n){const e=this.getClusters([i,r,180,o],t),s=this.getClusters([-180,r,n,o],t);return e.concat(s)}const s=this.trees[this._limitZoom(t)],a=s.range(Z(i),$(o),Z(n),$(r)),l=[];for(const c of a){const e=s.points[c];l.push(e.numPoints?j(e):this.points[e.index])}return l}getChildren(e){const t=this._getOriginId(e),i=this._getOriginZoom(e),r="No cluster with the specified id.",n=this.trees[i];if(!n)throw new Error(r);const o=n.points[t];if(!o)throw new Error(r);const s=this.options.radius/(this.options.extent*Math.pow(2,i-1)),a=n.within(o.x,o.y,s),l=[];for(const c of a){const t=n.points[c];t.parentId===e&&l.push(t.numPoints?j(t):this.points[t.index])}if(0===l.length)throw new Error(r);return l}getLeaves(e,t,i){const r=[];return this._appendLeaves(r,e,t=t||10,i=i||0,0),r}getTile(e,t,i){const r=this.trees[this._limitZoom(e)],n=Math.pow(2,e),{extent:o,radius:s}=this.options,a=s/o,l=(i-a)/n,c=(i+1+a)/n,h={features:[]};return this._addTileFeatures(r.range((t-a)/n,l,(t+1+a)/n,c),r.points,t,i,n,h),0===t&&this._addTileFeatures(r.range(1-a/n,l,1,c),r.points,n,i,n,h),t===n-1&&this._addTileFeatures(r.range(0,l,a/n,c),r.points,-1,i,n,h),h.features.length?h:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const i=this.getChildren(e);if(t++,1!==i.length)break;e=i[0].properties.cluster_id}return t}_appendLeaves(e,t,i,r,n){const o=this.getChildren(t);for(const s of o){const t=s.properties;if(t&&t.cluster?n+t.point_count<=r?n+=t.point_count:n=this._appendLeaves(e,t.cluster_id,i,r,n):nt&&(u+=i.numPoints||1)}if(u>h&&u>=s){let e=r.x*h,s=r.y*h,a=o&&h>1?this._map(r,!0):null;const d=(l<<5)+(t+1)+this.points.length;for(const i of c){const l=n.points[i];if(l.zoom<=t)continue;l.zoom=t;const c=l.numPoints||1;e+=l.x*c,s+=l.y*c,l.parentId=d,o&&(a||(a=this._map(r,!0)),o(a,this._map(l)))}r.parentId=d,i.push(V(e/u,s/u,d,u,a))}else if(i.push(r),u>1)for(const e of c){const r=n.points[e];r.zoom<=t||(r.zoom=t,i.push(r))}}return i}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t){if(e.numPoints)return t?W({},e.properties):e.properties;const i=this.points[e.index].properties,r=this.options.map(i);return t&&r===i?W({},r):r}}function V(e,t,i,r,n){return{x:O(e),y:O(t),zoom:1/0,id:i,parentId:-1,numPoints:r,properties:n}}function N(e,t){const[i,r]=e.geometry.coordinates;return{x:O(Z(i)),y:O($(r)),zoom:1/0,index:t,parentId:-1}}function j(e){return{type:"Feature",id:e.id,properties:G(e),geometry:{type:"Point",coordinates:[(t=e.x,360*(t-.5)),q(e.y)]}};var t}function G(e){const t=e.numPoints,i=t>=1e4?`${Math.round(t/1e3)}k`:t>=1e3?Math.round(t/100)/10+"k":t;return W(W({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:i})}function Z(e){return e/360+.5}function $(e){const t=Math.sin(e*Math.PI/180),i=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return i<0?0:i>1?1:i}function q(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function W(e,t){for(const i in t)e[i]=t[i];return e}function X(e){return e.x}function H(e){return e.y}function Y(e,t,i,r){for(var n,o=r,s=i-t>>1,a=i-t,l=e[t],c=e[t+1],h=e[i],u=e[i+1],d=t+3;do)n=d,o=p;else if(p===o){var f=Math.abs(d-s);fr&&(n-t>3&&Y(e,t,n,r),e[n+2]=o,i-n>3&&Y(e,n,i,r))}function K(e,t,i,r,n,o){var s=n-i,a=o-r;if(0!==s||0!==a){var l=((e-i)*s+(t-r)*a)/(s*s+a*a);l>1?(i=n,r=o):l>0&&(i+=s*l,r+=a*l)}return(s=e-i)*s+(a=t-r)*a}function J(e,t,i,r){var n={id:void 0===e?null:e,type:t,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,i=e.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)Q(e,t);else if("Polygon"===i||"MultiLineString"===i)for(var r=0;r0&&(s+=r?(n*c-l*o)/2:Math.sqrt(Math.pow(l-n,2)+Math.pow(c-o,2))),n=l,o=c}var h=t.length-3;t[2]=1,Y(t,0,h,i),t[h+2]=1,t.size=Math.abs(s),t.start=0,t.end=t.size}function re(e,t,i,r){for(var n=0;n1?1:i}function se(e,t,i,r,n,o,s,a){if(r/=t,o>=(i/=t)&&s=r)return null;for(var l=[],c=0;c=i&&f=r)){var m=[];if("Point"===d||"MultiPoint"===d)ae(u,m,i,r,n);else if("LineString"===d)le(u,m,i,r,n,!1,a.lineMetrics);else if("MultiLineString"===d)he(u,m,i,r,n,!1);else if("Polygon"===d)he(u,m,i,r,n,!0);else if("MultiPolygon"===d)for(var _=0;_=i&&s<=r&&(t.push(e[o]),t.push(e[o+1]),t.push(e[o+2]))}}function le(e,t,i,r,n,o,s){for(var a,l,c=ce(e),h=0===n?de:pe,u=e.start,d=0;di&&(l=h(c,p,f,_,g,i),s&&(c.start=u+a*l)):y>r?x=i&&(l=h(c,p,f,_,g,i),v=!0),x>r&&y<=r&&(l=h(c,p,f,_,g,r),v=!0),!o&&v&&(s&&(c.end=u+a*l),t.push(c),c=ce(e)),s&&(u+=a)}var b=e.length-3;p=e[b],f=e[b+1],m=e[b+2],(y=0===n?p:f)>=i&&y<=r&&ue(c,p,f,m),b=c.length-3,o&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&ue(c,c[0],c[1],c[2]),c.length&&t.push(c)}function ce(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function he(e,t,i,r,n,o){for(var s=0;ss.maxX&&(s.maxX=h),u>s.maxY&&(s.maxY=u)}return s}function xe(e,t,i,r){var n=t.geometry,o=t.type,s=[];if("Point"===o||"MultiPoint"===o)for(var a=0;a0&&t.size<(n?s:r))i.numPoints+=t.length/3;else{for(var a=[],l=0;ls)&&(i.numSimplified++,a.push(t[l]),a.push(t[l+1])),i.numPoints++;n&&function(e,t){for(var i=0,r=0,n=e.length,o=n-2;r0===t)for(r=0,n=e.length;r24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");var r=function(e,t){var i=[];if("FeatureCollection"===e.type)for(var r=0;r1&&console.time("creation"),d=this.tiles[u]=ye(e,t,i,r,l),this.tileCoords.push({z:t,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,r,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd("creation"));var p="z"+t;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(d.source=e,n){if(t===l.maxZoom||t===n)continue;var f=1<1&&console.time("clipping");var m,_,g,y,x,v,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,E=1+b;m=_=g=y=null,x=se(e,h,i-b,i+T,0,d.minX,d.maxX,l),v=se(e,h,i+w,i+E,0,d.minX,d.maxX,l),e=null,x&&(m=se(x,h,r-b,r+T,1,d.minY,d.maxY,l),_=se(x,h,r+w,r+E,1,d.minY,d.maxY,l),x=null),v&&(g=se(v,h,r-b,r+T,1,d.minY,d.maxY,l),y=se(v,h,r+w,r+E,1,d.minY,d.maxY,l),v=null),c>1&&console.timeEnd("clipping"),a.push(m||[],t+1,2*i,2*r),a.push(_||[],t+1,2*i,2*r+1),a.push(g||[],t+1,2*i+1,2*r),a.push(y||[],t+1,2*i+1,2*r+1)}}},be.prototype.getTile=function(e,t,i){var r=this.options,n=r.extent,o=r.debug;if(e<0||e>24)return null;var s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var l,c=e,h=t,u=i;!l&&c>0;)c--,h=Math.floor(h/2),u=Math.floor(u/2),l=this.tiles[we(c,h,u)];return l&&l.source?(o>1&&console.log("found parent tile z%d-%d-%d",c,h,u),o>1&&console.time("drilling down"),this.splitTile(l.source,c,h,u,e,t,i),o>1&&console.timeEnd("drilling down"),this.tiles[a]?_e(this.tiles[a],n):null):null};class Ee extends e.VectorTileWorkerSource{constructor(e,t,i,r,n){super(e,t,i,r,Te),n&&(this.loadGeoJSON=n)}loadData(t,i){const r=t&&t.request,n=r&&r.collectResourceTiming;this.loadGeoJSON(t,((s,a)=>{if(s||!a)return i(s);if("object"!=typeof a)return i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));{o(a,!0);try{if(t.filter){const i=e.createExpression(t.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===i.result)throw new Error(i.value.map((e=>`${e.key}: ${e.message}`)).join(", "));const r=a.features.filter((e=>i.value.evaluate({zoom:0},e)));a={type:"FeatureCollection",features:r}}this._geoJSONIndex=t.cluster?new U(function(t){let{superclusterOptions:i,clusterProperties:r}=t;if(!r||!i)return i;const n={},o={},s={accumulated:null,zoom:0},a={properties:null},l=Object.keys(r);for(const c of l){const[t,i]=r[c],s=e.createExpression(i),a=e.createExpression("string"==typeof t?[t,["accumulated"],["get",c]]:t);n[c]=s.value,o[c]=a.value}return i.map=e=>{a.properties=e;const t={};for(const i of l)t[i]=n[i].evaluate(s,a);return t},i.reduce=(e,t)=>{a.properties=t;for(const i of l)s.accumulated=e[i],e[i]=o[i].evaluate(s,a)},i}(t)).load(a.features):function(e,t){return new be(e,t)}(a,t.geojsonVtOptions)}catch(s){return i(s)}this.loaded={};const l={};if(n){const i=e.getPerformanceMeasurement(r);i&&(l.resourceTiming={},l.resourceTiming[t.source]=JSON.parse(JSON.stringify(i)))}i(null,l)}}))}reloadTile(e,t){const i=this.loaded;return i&&i[e.uid]?super.reloadTile(e,t):this.loadTile(e,t)}loadGeoJSON(t,i){if(t.request)e.getJSON(t.request,i);else{if("string"!=typeof t.data)return i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));try{return i(null,JSON.parse(t.data))}catch(e){return i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`))}}}getClusterExpansionZoom(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId))}catch(e){t(e)}}getClusterChildren(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId))}catch(e){t(e)}}getClusterLeaves(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset))}catch(e){t(e)}}}class Se{constructor(t){this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.isSpriteLoaded={},this.projections={},this.defaultProjection=e.getProjection({name:"mercator"}),this.workerSourceTypes={vector:e.VectorTileWorkerSource,geojson:Ee},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(e,t)=>{if(this.workerSourceTypes[e])throw new Error(`Worker source with name "${e}" already registered.`);this.workerSourceTypes[e]=t},this.self.registerRTLTextPlugin=t=>{if(e.plugin.isParsed())throw new Error("RTL text plugin already registered.");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText}}clearCaches(e,t,i){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e],i()}checkIfReady(e,t,i){i()}setReferrer(e,t){this.referrer=t}spriteLoaded(t,i){this.isSpriteLoaded[t]=i;for(const r in this.workerSources[t]){const n=this.workerSources[t][r];for(const t in n)n[t]instanceof e.VectorTileWorkerSource&&(n[t].isSpriteLoaded=i,n[t].fire(new e.Event("isSpriteLoaded")))}}setImages(e,t,i){this.availableImages[e]=t;for(const r in this.workerSources[e]){const i=this.workerSources[e][r];for(const e in i)i[e].availableImages=t}i()}enableTerrain(e,t,i){this.terrain=t,i()}setProjection(t,i){this.projections[t]=e.getProjection(i)}setLayers(e,t,i){this.getLayerIndex(e).replace(t),i()}updateLayers(e,t,i){this.getLayerIndex(e).update(t.layers,t.removedIds),i()}loadTile(t,i,r){const n=this.enableTerrain?e.extend({enableTerrain:this.terrain},i):i;n.projection=this.projections[t]||this.defaultProjection,this.getWorkerSource(t,i.type,i.source).loadTile(n,r)}loadDEMTile(t,i,r){const n=this.enableTerrain?e.extend({buildQuadTree:this.terrain},i):i;this.getDEMWorkerSource(t,i.source).loadTile(n,r)}reloadTile(t,i,r){const n=this.enableTerrain?e.extend({enableTerrain:this.terrain},i):i;n.projection=this.projections[t]||this.defaultProjection,this.getWorkerSource(t,i.type,i.source).reloadTile(n,r)}abortTile(e,t,i){this.getWorkerSource(e,t.type,t.source).abortTile(t,i)}removeTile(e,t,i){this.getWorkerSource(e,t.type,t.source).removeTile(t,i)}removeSource(e,t,i){if(!this.workerSources[e]||!this.workerSources[e][t.type]||!this.workerSources[e][t.type][t.source])return;const r=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==r.removeSource?r.removeSource(t,i):i()}loadWorkerSource(e,t,i){try{this.self.importScripts(t.url),i()}catch(e){i(e.toString())}}syncRTLPluginState(t,i,r){try{e.plugin.setState(i);const t=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=t){this.self.importScripts(t);const i=e.plugin.isParsed();r(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${t}`),i)}}catch(e){r(e.toString())}}getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}getLayerIndex(e){let t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new r),t}getWorkerSource(e,t,i){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][i]){const r={send:(t,i,r,n,o,s)=>{this.actor.send(t,i,r,e,o,s)},scheduler:this.actor.scheduler};this.workerSources[e][t][i]=new this.workerSourceTypes[t](r,this.getLayerIndex(e),this.getAvailableImages(e),this.isSpriteLoaded[e])}return this.workerSources[e][t][i]}getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new n),this.demWorkerSources[e][t]}enforceCacheSizeLimit(t,i){e.enforceCacheSizeLimit(i)}getWorkerPerformanceMetrics(e,t,i){i(void 0,void 0)}}return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new Se(self)),Se})),r(["./shared"],(function(e){function t(e,i){if(Array.isArray(e)){if(!Array.isArray(i)||e.length!==i.length)return!1;for(let r=0;r{e.window.removeEventListener("click",d,!0)}),0)}function f(e,t){const i=e.getBoundingClientRect();return g(e,i,t)}function m(e,t){const i=e.getBoundingClientRect(),r=[];for(let n=0;n=0?0:t.button}function g(t,i,r){const n=t.offsetWidth===i.width?1:t.offsetWidth/i.width;return new e.pointGeometry((r.clientX-i.left)*n,(r.clientY-i.top)*n)}function y(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i*o-n*r;return s?(e[0]=o*(s=1/s),e[1]=-r*s,e[2]=-n*s,e[3]=i*s,e):null}function x(e){const{userImage:t}=e;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class v extends e.Evented{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.RGBAImage({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(const{ids:e,callback:t}of this.requestors)this._notify(e,t);this.requestors=[]}}hasImage(e){return!!this.getImage(e)}getImage(e){return this.images[e]}addImage(e,t){this._validate(e,t)&&(this.images[e]=t)}_validate(t,i){let r=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new e.ErrorEvent(new Error(`Image "${t}" has invalid "stretchX" value`))),r=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new e.ErrorEvent(new Error(`Image "${t}" has invalid "stretchY" value`))),r=!1),this._validateContent(i.content,i)||(this.fire(new e.ErrorEvent(new Error(`Image "${t}" has invalid "content" value`))),r=!1),r}_validateStretch(e,t){if(!e)return!0;let i=0;for(const r of e){if(r[0]1&&void 0!==arguments[1]?arguments[1]:{};if(!this._validate(e.validateLight,t,i))for(const r in t){const i=t[r];e.endsWith(r,w)?this._transitionable.setTransition(r.slice(0,-w.length),i):this._transitionable.setValue(r,i)}}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(t,i,r){return(!r||!1!==r.validate)&&e.emitValidationErrors(this,t.call(e.validateStyle,e.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:e.spec})))}}const E=new e.Properties({source:new e.DataConstantProperty(e.spec.terrain.source),exaggeration:new e.DataConstantProperty(e.spec.terrain.exaggeration)}),S="-transition";class M extends e.Evented{constructor(t,i){super(),this._transitionable=new e.Transitionable(E),this.set(t),this._transitioning=this._transitionable.untransitioned(),this.drapeRenderMode=i}get(){return this._transitionable.serialize()}set(t){for(const i in t){const r=t[i];e.endsWith(i,S)?this._transitionable.setTransition(i.slice(0,-S.length),r):this._transitionable.setValue(i,r)}}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}}function A(t,i,r,n){const o=e.smoothstep(45,65,r),[s,a]=I(t,n),l=e.length(i);let c=1-Math.min(1,Math.exp((l-s)/(a-s)*-6));return c*=c*c,c=Math.min(1,1.00747*c),c*o*t.alpha}function I(e,t){const i=.5/Math.tan(.5*t);return[e.range[0]+i,e.range[1]+i]}const C=new e.Properties({range:new e.DataConstantProperty(e.spec.fog.range),color:new e.DataConstantProperty(e.spec.fog.color),"high-color":new e.DataConstantProperty(e.spec.fog["high-color"]),"space-color":new e.DataConstantProperty(e.spec.fog["space-color"]),"horizon-blend":new e.DataConstantProperty(e.spec.fog["horizon-blend"]),"star-intensity":new e.DataConstantProperty(e.spec.fog["star-intensity"])}),z="-transition";class D extends e.Evented{constructor(t,i){super(),this._transitionable=new e.Transitionable(C),this.set(t),this._transitioning=this._transitionable.untransitioned(),this._transform=i}get state(){const t=this._transform,i="globe"===t.projection.name,r=e.globeToMercatorTransition(t.zoom),n=this.properties.get("range"),o=[.5,3];return{range:i?[e.number(o[0],n[0],r),e.number(o[1],n[1],r)]:n,horizonBlend:this.properties.get("horizon-blend"),alpha:this.properties.get("color").a}}get(){return this._transitionable.serialize()}set(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this._validate(e.validateFog,t,i)){for(const i of Object.keys(e.spec.fog))t&&void 0===t[i]&&(t[i]=e.spec.fog[i].default);for(const i in t){const r=t[i];e.endsWith(i,z)?this._transitionable.setTransition(i.slice(0,-z.length),r):this._transitionable.setValue(i,r)}}}getOpacity(t){if(!this._transform.projection.supportsFog)return 0;const i=this.properties&&this.properties.get("color")||1;return("globe"===this._transform.projection.name?1:e.smoothstep(45,65,t))*i.a}getOpacityAtLatLng(t,i){return this._transform.projection.supportsFog?function(t,i,r){const n=e.MercatorCoordinate.fromLngLat(i),o=r.elevation?r.elevation.getAtPointOrZero(n):0,s=[n.x,n.y,o];return e.transformMat4(s,s,r.mercatorFogMatrix),A(t,s,r.pitch,r._fov)}(this.state,t,i):0}getFovAdjustedRange(e){return this._transform.projection.supportsFog?I(this.state,e):[0,1]}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(t,i,r){return(!r||!1!==r.validate)&&e.emitValidationErrors(this,t.call(e.validateStyle,e.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:e.spec})))}}class k{constructor(t,i){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=e.uniqueId();const r=this.workerPool.acquire(this.id);for(let e=0;e{this.ready=!0}))}broadcast(t,i,r){e.asyncAll(this.actors,((e,r)=>{e.send(t,i,r)}),r=r||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((e=>{e.remove()})),this.actors=[],this.workerPool.release(this.id)}}function P(t,i,r){return i*(e.EXTENT/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}k.Actor=e.Actor;class L{constructor(e,t,i,r){this.screenBounds=e,this.cameraPoint=t,this._screenRaycastCache={},this._cameraRaycastCache={},this.isAboveHorizon=i,this.screenGeometry=this.bufferedScreenGeometry(0),this.screenGeometryMercator=this._bufferedScreenMercator(0,r)}static createFromScreenPoints(t,i){let r,n;if(t instanceof e.pointGeometry||"number"==typeof t[0]){const o=e.pointGeometry.convert(t);r=[o],n=i.isPointAboveHorizon(o)}else{const o=e.pointGeometry.convert(t[0]),s=e.pointGeometry.convert(t[1]);r=[o,s],n=e.polygonizeBounds(o,s).every((e=>i.isPointAboveHorizon(e)))}return new L(r,i.getCameraPoint(),n,i)}isPointQuery(){return 1===this.screenBounds.length}bufferedScreenGeometry(t){return e.polygonizeBounds(this.screenBounds[0],1===this.screenBounds.length?this.screenBounds[0]:this.screenBounds[1],t)}bufferedCameraGeometry(t){const i=this.screenBounds[0],r=1===this.screenBounds.length?this.screenBounds[0].add(new e.pointGeometry(1,1)):this.screenBounds[1],n=e.polygonizeBounds(i,r,0,!1);return this.cameraPoint.y>r.y&&(this.cameraPoint.x>i.x&&this.cameraPoint.x=r.x?n[2]=this.cameraPoint:this.cameraPoint.x<=i.x&&(n[3]=this.cameraPoint)),e.bufferConvexPolygon(n,t)}bufferedCameraGeometryGlobe(t){const i=this.screenBounds[0],r=1===this.screenBounds.length?this.screenBounds[0].add(new e.pointGeometry(1,1)):this.screenBounds[1],n=e.polygonizeBounds(i,r,t),o=this.cameraPoint.clone();switch(3*((o.y>i.y)+(o.y>r.y))+((o.x>i.x)+(o.x>r.x))){case 0:n[0]=o,n[4]=o.clone();break;case 1:n.splice(1,0,o);break;case 2:n[1]=o;break;case 3:n.splice(4,0,o);break;case 5:n.splice(2,0,o);break;case 6:n[3]=o;break;case 7:n.splice(3,0,o);break;case 8:n[2]=o}return n}containsTile(t,i,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const o=t.queryPadding/i._pixelsPerMercatorPixel+1,s=r?this._bufferedCameraMercator(o,i):this._bufferedScreenMercator(o,i);let a=t.tileID.wrap+(s.unwrapped?n:0);const l=s.polygon.map((i=>e.getTilePoint(t.tileTransform,i,a)));if(!e.polygonIntersectsBox(l,0,0,e.EXTENT,e.EXTENT))return;a=t.tileID.wrap+(this.screenGeometryMercator.unwrapped?n:0);const c=this.screenGeometryMercator.polygon.map((i=>e.getTileVec3(t.tileTransform,i,a))),h=c.map((t=>new e.pointGeometry(t[0],t[1]))),u=i.getFreeCameraOptions().position||new e.MercatorCoordinate(0,0,0),d=e.getTileVec3(t.tileTransform,u,a),p=c.map((t=>{const i=e.sub(t,t,d);return e.normalize(i,i),new e.Ray(d,i)})),f=P(t,1,i.zoom)*i._pixelsPerMercatorPixel;return{queryGeometry:this,tilespaceGeometry:h,tilespaceRays:p,bufferedTilespaceGeometry:l,bufferedTilespaceBounds:(m=e.getBounds(l),m.min.x=e.clamp(m.min.x,0,e.EXTENT),m.min.y=e.clamp(m.min.y,0,e.EXTENT),m.max.x=e.clamp(m.max.x,0,e.EXTENT),m.max.y=e.clamp(m.max.y,0,e.EXTENT),m),tile:t,tileID:t.tileID,pixelToTileUnitsFactor:f};var m}_bufferedScreenMercator(e,t){const i=O(e);if(this._screenRaycastCache[i])return this._screenRaycastCache[i];{let r;return r="globe"===t.projection.name?this._projectAndResample(this.bufferedScreenGeometry(e),t):{polygon:this.bufferedScreenGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._screenRaycastCache[i]=r,r}}_bufferedCameraMercator(e,t){const i=O(e);if(this._cameraRaycastCache[i])return this._cameraRaycastCache[i];{let r;return r="globe"===t.projection.name?this._projectAndResample(this.bufferedCameraGeometryGlobe(e),t):{polygon:this.bufferedCameraGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._cameraRaycastCache[i]=r,r}}_projectAndResample(t,i){const r=function(t,i){const r=e.multiply([],i.pixelMatrix,i.globeMatrix),n=[0,-e.GLOBE_RADIUS,0,1],o=[0,e.GLOBE_RADIUS,0,1],s=[0,0,0,1];e.transformMat4$1(n,n,r),e.transformMat4$1(o,o,r),e.transformMat4$1(s,s,r);const a=new e.pointGeometry(n[0]/n[3],n[1]/n[3]),l=new e.pointGeometry(o[0]/o[3],o[1]/o[3]),c=e.polygonContainsPoint(t,a)&&n[3]1?R(t.slice(0,d),i):[],m=dnew e.pointGeometry(B(t.x),t.y))),m=m.map((t=>new e.pointGeometry(B(t.x),t.y)));const _=[...f];0===_.length&&_.push(m[m.length-1]);const g=e.number(_[_.length-1].y,(0===m.length?f[0]:m[0]).y,p);let y;return y=c?[new e.pointGeometry(0,g),new e.pointGeometry(0,0),new e.pointGeometry(1,0),new e.pointGeometry(1,g)]:[new e.pointGeometry(1,g),new e.pointGeometry(1,1),new e.pointGeometry(0,1),new e.pointGeometry(0,g)],_.push(...y),0===m.length?_.push(f[0]):_.push(...m),{polygon:_.map((t=>new e.MercatorCoordinate(t.x,t.y))),unwrapped:!1}}(t,i);if(r)return r;const n=function(t,i){let r=!1,n=-1/0,o=0;for(let e=0;en&&(n=t[e].x,o=e);for(let e=0;e.5&&(n.x{e.x-=1})),{polygon:t,unwrapped:r}}(R(t,i).map((t=>new e.pointGeometry(B(t.x),t.y))),i);return{polygon:n.polygon.map((t=>new e.MercatorCoordinate(t.x,t.y))),unwrapped:n.unwrapped}}}function R(t,i){return e.resample(t,(e=>{const t=i.pointCoordinate3D(e);e.x=t.x,e.y=t.y}),1/256)}function B(e){return e<0?1+e%1:e%1}function O(e){return 100*e|0}function F(t,i,r,n,o){const s=function(r,n){if(r)return o(r);if(n){t.url&&n.tiles&&t.tiles&&delete t.tiles;const r=e.pick(e.extend(n,t),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);n.vector_layers&&(r.vectorLayers=n.vector_layers,r.vectorLayerIds=r.vectorLayers.map((e=>e.id))),r.tiles=i.canonicalizeTileset(r,t.url),o(null,r)}};return t.url?e.getJSON(i.transformRequest(i.normalizeSourceURL(t.url,null,r,n),e.ResourceType.Source),s):e.exported.frame((()=>s(null,t)))}class U{constructor(t,i,r){this.bounds=e.LngLatBounds.convert(this.validateBounds(t)),this.minzoom=i||0,this.maxzoom=r||24}validateBounds(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(t){const i=Math.pow(2,t.z),r=Math.floor(e.mercatorXfromLng(this.bounds.getWest())*i),n=Math.floor(e.mercatorYfromLat(this.bounds.getNorth())*i),o=Math.ceil(e.mercatorXfromLng(this.bounds.getEast())*i),s=Math.ceil(e.mercatorYfromLat(this.bounds.getSouth())*i);return t.x>=r&&t.x=n&&t.y1&&void 0!==arguments[1]&&arguments[1];if(this.gl=e,this.isWebGL2=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),t){const t=e;this.extVertexArrayObject={createVertexArrayOES:t.createVertexArray.bind(e),deleteVertexArrayOES:t.deleteVertexArray.bind(e),bindVertexArrayOES:t.bindVertexArray.bind(e)}}this.clearColor=new Z(this),this.clearDepth=new $(this),this.clearStencil=new q(this),this.colorMask=new W(this),this.depthMask=new X(this),this.stencilMask=new H(this),this.stencilFunc=new Y(this),this.stencilOp=new K(this),this.stencilTest=new J(this),this.depthRange=new Q(this),this.depthTest=new ee(this),this.depthFunc=new te(this),this.blend=new ie(this),this.blendFunc=new re(this),this.blendColor=new ne(this),this.blendEquation=new oe(this),this.cullFace=new se(this),this.cullFaceSide=new ae(this),this.frontFace=new le(this),this.program=new ce(this),this.activeTexture=new he(this),this.viewport=new ue(this),this.bindFramebuffer=new de(this),this.bindRenderbuffer=new pe(this),this.bindTexture=new fe(this),this.bindVertexBuffer=new me(this),this.bindElementBuffer=new _e(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new ge(this),this.pixelStoreUnpack=new ye(this),this.pixelStoreUnpackPremultiplyAlpha=new xe(this),this.pixelStoreUnpackFlipY=new ve(this),this.extTextureFilterAnisotropic=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureFilterAnisotropicForceOff=!1,this.extStandardDerivativesForceOff=!1,this.extDebugRendererInfo=e.getExtension("WEBGL_debug_renderer_info"),this.extDebugRendererInfo&&(this.renderer=e.getParameter(this.extDebugRendererInfo.UNMASKED_RENDERER_WEBGL),this.vendor=e.getParameter(this.extDebugRendererInfo.UNMASKED_VENDOR_WEBGL)),t||(this.extTextureHalfFloat=e.getExtension("OES_texture_half_float")),(t||this.extTextureHalfFloat&&e.getExtension("OES_texture_half_float_linear"))&&(this.extRenderToTextureHalfFloat=e.getExtension("EXT_color_buffer_half_float")),this.extStandardDerivatives=t||e.getExtension("OES_standard_derivatives"),this.extTimerQuery=e.getExtension("EXT_disjoint_timer_query"),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE)}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(e,t){return new V(this,e,t)}createVertexBuffer(e,t,i){return new j(this,e,t,i)}createRenderbuffer(e,t,i){const r=this.gl,n=r.createRenderbuffer();return this.bindRenderbuffer.set(n),r.renderbufferStorage(r.RENDERBUFFER,e,t,i),this.bindRenderbuffer.set(null),n}createFramebuffer(e,t,i){return new Se(this,e,t,i)}clear(e){let{color:t,depth:i,stencil:r}=e;const n=this.gl;let o=0;t&&(o|=n.COLOR_BUFFER_BIT,this.clearColor.set(t),this.colorMask.set([!0,!0,!0,!0])),void 0!==i&&(o|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(i),this.depthMask.set(!0)),void 0!==r&&(o|=n.STENCIL_BUFFER_BIT,this.clearStencil.set(r),this.stencilMask.set(255)),n.clear(o)}setCullFace(e){!1===e.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)}setStencilMode(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)}setColorMode(i){t(i.blendFunction,e.ColorMode.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(i.blendFunction),this.blendColor.set(i.blendColor)),this.colorMask.set(i.mask)}unbindVAO(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)}}class Ae extends e.Evented{constructor(t,i,r,n){if(super(),this.id=t,this.dispatcher=r,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,e.extend(this,e.pick(i,["url","scheme","tileSize","promoteId"])),this._options=e.extend({type:"vector"},i),this._collectResourceTiming=i.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(n),this._tileWorkers={},this._deduped=new e.DedupedRequest}load(t){this._loaded=!1,this.fire(new e.Event("dataloading",{dataType:"source"}));const i=Array.isArray(this.map._language)?this.map._language.join():this.map._language,r=this.map._worldview;this._tileJSONRequest=F(this._options,this.map._requestManager,i,r,((n,o)=>{this._tileJSONRequest=null,this._loaded=!0,n?(i&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${i}`),r&&2!==r.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${r}`),this.fire(new e.ErrorEvent(n))):o&&(e.extend(this,o),o.bounds&&(this.tileBounds=new U(o.bounds,this.minzoom,this.maxzoom)),e.postTurnstileEvent(o.tiles,this.map._requestManager._customAccessToken),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"}))),t&&t(n)}))}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)))}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return e.extend({},this._options)}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),n={request:this.map._requestManager.transformRequest(r,e.ResourceType.Tile),data:void 0,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:e.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,isSymbolTile:t.isSymbolTile};if(n.request.collectResourceTiming=this._collectResourceTiming,t.actor&&"expired"!==t.state)"loading"===t.state?t.reloadCallback=i:t.request=t.actor.send("reloadTile",n,o.bind(this));else if(t.actor=this._tileWorkers[r]=this._tileWorkers[r]||this.dispatcher.getActor(),this.dispatcher.ready)t.request=t.actor.send("loadTile",n,o.bind(this),void 0,!0);else{const i=e.loadVectorTile.call({deduped:this._deduped},n,((e,i)=>{e||!i?o.call(this,e):(n.data={cacheControl:i.cacheControl,expires:i.expires,rawData:i.rawData.slice(0)},t.actor&&t.actor.send("loadTile",n,o.bind(this),void 0,!0))}),!0);t.request={cancel:i}}function o(r,n){return delete t.request,t.aborted?i(null):r&&404!==r.status?i(r):(n&&n.resourceTiming&&(t.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&n&&t.setExpiryData(n),t.loadVectorData(n,this.map.painter),e.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.actor&&e.actor.send("abortTile",{uid:e.uid,type:this.type,source:this.id})}unloadTile(e){e.unloadVectorData(),e.actor&&e.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id})}hasTransition(){return!1}afterUpdate(){this._tileWorkers={}}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}class Ie extends e.Evented{constructor(t,i,r,n){super(),this.id=t,this.dispatcher=r,this.setEventedParent(n),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=e.extend({type:"raster"},i),e.extend(this,e.pick(i,["url","scheme","tileSize"]))}load(t){this._loaded=!1,this.fire(new e.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=F(this._options,this.map._requestManager,null,null,((i,r)=>{this._tileJSONRequest=null,this._loaded=!0,i?this.fire(new e.ErrorEvent(i)):r&&(e.extend(this,r),r.bounds&&(this.tileBounds=new U(r.bounds,this.minzoom,this.maxzoom)),e.postTurnstileEvent(r.tiles),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"}))),t&&t(i)}))}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)))}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return e.extend({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(t,i){const r=e.exported.devicePixelRatio>=2,n=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),r,this.tileSize);t.request=e.getImage(this.map._requestManager.transformRequest(n,e.ResourceType.Tile),((r,n,o,s)=>(delete t.request,t.aborted?(t.state="unloaded",i(null)):r?(t.state="errored",i(r)):n?(this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:o,expires:s}),t.setTexture(n,this.map.painter),t.state="loaded",e.cacheEntryPossiblyAdded(this.dispatcher),void i(null)):i(null))))}static loadTileData(e,t,i){e.setTexture(t,i)}static unloadTileData(e,t){e.texture&&t.saveTileTexture(e.texture)}abortTile(e,t){e.request&&(e.request.cancel(),delete e.request),t()}unloadTile(e,t){e.texture&&this.map.painter.saveTileTexture(e.texture),t()}hasTransition(){return!1}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}let Ce;function ze(t,i,r,n,o,s,a,l){const c=[t,r,o,i,n,s,1,1,1],h=[a,l,1],u=e.adjoint([],c),[d,p,f]=e.transformMat3(h,h,e.transpose(u,u));return e.multiply$1(c,[d,0,0,0,p,0,0,0,f],c)}class De extends e.Evented{constructor(e,t,i,r){super(),this.id=e,this.dispatcher=i,this.coordinates=t.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=t,this._dirty=!1}load(t,i){this._loaded=i||!1,this.fire(new e.Event("dataloading",{dataType:"source"})),this.url=this.options.url,this._imageRequest=e.getImage(this.map._requestManager.transformRequest(this.url,e.ResourceType.Image),((i,r)=>{if(this._imageRequest=null,this._loaded=!0,i)this.fire(new e.ErrorEvent(i));else if(r){const{HTMLImageElement:i}=e.window;this.image=r instanceof i?e.exported.getImageData(r):r,this._dirty=!0,this.width=this.image.width,this.height=this.image.height,t&&(this.coordinates=t),this._finishLoading()}}))}loaded(){return this._loaded}updateImage(e){return this.image&&e.url?(this._imageRequest&&e.url!==this.options.url&&(this._imageRequest.cancel(),this._imageRequest=null),this.options.url=e.url,this.load(e.coordinates,this._loaded),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(e){this.map=e,this.load()}onRemove(){this._imageRequest&&(this._imageRequest.cancel(),this._imageRequest=null),this.texture&&this.texture.destroy()}setCoordinates(t){this.coordinates=t,this._boundsArray=void 0;const i=t.map(e.MercatorCoordinate.fromLngLat);return this.tileID=function(t){let i=1/0,r=1/0,n=-1/0,o=-1/0;for(const e of t)i=Math.min(i,e.x),r=Math.min(r,e.y),n=Math.max(n,e.x),o=Math.max(o,e.y);const s=Math.max(n-i,o-r),a=Math.max(0,Math.floor(-Math.log(s)/Math.LN2)),l=Math.pow(2,a);return new e.CanonicalTileID(a,Math.floor((i+n)/2*l),Math.floor((r+o)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z,this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"})),this}_clear(){this._boundsArray=void 0}_prepareData(t){for(const e in this.tiles){const t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture)}if(this._boundsArray)return;const i=e.tileTransform(this.tileID,this.map.transform.projection),[r,n,o,s]=this.coordinates.map((t=>{const r=i.projection.project(t[0],t[1]);return e.getTilePoint(i,r)._round()}));this.perspectiveTransform=function(t,i,r,n,o,s,a,l,c,h){const u=ze(0,0,t,0,0,i,t,i),d=ze(r,n,o,s,a,l,c,h);return e.multiply$1(d,e.adjoint(u,u),d),[d[6]/d[8]*t/e.EXTENT,d[7]/d[8]*i/e.EXTENT]}(this.width,this.height,r.x,r.y,n.x,n.y,s.x,s.y,o.x,o.y);const a=this._boundsArray=new e.StructArrayLayout4i8;a.emplaceBack(r.x,r.y,0,0),a.emplaceBack(n.x,n.y,e.EXTENT,0),a.emplaceBack(s.x,s.y,0,e.EXTENT),a.emplaceBack(o.x,o.y,e.EXTENT,e.EXTENT),this.boundsBuffer&&this.boundsBuffer.destroy(),this.boundsBuffer=t.createVertexBuffer(a,e.boundsAttributes.members),this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,i=t.gl;this._dirty&&(this.texture?this.texture.update(this.image):(this.texture=new e.Texture(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this._dirty=!1),this._prepareData(t)}loadTile(e,t){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={},t(null)):(e.state="errored",t(null))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}const ke={vector:Ae,raster:Ie,"raster-dem":class extends Ie{constructor(t,i,r,n){super(t,i,r,n),this.type="raster-dem",this.maxzoom=22,this._options=e.extend({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize);function n(e,r){e&&(t.state="errored",i(e)),r&&(t.dem=r,t.dem.onDeserialize(),t.needsHillshadePrepare=!0,t.needsDEMTextureUpload=!0,t.state="loaded",i(null))}t.request=e.getImage(this.map._requestManager.transformRequest(r,e.ResourceType.Tile),function(r,o,s,a){if(delete t.request,t.aborted)t.state="unloaded",i(null);else if(r)t.state="errored",i(r);else if(o){this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:s,expires:a});const i=e.window.ImageBitmap&&o instanceof e.window.ImageBitmap&&(null==Ce&&(Ce=e.window.OffscreenCanvas&&new e.window.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof e.window.createImageBitmap),Ce),r=1-(o.width-e.prevPowerOfTwo(o.width))/2;r<1||t.neighboringTiles||(t.neighboringTiles=this._getNeighboringTiles(t.tileID));const l=i?o:e.exported.getImageData(o,r),c={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:l,encoding:this.encoding,padding:r};t.actor&&"expired"!==t.state||(t.actor=this.dispatcher.getActor(),t.actor.send("loadDEMTile",c,n.bind(this),void 0,!0))}}.bind(this))}_getNeighboringTiles(t){const i=t.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,o=0===i.x?t.wrap-1:t.wrap,s=(i.x+1+r)%r,a=i.x+1===r?t.wrap+1:t.wrap,l={};return l[new e.OverscaledTileID(t.overscaledZ,o,i.z,n,i.y).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,a,i.z,s,i.y).key]={backfilled:!1},i.y>0&&(l[new e.OverscaledTileID(t.overscaledZ,o,i.z,n,i.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,a,i.z,s,i.y-1).key]={backfilled:!1}),i.y+1{if(this._loaded=!0,this._pendingLoad=null,t)this.fire(new e.ErrorEvent(t));else{const t={dataType:"source",sourceDataType:this._metadataFired?"content":"metadata"};this._collectResourceTiming&&i&&i.resourceTiming&&i.resourceTiming[this.id]&&(t.resourceTiming=i.resourceTiming[this.id]),this.fire(new e.Event("data",t)),this._metadataFired=!0}this._coalesce&&(this._updateWorkerData(),this._coalesce=!1)}))}loaded(){return this._loaded}loadTile(t,i){const r=t.actor?"reloadTile":"loadTile";t.actor=this.actor,t.request=this.actor.send(r,{type:this.type,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:e.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},((e,n)=>(delete t.request,t.unloadVectorData(),t.aborted?i(null):e?i(e):(t.loadVectorData(n,this.map.painter,"reloadTile"===r),i(null)))),void 0,"loadTile"===r)}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.aborted=!0}unloadTile(e){e.unloadVectorData(),this.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id})}onRemove(){this._pendingLoad&&this._pendingLoad.cancel()}serialize(){return e.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}},video:class extends De{constructor(e,t,i,r){super(e,t,i,r),this.roundZoom=!0,this.type="video",this.options=t}load(){this._loaded=!1;const t=this.options;this.urls=[];for(const i of t.urls)this.urls.push(this.map._requestManager.transformRequest(i,e.ResourceType.Source).url);e.getVideo(this.urls,((t,i)=>{this._loaded=!0,t?this.fire(new e.ErrorEvent(t)):i&&(this.video=i,this.video.loop=!0,this.video.setAttribute("playsinline",""),this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading())}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(t){if(this.video){const i=this.video.seekable;ti.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=t}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,i=t.gl;this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),this.width=this.video.videoWidth,this.height=this.video.videoHeight),this._prepareData(t)}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},image:De,canvas:class extends De{constructor(t,i,r,n){super(t,i,r,n),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((e=>!Array.isArray(e)||2!==e.length||e.some((e=>"number"!=typeof e))))||this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof e.window.HTMLCanvasElement||this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof e.window.HTMLCanvasElement?this.options.canvas:e.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context;this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.Texture(i,this.canvas,i.gl.RGBA,{premultiply:!0}),this._prepareData(i)}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}},custom:class extends e.Evented{constructor(t,i,r,n){super(),this.id=t,this.type="custom",this._dataType="raster",this._dispatcher=r,this._implementation=i,this.setEventedParent(n),this.scheme="xyz",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this._loaded=!1,this.roundZoom=!0,this._implementation||this.fire(new e.ErrorEvent(new Error(`Missing implementation for ${this.id} custom source`))),this._implementation.loadTile||this.fire(new e.ErrorEvent(new Error(`Missing loadTile implementation for ${this.id} custom source`))),this._implementation.bounds&&(this.tileBounds=new U(this._implementation.bounds,this.minzoom,this.maxzoom)),i.update=this._update.bind(this),i.clearTiles=this._clearTiles.bind(this),i.coveringTiles=this._coveringTiles.bind(this),e.extend(this,e.pick(i,["dataType","scheme","minzoom","maxzoom","tileSize","attribution","minTileCacheSize","maxTileCacheSize"]))}serialize(){return e.pick(this,["type","scheme","minzoom","maxzoom","tileSize","attribution"])}load(){this._loaded=!0,this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"}))}loaded(){return this._loaded}onAdd(t){this._map=t,this._loaded=!1,this.fire(new e.Event("dataloading",{dataType:"source"})),this._implementation.onAdd&&this._implementation.onAdd(t),this.load()}onRemove(e){this._implementation.onRemove&&this._implementation.onRemove(e)}hasTile(e){if(this._implementation.hasTile){const{x:t,y:i,z:r}=e.canonical;return this._implementation.hasTile({x:t,y:i,z:r})}return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(t,i){const{x:r,y:n,z:o}=t.tileID.canonical,s=new e.window.AbortController;t.request=Promise.resolve(this._implementation.loadTile({x:r,y:n,z:o},{signal:s.signal})).then(function(r){return delete t.request,t.aborted?(t.state="unloaded",i(null)):void 0===r?(t.state="errored",i(null)):null===r?(this.loadTileData(t,{width:this.tileSize,height:this.tileSize,data:null}),t.state="loaded",i(null)):function(t){return t instanceof e.window.ImageData||t instanceof e.window.HTMLCanvasElement||t instanceof e.window.ImageBitmap||t instanceof e.window.HTMLImageElement}(r)?(this.loadTileData(t,r),t.state="loaded",void i(null)):(t.state="errored",i(new Error(`Can't infer data type for ${this.id}, only raster data supported at the moment`)))}.bind(this)).catch((e=>{20!==e.code&&(t.state="errored",i(e))})),t.request.cancel=()=>s.abort()}loadTileData(e,t){Ie.loadTileData(e,t,this._map.painter)}unloadTileData(e){Ie.unloadTileData(e,this._map.painter)}unloadTile(e,t){if(this.unloadTileData(e),this._implementation.unloadTile){const{x:t,y:i,z:r}=e.tileID.canonical;this._implementation.unloadTile({x:t,y:i,z:r})}t()}abortTile(e,t){e.request&&e.request.cancel&&(e.request.cancel(),delete e.request),t()}hasTransition(){return!1}_coveringTiles(){return this._map.transform.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,roundZoom:this.roundZoom}).map((e=>({x:e.canonical.x,y:e.canonical.y,z:e.canonical.z})))}_clearTiles(){this._map.style._clearSource(this.id)}_update(){this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"}))}}},Pe=function(t,i,r,n){const o=new ke[i.type](t,i,r,n);if(o.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${o.id}`);return e.bindAll(["load","abort","unload","serialize","prepare"],o),o};function Le(t,i){const r=e.identity([]);return e.scale(r,r,[.5*t.width,.5*-t.height,1]),e.translate(r,r,[1,-1,0]),e.multiply(r,r,t.calculateProjMatrix(i.toUnwrapped())),Float32Array.from(r)}function Re(e,t,i,r,n,o,s){let a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];const l=e.tilesIn(r,s,a);l.sort(Oe);const c=[];for(const u of l)c.push({wrappedTileID:u.tile.tileID.wrapped().key,queryResults:u.tile.queryRenderedFeatures(t,i,e._state,u,n,o,Le(e.transform,u.tile.tileID),a)});const h=function(e){const t={},i={};for(const r of e){const e=r.queryResults,n=r.wrappedTileID,o=i[n]=i[n]||{};for(const i in e){const r=e[i],n=o[i]=o[i]||{},s=t[i]=t[i]||[];for(const e of r)n[e.featureIndex]||(n[e.featureIndex]=!0,s.push(e))}}return t}(c);for(const u in h)h[u].forEach((t=>{const i=t.feature,r=i.layer;r&&"background"!==r.type&&"sky"!==r.type&&(i.source=r.source,r["source-layer"]&&(i.sourceLayer=r["source-layer"]),i.state=void 0!==i.id?e.getFeatureState(r["source-layer"],i.id):{})}));return h}function Be(e,t){const i=e.getRenderableIds().map((t=>e.getTileByID(t))),r=[],n={};for(let o=0;o{e.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[Ue]}numActive(){return Object.keys(this.active).length}}let Ne;function je(){return Ne||(Ne=new Ve),Ne}function Ge(t,i){const r={};for(const e in t)"ref"!==e&&(r[e]=t[e]);return e.refProperties.forEach((e=>{e in i&&(r[e]=i[e])})),r}function Ze(e){e=e.slice();const t=Object.create(null);for(let i=0;i0?(n-s)/a:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}class et{constructor(e,t,i){const r=this.boxCells=[],n=this.circleCells=[];this.xCellCount=Math.ceil(e/i),this.yCellCount=Math.ceil(t/i);for(let o=0;othis.width||r<0||t>this.height)return!n&&[];const s=[];if(e<=0&&t<=0&&this.width<=i&&this.height<=r){if(n)return!0;for(let e=0;e0:s}_queryCircle(e,t,i,r,n){const o=e-i,s=e+i,a=t-i,l=t+i;if(s<0||o>this.width||l<0||a>this.height)return!r&&[];const c=[];return this._forEachCell(o,a,s,l,this._queryCellCircle,c,{hitTest:r,circle:{x:e,y:t,radius:i},seenUids:{box:{},circle:{}}},n),r?c.length>0:c}query(e,t,i,r,n){return this._query(e,t,i,r,!1,n)}hitTest(e,t,i,r,n){return this._query(e,t,i,r,!0,n)}hitTestCircle(e,t,i,r){return this._queryCircle(e,t,i,!0,r)}_queryCell(e,t,i,r,n,o,s,a){const l=s.seenUids,c=this.boxCells[n];if(null!==c){const n=this.bboxes;for(const h of c)if(!l.box[h]){l.box[h]=!0;const c=4*h;if(e<=n[c+2]&&t<=n[c+3]&&i>=n[c+0]&&r>=n[c+1]&&(!a||a(this.boxKeys[h]))){if(s.hitTest)return o.push(!0),!0;o.push({key:this.boxKeys[h],x1:n[c],y1:n[c+1],x2:n[c+2],y2:n[c+3]})}}}const h=this.circleCells[n];if(null!==h){const n=this.circles;for(const c of h)if(!l.circle[c]){l.circle[c]=!0;const h=3*c;if(this._circleAndRectCollide(n[h],n[h+1],n[h+2],e,t,i,r)&&(!a||a(this.circleKeys[c]))){if(s.hitTest)return o.push(!0),!0;{const e=n[h],t=n[h+1],i=n[h+2];o.push({key:this.circleKeys[c],x1:e-i,y1:t-i,x2:e+i,y2:t+i})}}}}}_queryCellCircle(e,t,i,r,n,o,s,a){const l=s.circle,c=s.seenUids,h=this.boxCells[n];if(null!==h){const e=this.bboxes;for(const t of h)if(!c.box[t]){c.box[t]=!0;const i=4*t;if(this._circleAndRectCollide(l.x,l.y,l.radius,e[i+0],e[i+1],e[i+2],e[i+3])&&(!a||a(this.boxKeys[t])))return o.push(!0),!0}}const u=this.circleCells[n];if(null!==u){const e=this.circles;for(const t of u)if(!c.circle[t]){c.circle[t]=!0;const i=3*t;if(this._circlesCollide(e[i],e[i+1],e[i+2],l.x,l.y,l.radius)&&(!a||a(this.circleKeys[t])))return o.push(!0),!0}}}_forEachCell(e,t,i,r,n,o,s,a){const l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(r);for(let d=l;d<=h;d++)for(let l=c;l<=u;l++)if(n.call(this,e,t,i,r,this.xCellCount*l+d,o,s,a))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,i,r,n,o){const s=r-e,a=n-t,l=i+o;return l*l>s*s+a*a}_circleAndRectCollide(e,t,i,r,n,o,s){const a=(o-r)/2,l=Math.abs(e-(r+a));if(l>a+i)return!1;const c=(s-n)/2,h=Math.abs(t-(n+c));if(h>c+i)return!1;if(l<=a||h<=c)return!0;const u=l-a,d=h-c;return u*u+d*d<=i*i}}const tt=Math.tan(85*Math.PI/180);function it(t,i,r,n,o,s,a){const l=e.create();if(r)if("globe"===s.name){const t=e.calculateGlobeLabelMatrix(o,i);e.multiply(l,l,t)}else{const t=y([],a);l[0]=t[0],l[1]=t[1],l[4]=t[2],l[5]=t[3],n||e.rotateZ(l,l,o.angle)}else e.multiply(l,o.labelPlaneMatrix,t);return l}function rt(e,t,i,r,n,o,s){const a=it(e,t,i,r,n,o,s);return"globe"===o.name&&i||(a[2]=a[6]=a[10]=a[14]=0),a}function nt(t,i,r,n,o,s,a){if(r){if("globe"===s.name){const l=it(t,i,r,n,o,s,a);return e.invert(l,l),e.multiply(l,t,l),l}{const i=e.clone(t),r=e.identity([]);return r[0]=a[0],r[1]=a[1],r[4]=a[2],r[5]=a[3],e.multiply(i,i,r),n||e.rotateZ(i,i,-o.angle),i}}return o.glCoordMatrix}function ot(t,i,r,n){const o=[t,i,r,1];r?e.transformMat4$1(o,o,n):_t(o,o,n);const s=o[3];return o[0]/=s,o[1]/=s,o[2]/=s,o}function st(e,t){return Math.min(.5+e/t*.5,1.5)}function at(e,t){const i=e[0]/e[3],r=e[1]/e[3];return i>=-t[0]&&i<=t[0]&&r>=-t[1]&&r<=t[1]}function lt(t,i,r,n,o,s,a,l,c,h){const u=r.transform,d=n?t.textSizeData:t.iconSizeData,p=e.evaluateSizeForZoom(d,r.transform.zoom),f="globe"===u.projection.name,m=[256/r.width*2+1,256/r.height*2+1],_=n?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;_.clear();let g=null;f&&(g=n?t.text.globeExtVertexArray:t.icon.globeExtVertexArray);const y=t.lineVertexArray,x=n?t.text.placedSymbolArray:t.icon.placedSymbolArray,v=r.transform.width/r.transform.height;let b,w=!1;for(let T=0;TMath.abs(r)?{useVertical:!0}:t===e.WritingMode.vertical?n>0?{needsFlipping:!0}:null:0!==i&&function(e,t){return 0===e||Math.abs(t/e)>tt}(r,n)?1===i?{needsFlipping:!0}:null:r<0?{needsFlipping:!0}:null}function ut(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x){const v=i/24,b=t.lineOffsetX*v,w=t.lineOffsetY*v,{lineStartIndex:T,glyphStartIndex:E,numGlyphs:S,segment:M,writingMode:A,flipState:I}=t,C=T+t.lineLength,z=t=>{if(u){const[i,r,n]=t.up,o=h.length;e.updateGlobeVertexNormal(u,o+0,i,r,n),e.updateGlobeVertexNormal(u,o+1,i,r,n),e.updateGlobeVertexNormal(u,o+2,i,r,n),e.updateGlobeVertexNormal(u,o+3,i,r,n)}const[i,r,n]=t.point;e.addDynamicAttributes(h,i,r,n,t.angle)};if(S>1){const e=ct(v,l,b,w,r,d,p,t,c,s,f,_,!1,g,y,x);if(!e)return{notEnoughRoom:!0};if(n&&!r){let[i,r,n]=e.first.point,[o,s,l]=e.last.point;[i,r]=ot(i,r,n,a),[o,s]=ot(o,s,l,a);const c=ht(A,I,(o-i)*m,s-r);if(t.flipState=c&&c.needsFlipping?1:2,c)return c}z(e.first);for(let t=E+1;t0?s:pt(p,n,i,1,o,void 0,g,y.canonical),l=ht(A,I,(a[0]-i[0])*m,a[1]-i[1]);if(t.flipState=l&&l.needsFlipping?1:2,l)return l}const i=ft(v*l.getoffsetX(E),b,w,r,d,p,M,T,C,c,s,f,_,!1,!1,g,y,x);if(!i)return{notEnoughRoom:!0};z(i)}return{}}function dt(e,t,i,r,n){const{x:o,y:s,z:a}=r.projectTilePoint(e.x,e.y,t);if(!n)return ot(o,s,a,i);const[l,c,h]=n(e);return ot(o+l,s+c,a+h,i)}function pt(t,i,r,n,o,s,a,l){const c=dt(t.sub(i)._unit()._add(t),l,o,a,s);return e.sub(c,r,c),e.normalize(c,c),e.scaleAndAdd(c,r,c,n)}function ft(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y){const x=n?t-i:t+i;let v=x>0?1:-1,b=0;n&&(v*=-1,b=Math.PI),v<0&&(b+=Math.PI);let w=l+a+(v>0?0:1)|0,T=o,E=o,S=0,M=0;const A=Math.abs(x),I=[],C=[];let z=s,D=z;const k=()=>pt(D,z,E,A-S+1,u,p,_,g.canonical);for(;S+M<=A;){if(w+=v,w=c)return null;if(E=T,D=z,I.push(E),f&&C.push(D),z=new e.pointGeometry(h.getx(w),h.gety(w)),T=d[w],!T){const e=dt(z,g.canonical,u,_,p);T=e[3]>0?d[w]=e:k()}S+=M,M=e.distance(E,T)}m&&p&&(d[w]&&(T=k(),M=e.distance(E,T)),d[w]=T);const P=(A-S)/M,L=z.sub(D)._mult(P)._add(D),R=e.sub([],T,E),B=e.scaleAndAdd([],E,R,P);let O=[0,0,1],F=R[0],U=R[1];if(y&&(O=_.upVector(g.canonical,L.x,L.y),0!==O[0]||0!==O[1]||1!==O[2])){const t=[O[2],0,-O[0]],i=e.cross([],O,t);e.normalize(t,t),e.normalize(i,i),F=e.dot(R,t),U=e.dot(R,i)}if(r){const t=e.cross([],O,R);e.normalize(t,t),e.scaleAndAdd(B,B,t,r*v)}const V=b+Math.atan2(U,F);return I.push(B),f&&C.push(L),{point:B,angle:V,path:I,tilePath:C,up:O}}function mt(e,t){const i=t.length,r=i+4*e;t.resize(r),t.float32.fill(-1/0,4*i,4*r)}function _t(e,t,i){const r=t[0],n=t[1];return e[0]=i[0]*r+i[4]*n+i[12],e[1]=i[1]*r+i[5]*n+i[13],e[3]=i[3]*r+i[7]*n+i[15],e}const gt=100;class yt{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new et(e.width+200,e.height+200,25),r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new et(e.width+200,e.height+200,25);this.transform=e,this.grid=i,this.ignoredGrid=r,this.pitchfactor=Math.cos(e._pitch)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+gt,this.screenBottomBoundary=e.height+gt,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.fogState=t}placeCollisionBox(e,t,i,r,n,o,s,a){let l=i.projectedAnchorX,c=i.projectedAnchorY,h=i.projectedAnchorZ;const u=i.elevation,d=i.tileID,p=e.getProjection();if(u&&d){const[e,t,r]=p.upVector(d.canonical,i.tileAnchorX,i.tileAnchorY),n=p.upVectorScale(d.canonical,this.transform.center.lat,this.transform.worldSize).metersToTile;l+=e*u*n,c+=t*u*n,h+=r*u*n}const f=this.projectAndGetPerspectiveRatio(s,l,c,h,i.tileID,"globe"===p.name||!!u||this.transform.pitch>0,p),m=o*f.perspectiveRatio,_=(i.x1*t+r.x-i.padding)*m+f.point.x,g=(i.y1*t+r.y-i.padding)*m+f.point.y,y=(i.x2*t+r.x+i.padding)*m+f.point.x,x=(i.y2*t+r.y+i.padding)*m+f.point.y,v=f.perspectiveRatio<=.55||f.occluded;return!this.isInsideGrid(_,g,y,x)||!n&&this.grid.hitTest(_,g,y,x,a)||v?{box:[],offscreen:!1,occluded:f.occluded}:{box:[_,g,y,x],offscreen:this.isOffscreen(_,g,y,x),occluded:!1}}placeCollisionCircles(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){const _=[],g=this.transform.elevation,y=t.getProjection(),x=g?g.getAtTileOffsetFunc(m,this.transform.center.lat,this.transform.worldSize,y):null,v=new e.pointGeometry(r.tileAnchorX,r.tileAnchorY);let{x:b,y:w,z:T}=y.projectTilePoint(v.x,v.y,m.canonical);if(x){const[e,t,i]=x(v);b+=e,w+=t,T+=i}const E="globe"===y.name,S=this.projectAndGetPerspectiveRatio(a,b,w,T,m,E||!!g||this.transform.pitch>0,y),{perspectiveRatio:M}=S,A=(u?s/M:s*M)/e.ONE_EM,I=ot(b,w,T,l),C=S.signedDistanceFromCamera>0?ct(A,o,r.lineOffsetX*A,r.lineOffsetY*A,!1,I,v,r,n,l,{},g&&!u?x:null,u&&!!g,y,m,u):null;let z=!1,D=!1,k=!0;if(C&&!S.occluded){const t=.5*p*M+f,r=new e.pointGeometry(-100,-100),n=new e.pointGeometry(this.screenRightBoundary,this.screenBottomBoundary),o=new Qe,{first:s,last:a}=C,l=s.path.length;let u=[];for(let e=l-1;e>=1;e--)u.push(s.path[e]);for(let e=1;e{let[i,r,n]=e;return x&&!E&&(n=x(te[3]<=0))&&(u=[]));let g=[];if(u.length>0){let t=1/0,i=-1/0,o=1/0,s=-1/0;for(const e of u)t=Math.min(t,e[0]),o=Math.min(o,e[1]),i=Math.max(i,e[0]),s=Math.max(s,e[1]);i>=r.x&&t<=n.x&&s>=r.y&&o<=n.y&&(g=[u.map((t=>new e.pointGeometry(t[0],t[1])))],(tn.x||on.y)&&(g=e.clipLine(g,r.x,r.y,n.x,n.y)))}for(const e of g){o.reset(e,.25*t);let r=0;r=o.length<=.5*t?1:Math.ceil(o.paddedLength/m)+1;for(let e=0;e0){e.transformMat4$1(l,l,t);const s="globe"===a.name;if(this.fogState&&o&&!s){const t=function(t,i,r,n,o,s){const a=s.calculateFogTileMatrix(o),l=[i,r,n];return e.transformMat4(l,l,a),A(t,l,s.pitch,s._fov)}(this.fogState,i,r,n,o.toUnwrapped(),this.transform);c=t>.9}}else _t(l,l,t);const h=l[3];return{point:new e.pointGeometry((l[0]/h+1)/2*this.transform.width+gt,(-l[1]/h+1)/2*this.transform.height+gt),perspectiveRatio:Math.min(.5+this.transform.getCameraToCenterDistance(a)/h*.5,1.5),signedDistanceFromCamera:h,occluded:s&&l[2]>h||c}}isOffscreen(e,t,i,r){return i=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(e,t,i,r){return i>=0&&e=0&&t5&&void 0!==arguments[5]&&arguments[5];this.text=new wt(e?e.text:null,t,i,n),this.icon=new wt(e?e.icon:null,t,r,n),this.clipped=o}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Et{constructor(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.text=e,this.icon=t,this.skipFade=i,this.clipped=r}}class St{constructor(){this.invProjMatrix=e.create(),this.viewportMatrix=e.create(),this.circles=[]}}class Mt{constructor(e,t,i,r,n){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=i,this.bucketIndex=r,this.tileID=n}}class At{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){const t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function It(t,i,r,n,o){const{horizontalAlign:s,verticalAlign:a}=e.getAnchorAlignment(t),l=-(s-.5)*i,c=-(a-.5)*r,h=e.evaluateVariableOffset(t,n);return new e.pointGeometry(l+h[0]*o,c+h[1]*o)}function Ct(t,i,r,n,o){const s=new e.pointGeometry(t,i);return r&&s._rotate(n?o:-o),s}class zt{constructor(e,t,i,r,n){this.transform=e.clone(),this.projection=e.projection.name,this.collisionIndex=new yt(this.transform,n),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=t,this.retainedQueryData={},this.collisionGroups=new At(i),this.collisionCircleArrays={},this.prevPlacement=r,r&&(r.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(t,i,r,n){const o=r.getBucket(i),s=r.latestFeatureIndex;if(!o||!s||i.id!==o.layerIds[0])return;const a=o.layers[0].layout,l=r.collisionBoxArray,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),h=r.tileSize/e.EXTENT,u=r.tileID.toUnwrapped();this.transform.setProjection(o.projection);const d=(p=r.tileID,f=o.getProjection(),m=this.transform,f.name===this.projection?m.calculateProjMatrix(p.toUnwrapped()):xt(m,f,p));var p,f,m;const _="map"===a.get("text-pitch-alignment"),g="map"===a.get("text-rotation-alignment");i.compileFilter();const y=i.dynamicFilter(),x=i.dynamicFilterNeedsFeature(),v=this.transform.calculatePixelsToTileUnitsMatrix(r),b=rt(d,r.tileID.canonical,_,g,this.transform,o.getProjection(),v);let w=null;if(_){const t=nt(d,r.tileID.canonical,_,g,this.transform,o.getProjection(),v);w=e.multiply([],this.transform.labelPlaneMatrix,t)}let T=null;y&&r.latestFeatureIndex&&(T={unwrappedTileID:u,dynamicFilter:y,dynamicFilterNeedsFeature:x,featureIndex:r.latestFeatureIndex}),this.retainedQueryData[o.bucketInstanceId]=new Mt(o.bucketInstanceId,s,o.sourceLayerIndex,o.index,r.tileID);const E={bucket:o,layout:a,posMatrix:d,textLabelPlaneMatrix:b,labelToScreenMatrix:w,clippingData:T,scale:c,textPixelRatio:h,holdingForFade:r.holdingForFade(),collisionBoxArray:l,partiallyEvaluatedTextSize:e.evaluateSizeForZoom(o.textSizeData,this.transform.zoom),partiallyEvaluatedIconSize:e.evaluateSizeForZoom(o.iconSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(n)for(const e of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=e;t.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:E})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:E})}attemptAnchorPlacement(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g){const{textOffset0:y,textOffset1:x,crossTileID:v}=u,b=[y,x],w=It(e,i,r,b,n),T=this.collisionIndex.placeCollisionBox(p,n,t,Ct(w.x,w.y,o,s,this.transform.angle),h,a,l,c.predicate);if(m){const e=p.getSymbolInstanceIconSize(g,this.transform.zoom,u.placedIconSymbolIndex);if(0===this.collisionIndex.placeCollisionBox(p,e,m,Ct(w.x,w.y,o,s,this.transform.angle),h,a,l,c.predicate).box.length)return}if(T.box.length>0){let t;return this.prevPlacement&&this.prevPlacement.variableOffsets[v]&&this.prevPlacement.placements[v]&&this.prevPlacement.placements[v].text&&(t=this.prevPlacement.variableOffsets[v].anchor),this.variableOffsets[v]={textOffset:b,width:i,height:r,anchor:e,textScale:n,prevAnchor:t},this.markUsedJustification(p,e,u,f),p.allowVerticalPlacement&&(this.markUsedOrientation(p,f,u),this.placedOrientations[v]=f),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,r,n){const{bucket:o,layout:s,posMatrix:a,textLabelPlaneMatrix:l,labelToScreenMatrix:c,clippingData:h,textPixelRatio:u,holdingForFade:d,collisionBoxArray:p,partiallyEvaluatedTextSize:f,partiallyEvaluatedIconSize:m,collisionGroup:_}=t.parameters,g=s.get("text-optional"),y=s.get("icon-optional"),x=s.get("text-allow-overlap"),v=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),w="map"===s.get("text-pitch-alignment"),T="none"!==s.get("icon-text-fit"),E="viewport-y"===s.get("symbol-z-order");this.transform.setProjection(o.projection);let S=x&&(v||!o.hasIconData()||y),M=v&&(x||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p),r&&n&&o.updateCollisionDebugBuffers(this.transform.zoom,p);const A=(t,n,p)=>{const{crossTileID:E,numVerticalGlyphVertices:A}=t;if(h){const r={zoom:this.transform.zoom,pitch:this.transform.pitch};let n=null;if(h.dynamicFilterNeedsFeature){const e=this.retainedQueryData[o.bucketInstanceId];n=h.featureIndex.loadFeature({featureIndex:t.featureIndex,bucketIndex:e.bucketIndex,sourceLayerIndex:e.sourceLayerIndex,layoutVertexArrayOffset:0})}if(!(0,h.dynamicFilter)(r,n,this.retainedQueryData[o.bucketInstanceId].tileID.canonical,new e.pointGeometry(t.tileAnchorX,t.tileAnchorY),this.transform.calculateDistanceTileData(h.unwrappedTileID)))return this.placements[E]=new Et(!1,!1,!1,!0),void(i[E]=!0)}if(i[E])return;if(d)return void(this.placements[E]=new Et(!1,!1,!1));let I=!1,C=!1,z=!0,D=!1,k=!1,P=null,L={box:null,offscreen:null,occluded:null},R={box:null,offscreen:null,occluded:null},B=null,O=null,F=null,U=0,V=0,N=0;p.textFeatureIndex?U=p.textFeatureIndex:t.useRuntimeCollisionCircles&&(U=t.featureIndex),p.verticalTextFeatureIndex&&(V=p.verticalTextFeatureIndex);const j=e=>{e.tileID=this.retainedQueryData[o.bucketInstanceId].tileID;const t=this.transform.elevation;(t||e.elevation)&&(e.elevation=t?t.getAtTileOffset(e.tileID,e.tileAnchorX,e.tileAnchorY):0)},G=p.textBox;if(G){j(G);const i=i=>{let r=e.WritingMode.horizontal;if(o.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[E];e&&(this.placedOrientations[E]=e,r=e,this.markUsedOrientation(o,r,t))}return r},r=(t,i)=>{if(o.allowVerticalPlacement&&A>0&&p.verticalTextBox){for(const r of o.writingModes)if(r===e.WritingMode.vertical?(L=i(),R=L):L=t(),L&&L.box&&L.box.length)break}else L=t()};if(s.get("text-variable-anchor")){let l=s.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[E]){const e=this.prevPlacement.variableOffsets[E];l.indexOf(e.anchor)>0&&(l=l.filter((t=>t!==e.anchor)),l.unshift(e.anchor))}const c=(e,i,r)=>{const s=o.getSymbolInstanceTextSize(f,t,this.transform.zoom,n),c=(e.x2-e.x1)*s+2*e.padding,h=(e.y2-e.y1)*s+2*e.padding,d=T&&!v?i:null;d&&j(d);let p={box:[],offscreen:!1,occluded:!1};const g=x?2*l.length:l.length;for(let y=0;y=l.length,t,n,o,r,d,f,m);if(i&&(p=i.placedGlyphBoxes,p&&p.box&&p.box.length)){I=!0,P=i.shift;break}}return p};r((()=>c(G,p.iconBox,e.WritingMode.horizontal)),(()=>{const t=p.verticalTextBox;return t&&j(t),o.allowVerticalPlacement&&!(L&&L.box&&L.box.length)&&A>0&&t?c(t,p.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null,occluded:null}})),L&&(I=L.box,z=L.offscreen,D=L.occluded);const h=i(L&&L.box);if(!I&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[E];e&&(this.variableOffsets[E]=e,this.markUsedJustification(o,e.anchor,t,h))}}else{const s=(i,r)=>{const s=o.getSymbolInstanceTextSize(f,t,this.transform.zoom,n),l=this.collisionIndex.placeCollisionBox(o,s,i,new e.pointGeometry(0,0),x,u,a,_.predicate);return l&&l.box&&l.box.length&&(this.markUsedOrientation(o,r,t),this.placedOrientations[E]=r),l};r((()=>s(G,e.WritingMode.horizontal)),(()=>{const t=p.verticalTextBox;return o.allowVerticalPlacement&&A>0&&t?(j(t),s(t,e.WritingMode.vertical)):{box:null,offscreen:null,occluded:null}})),i(L&&L.box&&L.box.length)}}if(B=L,I=B&&B.box&&B.box.length>0,z=B&&B.offscreen,D=B&&B.occluded,t.useRuntimeCollisionCircles){const i=o.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex>=0?t.centerJustifiedTextSymbolIndex:t.verticalPlacedTextSymbolIndex),n=e.evaluateSizeForFeature(o.textSizeData,f,i),h=s.get("text-padding");O=this.collisionIndex.placeCollisionCircles(o,x,i,o.lineVertexArray,o.glyphOffsetArray,n,a,l,c,r,w,_.predicate,t.collisionCircleDiameter*n/e.ONE_EM,h,this.retainedQueryData[o.bucketInstanceId].tileID),I=x||O.circles.length>0&&!O.collisionDetected,z=z&&O.offscreen,D=O.occluded}if(p.iconFeatureIndex&&(N=p.iconFeatureIndex),p.iconBox){const i=i=>{j(i);const r=T&&P?Ct(P.x,P.y,b,w,this.transform.angle):new e.pointGeometry(0,0),n=o.getSymbolInstanceIconSize(m,this.transform.zoom,t.placedIconSymbolIndex);return this.collisionIndex.placeCollisionBox(o,n,i,r,v,u,a,_.predicate)};R&&R.box&&R.box.length&&p.verticalIconBox?(F=i(p.verticalIconBox),C=F.box.length>0):(F=i(p.iconBox),C=F.box.length>0),z=z&&F.offscreen,k=F.occluded}const Z=g||0===t.numHorizontalGlyphVertices&&0===A,$=y||0===t.numIconVertices;if(Z||$?$?Z||(C=C&&I):I=C&&I:C=I=C&&I,I&&B&&B.box&&this.collisionIndex.insertCollisionBox(B.box,s.get("text-ignore-placement"),o.bucketInstanceId,R&&R.box&&V?V:U,_.ID),C&&F&&this.collisionIndex.insertCollisionBox(F.box,s.get("icon-ignore-placement"),o.bucketInstanceId,N,_.ID),O&&(I&&this.collisionIndex.insertCollisionCircles(O.circles,s.get("text-ignore-placement"),o.bucketInstanceId,U,_.ID),r)){const e=o.bucketInstanceId;let t=this.collisionCircleArrays[e];void 0===t&&(t=this.collisionCircleArrays[e]=new St);for(let i=0;i=0;--t){const i=e[t];A(o.symbolInstances.get(i),i,o.collisionArrays[i])}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(o).crossTileID=u>=0&&o!==u?0:c),s>=0&&(t.text.placedSymbolArray.get(s).crossTileID=u>=0&&s!==u?0:c),a>=0&&(t.text.placedSymbolArray.get(a).crossTileID=u>=0&&a!==u?0:c),l>=0&&(t.text.placedSymbolArray.get(l).crossTileID=u>=0&&l!==u?0:c)}markUsedOrientation(t,i,r){const n=i===e.WritingMode.horizontal||i===e.WritingMode.horizontalOnly?i:0,o=i===e.WritingMode.vertical?i:0,{leftJustifiedTextSymbolIndex:s,centerJustifiedTextSymbolIndex:a,rightJustifiedTextSymbolIndex:l,verticalPlacedTextSymbolIndex:c}=r,h=t.text.placedSymbolArray;s>=0&&(h.get(s).placedOrientation=n),a>=0&&(h.get(a).placedOrientation=n),l>=0&&(h.get(l).placedOrientation=n),c>=0&&(h.get(c).placedOrientation=o)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;const t=this.prevPlacement;let i=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;const r=t?t.symbolFadeChange(e):1,n=t?t.opacities:{},o=t?t.variableOffsets:{},s=t?t.placedOrientations:{};for(const a in this.placements){const e=this.placements[a],t=n[a];t?(this.opacities[a]=new Tt(t,r,e.text,e.icon,null,e.clipped),i=i||e.text!==t.text.placed||e.icon!==t.icon.placed):(this.opacities[a]=new Tt(null,r,e.text,e.icon,e.skipFade,e.clipped),i=i||e.text||e.icon)}for(const a in n){const e=n[a];if(!this.opacities[a]){const t=new Tt(e,r,!1,!1);t.isHidden()||(this.opacities[a]=t,i=i||e.text.placed||e.icon.placed)}}for(const a in o)this.variableOffsets[a]||!this.opacities[a]||this.opacities[a].isHidden()||(this.variableOffsets[a]=o[a]);for(const a in s)this.placedOrientations[a]||!this.opacities[a]||this.opacities[a].isHidden()||(this.placedOrientations[a]=s[a]);i?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){const i={};for(const r of t){const t=r.getBucket(e);t&&r.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,i,r.collisionBoxArray)}}updateBucketOpacities(t,i,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const n=t.layers[0].layout,o=!!t.layers[0].dynamicFilter(),s=new Tt(null,0,!1,!1,!0),a=n.get("text-allow-overlap"),l=n.get("icon-allow-overlap"),c=n.get("text-variable-anchor"),h="map"===n.get("text-rotation-alignment"),u="map"===n.get("text-pitch-alignment"),d="none"!==n.get("icon-text-fit"),p=new Tt(null,0,a&&(l||!t.hasIconData()||n.get("icon-optional")),l&&(a||!t.hasTextData()||n.get("text-optional")),!0);!t.collisionArrays&&r&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(r);const f=(e,t,i)=>{for(let r=0;r0||a>0,v=g>0,b=this.placedOrientations[l],w=b===e.WritingMode.vertical,T=b===e.WritingMode.horizontal||b===e.WritingMode.horizontalOnly;if(!x&&!v||y.isHidden()||m++,x){const e=Ut(y.text);f(t.text,n,w?Vt:e),f(t.text,a,T?Vt:e);const i=y.text.isHidden(),{leftJustifiedTextSymbolIndex:o,centerJustifiedTextSymbolIndex:s,rightJustifiedTextSymbolIndex:c,verticalPlacedTextSymbolIndex:h}=r,u=t.text.placedSymbolArray,d=i||w?1:0;o>=0&&(u.get(o).hidden=d),s>=0&&(u.get(s).hidden=d),c>=0&&(u.get(c).hidden=d),h>=0&&(u.get(h).hidden=i||T?1:0);const p=this.variableOffsets[l];p&&this.markUsedJustification(t,p.anchor,r,b);const m=this.placedOrientations[l];m&&(this.markUsedJustification(t,"left",r,m),this.markUsedOrientation(t,m,r))}if(v){const e=Ut(y.icon),{placedIconSymbolIndex:i,verticalPlacedIconSymbolIndex:n}=r,o=t.icon.placedSymbolArray,s=y.icon.isHidden()?1:0;i>=0&&(f(t.icon,g,w?Vt:e),o.get(i).hidden=s),n>=0&&(f(t.icon,r.numVerticalIconVertices,T?Vt:e),o.get(n).hidden=s)}if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const i=t.collisionArrays[_];if(i){let r=new e.pointGeometry(0,0),n=!0;if(i.textBox||i.verticalTextBox){if(c){const e=this.variableOffsets[l];e?(r=It(e.anchor,e.width,e.height,e.textOffset,e.textScale),h&&r._rotate(u?this.transform.angle:-this.transform.angle)):n=!1}o&&(n=!y.clipped),i.textBox&&Dt(t.textCollisionBox.collisionVertexArray,y.text.placed,!n||w,r.x,r.y),i.verticalTextBox&&Dt(t.textCollisionBox.collisionVertexArray,y.text.placed,!n||T,r.x,r.y)}const s=n&&Boolean(!T&&i.verticalIconBox);i.iconBox&&Dt(t.iconCollisionBox.collisionVertexArray,y.icon.placed,s,d?r.x:0,d?r.y:0),i.verticalIconBox&&Dt(t.iconCollisionBox.collisionVertexArray,y.icon.placed,!s,d?r.x:0,d?r.y:0)}}}if(t.fullyClipped=0===m,t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId]}}symbolFadeChange(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function Dt(e,t,i,r,n){e.emplaceBack(t?1:0,i?1:0,r||0,n||0),e.emplaceBack(t?1:0,i?1:0,r||0,n||0),e.emplaceBack(t?1:0,i?1:0,r||0,n||0),e.emplaceBack(t?1:0,i?1:0,r||0,n||0)}const kt=Math.pow(2,25),Pt=Math.pow(2,24),Lt=Math.pow(2,17),Rt=Math.pow(2,16),Bt=Math.pow(2,9),Ot=Math.pow(2,8),Ft=Math.pow(2,1);function Ut(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;const t=e.placed?1:0,i=Math.floor(127*e.opacity);return i*kt+t*Pt+i*Lt+t*Rt+i*Bt+t*Ot+i*Ft+t}const Vt=0;class Nt{constructor(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&void 0!==e.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,i,r,n){const o=this._bucketParts;for(;this._currentTileIndexe.sortKey-t.sortKey)));this._currentPartIndex{const t=e.exported.now()-n;return!this._forceFullPlacement&&t>2};for(;this._currentPlacementIndex>=0;){const e=i[t[this._currentPlacementIndex]],n=this.placement.collisionIndex.transform.zoom;if("symbol"===e.type&&(!e.minzoom||e.minzoom<=n)&&(!e.maxzoom||e.maxzoom>n)){if(this._inProgressLayer||(this._inProgressLayer=new Nt(e)),this._inProgressLayer.continuePlacement(r[e.source],this.placement,this._showCollisionBoxes,e,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}const Gt=512/e.EXTENT/2;class Zt{constructor(e,t,i){this.tileID=e,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(let r=0;re.overscaledZ)for(const n in i){const o=i[n];o.tileID.isChildOf(e)&&o.findMatches(t.symbolInstances,e,r)}else{const o=i[e.scaledTo(Number(n)).key];o&&o.findMatches(t.symbolInstances,e,r)}}for(let n=0;n{t[e]=!0}));for(const i in this.layerIndexes)t[i]||delete this.layerIndexes[i]}}const Xt=(t,i)=>e.emitValidationErrors(t,i&&i.filter((e=>"source.canvas"!==e.identifier))),Ht=e.pick($e,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData","setTerrain","setFog","setProjection"]),Yt=e.pick($e,["setCenter","setZoom","setBearing","setPitch"]),Kt={version:8,layers:[],sources:{}},Jt={fill:!0,line:!0,background:!0,hillshade:!0,raster:!0};class Qt extends e.Evented{constructor(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.map=t,this.dispatcher=new k(je(),this),this.imageManager=new v,this.imageManager.setEventedParent(this),this.glyphManager=new e.GlyphManager(t._requestManager,i.localFontFamily?e.LocalGlyphMode.all:i.localIdeographFontFamily?e.LocalGlyphMode.ideographs:e.LocalGlyphMode.none,i.localFontFamily||i.localIdeographFontFamily),this.crossTileSymbolIndex=new Wt,this._layers={},this._num3DLayers=0,this._numSymbolLayers=0,this._numCircleLayers=0,this._serializedLayers={},this._sourceCaches={},this._otherSourceCaches={},this._symbolSourceCaches={},this._loaded=!1,this._availableImages=[],this._order=[],this._drapedFirstOrder=[],this._markersNeedUpdate=!1,this._resetUpdates(),this.dispatcher.broadcast("setReferrer",e.getReferrer());const r=this;this._rtlTextPluginCallback=Qt.registerForPluginStateChange((t=>{r.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:t.pluginStatus,pluginURL:t.pluginURL},((t,i)=>{if(e.triggerPluginCompletionEvent(t),i&&i.every((e=>e)))for(const e in r._sourceCaches){const t=r._sourceCaches[e],i=t.getSource().type;"vector"!==i&&"geojson"!==i||t.reload()}}))})),this.on("data",(e=>{if("source"!==e.dataType||"metadata"!==e.sourceDataType)return;const t=this.getSource(e.sourceId);if(t&&t.vectorLayerIds)for(const i in this._layers){const e=this._layers[i];e.source===t.id&&this._validateLayer(e)}}))}loadURL(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.fire(new e.Event("dataloading",{dataType:"style"}));const r="boolean"==typeof i.validate?i.validate:!e.isMapboxURL(t);t=this.map._requestManager.normalizeStyleURL(t,i.accessToken);const n=this.map._requestManager.transformRequest(t,e.ResourceType.Style);this._request=e.getJSON(n,((t,i)=>{this._request=null,t?this.fire(new e.ErrorEvent(t)):i&&this._load(i,r)}))}loadJSON(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.fire(new e.Event("dataloading",{dataType:"style"})),this._request=e.exported.frame((()=>{this._request=null,this._load(t,!1!==i.validate)}))}loadEmpty(){this.fire(new e.Event("dataloading",{dataType:"style"})),this._load(Kt,!1)}_updateLayerCount(e,t){const i=t?1:-1;e.is3D()&&(this._num3DLayers+=i),"circle"===e.type&&(this._numCircleLayers+=i),"symbol"===e.type&&(this._numSymbolLayers+=i)}_load(t,i){if(i&&Xt(this,e.validateStyle(t)))return;this._loaded=!0,this.stylesheet=e.clone$1(t),this._updateMapProjection();for(const e in t.sources)this.addSource(e,t.sources[e],{validate:!1});this._changed=!1,t.sprite?this._loadSprite(t.sprite):(this.imageManager.setLoaded(!0),this.dispatcher.broadcast("spriteLoaded",!0)),this.glyphManager.setURL(t.glyphs);const r=Ze(this.stylesheet.layers);this._order=r.map((e=>e.id)),this._layers={},this._serializedLayers={};for(const n of r){const t=e.createStyleLayer(n);t.setEventedParent(this,{layer:{id:t.id}}),this._layers[t.id]=t,this._serializedLayers[t.id]=t.serialize(),this._updateLayerCount(t,!0)}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new T(this.stylesheet.light),this.stylesheet.terrain&&!this.terrainSetForDrapingOnly()&&this._createTerrain(this.stylesheet.terrain,1),this.stylesheet.fog&&this._createFog(this.stylesheet.fog),this._updateDrapeFirstLayers(),this.fire(new e.Event("data",{dataType:"style"})),this.fire(new e.Event("style.load"))}terrainSetForDrapingOnly(){return!!this.terrain&&0===this.terrain.drapeRenderMode}setProjection(e){e?this.stylesheet.projection=e:delete this.stylesheet.projection,this._updateMapProjection()}applyProjectionUpdate(){this._loaded&&(this.dispatcher.broadcast("setProjection",this.map.transform.projectionOptions),this.map.transform.projection.requiresDraping?this.getTerrain()||this.stylesheet.terrain||this.setTerrainForDraping():this.terrainSetForDrapingOnly()&&this.setTerrain(null))}_updateMapProjection(){this.map._useExplicitProjection?this.applyProjectionUpdate():this.map._prioritizeAndUpdateProjection(null,this.stylesheet.projection)}_loadSprite(t){this._spriteRequest=function(t,i,r){let n,o,s;const a=e.exported.devicePixelRatio>1?"@2x":"";let l=e.getJSON(i.transformRequest(i.normalizeSpriteURL(t,a,".json"),e.ResourceType.SpriteJSON),((e,t)=>{l=null,s||(s=e,n=t,h())})),c=e.getImage(i.transformRequest(i.normalizeSpriteURL(t,a,".png"),e.ResourceType.SpriteImage),((e,t)=>{c=null,s||(s=e,o=t,h())}));function h(){if(s)r(s);else if(n&&o){const t=e.exported.getImageData(o),i={};for(const r in n){const{width:o,height:s,x:a,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:d,content:p}=n[r],f=new e.RGBAImage({width:o,height:s});e.RGBAImage.copy(t,f,{x:a,y:l},{x:0,y:0},{width:o,height:s}),i[r]={data:f,pixelRatio:h,sdf:c,stretchX:u,stretchY:d,content:p}}r(null,i)}}return{cancel(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(t,this.map._requestManager,((t,i)=>{if(this._spriteRequest=null,t)this.fire(new e.ErrorEvent(t));else if(i)for(const e in i)this.imageManager.addImage(e,i[e]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast("setImages",this._availableImages),this.dispatcher.broadcast("spriteLoaded",!0),this.fire(new e.Event("data",{dataType:"style"}))}))}_validateLayer(t){const i=this.getSource(t.source);if(!i)return;const r=t.sourceLayer;r&&("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(r))&&this.fire(new e.ErrorEvent(new Error(`Source layer "${r}" does not exist on source "${i.id}" as specified by style layer "${t.id}"`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const e in this._sourceCaches)if(!this._sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeLayers(e){const t=[];for(const i of e){const e=this._layers[i];"custom"!==e.type&&t.push(e.serialize())}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;if(this.fog&&this.fog.hasTransition())return!0;for(const e in this._sourceCaches)if(this._sourceCaches[e].hasTransition())return!0;for(const e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}get order(){return this.map._optimizeForTerrain&&this.terrain?this._drapedFirstOrder:this._order}isLayerDraped(e){return!!this.terrain&&("function"==typeof e.isLayerDraped?e.isLayerDraped():Jt[e.type])}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading")}update(t){if(!this._loaded)return;const i=this._changed;if(this._changed){const e=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(e.length||i.length)&&this._updateWorkerLayers(e,i);for(const t in this._updatedSources){const e=this._updatedSources[t];"reload"===e?this._reloadSource(t):"clear"===e&&this._clearSource(t)}this._updateTilesForChangedImages();for(const r in this._updatedPaintProps)this._layers[r].updateTransitions(t);this.light.updateTransitions(t),this.fog&&this.fog.updateTransitions(t),this._resetUpdates()}const r={};for(const e in this._sourceCaches){const t=this._sourceCaches[e];r[e]=t.used,t.used=!1}for(const e of this._order){const i=this._layers[e];if(i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)){const e=this._getLayerSourceCache(i);e&&(e.used=!0)}const r=this.map.painter;if(r){const e=i.getProgramIds();if(!e)continue;const n=i.getProgramConfiguration(t.zoom);for(const t of e)r.useProgram(t,n)}}for(const n in r){const t=this._sourceCaches[n];r[n]!==t.used&&t.getSource().fire(new e.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:t.getSource().id}))}this.light.recalculate(t),this.terrain&&this.terrain.recalculate(t),this.fog&&this.fog.recalculate(t),this.z=t.zoom,this._markersNeedUpdate&&(this._updateMarkersOpacity(),this._markersNeedUpdate=!1),i&&this.fire(new e.Event("data",{dataType:"style"}))}_updateTilesForChangedImages(){const e=Object.keys(this._changedImages);if(e.length){for(const t in this._sourceCaches)this._sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={}}}_updateWorkerLayers(e,t){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(e),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}}setState(i){if(this._checkLoaded(),Xt(this,e.validateStyle(i)))return!1;(i=e.clone$1(i)).layers=Ze(i.layers);const r=function(e,i){if(!e)return[{command:$e.setStyle,args:[i]}];let r=[];try{if(!t(e.version,i.version))return[{command:$e.setStyle,args:[i]}];t(e.center,i.center)||r.push({command:$e.setCenter,args:[i.center]}),t(e.zoom,i.zoom)||r.push({command:$e.setZoom,args:[i.zoom]}),t(e.bearing,i.bearing)||r.push({command:$e.setBearing,args:[i.bearing]}),t(e.pitch,i.pitch)||r.push({command:$e.setPitch,args:[i.pitch]}),t(e.sprite,i.sprite)||r.push({command:$e.setSprite,args:[i.sprite]}),t(e.glyphs,i.glyphs)||r.push({command:$e.setGlyphs,args:[i.glyphs]}),t(e.transition,i.transition)||r.push({command:$e.setTransition,args:[i.transition]}),t(e.light,i.light)||r.push({command:$e.setLight,args:[i.light]}),t(e.fog,i.fog)||r.push({command:$e.setFog,args:[i.fog]}),t(e.projection,i.projection)||r.push({command:$e.setProjection,args:[i.projection]});const n={},o=[];!function(e,i,r,n){let o;for(o in i=i||{},e=e||{})e.hasOwnProperty(o)&&(i.hasOwnProperty(o)||We(o,r,n));for(o in i){if(!i.hasOwnProperty(o))continue;const s=i[o];e.hasOwnProperty(o)?t(e[o],s)||("geojson"===e[o].type&&"geojson"===s.type&&He(e,i,o)?r.push({command:$e.setGeoJSONSourceData,args:[o,s.data]}):Xe(o,i,r,n)):qe(o,i,r)}}(e.sources,i.sources,o,n);const s=[];e.layers&&e.layers.forEach((e=>{e.source&&n[e.source]?r.push({command:$e.removeLayer,args:[e.id]}):s.push(e)}));let a=e.terrain;a&&n[a.source]&&(r.push({command:$e.setTerrain,args:[void 0]}),a=void 0),r=r.concat(o),t(a,i.terrain)||r.push({command:$e.setTerrain,args:[i.terrain]}),function(e,i,r){i=i||[];const n=(e=e||[]).map(Ke),o=i.map(Ke),s=e.reduce(Je,{}),a=i.reduce(Je,{}),l=n.slice(),c=Object.create(null);let h,u,d,p,f,m,_;for(h=0,u=0;h!(e.command in Yt)));if(0===r.length)return!1;const n=r.filter((e=>!(e.command in Ht)));if(n.length>0)throw new Error(`Unimplemented: ${n.map((e=>e.command)).join(", ")}.`);return r.forEach((e=>{"setTransition"!==e.command&&"setProjection"!==e.command&&this[e.command].apply(this,e.args)})),this.stylesheet=i,this._updateMapProjection(),!0}addImage(t,i){return this.getImage(t)?this.fire(new e.ErrorEvent(new Error("An image with this name already exists."))):(this.imageManager.addImage(t,i),this._afterImageUpdated(t),this)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}removeImage(t){return this.getImage(t)?(this.imageManager.removeImage(t),this._afterImageUpdated(t),this):this.fire(new e.ErrorEvent(new Error("No image with this name exists.")))}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new e.Event("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this._availableImages.slice()}addSource(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this._checkLoaded(),void 0!==this.getSource(t))throw new Error("There is already a source with this ID");if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(e.validateSource,`sources.${t}`,i,null,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=Pe(t,i,this.dispatcher,this);n.setEventedParent(this,(()=>({isSourceLoaded:this._isSourceCacheLoaded(t),source:n.serialize(),sourceId:t})));const o=i=>{const r=(i?"symbol:":"other:")+t,o=this._sourceCaches[r]=new e.SourceCache(r,n,i);(i?this._symbolSourceCaches:this._otherSourceCaches)[t]=o,o.style=this,o.onAdd(this.map)};o(!1),"vector"!==i.type&&"geojson"!==i.type||o(!0),n.onAdd&&n.onAdd(this.map),this._changed=!0}removeSource(t){this._checkLoaded();const i=this.getSource(t);if(!i)throw new Error("There is no source with this ID");for(const n in this._layers)if(this._layers[n].source===t)return this.fire(new e.ErrorEvent(new Error(`Source "${t}" cannot be removed while layer "${n}" is using it.`)));if(this.terrain&&this.terrain.get().source===t)return this.fire(new e.ErrorEvent(new Error(`Source "${t}" cannot be removed while terrain is using it.`)));const r=this._getSourceCaches(t);for(const n of r)delete this._sourceCaches[n.id],delete this._updatedSources[n.id],n.fire(new e.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:n.getSource().id})),n.setEventedParent(null),n.clearTiles();return delete this._otherSourceCaches[t],delete this._symbolSourceCaches[t],i.setEventedParent(null),i.onRemove&&i.onRemove(this.map),this._changed=!0,this}setGeoJSONSourceData(e,t){this._checkLoaded(),this.getSource(e).setData(t),this._changed=!0}getSource(e){const t=this._getSourceCache(e);return t&&t.getSource()}_getSources(){const e=[];for(const t in this._otherSourceCaches){const i=this._getSourceCache(t);i&&e.push(i.getSource())}return e}addLayer(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._checkLoaded();const n=t.id;if(this.getLayer(n))return void this.fire(new e.ErrorEvent(new Error(`Layer with id "${n}" already exists on this map`)));let o;if("custom"===t.type){if(Xt(this,e.validateCustomStyleLayer(t)))return;o=e.createStyleLayer(t)}else{if("object"==typeof t.source&&(this.addSource(n,t.source),t=e.clone$1(t),t=e.extend(t,{source:n})),this._validate(e.validateLayer,`layers.${n}`,t,{arrayIndex:-1},r))return;o=e.createStyleLayer(t),this._validateLayer(o),o.setEventedParent(this,{layer:{id:n}}),this._serializedLayers[o.id]=o.serialize(),this._updateLayerCount(o,!0)}const s=i?this._order.indexOf(i):this._order.length;if(i&&-1===s)return void this.fire(new e.ErrorEvent(new Error(`Layer with id "${i}" does not exist on this map.`)));this._order.splice(s,0,n),this._layerOrderChanged=!0,this._layers[n]=o;const a=this._getLayerSourceCache(o);if(this._removedLayers[n]&&o.source&&a&&"custom"!==o.type){const e=this._removedLayers[n];delete this._removedLayers[n],e.type!==o.type?this._updatedSources[o.source]="clear":(this._updatedSources[o.source]="reload",a.pause())}this._updateLayer(o),o.onAdd&&o.onAdd(this.map),this._updateDrapeFirstLayers()}moveLayer(t,i){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===i)return;const r=this._order.indexOf(t);this._order.splice(r,1);const n=i?this._order.indexOf(i):this._order.length;i&&-1===n?this.fire(new e.ErrorEvent(new Error(`Layer with id "${i}" does not exist on this map.`))):(this._order.splice(n,0,t),this._layerOrderChanged=!0,this._updateDrapeFirstLayers())}removeLayer(t){this._checkLoaded();const i=this._layers[t];if(!i)return void this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style and cannot be removed.`)));i.setEventedParent(null),this._updateLayerCount(i,!1);const r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map),this._updateDrapeFirstLayers()}getLayer(e){return this._layers[e]}hasLayer(e){return e in this._layers}hasLayerType(e){for(const t in this._layers)if(this._layers[t].type===e)return!0;return!1}setLayerZoomRange(t,i,r){this._checkLoaded();const n=this.getLayer(t);n?n.minzoom===i&&n.maxzoom===r||(null!=i&&(n.minzoom=i),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style and cannot have zoom extent.`)))}setFilter(i,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._checkLoaded();const o=this.getLayer(i);if(o){if(!t(o.filter,r))return null==r?(o.filter=void 0,void this._updateLayer(o)):void(this._validate(e.validateFilter,`layers.${o.id}.filter`,r,{layerType:o.type},n)||(o.filter=e.clone$1(r),this._updateLayer(o)))}else this.fire(new e.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be filtered.`)))}getFilter(t){const i=this.getLayer(t);return i&&e.clone$1(i.filter)}setLayoutProperty(i,r,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._checkLoaded();const s=this.getLayer(i);s?t(s.getLayoutProperty(r),n)||(s.setLayoutProperty(r,n,o),this._updateLayer(s)):this.fire(new e.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)))}getLayoutProperty(t,i){const r=this.getLayer(t);if(r)return r.getLayoutProperty(i);this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style.`)))}setPaintProperty(i,r,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._checkLoaded();const s=this.getLayer(i);s?t(s.getPaintProperty(r),n)||(s.setPaintProperty(r,n,o)&&this._updateLayer(s),this._changed=!0,this._updatedPaintProps[i]=!0):this.fire(new e.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)))}getPaintProperty(e,t){const i=this.getLayer(e);return i&&i.getPaintProperty(t)}setFeatureState(t,i){this._checkLoaded();const r=t.source,n=t.sourceLayer,o=this.getSource(r);if(!o)return void this.fire(new e.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const s=o.type;if("geojson"===s&&n)return void this.fire(new e.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));if("vector"===s&&!n)return void this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));void 0===t.id&&this.fire(new e.ErrorEvent(new Error("The feature id parameter must be provided.")));const a=this._getSourceCaches(r);for(const e of a)e.setFeatureState(n,t.id,i)}removeFeatureState(t,i){this._checkLoaded();const r=t.source,n=this.getSource(r);if(!n)return void this.fire(new e.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const o=n.type,s="vector"===o?t.sourceLayer:void 0;if("vector"===o&&!s)return void this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));if(i&&"string"!=typeof t.id&&"number"!=typeof t.id)return void this.fire(new e.ErrorEvent(new Error("A feature id is required to remove its specific state property.")));const a=this._getSourceCaches(r);for(const e of a)e.removeFeatureState(s,t.id,i)}getFeatureState(t){this._checkLoaded();const i=t.source,r=t.sourceLayer,n=this.getSource(i);if(n){if("vector"!==n.type||r)return void 0===t.id&&this.fire(new e.ErrorEvent(new Error("The feature id parameter must be provided."))),this._getSourceCaches(i)[0].getFeatureState(r,t.id);this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new e.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return e.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){const t={};for(const e in this._sourceCaches){const i=this._sourceCaches[e].getSource();t[i.id]||(t[i.id]=i.serialize())}return e.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,terrain:this.getTerrain()||void 0,fog:this.stylesheet.fog,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,projection:this.stylesheet.projection,sources:t,layers:this._serializeLayers(this._order)},(e=>void 0!==e))}_updateLayer(e){this._updatedLayers[e.id]=!0;const t=this._getLayerSourceCache(e);e.source&&!this._updatedSources[e.source]&&t&&"raster"!==t.getSource().type&&(this._updatedSources[e.source]="reload",t.pause()),this._changed=!0,e.invalidateCompiledFilter()}_flattenAndSortRenderedFeatures(e){const t=e=>"fill-extrusion"===this._layers[e].type,i={},r=[];for(let o=this._order.length-1;o>=0;o--){const n=this._order[o];if(t(n)){i[n]=o;for(const t of e){const e=t[n];if(e)for(const t of e)r.push(t)}}}r.sort(((e,t)=>t.intersectionZ-e.intersectionZ));const n=[];for(let o=this._order.length-1;o>=0;o--){const s=this._order[o];if(t(s))for(let e=r.length-1;e>=0;e--){const t=r[e].feature;if(i[t.layer.id]{const t=this.getLayer(e);return t&&t.is3D()})):this.has3DLayers(),a=L.createFromScreenPoints(t,r);for(const e in this._sourceCaches){const t=this._sourceCaches[e].getSource().id;i.layers&&!n[t]||o.push(Re(this._sourceCaches[e],this._layers,this._serializedLayers,a,i,r,s,!!this.map._showQueryGeometry))}return this.placement&&o.push(function(e,t,i,r,n,o,s){const a={},l=o.queryRenderedSymbols(r),c=[];for(const h of Object.keys(l).map(Number))c.push(s[h]);c.sort(Oe);for(const h of c){const i=h.featureIndex.lookupSymbolFeatures(l[h.bucketInstanceId],t,h.bucketIndex,h.sourceLayerIndex,n.filter,n.layers,n.availableImages,e);for(const e in i){const t=a[e]=a[e]||[],r=i[e];r.sort(((e,t)=>{const i=h.featureSortOrder;if(i){const r=i.indexOf(e.featureIndex);return i.indexOf(t.featureIndex)-r}return t.featureIndex-e.featureIndex}));for(const e of r)t.push(e)}}for(const h in a)a[h].forEach((t=>{const r=t.feature,n=i(e[h]);if(!n)return;const o=n.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=o}));return a}(this._layers,this._serializedLayers,this._getLayerSourceCache.bind(this),a.screenGeometry,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(t,i){i&&i.filter&&this._validate(e.validateFilter,"querySourceFeatures.filter",i.filter,null,i);const r=this._getSourceCaches(t);let n=[];for(const e of r)n=n.concat(Be(e,i));return n}addSourceType(e,t,i){return Qt.getSourceType(e)?i(new Error(`A source type called "${e}" already exists.`)):(Qt.setSourceType(e,t),t.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:e,url:t.workerSourceURL},i):i(null,null))}getLight(){return this.light.getLight()}setLight(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkLoaded();const r=this.light.getLight();let n=!1;for(const s in e)if(!t(e[s],r[s])){n=!0;break}if(!n)return;const o=this._setTransitionParameters({duration:300,delay:0});this.light.setLight(e,i),this.light.updateTransitions(o)}getTerrain(){return this.terrain&&1===this.terrain.drapeRenderMode?this.terrain.get():null}setTerrainForDraping(){this.setTerrain({source:"",exaggeration:0},0)}setTerrain(i){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(this._checkLoaded(),!i)return delete this.terrain,delete this.stylesheet.terrain,this.dispatcher.broadcast("enableTerrain",!1),this._force3DLayerUpdate(),void(this._markersNeedUpdate=!0);let n=i;if(1===r){if("object"==typeof n.source){const t="terrain-dem-src";this.addSource(t,n.source),n=e.clone$1(n),n=e.extend(n,{source:t})}if(this._validate(e.validateTerrain,"terrain",n))return}if(!this.terrain||this.terrain&&r!==this.terrain.drapeRenderMode){if(!n)return;this._createTerrain(n,r)}else{const i=this.terrain,r=i.get();for(const t of Object.keys(e.spec.terrain))!n.hasOwnProperty(t)&&e.spec.terrain[t].default&&(n[t]=e.spec.terrain[t].default);for(const e in n)if(!t(n[e],r[e])){i.set(n),this.stylesheet.terrain=n;const e=this._setTransitionParameters({duration:0});i.updateTransitions(e);break}}this._updateDrapeFirstLayers(),this._markersNeedUpdate=!0}_createFog(e){const t=this.fog=new D(e,this.map.transform);this.stylesheet.fog=e;const i=this._setTransitionParameters({duration:0});t.updateTransitions(i)}_updateMarkersOpacity(){0!==this.map._markers.length&&this.map._requestDomTask((()=>{for(const e of this.map._markers)e._evaluateOpacity()}))}getFog(){return this.fog?this.fog.get():null}setFog(e){if(this._checkLoaded(),!e)return delete this.fog,delete this.stylesheet.fog,void(this._markersNeedUpdate=!0);if(this.fog){const i=this.fog,r=i.get();0===Object.keys(e).length&&i.set(e);for(const n in e)if(!t(e[n],r[n])){i.set(e),this.stylesheet.fog=e;const t=this._setTransitionParameters({duration:0});i.updateTransitions(t);break}}else this._createFog(e);this._markersNeedUpdate=!0}_setTransitionParameters(t){return{now:e.exported.now(),transition:e.extend(t,this.stylesheet.transition)}}_updateDrapeFirstLayers(){if(!this.map._optimizeForTerrain||!this.terrain)return;const e=this._order.filter((e=>this.isLayerDraped(this._layers[e]))),t=this._order.filter((e=>!this.isLayerDraped(this._layers[e])));this._drapedFirstOrder=[],this._drapedFirstOrder.push(...e),this._drapedFirstOrder.push(...t)}_createTerrain(e,t){const i=this.terrain=new M(e,t);this.stylesheet.terrain=e,this.dispatcher.broadcast("enableTerrain",!this.terrainSetForDrapingOnly()),this._force3DLayerUpdate();const r=this._setTransitionParameters({duration:0});i.updateTransitions(r)}_force3DLayerUpdate(){for(const e in this._layers){const t=this._layers[e];"fill-extrusion"===t.type&&this._updateLayer(t)}}_forceSymbolLayerUpdate(){for(const e in this._layers){const t=this._layers[e];"symbol"===t.type&&this._updateLayer(t)}}_validate(t,i,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return(!o||!1!==o.validate)&&Xt(this,t.call(e.validateStyle,e.extend({key:i,style:this.serialize(),value:r,styleSpec:e.spec},n)))}_remove(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),e.evented.off("pluginStateChange",this._rtlTextPluginCallback);for(const e in this._layers)this._layers[e].setEventedParent(null);for(const e in this._sourceCaches)this._sourceCaches[e].clearTiles(),this._sourceCaches[e].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()}_clearSource(e){const t=this._getSourceCaches(e);for(const i of t)i.clearTiles()}_reloadSource(e){const t=this._getSourceCaches(e);for(const i of t)i.resume(),i.reload()}_reloadSources(){for(const e of this._getSources())e.reload&&e.reload()}_updateSources(e){for(const t in this._sourceCaches)this._sourceCaches[t].update(e)}_generateCollisionBoxes(){for(const e in this._sourceCaches){const t=this._sourceCaches[e];t.resume(),t.reload()}}_updatePlacement(t,i,r,n){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=!1,a=!1;const l={};for(const e of this._order){const i=this._layers[e];if("symbol"!==i.type)continue;if(!l[i.source]){const e=this._getLayerSourceCache(i);if(!e)continue;l[i.source]=e.getRenderableIds(!0).map((t=>e.getTileByID(t))).sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)))}const r=this.crossTileSymbolIndex.addLayer(i,l[i.source],t.center.lng,t.projection);s=s||r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),o=o||this._layerOrderChanged||0===r,this._layerOrderChanged&&this.fire(new e.Event("neworder")),(o||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(e.exported.now(),t.zoom))&&(this.pauseablePlacement=new jt(t,this._order,o,i,r,n,this.placement,this.fog&&t.projection.supportsFog?this.fog.state:null),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(e.exported.now()),a=!0),s&&this.pauseablePlacement.placement.setStale()),a||s)for(const e of this._order){const t=this._layers[e];"symbol"===t.type&&this.placement.updateLayerOpacities(t,l[t.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(e.exported.now())}_releaseSymbolFadeTiles(){for(const e in this._sourceCaches)this._sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,t,i){this.imageManager.getImages(t.icons,i),this._updateTilesForChangedImages();const r=e=>{e&&e.setDependencies(t.tileID.key,t.type,t.icons)};r(this._otherSourceCaches[t.source]),r(this._symbolSourceCaches[t.source])}getGlyphs(e,t,i){this.glyphManager.getGlyphs(t.stacks,i)}getResource(t,i,r){return e.makeRequest(i,r)}_getSourceCache(e){return this._otherSourceCaches[e]}_getLayerSourceCache(e){return"symbol"===e.type?this._symbolSourceCaches[e.source]:this._otherSourceCaches[e.source]}_getSourceCaches(e){const t=[];return this._otherSourceCaches[e]&&t.push(this._otherSourceCaches[e]),this._symbolSourceCaches[e]&&t.push(this._symbolSourceCaches[e]),t}_isSourceCacheLoaded(t){const i=this._getSourceCaches(t);return 0===i.length?(this.fire(new e.ErrorEvent(new Error(`There is no source with ID '${t}'`))),!1):i.every((e=>e.loaded()))}has3DLayers(){return this._num3DLayers>0}hasSymbolLayers(){return this._numSymbolLayers>0}hasCircleLayers(){return this._numCircleLayers>0}_clearWorkerCaches(){this.dispatcher.broadcast("clearCaches")}destroy(){this._clearWorkerCaches(),this.terrainSetForDrapingOnly()&&(delete this.terrain,delete this.stylesheet.terrain)}}Qt.getSourceType=function(e){return ke[e]},Qt.setSourceType=function(e,t){ke[e]=t},Qt.registerForPluginStateChange=e.registerForPluginStateChange;var ei="\n#define EPSILON 0.0000001\n#define PI 3.141592653589793\n#define EXTENT 8192.0\n#define HALF_PI PI/2.0\n#define QUARTER_PI PI/4.0\n#define RAD_TO_DEG 180.0/PI\n#define DEG_TO_RAD PI/180.0\n#define GLOBE_RADIUS EXTENT/PI/2.0",ti="attribute highp vec3 a_pos_3f;uniform lowp mat4 u_matrix;varying highp vec3 v_uv;void main() {const mat3 half_neg_pi_around_x=mat3(1.0,0.0, 0.0,0.0,0.0,-1.0,0.0,1.0, 0.0);v_uv=half_neg_pi_around_x*a_pos_3f;vec4 pos=u_matrix*vec4(a_pos_3f,1.0);gl_Position=pos.xyww;}",ii="\n#define ELEVATION_SCALE 7.0\n#define ELEVATION_OFFSET 450.0\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_tl_up;uniform vec3 u_tile_tr_up;uniform vec3 u_tile_br_up;uniform vec3 u_tile_bl_up;uniform float u_tile_up_scale;vec3 elevationVector(vec2 pos) {vec2 uv=pos/EXTENT;vec3 up=normalize(mix(\nmix(u_tile_tl_up,u_tile_tr_up,uv.xxx),mix(u_tile_bl_up,u_tile_br_up,uv.xxx),uv.yyy));return up*u_tile_up_scale;}\n#else\nvec3 elevationVector(vec2 pos) { return vec3(0,0,1); }\n#endif\nconst float skirtOffset=24575.0;vec3 decomposeToPosAndSkirt(vec2 posWithComposedSkirt)\n{float skirt=float(posWithComposedSkirt.x >=skirtOffset);vec2 pos=posWithComposedSkirt-vec2(skirt*skirtOffset,0.0);return vec3(pos,skirt);}\n#ifdef TERRAIN\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nuniform highp sampler2D u_dem;uniform highp sampler2D u_dem_prev;\n#else\nuniform sampler2D u_dem;uniform sampler2D u_dem_prev;\n#endif\nuniform vec4 u_dem_unpack;uniform vec2 u_dem_tl;uniform vec2 u_dem_tl_prev;uniform float u_dem_scale;uniform float u_dem_scale_prev;uniform float u_dem_size;uniform float u_dem_lerp;uniform float u_exaggeration;uniform float u_meter_to_dem;uniform mat4 u_label_plane_matrix_inv;uniform sampler2D u_depth;uniform vec2 u_depth_size_inv;vec4 tileUvToDemSample(vec2 uv,float dem_size,float dem_scale,vec2 dem_tl) {vec2 pos=dem_size*(uv*dem_scale+dem_tl)+1.0;vec2 f=fract(pos);return vec4((pos-f+0.5)/(dem_size+2.0),f);}float decodeElevation(vec4 v) {return dot(vec4(v.xyz*255.0,-1.0),u_dem_unpack);}float currentElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale+u_dem_tl)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem,pos).a;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale,u_dem_tl);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem,pos));\n#ifdef TERRAIN_DEM_NEAREST_FILTER\nreturn u_exaggeration*tl;\n#endif\nfloat tr=decodeElevation(texture2D(u_dem,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}float prevElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale_prev+u_dem_tl_prev)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem_prev,pos).a;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale_prev,u_dem_tl_prev);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem_prev,pos));float tr=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem_prev,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}\n#ifdef TERRAIN_VERTEX_MORPHING\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nfloat nextElevation=currentElevation(apos);float prevElevation=prevElevation(apos);return mix(prevElevation,nextElevation,u_dem_lerp);}\n#else\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nreturn currentElevation(apos);}\n#endif\nhighp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}bool isOccluded(vec4 frag) {vec3 coord=frag.xyz/frag.w;float depth=unpack_depth(texture2D(u_depth,(coord.xy+1.0)*0.5));return coord.z > depth+0.0005;}float occlusionFade(vec4 frag) {vec3 coord=frag.xyz/frag.w;vec3 df=vec3(5.0*u_depth_size_inv,0.0);vec2 uv=0.5*coord.xy+0.5;vec4 depth=vec4(\nunpack_depth(texture2D(u_depth,uv-df.xz)),unpack_depth(texture2D(u_depth,uv+df.xz)),unpack_depth(texture2D(u_depth,uv-df.zy)),unpack_depth(texture2D(u_depth,uv+df.zy))\n);return dot(vec4(0.25),vec4(1.0)-clamp(300.0*(vec4(coord.z-0.001)-depth),0.0,1.0));}vec4 fourSample(vec2 pos,vec2 off) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nfloat tl=texture2D(u_dem,pos).a;float tr=texture2D(u_dem,pos+vec2(off.x,0.0)).a;float bl=texture2D(u_dem,pos+vec2(0.0,off.y)).a;float br=texture2D(u_dem,pos+off).a;\n#else\nvec4 demtl=vec4(texture2D(u_dem,pos).xyz*255.0,-1.0);float tl=dot(demtl,u_dem_unpack);vec4 demtr=vec4(texture2D(u_dem,pos+vec2(off.x,0.0)).xyz*255.0,-1.0);float tr=dot(demtr,u_dem_unpack);vec4 dembl=vec4(texture2D(u_dem,pos+vec2(0.0,off.y)).xyz*255.0,-1.0);float bl=dot(dembl,u_dem_unpack);vec4 dembr=vec4(texture2D(u_dem,pos+off).xyz*255.0,-1.0);float br=dot(dembr,u_dem_unpack);\n#endif\nreturn vec4(tl,tr,bl,br);}float flatElevation(vec2 pack) {vec2 apos=floor(pack/8.0);vec2 span=10.0*(pack-apos*8.0);vec2 uvTex=(apos-vec2(1.0,1.0))/8190.0;float size=u_dem_size+2.0;float dd=1.0/size;vec2 pos=u_dem_size*(uvTex*u_dem_scale+u_dem_tl)+1.0;vec2 f=fract(pos);pos=(pos-f+0.5)*dd;vec4 h=fourSample(pos,vec2(dd));float z=mix(mix(h.x,h.y,f.x),mix(h.z,h.w,f.x),f.y);vec2 w=floor(0.5*(span*u_meter_to_dem-1.0));vec2 d=dd*w;h=fourSample(pos-d,2.0*d+vec2(dd));vec4 diff=abs(h.xzxy-h.ywzw);vec2 slope=min(vec2(0.25),u_meter_to_dem*0.5*(diff.xz+diff.yw)/(2.0*w+vec2(1.0)));vec2 fix=slope*span;float base=z+max(fix.x,fix.y);return u_exaggeration*base;}float elevationFromUint16(float word) {return u_exaggeration*(word/ELEVATION_SCALE-ELEVATION_OFFSET);}\n#else\nfloat elevation(vec2 pos) { return 0.0; }bool isOccluded(vec4 frag) { return false; }float occlusionFade(vec4 frag) { return 1.0; }\n#endif",ri="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump mat4 u_fog_matrix;varying vec3 v_fog_pos;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}vec3 fog_position(vec3 pos) {return (u_fog_matrix*vec4(pos,1.0)).xyz;}vec3 fog_position(vec2 pos) {return fog_position(vec3(pos,0.0));}float fog(vec3 pos) {float depth=length(pos);float opacity=fog_opacity(fog_range(depth));return opacity*fog_horizon_blending(pos/depth);}\n#endif",ni="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump float u_fog_temporal_offset;varying vec3 v_fog_pos;uniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform highp vec2 u_viewport;uniform float u_globe_transition;uniform int u_is_globe;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}float globe_glow_progress() {highp vec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);highp vec3 dir=normalize(ray_dir);highp vec3 closest_point=dot(u_globe_pos,dir)*dir;highp float sdf=length(closest_point-u_globe_pos)/u_globe_radius;return sdf+PI*0.5;}float fog_opacity(vec3 pos) {float depth=length(pos);return fog_opacity(fog_range(depth));}vec3 fog_apply(vec3 color,vec3 pos) {float depth=length(pos);float opacity;if (u_is_globe==1) {float glow_progress=globe_glow_progress();float t=mix(glow_progress,depth,u_globe_transition);opacity=fog_opacity(fog_range(t));} else {opacity=fog_opacity(fog_range(depth));opacity*=fog_horizon_blending(pos/depth);}return mix(color,u_fog_color.rgb,opacity);}vec4 fog_apply_from_vert(vec4 color,float fog_opac) {float alpha=EPSILON+color.a;color.rgb=mix(color.rgb/alpha,u_fog_color.rgb,fog_opac)*alpha;return color;}vec3 fog_apply_sky_gradient(vec3 camera_ray,vec3 sky_color) {float horizon_blend=fog_horizon_blending(normalize(camera_ray));return mix(sky_color,u_fog_color.rgb,horizon_blend);}vec4 fog_apply_premultiplied(vec4 color,vec3 pos) {float alpha=EPSILON+color.a;color.rgb=fog_apply(color.rgb/alpha,pos)*alpha;return color;}vec3 fog_dither(vec3 color) {vec2 dither_seed=gl_FragCoord.xy+u_fog_temporal_offset;return dither(color,dither_seed);}vec4 fog_dither(vec4 color) {return vec4(fog_dither(color.rgb),color.a);}\n#endif";let oi={},si={};const ai=[];di(ei,ai),di(ii,ai),di(ri,ai),di(ni,ai),oi=pi("",ii),si=pi(ni,ri);const li=pi("\n#if __VERSION__ >=300\n#define varying in\n#define gl_FragColor glFragColor\n#define texture2D texture\n#define textureCube texture\nout vec4 glFragColor;\n#endif\nhighp vec3 hash(highp vec2 p) {highp vec3 p3=fract(p.xyx*vec3(443.8975,397.2973,491.1871));p3+=dot(p3,p3.yxz+19.19);return fract((p3.xxy+p3.yzz)*p3.zyx);}vec3 dither(vec3 color,highp vec2 seed) {vec3 rnd=hash(seed)+hash(seed+0.59374)-0.5;return color+rnd/255.0;}highp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}highp vec4 pack_depth(highp float ndc_z) {highp float depth=ndc_z*0.5+0.5;const highp vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);const highp vec4 bit_mask =vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);highp vec4 res=fract(depth*bit_shift);res-=res.xxyz*bit_mask;return res;}","\n#if __VERSION__ >=300\n#define attribute in\n#define varying out\n#define texture2D texture\n#endif\nfloat wrap(float n,float min,float max) {float d=max-min;float w=mod(mod(n-min,d)+d,d)+min;return (w==min) ? max : w;}\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 mercator_tile_position(mat4 matrix,vec2 tile_anchor,vec3 tile_id,vec2 mercator_center) {\n#ifndef PROJECTED_POS_ON_VIEWPORT\nfloat tiles=tile_id.z;vec2 mercator=(tile_anchor/EXTENT+tile_id.xy)/tiles;mercator-=mercator_center;mercator.x=wrap(mercator.x,-0.5,0.5);vec4 mercator_tile=vec4(mercator.xy*EXTENT,EXTENT/(2.0*PI),1.0);mercator_tile=matrix*mercator_tile;return mercator_tile.xyz;\n#else\nreturn vec3(0.0);\n#endif\n}vec3 mix_globe_mercator(vec3 globe,vec3 mercator,float t) {return mix(globe,mercator,t);}mat3 globe_mercator_surface_vectors(vec3 pos_normal,vec3 up_dir,float zoom_transition) {vec3 normal=zoom_transition==0.0 ? pos_normal : normalize(mix(pos_normal,up_dir,zoom_transition));vec3 xAxis=normalize(vec3(normal.z,0.0,-normal.x));vec3 yAxis=normalize(cross(normal,xAxis));return mat3(xAxis,yAxis,normal);}\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(\nunpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}const vec4 AWAY=vec4(-1000.0,-1000.0,-1000.0,1);//Normalized device coordinate that is not rendered."),ci=ei,hi="\n#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif";var ui={background:pi("uniform vec4 u_color;uniform float u_opacity;\n#ifdef LIGHTING_3D_MODE\nvarying vec4 v_color;\n#endif\nvoid main() {vec4 out_color;\n#ifdef LIGHTING_3D_MODE\nout_color=v_color;\n#else\nout_color=u_color;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#ifdef LIGHTING_3D_MODE\nuniform vec4 u_color;varying vec4 v_color;\n#endif\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting(u_color);\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),backgroundPattern:pi("uniform vec2 u_pattern_tl;uniform vec2 u_pattern_br;uniform vec2 u_texsize;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos;void main() {vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(u_pattern_tl/u_texsize,u_pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_pattern_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),circle:pi("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(\nantialiased_blur,0.0,extrude_length-radius/(radius+stroke_width)\n);vec4 out_color=mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_apply_premultiplied(out_color,v_fog_pos);\n#endif\ngl_FragColor=out_color*(v_visibility*opacity_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","#define NUM_VISIBILITY_RINGS 2\n#define INV_SQRT2 0.70710678\n#define ELEVATION_BIAS 0.0001\n#define NUM_SAMPLES_PER_RING 16\nuniform mat4 u_matrix;uniform mat2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nvarying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvec2 calc_offset(vec2 extrusion,float radius,float stroke_width, float view_scale) {return extrusion*(radius+stroke_width)*u_extrude_scale*view_scale;}float cantilevered_elevation(vec2 pos,float radius,float stroke_width,float view_scale) {vec2 c1=pos+calc_offset(vec2(-1,-1),radius,stroke_width,view_scale);vec2 c2=pos+calc_offset(vec2(1,-1),radius,stroke_width,view_scale);vec2 c3=pos+calc_offset(vec2(1,1),radius,stroke_width,view_scale);vec2 c4=pos+calc_offset(vec2(-1,1),radius,stroke_width,view_scale);float h1=elevation(c1)+ELEVATION_BIAS;float h2=elevation(c2)+ELEVATION_BIAS;float h3=elevation(c3)+ELEVATION_BIAS;float h4=elevation(c4)+ELEVATION_BIAS;return max(h4,max(h3,max(h1,h2)));}float circle_elevation(vec2 pos) {\n#if defined(TERRAIN)\nreturn elevation(pos)+ELEVATION_BIAS;\n#else\nreturn 0.0;\n#endif\n}vec4 project_vertex(vec2 extrusion,vec4 world_center,vec4 projected_center,float radius,float stroke_width, float view_scale,mat3 surface_vectors) {vec2 sample_offset=calc_offset(extrusion,radius,stroke_width,view_scale);\n#ifdef PITCH_WITH_MAP\n#ifdef PROJECTION_GLOBE_VIEW\nreturn u_matrix*( world_center+vec4(sample_offset.x*surface_vectors[0]+sample_offset.y*surface_vectors[1],0) );\n#else\nreturn u_matrix*( world_center+vec4(sample_offset,0,0) );\n#endif\n#else\nreturn projected_center+vec4(sample_offset,0,0);\n#endif\n}float get_sample_step() {\n#ifdef PITCH_WITH_MAP\nreturn 2.0*PI/float(NUM_SAMPLES_PER_RING);\n#else\nreturn PI/float(NUM_SAMPLES_PER_RING);\n#endif\n}void main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);vec4 world_center;mat3 surface_vectors;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(circle_center)*circle_elevation(circle_center);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*circle_elevation(circle_center);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,circle_center,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;vec3 pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);world_center=vec4(pos,1);\n#else \nsurface_vectors=mat3(1.0);float height=circle_elevation(circle_center);world_center=vec4(circle_center,height,1);\n#endif\nvec4 projected_center=u_matrix*world_center;float view_scale=0.0;\n#ifdef PITCH_WITH_MAP\n#ifdef SCALE_WITH_MAP\nview_scale=1.0;\n#else\nview_scale=projected_center.w/u_camera_to_center_distance;\n#endif\n#else\n#ifdef SCALE_WITH_MAP\nview_scale=u_camera_to_center_distance;\n#else\nview_scale=projected_center.w;\n#endif\n#endif\ngl_Position=project_vertex(extrude,world_center,projected_center,radius,stroke_width,view_scale,surface_vectors);float visibility=0.0;\n#ifdef TERRAIN\nfloat step=get_sample_step();vec4 occlusion_world_center;vec4 occlusion_projected_center;\n#ifdef PITCH_WITH_MAP\nfloat cantilevered_height=cantilevered_elevation(circle_center,radius,stroke_width,view_scale);occlusion_world_center=vec4(circle_center,cantilevered_height,1);occlusion_projected_center=u_matrix*occlusion_world_center;\n#else\nocclusion_world_center=world_center;occlusion_projected_center=projected_center;\n#endif\nfor(int ring=0; ring < NUM_VISIBILITY_RINGS; ring++) {float scale=(float(ring)+1.0)/float(NUM_VISIBILITY_RINGS);for(int i=0; i < NUM_SAMPLES_PER_RING; i++) {vec2 extrusion=vec2(cos(step*float(i)),-sin(step*float(i)))*scale;vec4 frag_pos=project_vertex(extrusion,occlusion_world_center,occlusion_projected_center,radius,stroke_width,view_scale,surface_vectors);visibility+=float(!isOccluded(frag_pos));}}visibility/=float(NUM_VISIBILITY_RINGS)*float(NUM_SAMPLES_PER_RING);\n#else\nvisibility=1.0;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nvisibility=1.0;\n#endif\nv_visibility=visibility;lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);\n#ifdef FOG\nv_fog_pos=fog_position(world_center.xyz);\n#endif\n}"),clippingMask:pi("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:pi("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef FOG\nif (u_is_globe==0) {gl_FragColor.r*=pow(1.0-fog_opacity(v_fog_pos),2.0);}\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nvarying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 tilePos=floor(a_pos*0.5);vec3 pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;mat3 surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(tilePos)*elevation(tilePos);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*elevation(tilePos);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,tilePos,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#else\npos=vec3(tilePos+extrude,elevation(tilePos));\n#endif\ngl_Position=u_matrix*vec4(pos,1);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),heatmapTexture:pi("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=vec4(a_pos,0,1);v_pos=a_pos*0.5+0.5;}"),collisionBox:pi("varying float v_placed;varying float v_notUsed;void main() {vec4 red =vec4(1.0,0.0,0.0,1.0);vec4 blue=vec4(0.0,0.0,1.0,0.5);gl_FragColor =mix(red,blue,step(0.5,v_placed))*0.5;gl_FragColor*=mix(1.0,0.1,step(0.5,v_notUsed));}","attribute vec3 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;attribute float a_size_scale;attribute vec2 a_padding;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_pos+elevationVector(a_anchor_pos)*elevation(a_anchor_pos),1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,1.5);gl_Position=projectedPoint;gl_Position.xy+=(a_extrude*a_size_scale+a_shift+a_padding)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:pi("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos_2f;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos_2f;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(\nmix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:pi("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;\n#endif\nvarying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {float h=elevation(a_pos);v_uv=a_pos/8192.0;\n#ifdef PROJECTION_GLOBE_VIEW\ngl_Position=u_matrix*vec4(a_pos_3+elevationVector(a_pos)*h,1);\n#else\ngl_Position=u_matrix*vec4(a_pos*u_overlay_scale,h,1);\n#endif\n}"),fill:pi("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\nvec4 out_color=color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillOutline:pi("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=outline_color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillOutlinePattern:pi("uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;varying vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);float dist=length(v_pos_world-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;varying vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);v_pos_world=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillPattern:pi("uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillExtrusion:pi("varying vec4 v_color;\n#ifdef RENDER_SHADOWS\nvarying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef ZERO_ROOF_RADIUS\nvarying vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvarying highp vec3 v_normal;\n#endif\nvoid main() {\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvec3 normal=v_normal;\n#endif\nfloat z;vec4 color;\n#ifdef ZERO_ROOF_RADIUS\nz=float(normal.z > 0.00001);color=mix(v_color,v_roof_color,z);\n#else\ncolor=v_color;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;\n#ifdef ZERO_ROOF_RADIUS\nconcave*=(1.0-z);\n#endif\nfloat x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);color.rgb=color.rgb*shade;\n#endif\n#ifdef RENDER_SHADOWS\n#ifdef ZERO_ROOF_RADIUS\nnormal=mix(normal,vec3(0.0,0.0,1.0),z);\n#endif\ncolor.xyz=shadowed_color_normal(color.xyz,normalize(normal),v_pos_light_view_0,v_pos_light_view_1,v_depth);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform float u_edge_radius;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nvarying vec4 v_color;\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\n#endif\n#ifdef ZERO_ROOF_RADIUS\nvarying vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvarying highp vec3 v_normal;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec4 pos_nx=floor(a_pos_normal_ed*0.5);vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nv_normal=normal;\n#endif\nbase=max(0.0,base);height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=0.0;float c_ele;vec3 pos;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);pos=vec3(pos_nx.xy,h);\n#else\nh=t > 0.0 ? height : base;pos=vec3(pos_nx.xy,h);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*h);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,pos.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*pos.z;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(pos,1),AWAY,hidden);\n#ifdef RENDER_SHADOWS\nv_pos_light_view_0=u_light_matrix_0*vec4(pos,1);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1);v_depth=gl_Position.w;\n#endif\nfloat NdotL=0.0;float colorvalue=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\ncolorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;NdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}v_color=vec4(0.0,0.0,0.0,1.0);\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting(color,NdotL);\n#else\nv_color.rgb+=clamp(color.rgb*NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\n#endif\nv_color*=u_opacity;\n#ifdef ZERO_ROOF_RADIUS\nv_roof_color=vec4(0.0,0.0,0.0,1.0);\n#ifdef LIGHTING_3D_MODE\nv_roof_color=apply_lighting(color,calculate_NdotL(vec3(0.0,0.0,1.0)));\n#else\nfloat roofNdotL=clamp(u_lightpos.z,0.0,1.0);roofNdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),roofNdotL);v_roof_color.rgb+=clamp(color.rgb*roofNdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\n#endif\nv_roof_color*=u_opacity;\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),fillExtrusionPattern:pi("uniform vec2 u_texsize;uniform sampler2D u_image;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nvarying float v_NdotL;\n#endif\nvarying vec2 v_pos;varying vec4 v_lighting;uniform lowp float u_opacity;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color,v_NdotL)*u_opacity;\n#else\nout_color=out_color*v_lighting;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;float x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);out_color.rgb=out_color.rgb*shade;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform float u_tile_units_to_pixels;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nvarying vec2 v_pos;varying vec4 v_lighting;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nvarying float v_NdotL;\n#endif\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec4 pos_nx=floor(a_pos_normal_ed*0.5);mediump vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;mediump vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));float edgedistance=a_pos_normal_ed.w;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;base=max(0.0,base);height=max(0.0,height);float t=top_up_ny.x;float z=t > 0.0 ? height : base;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=z;vec3 p;float c_ele;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);p=vec3(pos_nx.xy,h);\n#else\np=vec3(pos_nx.xy,z);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*(p.z+lift));vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,p.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*p.z;p=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(p,1),AWAY,hidden);vec2 pos=normal.z==1.0\n? pos_nx.xy\n: vec2(edgedistance,z*u_height_factor);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float NdotL=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\nNdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_NdotL=NdotL;\n#else\nv_lighting.rgb+=clamp(NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;\n#endif \n#ifdef FOG\nv_fog_pos=fog_position(p);\n#endif\n}"),hillshadePrepare:pi("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nreturn texture2D(u_image,coord).a/4.0;\n#else\nvec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;\n#endif\n}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y));float b=getElevation(v_pos+vec2(0,-epsilon.y));float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y));float d=getElevation(v_pos+vec2(-epsilon.x,0));float e=getElevation(v_pos+vec2(epsilon.x,0));float f=getElevation(v_pos+vec2(-epsilon.x,epsilon.y));float g=getElevation(v_pos+vec2(0,epsilon.y));float h=getElevation(v_pos+vec2(epsilon.x,epsilon.y));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2(\n(c+e+e+h)-(a+d+d+f),(f+g+g+h)-(a+b+b+c)\n)/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(\nderiv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:pi("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef LIGHTING_3D_MODE\ngl_FragColor=apply_lighting(gl_FragColor);\n#endif\n#ifdef FOG\ngl_FragColor=fog_dither(fog_apply_premultiplied(gl_FragColor,v_fog_pos));\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),line:pi("uniform lowp float u_device_pixel_ratio;uniform float u_alpha_discard_threshold;uniform highp vec2 u_trim_offset;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform sampler2D u_dash_image;varying vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform sampler2D u_gradient_image;\n#endif\nuniform float u_border_width;uniform vec4 u_border_color;float luminance(vec3 c) {return (c.r+c.r+c.b+c.g+c.g+c.g)*0.1667;}\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nfloat linearstep(float edge0,float edge1,float x) {return clamp((x-edge0)/(edge1-edge0),0.0,1.0);}void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);\n#ifdef RENDER_LINE_DASH\nfloat sdfdist=texture2D(u_dash_image,v_tex).a;float sdfgamma=1.0/(2.0*u_device_pixel_ratio)/dash.z;alpha*=linearstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);\n#endif\nhighp vec4 out_color;\n#ifdef RENDER_LINE_GRADIENT\nout_color=texture2D(u_gradient_image,v_uv.xy);\n#else\nout_color=color;\n#endif\nfloat trimmed=1.0;\n#ifdef RENDER_LINE_TRIM_OFFSET\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {out_color=vec4(0,0,0,0);trimmed=0.0;}}\n#endif\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\n#ifdef RENDER_LINE_ALPHA_DISCARD\nif (alpha < u_alpha_discard_threshold) {discard;}\n#endif\n#ifdef RENDER_LINE_BORDER\nfloat edgeBlur=(u_border_width+1.0/u_device_pixel_ratio);float alpha2=clamp(min(dist-(v_width2.t-edgeBlur),v_width2.s-dist)/edgeBlur,0.0,1.0);if (alpha2 < 1.) {float smoothAlpha=smoothstep(0.6,1.0,alpha2);\n#ifdef RENDER_LINE_BORDER_AUTO\nfloat Y=(out_color.a > 0.01) ? luminance(out_color.rgb/out_color.a) : 1.;float adjustment=(Y > 0.) ? 0.5/Y : 0.45;if (out_color.a > 0.25 && Y < 0.25) {vec3 borderColor=(Y > 0.) ? out_color.rgb : vec3(1,1,1)*out_color.a;out_color.rgb=out_color.rgb+borderColor*(adjustment*(1.0-smoothAlpha));} else {out_color.rgb*=(0.6 +0.4*smoothAlpha);}\n#else\nout_color.rgb=mix(u_border_color.rgb*u_border_color.a*trimmed,out_color.rgb,smoothAlpha);\n#endif\n}\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define EXTRUDE_SCALE 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nattribute highp vec4 a_packed;\n#endif\n#ifdef RENDER_LINE_DASH\nattribute float a_linesofar;\n#endif\nuniform mat4 u_matrix;uniform mat2 u_pixels_to_tile_units;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform vec2 u_texsize;uniform float u_tile_units_to_pixels;varying vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform float u_image_height;\n#endif\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*EXTRUDE_SCALE;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*EXTRUDE_SCALE*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nfloat a_uv_x=a_packed[0];float a_split_index=a_packed[1];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];\n#ifdef RENDER_LINE_GRADIENT\nhighp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec4(a_uv_x,a_split_index*texel_height-half_texel_height,a_clip_start,a_clip_end);\n#else\nv_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\n#endif\n#endif\n#ifdef RENDER_LINE_DASH\nfloat scale=dash.z==0.0 ? 0.0 : u_tile_units_to_pixels/dash.z;float height=dash.y;v_tex=vec2(a_linesofar*scale/floorwidth,(-normal.y*height+dash.x+0.5)/u_texsize.y);\n#endif\nv_width2=vec2(outset,inset);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),linePattern:pi("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_tile_units_to_pixels;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;vec2 pattern_size=vec2(display_size.x/u_tile_units_to_pixels,display_size.y);float aspect=display_size.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x=mod(v_linesofar/pattern_size.x*aspect,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(x,y));vec4 color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\ncolor=apply_lighting(color);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_linesofar;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mat2 u_pixels_to_tile_units;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),raster:pi("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(\ndot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);vec3 out_color=mix(u_high_vec,u_low_vec,rgb);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply(out_color,v_fog_pos));\n#endif\ngl_FragColor=vec4(out_color*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform vec2 u_perspective_transform;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {float w=1.0+dot(a_texture_pos,u_perspective_transform);gl_Position=u_matrix*vec4(a_pos*w,0,w);v_pos0=a_texture_pos/8192.0;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),symbolIcon:pi("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_min_font_scale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetProjected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetProjected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetProjected_point.xy/offsetProjected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*max(a_min_font_scale,font_scale)+a_pxoffset/16.0);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nv_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change))*projection_transition_fade;}"),symbolSDF:pi("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetprojected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetprojected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetprojected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetprojected_point.xy/offsetprojected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat gamma_scale=gl_Position.w;float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade);}"),symbolTextAndIcon:pi("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform vec2 u_texsize_icon;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offset_projected_point=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projected_point.xy/projected_point.w;vec2 b=offset_projected_point.xy/offset_projected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*font_scale);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nv_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade,is_sdf);}"),terrainRaster:pi("uniform sampler2D u_image0;varying vec2 v_pos0;\n#ifdef FOG\nvarying float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nvarying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\n#endif\nvoid main() {vec4 color=texture2D(u_image0,v_pos0);\n#ifdef RENDER_SHADOWS\ncolor.xyz=shadowed_color(color.xyz,v_pos_light_view_0,v_pos_light_view_1,v_depth);\n#endif\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#else\ncolor=fog_dither(fog_apply_from_vert(color,v_fog_opacity));\n#endif\n#endif\ngl_FragColor=color;\n#ifdef TERRAIN_WIREFRAME\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_skirt_height;attribute vec2 a_pos;varying vec2 v_pos0;\n#ifdef FOG\nvarying float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\n#endif\nconst float wireframeOffset=0.00015;void main() {vec3 decomposedPosAndSkirt=decomposeToPosAndSkirt(a_pos);float skirt=decomposedPosAndSkirt.z;vec2 decodedPos=decomposedPosAndSkirt.xy;float elevation=elevation(decodedPos)-skirt*u_skirt_height;\n#ifdef TERRAIN_WIREFRAME\nelevation+=wireframeOffset;\n#endif\nv_pos0=decodedPos/8192.0;gl_Position=u_matrix*vec4(decodedPos,elevation,1.0);\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\nv_fog_pos=fog_position(decodedPos);\n#else\nv_fog_opacity=fog(fog_position(vec3(decodedPos,elevation)));\n#endif\n#endif\n#ifdef RENDER_SHADOWS\nvec3 pos=vec3(decodedPos,elevation);v_pos_light_view_0=u_light_matrix_0*vec4(pos,1.);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1.);v_depth=gl_Position.w;\n#endif\n}"),terrainDepth:pi("#ifdef GL_ES\nprecision highp float;\n#endif\nvarying float v_depth;void main() {gl_FragColor=pack_depth(v_depth);}","uniform mat4 u_matrix;attribute vec2 a_pos;varying float v_depth;void main() {float elevation=elevation(a_pos);gl_Position=u_matrix*vec4(a_pos,elevation,1.0);v_depth=gl_Position.z/gl_Position.w;}"),skybox:pi("\nvarying lowp vec3 v_uv;uniform lowp samplerCube u_cubemap;uniform lowp float u_opacity;uniform highp float u_temporal_offset;uniform highp vec3 u_sun_direction;float sun_disk(highp vec3 ray_direction,highp vec3 sun_direction) {highp float cos_angle=dot(normalize(ray_direction),sun_direction);const highp float cos_sun_angular_diameter=0.99996192306;const highp float smoothstep_delta=1e-5;return smoothstep(\ncos_sun_angular_diameter-smoothstep_delta,cos_sun_angular_diameter+smoothstep_delta,cos_angle);}float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec3 uv=v_uv;const float y_bias=0.015;uv.y+=y_bias;uv.y=pow(abs(uv.y),1.0/5.0);uv.y=map(uv.y,0.0,1.0,-1.0,1.0);vec3 sky_color=textureCube(u_cubemap,uv).rgb;\n#ifdef FOG\nsky_color=fog_apply_sky_gradient(v_uv.xzy,sky_color);\n#endif\nsky_color.rgb=dither(sky_color.rgb,gl_FragCoord.xy+u_temporal_offset);sky_color+=0.1*sun_disk(v_uv,u_sun_direction);gl_FragColor=vec4(sky_color*u_opacity,u_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",ti),skyboxGradient:pi("varying highp vec3 v_uv;uniform lowp sampler2D u_color_ramp;uniform highp vec3 u_center_direction;uniform lowp float u_radius;uniform lowp float u_opacity;uniform highp float u_temporal_offset;void main() {float progress=acos(dot(normalize(v_uv),u_center_direction))/u_radius;vec4 color=texture2D(u_color_ramp,vec2(progress,0.5));\n#ifdef FOG\ncolor.rgb=fog_apply_sky_gradient(v_uv.xzy,color.rgb/color.a)*color.a;\n#endif\ncolor*=u_opacity;color.rgb=dither(color.rgb,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",ti),skyboxCapture:pi("\nvarying highp vec3 v_position;uniform highp float u_sun_intensity;uniform highp float u_luminance;uniform lowp vec3 u_sun_direction;uniform highp vec4 u_color_tint_r;uniform highp vec4 u_color_tint_m;\n#ifdef GL_ES\nprecision highp float;\n#endif\n#define BETA_R vec3(5.5e-6,13.0e-6,22.4e-6)\n#define BETA_M vec3(21e-6,21e-6,21e-6)\n#define MIE_G 0.76\n#define DENSITY_HEIGHT_SCALE_R 8000.0\n#define DENSITY_HEIGHT_SCALE_M 1200.0\n#define PLANET_RADIUS 6360e3\n#define ATMOSPHERE_RADIUS 6420e3\n#define SAMPLE_STEPS 10\n#define DENSITY_STEPS 4\nfloat ray_sphere_exit(vec3 orig,vec3 dir,float radius) {float a=dot(dir,dir);float b=2.0*dot(dir,orig);float c=dot(orig,orig)-radius*radius;float d=sqrt(b*b-4.0*a*c);return (-b+d)/(2.0*a);}vec3 extinction(vec2 density) {return exp(-vec3(BETA_R*u_color_tint_r.a*density.x+BETA_M*u_color_tint_m.a*density.y));}vec2 local_density(vec3 point) {float height=max(length(point)-PLANET_RADIUS,0.0);float exp_r=exp(-height/DENSITY_HEIGHT_SCALE_R);float exp_m=exp(-height/DENSITY_HEIGHT_SCALE_M);return vec2(exp_r,exp_m);}float phase_ray(float cos_angle) {return (3.0/(16.0*PI))*(1.0+cos_angle*cos_angle);}float phase_mie(float cos_angle) {return (3.0/(8.0*PI))*((1.0-MIE_G*MIE_G)*(1.0+cos_angle*cos_angle))/((2.0+MIE_G*MIE_G)*pow(1.0+MIE_G*MIE_G-2.0*MIE_G*cos_angle,1.5));}vec2 density_to_atmosphere(vec3 point,vec3 light_dir) {float ray_len=ray_sphere_exit(point,light_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(DENSITY_STEPS);vec2 density_point_to_atmosphere=vec2(0.0);for (int i=0; i < DENSITY_STEPS;++i) {vec3 point_on_ray=point+light_dir*((float(i)+0.5)*step_len);density_point_to_atmosphere+=local_density(point_on_ray)*step_len;;}return density_point_to_atmosphere;}vec3 atmosphere(vec3 ray_dir,vec3 sun_direction,float sun_intensity) {vec2 density_orig_to_point=vec2(0.0);vec3 scatter_r=vec3(0.0);vec3 scatter_m=vec3(0.0);vec3 origin=vec3(0.0,PLANET_RADIUS,0.0);float ray_len=ray_sphere_exit(origin,ray_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(SAMPLE_STEPS);for (int i=0; i < SAMPLE_STEPS;++i) {vec3 point_on_ray=origin+ray_dir*((float(i)+0.5)*step_len);vec2 density=local_density(point_on_ray)*step_len;density_orig_to_point+=density;vec2 density_point_to_atmosphere=density_to_atmosphere(point_on_ray,sun_direction);vec2 density_orig_to_atmosphere=density_orig_to_point+density_point_to_atmosphere;vec3 extinction=extinction(density_orig_to_atmosphere);scatter_r+=density.x*extinction;scatter_m+=density.y*extinction;}float cos_angle=dot(ray_dir,sun_direction);float phase_r=phase_ray(cos_angle);float phase_m=phase_mie(cos_angle);vec3 beta_r=BETA_R*u_color_tint_r.rgb*u_color_tint_r.a;vec3 beta_m=BETA_M*u_color_tint_m.rgb*u_color_tint_m.a;return (scatter_r*phase_r*beta_r+scatter_m*phase_m*beta_m)*sun_intensity;}const float A=0.15;const float B=0.50;const float C=0.10;const float D=0.20;const float E=0.02;const float F=0.30;vec3 uncharted2_tonemap(vec3 x) {return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;}void main() {vec3 ray_direction=v_position;ray_direction.y=pow(ray_direction.y,5.0);const float y_bias=0.015;ray_direction.y+=y_bias;vec3 color=atmosphere(normalize(ray_direction),u_sun_direction,u_sun_intensity);float white_scale=1.0748724675633854;color=uncharted2_tonemap((log2(2.0/pow(u_luminance,4.0)))*color)*white_scale;gl_FragColor=vec4(color,1.0);}","attribute highp vec3 a_pos_3f;uniform mat3 u_matrix_3f;varying highp vec3 v_position;float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec4 pos=vec4(u_matrix_3f*a_pos_3f,1.0);v_position=pos.xyz;v_position.y*=-1.0;v_position.y=map(v_position.y,-1.0,1.0,0.0,1.0);gl_Position=vec4(a_pos_3f.xy,0.0,1.0);}"),globeRaster:pi("uniform sampler2D u_image0;varying vec2 v_pos0;\n#ifndef FOG\nuniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform vec2 u_viewport;\n#endif\nvoid main() {vec4 color;\n#ifdef CUSTOM_ANTIALIASING\nvec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);vec3 dir=normalize(ray_dir);vec3 closest_point=dot(u_globe_pos,dir)*dir;float norm_dist_from_center=1.0-length(closest_point-u_globe_pos)/u_globe_radius;const float antialias_pixel=2.0;float antialias_factor=antialias_pixel*fwidth(norm_dist_from_center);float antialias=smoothstep(0.0,antialias_factor,norm_dist_from_center);vec4 raster=texture2D(u_image0,v_pos0);color=vec4(raster.rgb*antialias,raster.a*antialias);\n#else\ncolor=texture2D(u_image0,v_pos0);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color;\n#ifdef TERRAIN_WIREFRAME\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_proj_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform float u_zoom_transition;uniform vec2 u_merc_center;uniform mat3 u_grid_matrix;uniform float u_skirt_height;\n#ifdef GLOBE_POLES\nattribute vec3 a_globe_pos;attribute vec2 a_uv;\n#else\nattribute vec2 a_pos;\n#endif\nvarying vec2 v_pos0;const float wireframeOffset=1e3;float mercatorXfromLng(float lng) {return (180.0+lng)/360.0;}float mercatorYfromLat(float lat) {return (180.0-(RAD_TO_DEG*log(tan(QUARTER_PI+lat/2.0*DEG_TO_RAD))))/360.0;}vec3 latLngToECEF(vec2 latLng) {latLng=DEG_TO_RAD*latLng;float cosLat=cos(latLng[0]);float sinLat=sin(latLng[0]);float cosLng=cos(latLng[1]);float sinLng=sin(latLng[1]);float sx=cosLat*sinLng*GLOBE_RADIUS;float sy=-sinLat*GLOBE_RADIUS;float sz=cosLat*cosLng*GLOBE_RADIUS;return vec3(sx,sy,sz);}void main() {\n#ifdef GLOBE_POLES\nvec3 globe_pos=a_globe_pos;vec2 uv=a_uv;\n#else\nfloat tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];vec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float uvY=mercatorY*tiles-idy;float mercatorX=mercatorXfromLng(latLng[1]);float uvX=mercatorX*tiles-idx;vec3 globe_pos=latLngToECEF(latLng.xy);vec2 merc_pos=vec2(mercatorX,mercatorY);vec2 uv=vec2(uvX,uvY);\n#endif\nv_pos0=uv;vec2 tile_pos=uv*EXTENT;vec3 globe_derived_up_vector=normalize(globe_pos)*u_tile_up_scale;\n#ifdef GLOBE_POLES\nvec3 up_vector=globe_derived_up_vector;\n#else\nvec3 up_vector=elevationVector(tile_pos);\n#endif\nfloat height=elevation(tile_pos);\n#ifdef TERRAIN_WIREFRAME\nheight+=wireframeOffset;\n#endif\nglobe_pos+=up_vector*height;\n#ifndef GLOBE_POLES\nglobe_pos-=globe_derived_up_vector*u_skirt_height*decomposed_pos_and_skirt.z;\n#endif\n#ifdef GLOBE_POLES\nvec4 interpolated_pos=u_globe_matrix*vec4(globe_pos,1.0);\n#else\nvec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {merc_world_pos=vec4(merc_pos,height-u_skirt_height*decomposed_pos_and_skirt.z,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition),1.0);\n#endif\ngl_Position=u_proj_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n}"),globeAtmosphere:pi("uniform float u_transition;uniform highp float u_fadeout_range;uniform highp float u_temporal_offset;uniform vec3 u_start_color;uniform vec4 u_color;uniform vec4 u_space_color;uniform vec4 u_high_color;uniform float u_star_intensity;uniform float u_star_size;uniform float u_star_density;uniform float u_horizon_angle;uniform mat4 u_rotation_matrix;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;highp float random(highp vec3 p) {p=fract(p*vec3(23.2342,97.1231,91.2342));p+=dot(p.zxy,p.yxz+123.1234);return fract(p.x*p.y);}float stars(vec3 p,float scale,vec2 offset) {vec2 uv_scale=(u_viewport/u_star_size)*scale;vec3 position=vec3(p.xy*uv_scale+offset*u_viewport,p.z);vec3 q=fract(position)-0.5;vec3 id=floor(position);float random_visibility=step(random(id),u_star_density);float circle=smoothstep(0.5+u_star_intensity,0.5,length(q));return circle*random_visibility;}void main() {highp vec3 dir=normalize(v_ray_dir);float globe_pos_dot_dir;\n#ifdef PROJECTION_GLOBE_VIEW\nglobe_pos_dot_dir=dot(u_globe_pos,dir);highp vec3 closest_point_forward=abs(globe_pos_dot_dir)*dir;float norm_dist_from_center=length(closest_point_forward-u_globe_pos)/u_globe_radius;if (norm_dist_from_center < 0.98) {discard;return;}\n#endif\nhighp vec3 horizon_dir=normalize(v_horizon_dir);float horizon_angle_mercator=dir.y < horizon_dir.y ?\n0.0 : max(acos(dot(dir,horizon_dir)),0.0);float horizon_angle;\n#ifdef PROJECTION_GLOBE_VIEW\nhighp vec3 closest_point=globe_pos_dot_dir*dir;float closest_point_to_center=length(closest_point-u_globe_pos);float theta=asin(clamp(closest_point_to_center/length(u_globe_pos),-1.0,1.0));horizon_angle=globe_pos_dot_dir < 0.0 ?\nPI-theta-u_horizon_angle : theta-u_horizon_angle;float angle_t=pow(u_transition,10.0);horizon_angle=mix(horizon_angle,horizon_angle_mercator,angle_t);\n#else\nhorizon_angle=horizon_angle_mercator;\n#endif\nhorizon_angle/=PI;float t=exp(-horizon_angle/u_fadeout_range);float alpha_0=u_color.a;float alpha_1=u_high_color.a;float alpha_2=u_space_color.a;vec3 color_stop_0=u_color.rgb;vec3 color_stop_1=u_high_color.rgb;vec3 color_stop_2=u_space_color.rgb;vec3 c0=mix(color_stop_2,color_stop_1,alpha_1);vec3 c1=mix(c0,color_stop_0,alpha_0);vec3 c2=mix(c0,c1,t);vec3 c =mix(color_stop_2,c2,t);float a0=mix(alpha_2,1.0,alpha_1);float a1=mix(a0,1.0,alpha_0);float a2=mix(a0,a1,t);float a =mix(alpha_2,a2,t);vec2 uv=gl_FragCoord.xy/u_viewport-0.5;float aspect_ratio=u_viewport.x/u_viewport.y;vec4 uv_dir=vec4(normalize(vec3(uv.x*aspect_ratio,uv.y,1.0)),1.0);uv_dir=u_rotation_matrix*uv_dir;vec3 n=abs(uv_dir.xyz);vec2 uv_remap=(n.x > n.y && n.x > n.z) ? uv_dir.yz/uv_dir.x:\n(n.y > n.x && n.y > n.z) ? uv_dir.zx/uv_dir.y:\nuv_dir.xy/uv_dir.z;uv_remap.x/=aspect_ratio;vec3 D=vec3(uv_remap,1.0);highp float star_field=0.0;if (u_star_intensity > 0.0) {star_field+=stars(D,1.2,vec2(0.0,0.0));star_field+=stars(D,1.0,vec2(1.0,0.0));star_field+=stars(D,0.8,vec2(0.0,1.0));star_field+=stars(D,0.6,vec2(1.0,1.0));star_field*=(1.0-pow(t,0.25+(1.0-u_high_color.a)*0.75));c+=star_field*alpha_2;}c=dither(c,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=vec4(c,a);}","attribute vec3 a_pos;attribute vec2 a_uv;uniform vec3 u_frustum_tl;uniform vec3 u_frustum_tr;uniform vec3 u_frustum_br;uniform vec3 u_frustum_bl;uniform float u_horizon;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;void main() {v_ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,a_uv.x),mix(u_frustum_bl,u_frustum_br,a_uv.x),a_uv.y);v_horizon_dir=mix(\nmix(u_frustum_tl,u_frustum_bl,u_horizon),mix(u_frustum_tr,u_frustum_br,u_horizon),a_uv.x);gl_Position=vec4(a_pos,1.0);}")};function di(e,t){const i=e.replace(/\s*\/\/[^\n]*\n/g,"\n").split("\n");for(let r of i)if(r=r.trim(),"#"===r[0]&&r.includes("if")&&!r.includes("endif")){r=r.replace("#","").replace(/ifdef|ifndef|elif|if/g,"").replace(/!|defined|\(|\)|\|\||&&/g,"").replace(/\s+/g," ").trim();const e=r.split(" ");for(const i of e)t.includes(i)||t.push(i)}}function pi(e,t){const i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=t.match(/attribute (highp |mediump |lowp )?([\w]+) ([\w]+)/g),n={},o=[...ai];return di(e,o),di(t,o),{fragmentSource:e=e.replace(i,((e,t,i,r,o)=>(n[o]=!0,"define"===t?`\n#ifndef HAS_UNIFORM_u_${o}\nvarying ${i} ${r} ${o};\n#else\nuniform ${i} ${r} u_${o};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${o}\n ${i} ${r} ${o} = u_${o};\n#endif\n`))),vertexSource:t=t.replace(i,((e,t,i,r,o)=>{const s="float"===r?"vec2":"vec4",a=o.match(/color/)?"color":s;return n[o]?"define"===t?`\n#ifndef HAS_UNIFORM_u_${o}\nuniform lowp float u_${o}_t;\nattribute ${i} ${s} a_${o};\nvarying ${i} ${r} ${o};\n#else\nuniform ${i} ${r} u_${o};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${o}\n ${o} = a_${o};\n#else\n ${i} ${r} ${o} = u_${o};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${o}\n ${o} = unpack_mix_${a}(a_${o}, u_${o}_t);\n#else\n ${i} ${r} ${o} = u_${o};\n#endif\n`:"define"===t?`\n#ifndef HAS_UNIFORM_u_${o}\nuniform lowp float u_${o}_t;\nattribute ${i} ${s} a_${o};\n#else\nuniform ${i} ${r} u_${o};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${o}\n ${i} ${r} ${o} = a_${o};\n#else\n ${i} ${r} ${o} = u_${o};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${o}\n ${i} ${r} ${o} = unpack_mix_${a}(a_${o}, u_${o}_t);\n#else\n ${i} ${r} ${o} = u_${o};\n#endif\n`})),staticAttributes:r,usedDefines:o}}class fi{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffers=[],this.vao=null}bind(e,t,i,r,n,o,s){this.context=e;let a=this.boundPaintVertexBuffers.length!==r.length;for(let c=0;!a&&c{const n=i.paint.get("hillshade-shadow-color"),o=i.paint.get("hillshade-highlight-color"),s=i.paint.get("hillshade-accent-color");let a=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(a-=e.transform.angle);const l=!e.options.moving;return{u_matrix:r||e.transform.calculateProjMatrix(t.tileID.toUnwrapped(),l),u_image:0,u_latrange:mi(0,t.tileID),u_light:[i.paint.get("hillshade-exaggeration"),a],u_shadow:n,u_highlight:o,u_accent:s}})(t,r,n,t.terrain?i.projMatrix:null);t.prepareDrawProgram(l,u,i.toUnwrapped());const{tileBoundsBuffer:p,tileBoundsIndexBuffer:f,tileBoundsSegments:m}=t.getTileBoundsBuffers(r);u.draw(l,c.TRIANGLES,o,s,a,e.CullFaceMode.disabled,d,n.id,p,f,m)}function gi(t,i,r){if(!i.needsDEMTextureUpload)return;const n=t.context,o=n.gl;n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(r.stride);const s=r.getPixels();i.demTexture?i.demTexture.update(s,{premultiply:!1}):i.demTexture=new e.Texture(n,s,o.RGBA,{premultiply:!1}),i.needsDEMTextureUpload=!1}function yi(t,i,r,n,o,s){const a=t.context,l=a.gl;if(!i.dem)return;const c=i.dem;if(a.activeTexture.set(l.TEXTURE1),gi(t,i,c),!i.demTexture)return;i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);const h=c.dim;a.activeTexture.set(l.TEXTURE0);let u=i.fbo;if(!u){const t=new e.Texture(a,{width:h,height:h,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),u=i.fbo=a.createFramebuffer(h,h,!0),u.colorAttachment.set(t.texture)}a.bindFramebuffer.set(u.framebuffer),a.viewport.set([0,0,h,h]);const{tileBoundsBuffer:d,tileBoundsIndexBuffer:p,tileBoundsSegments:f}=t.getMercatorTileBoundsBuffers();t.useProgram("hillshadePrepare").draw(a,l.TRIANGLES,n,o,s,e.CullFaceMode.disabled,((t,i)=>{const r=i.stride,n=e.create();return e.ortho(n,0,e.EXTENT,-e.EXTENT,0,0,1),e.translate(n,n,[0,-e.EXTENT,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:t.overscaledZ,u_unpack:i.unpackVector}})(i.tileID,c),r.id,d,p,f),i.needsHillshadePrepare=!1}const xi=t=>({u_matrix:new e.UniformMatrix4f(t),u_image0:new e.Uniform1i(t),u_skirt_height:new e.Uniform1f(t)}),vi=(e,t)=>({u_matrix:e,u_image0:0,u_skirt_height:t}),bi=(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f)=>({u_proj_matrix:Float32Array.from(e),u_globe_matrix:t,u_normalize_matrix:Float32Array.from(r),u_merc_matrix:i,u_zoom_transition:n,u_merc_center:o,u_image0:0,u_frustum_tl:s,u_frustum_tr:a,u_frustum_br:l,u_frustum_bl:c,u_globe_pos:h,u_globe_radius:u,u_viewport:d,u_grid_matrix:f?Float32Array.from(f):new Float32Array(9),u_skirt_height:p});function wi(e,t){return null!=e&&null!=t&&!(!e.hasData()||!t.hasData())&&null!=e.demTexture&&null!=t.demTexture&&e.tileID.key!==t.tileID.key}const Ti=new class{constructor(){this.operations={}}newMorphing(e,t,i,r,n){if(e in this.operations){const t=this.operations[e];t.to.tileID.key!==i.tileID.key&&(t.queued=i)}else this.operations[e]={startTime:r,phase:0,duration:n,from:t,to:i,queued:null}}getMorphValuesForProxy(e){if(!(e in this.operations))return null;const t=this.operations[e];return{from:t.from,to:t.to,phase:t.phase}}update(e){for(const t in this.operations){const i=this.operations[t];for(i.phase=(e-i.startTime)/i.duration;i.phase>=1||!this._validOp(i);)if(!this._nextOp(i,e)){delete this.operations[t];break}}}_nextOp(e,t){return!!e.queued&&(e.from=e.to,e.to=e.queued,e.queued=null,e.phase=0,e.startTime=t,!0)}_validOp(e){return e.from.hasData()&&e.to.hasData()}},Ei={0:null,1:"TERRAIN_VERTEX_MORPHING",2:"TERRAIN_WIREFRAME"};function Si(e){return 6*Math.pow(1.5,22-e)}function Mi(e,t){const i=1<({u_matrix:e});function Ii(t,i,r,n,o){if(o>0){const s=e.exported.now(),a=(s-t.timeAdded)/o,l=i?(s-i.timeAdded)/o:-1,c=r.getSource(),h=n.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),d=u&&t.refreshedUponExpiration?1:e.clamp(u?a:1-l,0,1);return t.refreshedUponExpiration&&a>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}class Ci extends e.SourceCache{constructor(e){const t={type:"raster-dem",maxzoom:e.transform.maxZoom},i=new k(je(),null),r=Pe("mock-dem",t,i,e.style);super("mock-dem",r,!1),r.setEventedParent(this),this._sourceLoaded=!0}_loadTile(e,t){e.state="loaded",t(null)}}class zi extends e.SourceCache{constructor(e){const t=Pe("proxy",{type:"geojson",maxzoom:e.transform.maxZoom},new k(je(),null),e.style);super("proxy",t,!1),t.setEventedParent(this),this.map=this.getSource().map=e,this.used=this._sourceLoaded=!0,this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}update(t,i,r){if(t.freezeTileCoverage)return;this.transform=t;const n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}).reduce(((i,r)=>{if(i[r.key]="",!this._tiles[r.key]){const i=new e.Tile(r,this._source.tileSize*r.overscaleFactor(),t.tileZoom);i.state="loaded",this._tiles[r.key]=i}return i}),{});for(const e in this._tiles)e in n||(this.freeFBO(e),this._tiles[e].unloadVectorData(),delete this._tiles[e])}freeFBO(e){const t=this.proxyCachedFBO[e];if(void 0!==t){const i=Object.values(t);this.renderCachePool.push(...i),delete this.proxyCachedFBO[e]}}deallocRenderCache(){this.renderCache.forEach((e=>e.fb.destroy())),this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}}class Di extends e.OverscaledTileID{constructor(e,t,i){super(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y),this.proxyTileKey=t,this.projMatrix=i}}class ki extends e.Elevation{constructor(t,i){super(),this.painter=t,this.terrainTileForTile={},this.prevTerrainTileForTile={};const[r,n,o]=function(t){const i=new e.StructArrayLayout2i4,r=new e.StructArrayLayout3ui6,n=131;i.reserve(17161),r.reserve(33800);const o=e.EXTENT/128,s=e.EXTENT+o/2,a=s+o;for(let c=-o;cs||c<0||c>s?24575:0,n=e.clamp(Math.round(t),0,e.EXTENT),o=e.clamp(Math.round(c),0,e.EXTENT);i.emplaceBack(n+r,o)}const l=(e,t)=>{const i=t*n+e;r.emplaceBack(i+1,i,i+n),r.emplaceBack(i+n,i+n+1,i+1)};for(let e=1;e<129;e++)for(let t=1;t<129;t++)l(t,e);return[0,129].forEach((e=>{for(let t=0;t<130;t++)l(t,e),l(e,t)})),[i,r,32768]}(),s=t.context;this.gridBuffer=s.createVertexBuffer(r,e.posAttributes.members),this.gridIndexBuffer=s.createIndexBuffer(n),this.gridSegments=e.SegmentVector.simpleSegment(0,0,r.length,n.length),this.gridNoSkirtSegments=e.SegmentVector.simpleSegment(0,0,r.length,o),this.proxyCoords=[],this.proxiedCoords={},this._visibleDemTiles=[],this._drapedRenderBatches=[],this._sourceTilesOverlap={},this.proxySourceCache=new zi(i.map),this.orthoMatrix=e.create(),e.ortho(this.orthoMatrix,"globe"===this.painter.transform.projection.name?.015:0,e.EXTENT,0,e.EXTENT,0,1);const a=s.gl;this._overlapStencilMode=new e.StencilMode({func:a.GEQUAL,mask:255},0,255,a.KEEP,a.KEEP,a.REPLACE),this._previousZoom=t.transform.zoom,this.pool=[],this._findCoveringTileCache={},this._tilesDirty={},this.style=i,this._useVertexMorphing=!0,this._exaggeration=1,this._mockSourceCache=new Ci(i.map)}set style(e){e.on("data",this._onStyleDataEvent.bind(this)),e.on("neworder",this._checkRenderCacheEfficiency.bind(this)),this._style=e,this._checkRenderCacheEfficiency(),this._style.map.on("moveend",(()=>{this._clearLineLayersFromRenderCache()}))}update(t,i,r){if(t&&t.terrain){this._style!==t&&(this.style=t),this.enabled=!0;const n=t.terrain.properties;this.sourceCache=0===t.terrain.drapeRenderMode?this._mockSourceCache:t._getSourceCache(n.get("source")),this._exaggeration=n.get("exaggeration");const o=()=>{this.sourceCache.used&&e.warnOnce(`Raster DEM source '${this.sourceCache.id}' is used both for terrain and as layer source.\nThis leads to lower resolution of hillshade. For full hillshade resolution but higher memory consumption, define another raster DEM source.`);const t=this.getScaledDemTileSize();this.sourceCache.update(i,t,!0),this.resetTileLookupCache(this.sourceCache.id)};this.sourceCache.usedForTerrain||(this.resetTileLookupCache(this.sourceCache.id),this.sourceCache.usedForTerrain=!0,o(),this._initializing=!0),o(),i.updateElevation(!0,r),this.resetTileLookupCache(this.proxySourceCache.id),this.proxySourceCache.update(i),this._emptyDEMTextureDirty=!0}else this._disable()}resetTileLookupCache(e){this._findCoveringTileCache[e]={}}getScaledDemTileSize(){return this.sourceCache.getSource().tileSize/128*this.proxySourceCache.getSource().tileSize}_checkRenderCacheEfficiency(){const t=this.renderCacheEfficiency(this._style);this._style.map._optimizeForTerrain||100!==t.efficiency&&e.warnOnce(`Terrain render cache efficiency is not optimal (${t.efficiency}%) and performance\n may be affected negatively, consider placing all background, fill and line layers before layer\n with id '${t.firstUndrapedLayer}' or create a map using optimizeForTerrain: true option.`)}_onStyleDataEvent(e){e.coord&&"source"===e.dataType?this._clearRenderCacheForTile(e.sourceCacheId,e.coord):"style"===e.dataType&&(this._invalidateRenderCache=!0)}_disable(){if(this.enabled&&(this.enabled=!1,this._sharedDepthStencil=void 0,this.proxySourceCache.deallocRenderCache(),this._style))for(const e in this._style._sourceCaches)this._style._sourceCaches[e].usedForTerrain=!1}destroy(){this._disable(),this._emptyDEMTexture&&this._emptyDEMTexture.destroy(),this._emptyDepthBufferTexture&&this._emptyDepthBufferTexture.destroy(),this.pool.forEach((e=>e.fb.destroy())),this.pool=[],this._depthFBO&&(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0)}_source(){return this.enabled?this.sourceCache:null}isUsingMockSource(){return this.sourceCache===this._mockSourceCache}exaggeration(){return this._exaggeration}get visibleDemTiles(){return this._visibleDemTiles}get drapeBufferSize(){const e=2*this.proxySourceCache.getSource().tileSize;return[e,e]}set useVertexMorphing(e){this._useVertexMorphing=e}updateTileBinding(t){if(!this.enabled)return;this.prevTerrainTileForTile=this.terrainTileForTile;const i=this.proxySourceCache,r=this.painter.transform;this._initializing&&(this._initializing=0===r._centerAltitude&&-1===this.getAtPointOrZero(e.MercatorCoordinate.fromLngLat(r.center),-1),this._emptyDEMTextureDirty=!this._initializing);const n=this.proxyCoords=i.getIds().map((e=>{const t=i.getTileByID(e).tileID;return t.projMatrix=r.calculateProjMatrix(t.toUnwrapped()),t}));!function(t,i){const r=i.transform.pointCoordinate(i.transform.getCameraPoint()),n=new e.pointGeometry(r.x,r.y);t.sort(((t,i)=>{if(i.overscaledZ-t.overscaledZ)return i.overscaledZ-t.overscaledZ;const r=new e.pointGeometry(t.canonical.x+(1<{this.proxyToSource[e.key]={}})),this.terrainTileForTile={};const s=this._style._sourceCaches;for(const e in s){const i=s[e];if(!i.used)continue;if(i!==this.sourceCache&&this.resetTileLookupCache(i.id),this._setupProxiedCoordsForOrtho(i,t[e],o),i.usedForTerrain)continue;const r=t[e];i.getSource().reparseOverscaled&&this._assignTerrainTiles(r)}this.proxiedCoords[i.id]=n.map((e=>new Di(e,e.key,this.orthoMatrix))),this._assignTerrainTiles(n),this._prepareDEMTextures(),this._setupDrapedRenderBatches(),this._initFBOPool(),this._setupRenderCache(o),this.renderingToTexture=!1,this._updateTimestamp=e.exported.now();const a={};this._visibleDemTiles=[];for(const e of this.proxyCoords){const t=this.terrainTileForTile[e.key];if(!t)continue;const i=t.tileID.key;i in a||(this._visibleDemTiles.push(t),a[i]=i)}}_assignTerrainTiles(e){this._initializing||e.forEach((e=>{if(this.terrainTileForTile[e.key])return;const t=this._findTileCoveringTileID(e,this.sourceCache);t&&(this.terrainTileForTile[e.key]=t)}))}_prepareDEMTextures(){const e=this.painter.context,t=e.gl;for(const i in this.terrainTileForTile){const r=this.terrainTileForTile[i],n=r.dem;!n||r.demTexture&&!r.needsDEMTextureUpload||(e.activeTexture.set(t.TEXTURE1),gi(this.painter,r,n))}}_prepareDemTileUniforms(e,t,i,r){if(!t||null==t.demTexture)return!1;const n=e.tileID.canonical,o=Math.pow(2,t.tileID.canonical.z-n.z),s=r||"";return i[`u_dem_tl${s}`]=[n.x*o%1,n.y*o%1],i[`u_dem_scale${s}`]=o,!0}get emptyDEMTexture(){return!this._emptyDEMTextureDirty&&this._emptyDEMTexture?this._emptyDEMTexture:this._updateEmptyDEMTexture()}get emptyDepthBufferTexture(){const t=this.painter.context,i=t.gl;if(!this._emptyDepthBufferTexture){const r=new e.RGBAImage({width:1,height:1},Uint8Array.of(255,255,255,255));this._emptyDepthBufferTexture=new e.Texture(t,r,i.RGBA,{premultiply:!1})}return this._emptyDepthBufferTexture}_getLoadedAreaMinimum(){let e=0;const t=this._visibleDemTiles.reduce(((t,i)=>{if(!i.dem)return t;const r=i.dem.tree.minimums[0];return r>0&&e++,t+r}),0);return e?t/e:0}_updateEmptyDEMTexture(){const t=this.painter.context,i=t.gl;t.activeTexture.set(i.TEXTURE2);const r=this._getLoadedAreaMinimum(),n=new e.RGBAImage({width:1,height:1},new Uint8Array(e.DEMData.pack(r,this.sourceCache.getSource().encoding)));this._emptyDEMTextureDirty=!1;let o=this._emptyDEMTexture;return o?o.update(n,{premultiply:!1}):o=this._emptyDEMTexture=new e.Texture(t,n,i.RGBA,{premultiply:!1}),o}setupElevationDraw(t,i,r){const n=this.painter.context,o=n.gl,s=(a=this.sourceCache.getSource().encoding,{u_dem:2,u_dem_prev:4,u_dem_unpack:e.DEMData.getUnpackVector(a),u_dem_tl:[0,0],u_dem_tl_prev:[0,0],u_dem_scale:0,u_dem_scale_prev:0,u_dem_size:0,u_dem_lerp:1,u_depth:3,u_depth_size_inv:[0,0],u_exaggeration:0});var a;s.u_dem_size=this.sourceCache.getSource().tileSize,s.u_exaggeration=this.exaggeration();let l=null,c=null,h=1;if(r&&r.morphing&&this._useVertexMorphing){const e=r.morphing.srcDemTile,i=r.morphing.dstDemTile;h=r.morphing.phase,e&&i&&(this._prepareDemTileUniforms(t,e,s,"_prev")&&(c=e),this._prepareDemTileUniforms(t,i,s)&&(l=i))}if(c&&l?(n.activeTexture.set(o.TEXTURE2),l.demTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE,o.NEAREST),n.activeTexture.set(o.TEXTURE4),c.demTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE,o.NEAREST),s.u_dem_lerp=h):(l=this.terrainTileForTile[t.tileID.key],n.activeTexture.set(o.TEXTURE2),(this._prepareDemTileUniforms(t,l,s)?l.demTexture:this.emptyDEMTexture).bind(o.NEAREST,o.CLAMP_TO_EDGE)),n.activeTexture.set(o.TEXTURE3),r&&r.useDepthForOcclusion?(this._depthTexture&&this._depthTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),this._depthFBO&&(s.u_depth_size_inv=[1/this._depthFBO.width,1/this._depthFBO.height])):(this.emptyDepthBufferTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),s.u_depth_size_inv=[1,1]),r&&r.useMeterToDem&&l){const t=(1<{if(c===e)return;const r=[Ei[e],"PROJECTION_GLOBE_VIEW"];d&&r.push("CUSTOM_ANTIALIASING"),i&&r.push(Ei[h]),l=t.useProgram("globeRaster",null,r),c=e},f=t.colorModeForRenderPass(),m=new e.DepthMode(a.LEQUAL,e.DepthMode.ReadWrite,t.depthRangeFor3D);Ti.update(o);const _=e.calculateGlobeMercatorMatrix(u),g=[e.mercatorXfromLng(u.center.lng),e.mercatorYfromLat(u.center.lat)],y=h?[!1,!0]:[!1],x=t.globeSharedBuffers,v=[u.width*e.exported.devicePixelRatio,u.height*e.exported.devicePixelRatio],b=Float32Array.from(u.globeMatrix),w={useDenormalizedUpVectorScale:!0};if(y.forEach((h=>{const u=t.transform,d=Si(u.zoom)*i.exaggeration();c=-1;const y=h?a.LINES:a.TRIANGLES;for(const c of n){const n=r.getTile(c),T=e.StencilMode.disabled,E=i.prevTerrainTileForTile[c.key],S=i.terrainTileForTile[c.key];wi(E,S)&&Ti.newMorphing(c.key,E,S,o,250),s.activeTexture.set(a.TEXTURE0),n.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const M=Ti.getMorphValuesForProxy(c.key),A=M?1:0;M&&e.extend$1(w,{morphing:{srcDemTile:M.from,dstDemTile:M.to,phase:e.easeCubicInOut(M.phase)}});const I=e.tileCornersToBounds(c.canonical),C=e.getLatitudinalLod(I.getCenter().lat),z=e.getGridMatrix(c.canonical,I,C,u.worldSize/u._pixelsPerMercatorPixel),D=e.globeNormalizeECEF(e.globeTileBounds(c.canonical)),k=bi(u.projMatrix,b,_,D,e.globeToMercatorTransition(u.zoom),g,u.frustumCorners.TL,u.frustumCorners.TR,u.frustumCorners.BR,u.frustumCorners.BL,u.globeCenterInViewSpace,u.globeRadius,v,d,z);if(p(A,h),i.setupElevationDraw(n,l,w),t.prepareDrawProgram(s,l,c.toUnwrapped()),x){const[i,r,n]=h?x.getWirefameBuffers(t.context,C):x.getGridBuffers(C,0!==d);l.draw(s,y,m,T,f,e.CullFaceMode.backCCW,k,"globe_raster",i,r,n)}}})),x){const o=["GLOBE_POLES","PROJECTION_GLOBE_VIEW"];d&&o.push("CUSTOM_ANTIALIASING"),l=t.useProgram("globeRaster",null,o);for(const c of n){const{x:n,y:o,z:h}=c.canonical,d=0===o,p=o===(1<t.draw(s,a.TRIANGLES,m,e.StencilMode.disabled,f,e.CullFaceMode.disabled,bi(u.projMatrix,x,x,E,0,g,u.frustumCorners.TL,u.frustumCorners.TR,u.frustumCorners.BR,u.frustumCorners.BL,u.globeCenterInViewSpace,u.globeRadius,v,0),"globe_pole_raster",i,b,T);i.setupElevationDraw(o,l,w),t.prepareDrawProgram(s,l,c.toUnwrapped()),d&&S(l,_),p&&(x=e.scale(e.create(),x,[1,-1,1]),S(l,y))}}}}(t,i,r,n,o);else{const s=t.context,a=s.gl;let l,c;const h=t.options.showTerrainWireframe?2:0,u=(e,i)=>{if(c===e)return;const r=[Ei[e]];i&&r.push(Ei[h]),l=t.useProgram("terrainRaster",null,r),c=e},d=t.colorModeForRenderPass(),p=new e.DepthMode(a.LEQUAL,e.DepthMode.ReadWrite,t.depthRangeFor3D);Ti.update(o);const f=t.transform,m=Si(f.zoom)*i.exaggeration();(h?[!1,!0]:[!1]).forEach((h=>{c=-1;const _=h?a.LINES:a.TRIANGLES,[g,y]=h?i.getWirefameBuffer():[i.gridIndexBuffer,i.gridSegments];for(const c of n){const n=r.getTile(c),x=e.StencilMode.disabled,v=i.prevTerrainTileForTile[c.key],b=i.terrainTileForTile[c.key];wi(v,b)&&Ti.newMorphing(c.key,v,b,o,250),s.activeTexture.set(a.TEXTURE0),n.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);const w=Ti.getMorphValuesForProxy(c.key),T=w?1:0;let E;w&&(E={morphing:{srcDemTile:w.from,dstDemTile:w.to,phase:e.easeCubicInOut(w.phase)}});const S=vi(c.projMatrix,Mi(c.canonical,f.renderWorldCopies)?m/10:m);u(T,h),i.setupElevationDraw(n,l,E),t.prepareDrawProgram(s,l,c.toUnwrapped()),l.draw(s,_,p,x,d,e.CullFaceMode.backCCW,S,"terrain_raster",i.gridBuffer,g,y)}}))}}(i,this,this.proxySourceCache,t,this._updateTimestamp),this.renderingToTexture=!0,i.gpuTimingDeferredRenderEnd(),t.splice(0,t.length))}renderBatch(t){if(0===this._drapedRenderBatches.length)return t+1;this.renderingToTexture=!0;const i=this.painter,r=this.painter.context,n=this.proxySourceCache,o=this.proxiedCoords[n.id],s=this._drapedRenderBatches.shift(),a=[],l=i.style.order;let c=0;for(const h of o){const o=n.getTileByID(h.proxyTileKey),u=n.proxyCachedFBO[h.key]?n.proxyCachedFBO[h.key][t]:void 0,d=void 0!==u?n.renderCache[u]:this.pool[c++],p=void 0!==u;if(o.texture=d.tex,p&&!d.dirty){a.push(o.tileID);continue}let f;r.bindFramebuffer.set(d.fb.framebuffer),this.renderedToTile=!1,d.dirty&&(r.clear({color:e.Color.transparent,stencil:0}),d.dirty=!1);for(let e=s.start;e<=s.end;++e){const t=i.style._layers[l[e]];if(t.isHidden(i.transform.zoom))continue;const n=i.style._getLayerSourceCache(t),o=n?this.proxyToSource[h.key][n.id]:[h];if(!o)continue;const s=o;r.viewport.set([0,0,d.fb.width,d.fb.height]),f!==(n?n.id:null)&&(this._setupStencil(d,o,t,n),f=n?n.id:null),i.renderLayer(i,n,t,s)}this.renderedToTile?(d.dirty=!0,a.push(o.tileID)):p||--c,5===c&&(c=0,this.renderToBackBuffer(a))}return this.renderToBackBuffer(a),this.renderingToTexture=!1,r.bindFramebuffer.set(null),r.viewport.set([0,0,i.width,i.height]),s.end+1}postRender(){}renderCacheEfficiency(e){const t=e.order.length;if(0===t)return{efficiency:100};let i,r=0,n=0,o=!1;for(let s=0;se.dem)).forEach((t=>{e=Math.min(e,t.dem.tree.minimums[0])})),0===e?e:(e-30)*this._exaggeration}raycast(e,t,i){if(!this._visibleDemTiles)return null;const r=this._visibleDemTiles.filter((e=>e.dem)).map((r=>{const n=r.tileID,o=1<(null!==e.t?e.t:Number.MAX_VALUE)-(null!==t.t?t.t:Number.MAX_VALUE)));for(const n of r){if(null==n.t)return null;const r=n.tile.dem.tree.raycast(n.minx,n.miny,n.maxx,n.maxy,e,t,i);if(null!=r)return r}return null}_createFBO(){const t=this.painter.context,i=t.gl,r=this.drapeBufferSize;t.activeTexture.set(i.TEXTURE0);const n=new e.Texture(t,{width:r[0],height:r[1],data:null},i.RGBA);n.bind(i.LINEAR,i.CLAMP_TO_EDGE);const o=t.createFramebuffer(r[0],r[1],!1);return o.colorAttachment.set(n.texture),o.depthAttachment=new Ee(t,o.framebuffer),void 0===this._sharedDepthStencil?(this._sharedDepthStencil=t.createRenderbuffer(t.gl.DEPTH_STENCIL,r[0],r[1]),this._stencilRef=0,o.depthAttachment.set(this._sharedDepthStencil),t.clear({stencil:0})):o.depthAttachment.set(this._sharedDepthStencil),t.extTextureFilterAnisotropic&&!t.extTextureFilterAnisotropicForceOff&&i.texParameterf(i.TEXTURE_2D,t.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.extTextureFilterAnisotropicMax),{fb:o,tex:n,dirty:!1}}_initFBOPool(){for(;this.pool.length{const t=this._style._layers[e],i=t.isHidden(this.painter.transform.zoom);return"custom"===t.type?!i&&t.shouldRedrape():!i&&t.hasTransition()}))}_clearLineLayersFromRenderCache(){let t=!1;for(const e of this._style._getSources())if(e instanceof Ae){t=!0;break}if(!t)return;const i={};for(let r=0;rt.renderCachePool.length){const e=Object.values(t.proxyCachedFBO);t.proxyCachedFBO={};for(let i=0;i=0;o--){const n=i[o];if(t.getTileByID(n.key),void 0!==t.proxyCachedFBO[n.key]){const i=e[n.key],o=this.proxyToSource[n.key];let s=0;for(const e in o){const t=o[e],n=i[e];if(!n||n.length!==t.length||t.some(((t,i)=>t!==n[i]||r[e]&&r[e].hasOwnProperty(t.key)))){s=-1;break}++s}for(const e in t.proxyCachedFBO[n.key])t.renderCache[t.proxyCachedFBO[n.key][e]].dirty=s<0||s!==Object.values(i).length}}const n=[...this._drapedRenderBatches];n.sort(((e,t)=>t.end-t.start-(e.end-e.start)));for(const o of n)for(const e of i){if(t.proxyCachedFBO[e.key])continue;let i=t.renderCachePool.pop();void 0===i&&t.renderCache.length<50&&(i=t.renderCache.length,t.renderCache.push(this._createFBO())),void 0!==i&&(t.proxyCachedFBO[e.key]={},t.proxyCachedFBO[e.key][o.start]=i,t.renderCache[i].dirty=!0)}this._tilesDirty={}}_setupStencil(e,t,i,r){if(!r||!this._sourceTilesOverlap[r.id])return void(this._overlapStencilType&&(this._overlapStencilType=!1));const n=this.painter.context,o=n.gl;if(t.length<=1)return void(this._overlapStencilType=!1);let s;if(i.isTileClipped())s=t.length,this._overlapStencilMode.test={func:o.EQUAL,mask:255},this._overlapStencilType="Clip";else{if(!(t[0].overscaledZ>t[t.length-1].overscaledZ))return void(this._overlapStencilType=!1);s=1,this._overlapStencilMode.test={func:o.GREATER,mask:255},this._overlapStencilType="Mask"}this._stencilRef+s>255&&(n.clear({stencil:0}),this._stencilRef=0),this._stencilRef+=s,this._overlapStencilMode.ref=this._stencilRef,i.isTileClipped()&&this._renderTileClippingMasks(t,this._overlapStencilMode.ref)}clipOrMaskOverlapStencilType(){return"Clip"===this._overlapStencilType||"Mask"===this._overlapStencilType}stencilModeForRTTOverlap(t){return this.renderingToTexture&&this._overlapStencilType?("Clip"===this._overlapStencilType&&(this._overlapStencilMode.ref=this.painter._tileClippingMaskIDs[t.key]),this._overlapStencilMode):e.StencilMode.disabled}_renderTileClippingMasks(t,i){const r=this.painter,n=this.painter.context,o=n.gl;r._tileClippingMaskIDs={},n.setColorMode(e.ColorMode.disabled),n.setDepthMode(e.DepthMode.disabled);const s=r.useProgram("clippingMask");for(const a of t){const t=r._tileClippingMaskIDs[a.key]=--i;s.draw(n,o.TRIANGLES,e.DepthMode.disabled,new e.StencilMode({func:o.ALWAYS,mask:0},t,255,o.KEEP,o.KEEP,o.REPLACE),e.ColorMode.disabled,e.CullFaceMode.disabled,Ai(a.projMatrix),"$clipping",r.tileExtentBuffer,r.quadTriangleIndexBuffer,r.tileExtentSegments)}}pointCoordinate(t){const i=this.painter.transform;if(t.x<0||t.x>i.width||t.y<0||t.y>i.height)return null;const r=[t.x,t.y,1,1];e.transformMat4$1(r,r,i.pixelMatrixInverse),e.scale$1(r,r,1/r[3]),r[0]/=i.worldSize,r[1]/=i.worldSize;const n=i._camera.position,o=e.mercatorZfromAltitude(1,i.center.lat),s=[n[0],n[1],n[2]/o,0],a=e.subtract([],r.slice(0,3),s);e.normalize(a,a);const l=this.raycast(s,a,this._exaggeration);return null!==l&&l?(e.scaleAndAdd(s,s,a,l),s[3]=s[2],s[2]*=o,s):null}drawDepth(){const t=this.painter,i=t.context,r=this.proxySourceCache,n=Math.ceil(t.width),o=Math.ceil(t.height);if(!this._depthFBO||this._depthFBO.width===n&&this._depthFBO.height===o||(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),!this._depthFBO){const t=i.gl,r=i.createFramebuffer(n,o,!0);i.activeTexture.set(t.TEXTURE0);const s=new e.Texture(i,{width:n,height:o,data:null},t.RGBA);s.bind(t.NEAREST,t.CLAMP_TO_EDGE),r.colorAttachment.set(s.texture);const a=i.createRenderbuffer(i.gl.DEPTH_COMPONENT16,n,o);r.depthAttachment.set(a),this._depthFBO=r,this._depthTexture=s}i.bindFramebuffer.set(this._depthFBO.framebuffer),i.viewport.set([0,0,n,o]),function(t,i,r,n){if("globe"===t.transform.projection.name)return;const o=t.context,s=o.gl;o.clear({depth:1});const a=t.useProgram("terrainDepth"),l=new e.DepthMode(s.LESS,e.DepthMode.ReadWrite,t.depthRangeFor3D);for(const c of n){const t=r.getTile(c),n=vi(c.projMatrix,0);i.setupElevationDraw(t,a),a.draw(o,s.TRIANGLES,l,e.StencilMode.disabled,e.ColorMode.unblended,e.CullFaceMode.backCCW,n,"terrain_depth",i.gridBuffer,i.gridIndexBuffer,i.gridNoSkirtSegments)}}(t,this,r,this.proxyCoords)}_setupProxiedCoordsForOrtho(e,t,i){if(e.getSource()instanceof De)return this._setupProxiedCoordsForImageSource(e,t,i);this._findCoveringTileCache[e.id]=this._findCoveringTileCache[e.id]||{};const r=this.proxiedCoords[e.id]=[],n=this.proxyCoords;for(let s=0;s(e.min.x=Math.min(e.min.x,t.x-a.x),e.min.y=Math.min(e.min.y,t.y-a.y),e.max.x=Math.max(e.max.x,t.x-a.x),e.max.y=Math.max(e.max.y,t.y-a.y),e)),{min:new e.pointGeometry(Number.MAX_VALUE,Number.MAX_VALUE),max:new e.pointGeometry(-Number.MAX_VALUE,-Number.MAX_VALUE)}),c=(t,i)=>{const r=t.wrap+t.canonical.x/(1<s+l.max.x||n+oa+l.max.y};for(let e=0;ee.key===i.tileID.key));if(e)return e}if(i.tileID.key!==t.key){const r=t.canonical.z-i.tileID.canonical.z;let o,s,a;n=e.create();const l=i.tileID.wrap-t.wrap<0?(o=e.EXTENT>>r,s=o*((i.tileID.canonical.x<=n){const r=t.canonical.z-n;i.getSource().reparseOverscaled?(a=Math.max(t.canonical.z+2,i.transform.tileZoom),s=new e.OverscaledTileID(a,t.wrap,n,t.canonical.x>>r,t.canonical.y>>r)):0!==r&&(a=n,s=new e.OverscaledTileID(a,t.wrap,n,t.canonical.x>>r,t.canonical.y>>r))}s.key!==t.key&&(c.push(s.key),r=i.getTile(s))}const h=e=>{c.forEach((t=>{n[t]=e})),c.length=0};for(a-=1;a>=l&&(!r||!r.hasData());a--){r&&h(r.tileID.key);const e=s.calculateScaledKey(a);if(r=i.getTileByID(e),r&&r.hasData())break;const t=n[e];if(null===t)break;void 0===t?c.push(e):r=i.getTileByID(t)}return h(r?r.tileID.key:null),r&&r.hasData()?r:null}findDEMTileFor(e){return this.enabled?this._findTileCoveringTileID(e,this.sourceCache):null}prepareDrawTile(){this.renderedToTile=!0}_clearRenderCacheForTile(e,t){let i=this._tilesDirty[e];i||(i=this._tilesDirty[e]={}),i[t.key]=!0}getWirefameBuffer(){if(!this.wireframeSegments){const t=function(t){let i=0;const r=new e.StructArrayLayout2ui4,n=131;for(let e=1;e<129;e++){for(let t=1;t<129;t++)i=e*n+t,r.emplaceBack(i,i+1),r.emplaceBack(i,i+n),r.emplaceBack(i+1,i+n),128===e&&r.emplaceBack(i+n,i+n+1);r.emplaceBack(i+1,i+1+n)}return r}();this.wireframeIndexBuffer=this.painter.context.createIndexBuffer(t),this.wireframeSegments=e.SegmentVector.simpleSegment(0,0,this.gridBuffer.length,t.length)}return[this.wireframeIndexBuffer,this.wireframeSegments]}}class Pi{static cacheKey(e,t,i,r){let n=`${t}${r?r.cacheKey:""}`;for(const o of i)e.usedDefines.includes(o)&&(n+=`/${o}`);return n}constructor(t,i,r,n,o,s){const a=t.gl;this.program=a.createProgram();const l=function(e){const t=[];for(let i=0;i`#define ${e}`)));const d=t.isWebGL2?"#version 300 es\n":"",p=d+u.concat(t.extStandardDerivatives&&0===d.length?"#extension GL_OES_standard_derivatives : enable\n".concat(hi):hi,hi,ci,li.fragmentSource,si.fragmentSource,r.fragmentSource).join("\n"),f=d+u.concat("\n#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif",ci,li.vertexSource,si.vertexSource,oi.vertexSource,r.vertexSource).join("\n"),m=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())return void(this.failedToCreate=!0);a.shaderSource(m,p),a.compileShader(m),a.attachShader(this.program,m);const _=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(_,f),a.compileShader(_),a.attachShader(this.program,_),this.attributes={},this.numAttributes=h.length;for(let e=0;e({u_dem:new e.Uniform1i(t),u_dem_prev:new e.Uniform1i(t),u_dem_unpack:new e.Uniform4f(t),u_dem_tl:new e.Uniform2f(t),u_dem_scale:new e.Uniform1f(t),u_dem_tl_prev:new e.Uniform2f(t),u_dem_scale_prev:new e.Uniform1f(t),u_dem_size:new e.Uniform1f(t),u_dem_lerp:new e.Uniform1f(t),u_exaggeration:new e.Uniform1f(t),u_depth:new e.Uniform1i(t),u_depth_size_inv:new e.Uniform2f(t),u_meter_to_dem:new e.Uniform1f(t),u_label_plane_matrix_inv:new e.UniformMatrix4f(t)}))(t)),s.includes("GLOBE")&&(this.globeUniforms=(t=>({u_tile_tl_up:new e.Uniform3f(t),u_tile_tr_up:new e.Uniform3f(t),u_tile_br_up:new e.Uniform3f(t),u_tile_bl_up:new e.Uniform3f(t),u_tile_up_scale:new e.Uniform1f(t)}))(t)),s.includes("FOG")&&(this.fogUniforms=(t=>({u_fog_matrix:new e.UniformMatrix4f(t),u_fog_range:new e.Uniform2f(t),u_fog_color:new e.Uniform4f(t),u_fog_horizon_blend:new e.Uniform1f(t),u_fog_temporal_offset:new e.Uniform1f(t),u_frustum_tl:new e.Uniform3f(t),u_frustum_tr:new e.Uniform3f(t),u_frustum_br:new e.Uniform3f(t),u_frustum_bl:new e.Uniform3f(t),u_globe_pos:new e.Uniform3f(t),u_globe_radius:new e.Uniform1f(t),u_globe_transition:new e.Uniform1f(t),u_is_globe:new e.Uniform1i(t),u_viewport:new e.Uniform2f(t)}))(t))}}setTerrainUniformValues(e,t){if(!this.terrainUniforms)return;const i=this.terrainUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e])}}setGlobeUniformValues(e,t){if(!this.globeUniforms)return;const i=this.globeUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e])}}setFogUniformValues(e,t){if(!this.fogUniforms)return;const i=this.fogUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e].set(this.program,e,t[e])}}draw(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f){const m=e.gl;if(this.failedToCreate)return;e.program.set(this.program),e.setDepthMode(i),e.setStencilMode(r),e.setColorMode(n),e.setCullFace(o);for(const g of Object.keys(this.fixedUniforms))this.fixedUniforms[g].set(this.program,g,s[g]);p&&p.setUniforms(this.program,e,this.binderUniforms,u,{zoom:d});const _={[m.LINES]:2,[m.TRIANGLES]:3,[m.LINE_STRIP]:1}[t];for(const g of h.get()){const i=g.vaos||(g.vaos={});(i[a]||(i[a]=new fi)).bind(e,this,l,p?p.getPaintVertexBuffers():[],c,g.vertexOffset,f||[]),m.drawElements(t,g.primitiveLength*_,m.UNSIGNED_SHORT,g.primitiveOffset*_*2)}}}function Li(e,t){const i=Math.pow(2,t.tileID.overscaledZ),r=t.tileSize*Math.pow(2,e.transform.tileZoom)/i,n=r*(t.tileID.canonical.x+t.tileID.wrap*i),o=r*t.tileID.canonical.y;return{u_image:0,u_texsize:t.imageAtlasTexture.size,u_tile_units_to_pixels:1/P(t,1,e.transform.tileZoom),u_pixel_coord_upper:[n>>16,o>>16],u_pixel_coord_lower:[65535&n,65535&o]}}const Ri=e.create(),Bi=(t,i,r,n,o,s,a,l,c,h,u)=>{const d=i.style.light,p=d.properties.get("position"),f=[p.x,p.y,p.z],m=e.create$1();"viewport"===d.properties.get("anchor")&&(e.fromRotation(m,-i.transform.angle),e.transformMat3(f,f,m));const _=d.properties.get("color"),g=i.transform,y={u_matrix:t,u_lightpos:f,u_lightintensity:d.properties.get("intensity"),u_lightcolor:[_.r,_.g,_.b],u_vertical_gradient:+r,u_opacity:n,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:Ri,u_merc_center:[0,0],u_up_dir:[0,0,0],u_height_lift:0,u_ao:o,u_edge_radius:s};return"globe"===g.projection.name&&(y.u_tile_id=[a.canonical.x,a.canonical.y,1<{const p=Bi(t,i,r,n,o,s,a,c,h,u,d),f={u_height_factor:-Math.pow(2,a.overscaledZ)/l.tileSize/8};return e.extend(p,Li(i,l),f)},Fi=e=>({u_matrix:e}),Ui=(t,i,r)=>e.extend(Fi(t),Li(i,r)),Vi=(e,t)=>({u_matrix:e,u_world:t}),Ni=(t,i,r,n)=>e.extend(Ui(t,i,r),{u_world:n}),ji=e.create(),Gi=(t,i,r,n,o,s)=>{const a=t.transform,l="globe"===a.projection.name;let c;if("map"===s.paint.get("circle-pitch-alignment"))if(l){const t=e.globePixelsToTileUnits(a.zoom,i.canonical)*a._pixelsPerMercatorPixel;c=Float32Array.from([t,0,0,t])}else c=a.calculatePixelsToTileUnitsMatrix(r);else c=new Float32Array([a.pixelsToGLUnits[0],0,0,a.pixelsToGLUnits[1]]);const h={u_camera_to_center_distance:a.cameraToCenterDistance,u_matrix:t.translatePosMatrix(i.projMatrix,r,s.paint.get("circle-translate"),s.paint.get("circle-translate-anchor")),u_device_pixel_ratio:e.exported.devicePixelRatio,u_extrude_scale:c,u_inv_rot_matrix:ji,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(l){h.u_inv_rot_matrix=n,h.u_merc_center=o,h.u_tile_id=[i.canonical.x,i.canonical.y,1<{const t=[];return"map"===e.paint.get("circle-pitch-alignment")&&t.push("PITCH_WITH_MAP"),"map"===e.paint.get("circle-pitch-scale")&&t.push("SCALE_WITH_MAP"),t},$i=(t,i,r,n)=>{const o=e.EXTENT/r.tileSize;return{u_matrix:t,u_camera_to_center_distance:i.getCameraToCenterDistance(n),u_extrude_scale:[i.pixelsToGLUnits[0]/o,i.pixelsToGLUnits[1]/o]}},qi=function(e,t){return{u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:arguments.length>2&&void 0!==arguments[2]?arguments[2]:1}},Wi=e.create(),Xi=(t,i,r,n,o,s,a)=>{const l=t.transform,c="globe"===l.projection.name,h=c?e.globePixelsToTileUnits(l.zoom,i.canonical)*l._pixelsPerMercatorPixel:P(r,1,s),u={u_matrix:i.projMatrix,u_extrude_scale:h,u_intensity:a,u_inv_rot_matrix:Wi,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(c){u.u_inv_rot_matrix=n,u.u_merc_center=o,u.u_tile_id=[i.canonical.x,i.canonical.y,1<{const a=e.transform,l=a.calculatePixelsToTileUnitsMatrix(t);return{u_matrix:Ji(e,t,i,r),u_pixels_to_tile_units:l,u_device_pixel_ratio:o,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]],u_dash_image:0,u_gradient_image:1,u_image_height:n,u_texsize:Qi(i)?t.lineAtlasTexture.size:[0,0],u_tile_units_to_pixels:Ki(t,e.transform),u_alpha_discard_threshold:0,u_trim_offset:s}},Yi=(e,t,i,r,n)=>{const o=e.transform;return{u_matrix:Ji(e,t,i,r),u_texsize:t.imageAtlasTexture.size,u_pixels_to_tile_units:o.calculatePixelsToTileUnitsMatrix(t),u_device_pixel_ratio:n,u_image:0,u_tile_units_to_pixels:Ki(t,o),u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]],u_alpha_discard_threshold:0}};function Ki(e,t){return 1/P(e,1,t.tileZoom)}function Ji(e,t,i,r){return e.translatePosMatrix(r||t.tileID.projMatrix,t,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}function Qi(e){const t=e.paint.get("line-dasharray").value;return t.value||"constant"!==t.kind}const er=(e,t,i,r,n,o)=>{return{u_matrix:e,u_tl_parent:t,u_scale_parent:i,u_fade_t:r.mix,u_opacity:r.opacity*n.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:n.paint.get("raster-brightness-min"),u_brightness_high:n.paint.get("raster-brightness-max"),u_saturation_factor:(a=n.paint.get("raster-saturation"),a>0?1-1/(1.001-a):-a),u_contrast_factor:(s=n.paint.get("raster-contrast"),s>0?1/(1-s):1+s),u_spin_weights:tr(n.paint.get("raster-hue-rotate")),u_perspective_transform:o};var s,a};function tr(e){e*=Math.PI/180;const t=Math.sin(e),i=Math.cos(e);return[(2*i+1)/3,(-Math.sqrt(3)*t-i+1)/3,(Math.sqrt(3)*t-i+1)/3]}const ir=e.create(),rr=(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_)=>{const g=o.transform,y={u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:i?i.uSizeT:0,u_size:i?i.uSize:0,u_camera_to_center_distance:g.cameraToCenterDistance,u_rotate_symbol:+r,u_aspect_ratio:g.width/g.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:a,u_coord_matrix:l,u_is_text:+c,u_pitch_with_map:+n,u_texsize:h,u_texture:0,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:ir,u_merc_center:[0,0],u_camera_forward:[0,0,0],u_ecef_origin:[0,0,0],u_tile_matrix:ir,u_up_vector:[0,-1,0]};return"globe"===_.name&&(y.u_tile_id=[u.canonical.x,u.canonical.y,1<e.extend(rr(t,i,r,n,o,s,a,l,c,h,d,p,f,m,_,g),{u_gamma_scale:n?o.transform.cameraToCenterDistance*Math.cos(o.terrain?0:o.transform._pitch):1,u_device_pixel_ratio:e.exported.devicePixelRatio,u_is_halo:+u}),or=(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_)=>e.extend(nr(t,i,r,n,o,s,a,l,!0,c,!0,u,d,p,f,m,_),{u_texsize_icon:h,u_texture_icon:1}),sr=(e,t,i)=>({u_matrix:e,u_opacity:t,u_color:i}),ar=(t,i,r,n,o)=>e.extend(function(e,t,i){const r=t.imageManager.getPattern(e.toString()),{width:n,height:o}=t.imageManager.getPixelSize(),s=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,t.transform.tileZoom)/s,l=a*(i.tileID.canonical.x+i.tileID.wrap*s),c=a*i.tileID.canonical.y;return{u_image:0,u_pattern_tl:r.tl,u_pattern_br:r.br,u_texsize:[n,o],u_pattern_size:r.displaySize,u_tile_units_to_pixels:1/P(i,1,t.transform.tileZoom),u_pixel_coord_upper:[l>>16,c>>16],u_pixel_coord_lower:[65535&l,65535&c]}}(n,r,o),{u_matrix:t,u_opacity:i}),lr={fillExtrusion:t=>({u_matrix:new e.UniformMatrix4f(t),u_lightpos:new e.Uniform3f(t),u_lightintensity:new e.Uniform1f(t),u_lightcolor:new e.Uniform3f(t),u_vertical_gradient:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t),u_edge_radius:new e.Uniform1f(t),u_ao:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_up_dir:new e.Uniform3f(t),u_height_lift:new e.Uniform1f(t)}),fillExtrusionPattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_lightpos:new e.Uniform3f(t),u_lightintensity:new e.Uniform1f(t),u_lightcolor:new e.Uniform3f(t),u_vertical_gradient:new e.Uniform1f(t),u_height_factor:new e.Uniform1f(t),u_edge_radius:new e.Uniform1f(t),u_ao:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_up_dir:new e.Uniform3f(t),u_height_lift:new e.Uniform1f(t),u_image:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t)}),fill:t=>({u_matrix:new e.UniformMatrix4f(t)}),fillPattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_image:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t)}),fillOutline:t=>({u_matrix:new e.UniformMatrix4f(t),u_world:new e.Uniform2f(t)}),fillOutlinePattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_world:new e.Uniform2f(t),u_image:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t)}),circle:t=>({u_camera_to_center_distance:new e.Uniform1f(t),u_extrude_scale:new e.UniformMatrix2f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_up_dir:new e.Uniform3f(t)}),collisionBox:t=>({u_matrix:new e.UniformMatrix4f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_extrude_scale:new e.Uniform2f(t)}),collisionCircle:t=>({u_matrix:new e.UniformMatrix4f(t),u_inv_matrix:new e.UniformMatrix4f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_viewport_size:new e.Uniform2f(t)}),debug:t=>({u_color:new e.UniformColor(t),u_matrix:new e.UniformMatrix4f(t),u_overlay:new e.Uniform1i(t),u_overlay_scale:new e.Uniform1f(t)}),clippingMask:t=>({u_matrix:new e.UniformMatrix4f(t)}),heatmap:t=>({u_extrude_scale:new e.Uniform1f(t),u_intensity:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_up_dir:new e.Uniform3f(t)}),heatmapTexture:t=>({u_image:new e.Uniform1i(t),u_color_ramp:new e.Uniform1i(t),u_opacity:new e.Uniform1f(t)}),hillshade:t=>({u_matrix:new e.UniformMatrix4f(t),u_image:new e.Uniform1i(t),u_latrange:new e.Uniform2f(t),u_light:new e.Uniform2f(t),u_shadow:new e.UniformColor(t),u_highlight:new e.UniformColor(t),u_accent:new e.UniformColor(t)}),hillshadePrepare:t=>({u_matrix:new e.UniformMatrix4f(t),u_image:new e.Uniform1i(t),u_dimension:new e.Uniform2f(t),u_zoom:new e.Uniform1f(t),u_unpack:new e.Uniform4f(t)}),line:t=>({u_matrix:new e.UniformMatrix4f(t),u_pixels_to_tile_units:new e.UniformMatrix2f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_units_to_pixels:new e.Uniform2f(t),u_dash_image:new e.Uniform1i(t),u_gradient_image:new e.Uniform1i(t),u_image_height:new e.Uniform1f(t),u_texsize:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t),u_alpha_discard_threshold:new e.Uniform1f(t),u_trim_offset:new e.Uniform2f(t)}),linePattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_texsize:new e.Uniform2f(t),u_pixels_to_tile_units:new e.UniformMatrix2f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_image:new e.Uniform1i(t),u_units_to_pixels:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t),u_alpha_discard_threshold:new e.Uniform1f(t)}),raster:t=>({u_matrix:new e.UniformMatrix4f(t),u_tl_parent:new e.Uniform2f(t),u_scale_parent:new e.Uniform1f(t),u_fade_t:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t),u_image0:new e.Uniform1i(t),u_image1:new e.Uniform1i(t),u_brightness_low:new e.Uniform1f(t),u_brightness_high:new e.Uniform1f(t),u_saturation_factor:new e.Uniform1f(t),u_contrast_factor:new e.Uniform1f(t),u_spin_weights:new e.Uniform3f(t),u_perspective_transform:new e.Uniform2f(t)}),symbolIcon:t=>({u_is_size_zoom_constant:new e.Uniform1i(t),u_is_size_feature_constant:new e.Uniform1i(t),u_size_t:new e.Uniform1f(t),u_size:new e.Uniform1f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_rotate_symbol:new e.Uniform1i(t),u_aspect_ratio:new e.Uniform1f(t),u_fade_change:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_label_plane_matrix:new e.UniformMatrix4f(t),u_coord_matrix:new e.UniformMatrix4f(t),u_is_text:new e.Uniform1i(t),u_pitch_with_map:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_camera_forward:new e.Uniform3f(t),u_tile_matrix:new e.UniformMatrix4f(t),u_up_vector:new e.Uniform3f(t),u_ecef_origin:new e.Uniform3f(t),u_texture:new e.Uniform1i(t)}),symbolSDF:t=>({u_is_size_zoom_constant:new e.Uniform1i(t),u_is_size_feature_constant:new e.Uniform1i(t),u_size_t:new e.Uniform1f(t),u_size:new e.Uniform1f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_rotate_symbol:new e.Uniform1i(t),u_aspect_ratio:new e.Uniform1f(t),u_fade_change:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_label_plane_matrix:new e.UniformMatrix4f(t),u_coord_matrix:new e.UniformMatrix4f(t),u_is_text:new e.Uniform1i(t),u_pitch_with_map:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_texture:new e.Uniform1i(t),u_gamma_scale:new e.Uniform1f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_camera_forward:new e.Uniform3f(t),u_tile_matrix:new e.UniformMatrix4f(t),u_up_vector:new e.Uniform3f(t),u_ecef_origin:new e.Uniform3f(t),u_is_halo:new e.Uniform1i(t)}),symbolTextAndIcon:t=>({u_is_size_zoom_constant:new e.Uniform1i(t),u_is_size_feature_constant:new e.Uniform1i(t),u_size_t:new e.Uniform1f(t),u_size:new e.Uniform1f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_rotate_symbol:new e.Uniform1i(t),u_aspect_ratio:new e.Uniform1f(t),u_fade_change:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_label_plane_matrix:new e.UniformMatrix4f(t),u_coord_matrix:new e.UniformMatrix4f(t),u_is_text:new e.Uniform1i(t),u_pitch_with_map:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_texsize_icon:new e.Uniform2f(t),u_texture:new e.Uniform1i(t),u_texture_icon:new e.Uniform1i(t),u_gamma_scale:new e.Uniform1f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_is_halo:new e.Uniform1i(t)}),background:t=>({u_matrix:new e.UniformMatrix4f(t),u_opacity:new e.Uniform1f(t),u_color:new e.UniformColor(t)}),backgroundPattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_opacity:new e.Uniform1f(t),u_image:new e.Uniform1i(t),u_pattern_tl:new e.Uniform2f(t),u_pattern_br:new e.Uniform2f(t),u_texsize:new e.Uniform2f(t),u_pattern_size:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t)}),terrainRaster:xi,terrainDepth:xi,skybox:t=>({u_matrix:new e.UniformMatrix4f(t),u_sun_direction:new e.Uniform3f(t),u_cubemap:new e.Uniform1i(t),u_opacity:new e.Uniform1f(t),u_temporal_offset:new e.Uniform1f(t)}),skyboxGradient:t=>({u_matrix:new e.UniformMatrix4f(t),u_color_ramp:new e.Uniform1i(t),u_center_direction:new e.Uniform3f(t),u_radius:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t),u_temporal_offset:new e.Uniform1f(t)}),skyboxCapture:t=>({u_matrix_3f:new e.UniformMatrix3f(t),u_sun_direction:new e.Uniform3f(t),u_sun_intensity:new e.Uniform1f(t),u_color_tint_r:new e.Uniform4f(t),u_color_tint_m:new e.Uniform4f(t),u_luminance:new e.Uniform1f(t)}),globeRaster:t=>({u_proj_matrix:new e.UniformMatrix4f(t),u_globe_matrix:new e.UniformMatrix4f(t),u_normalize_matrix:new e.UniformMatrix4f(t),u_merc_matrix:new e.UniformMatrix4f(t),u_zoom_transition:new e.Uniform1f(t),u_merc_center:new e.Uniform2f(t),u_image0:new e.Uniform1i(t),u_grid_matrix:new e.UniformMatrix3f(t),u_skirt_height:new e.Uniform1f(t),u_frustum_tl:new e.Uniform3f(t),u_frustum_tr:new e.Uniform3f(t),u_frustum_br:new e.Uniform3f(t),u_frustum_bl:new e.Uniform3f(t),u_globe_pos:new e.Uniform3f(t),u_globe_radius:new e.Uniform1f(t),u_viewport:new e.Uniform2f(t)}),globeAtmosphere:t=>({u_frustum_tl:new e.Uniform3f(t),u_frustum_tr:new e.Uniform3f(t),u_frustum_br:new e.Uniform3f(t),u_frustum_bl:new e.Uniform3f(t),u_horizon:new e.Uniform1f(t),u_transition:new e.Uniform1f(t),u_fadeout_range:new e.Uniform1f(t),u_color:new e.Uniform4f(t),u_high_color:new e.Uniform4f(t),u_space_color:new e.Uniform4f(t),u_star_intensity:new e.Uniform1f(t),u_star_density:new e.Uniform1f(t),u_star_size:new e.Uniform1f(t),u_temporal_offset:new e.Uniform1f(t),u_horizon_angle:new e.Uniform1f(t),u_rotation_matrix:new e.UniformMatrix4f(t)})};let cr;function hr(t,i,r,n,o,s,a){const l=t.context,c=l.gl,h=t.transform,u=t.useProgram("collisionBox"),d=[];let p=0,f=0;for(let b=0;b0){const t=e.create(),i=x;e.mul(t,g.placementInvProjMatrix,h.glCoordMatrix),e.mul(t,t,g.placementViewportMatrix),d.push({circleArray:w,circleOffset:f,transform:i,invTransform:t,projection:g.getProjection()}),p+=w.length/4,f=p}v&&(t.terrain&&t.terrain.setupElevationDraw(_,u),u.draw(l,c.LINES,e.DepthMode.disabled,e.StencilMode.disabled,t.colorModeForRenderPass(),e.CullFaceMode.disabled,$i(x,h,_,g.getProjection()),r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,null,h.zoom,null,[v.collisionVertexBuffer,v.collisionVertexBufferExt]))}if(!a||!d.length)return;const m=t.useProgram("collisionCircle"),_=new e.StructArrayLayout2f1f2i16;_.resize(4*p),_._trim();let g=0;for(const e of d)for(let t=0;t=0&&(m[f.associatedIconIndex]={x:E,y:M,z:A,angle:k})}else mt(T,p)}if(u){f.clear();const i=t.icon.placedSymbolArray;for(let t=0;te.sortKey-t.sortKey));for(const e of M){const i=e.state;if(t.terrain&&t.terrain.setupElevationDraw(i.tile,i.program,{useDepthForOcclusion:!S,labelPlaneMatrixInv:i.labelPlaneMatrixInv}),p.activeTexture.set(f.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,f.CLAMP_TO_EDGE),i.atlasTextureIcon&&(p.activeTexture.set(f.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,f.CLAMP_TO_EDGE)),i.isSDF){const n=i.uniformValues;i.hasHalo&&(n.u_is_halo=1,_r(i.buffers,e.segments,r,t,i.program,w,u,d,n)),n.u_is_halo=0}_r(i.buffers,e.segments,r,t,i.program,w,u,d,i.uniformValues)}}function _r(t,i,r,n,o,s,a,l,c){const h=n.context,u=[t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer,t.globeExtVertexBuffer];o.draw(h,h.gl.TRIANGLES,s,a,l,e.CullFaceMode.disabled,c,r.id,t.layoutVertexBuffer,t.indexBuffer,i,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),u)}function gr(t,i,r,n,o,s,a){const l=t.context.gl,c=r.paint.get("fill-pattern"),h=c&&c.constantOr(1);let u,d,p,f,m;a?(d=h&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",u=l.LINES):(d=h?"fillPattern":"fill",u=l.TRIANGLES);for(const _ of n){const n=i.getTile(_);if(h&&!n.patternsLoaded())continue;const g=n.getBucket(r);if(!g)continue;t.prepareDrawTile();const y=g.programConfigurations.get(r.id),x=t.useProgram(d,y);h&&(t.context.activeTexture.set(l.TEXTURE0),n.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers());const v=c.constantOr(null);if(v&&n.imageAtlas){const e=n.imageAtlas.patternPositions[v.toString()];e&&y.setConstantPatternPositions(e)}const b=t.translatePosMatrix(_.projMatrix,n,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(a){f=g.indexBuffer2,m=g.segments2;const e=t.terrain&&t.terrain.renderingToTexture?t.terrain.drapeBufferSize:[l.drawingBufferWidth,l.drawingBufferHeight];p="fillOutlinePattern"===d&&h?Ni(b,t,n,e):Vi(b,e)}else f=g.indexBuffer,m=g.segments,p=h?Ui(b,t,n):Fi(b);t.prepareDrawProgram(t.context,x,_.toUnwrapped()),x.draw(t.context,u,o,t.stencilModeForClipping(_),s,e.CullFaceMode.disabled,p,r.id,g.layoutVertexBuffer,f,m,r.paint,t.transform.zoom,y)}}function yr(t,i,r,n,o,s,a){const l=t.context,c=l.gl,h=t.transform,u=r.paint.get("fill-extrusion-pattern"),d=u.constantOr(1),p=r.paint.get("fill-extrusion-opacity"),f=[r.paint.get("fill-extrusion-ambient-occlusion-intensity"),r.paint.get("fill-extrusion-ambient-occlusion-radius")],m=r.layout.get("fill-extrusion-edge-radius"),_="globe"===h.projection.name?e.fillExtrusionHeightLift():0,g="globe"===h.projection.name,y=g?e.globeToMercatorTransition(h.zoom):0,x=[e.mercatorXfromLng(h.center.lng),e.mercatorYfromLat(h.center.lat)],v=[];g&&v.push("PROJECTION_GLOBE_VIEW"),f[0]>0&&v.push("FAUX_AO");for(const b of n){const n=i.getTile(b),w=n.getBucket(r);if(!w||w.projection.name!==h.projection.name)continue;const T=w.programConfigurations.get(r.id),E=t.useProgram(d?"fillExtrusionPattern":"fillExtrusion",T,v);if(t.terrain){const e=t.terrain;if(t.style.terrainSetForDrapingOnly())e.setupElevationDraw(n,E,{useMeterToDem:!0});else{if(!w.enableTerrain)continue;if(e.setupElevationDraw(n,E,{useMeterToDem:!0}),xr(l,i,b,w,r,e),!w.centroidVertexBuffer){const e=E.attributes.a_centroid_pos;void 0!==e&&c.vertexAttrib2f(e,0,0)}}}d&&(t.context.activeTexture.set(c.TEXTURE0),n.imageAtlasTexture.bind(c.LINEAR,c.CLAMP_TO_EDGE),T.updatePaintBuffers());const S=u.constantOr(null);if(S&&n.imageAtlas){const e=n.imageAtlas.patternPositions[S.toString()];e&&T.setConstantPatternPositions(e)}const M=t.translatePosMatrix(b.projMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),A=h.projection.createInversionMatrix(h,b.canonical),I=r.paint.get("fill-extrusion-vertical-gradient"),C=d?Oi(M,t,I,p,f,m,b,n,_,y,x,A):Bi(M,t,I,p,f,m,b,_,y,x,A);t.prepareDrawProgram(l,E,b.toUnwrapped());const z=[];t.terrain&&z.push(w.centroidVertexBuffer),g&&z.push(w.layoutVertexExtBuffer),E.draw(l,l.gl.TRIANGLES,o,s,a,e.CullFaceMode.backCCW,C,r.id,w.layoutVertexBuffer,w.indexBuffer,w.segments,r.paint,t.transform.zoom,T,z)}}function xr(t,i,r,n,o,s){const a=[t=>{let i=t.canonical.x-1,r=t.wrap;return i<0&&(i=(1<{let i=t.canonical.x+1,r=t.wrap;return i===1<new e.OverscaledTileID(t.overscaledZ,t.wrap,t.canonical.z,t.canonical.x,(0===t.canonical.y?1<new e.OverscaledTileID(t.overscaledZ,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y===(1<{const t=i.getSource().minzoom,r=e=>{const t=i.getTileByID(e);if(t&&t.hasData())return t.getBucket(o)},n=[0,-1,1];for(const i of n){if(e.overscaledZ+i(c[0]=Math.min(t.min.y,i.min.y),c[1]=Math.max(t.max.y,i.max.y),c[2]=e.EXTENT-i.min.x>t.max.x?i.min.x-e.EXTENT:t.max.x,c),u=(t,i)=>(c[0]=Math.min(t.min.x,i.min.x),c[1]=Math.max(t.max.x,i.max.x),c[2]=e.EXTENT-i.min.y>t.max.y?i.min.y-e.EXTENT:t.max.y,c),d=[(e,t)=>h(e,t),(e,t)=>h(t,e),(e,t)=>u(e,t),(e,t)=>u(t,e)],p=new e.pointGeometry(0,0);let f,m,_;const g=(t,i,n,o,a)=>{const l=[[o?n:t,o?t:n,0],[o?n:i,o?i:n,0]],c=a<0?e.EXTENT+a:a,h=[o?c:(t+i)/2,o?(t+i)/2:c,0];return 0===n&&a<0||0!==n&&a>0?s.getForTilePoints(_,[h],!0,m):l.push(h),s.getForTilePoints(r,l,!0,f),Math.max(l[0][2],l[1][2],h[2])/s.exaggeration()};for(let y=0;y<4;y++){const t=(y<2?1:5)-y,i=n.borders[y];if(0===i.length)continue;const o=_=a[y](r),c=l(o);if(!(c&&c instanceof e.FillExtrusionBucket&&c.enableTerrain))continue;if(n.borderDoneWithNeighborZ[y]===c.canonical.z&&c.borderDoneWithNeighborZ[t]===n.canonical.z)continue;if(m=s.findDEMTileFor(o),!m||!m.dem)continue;if(!f){const e=s.findDEMTileFor(r);if(!e||!e.dem)return;f=e}const h=c.borders[t];let u=0;const x=c.borderDoneWithNeighborZ[t]!==n.canonical.z;if(n.canonical.z===c.canonical.z){for(let r=0;rs[0]+3));)x&&c.encodeCentroid(void 0,a,!1),u++;if(a&&us[1]-3)&&(r++,++u!==h.length);)a=c.featuresOnBorder[h[u]];if(a=c.featuresOnBorder[h[i]],o.intersectsCount()>1||a.intersectsCount()>1||1!==r){1!==r&&(u=i),n.encodeCentroid(void 0,o,!1),x&&c.encodeCentroid(void 0,a,!1);continue}const l=d[y](o,a),f=y%2?e.EXTENT-1:0;p.x=g(l[0],Math.min(e.EXTENT-1,l[1]),f,y<2,l[2]),p.y=0,n.encodeCentroid(p,o,!1),x&&c.encodeCentroid(p,a,!1)}else n.encodeCentroid(void 0,o,!1)}n.borderDoneWithNeighborZ[y]=c.canonical.z,n.needsCentroidUpdate=!0,x&&(c.borderDoneWithNeighborZ[t]=n.canonical.z,c.needsCentroidUpdate=!0)}else{for(const e of i)n.encodeCentroid(void 0,n.featuresOnBorder[e],!1);if(x){for(const e of h)c.encodeCentroid(void 0,c.featuresOnBorder[e],!1);c.borderDoneWithNeighborZ[t]=n.canonical.z,c.needsCentroidUpdate=!0}n.borderDoneWithNeighborZ[y]=c.canonical.z,n.needsCentroidUpdate=!0}}(n.needsCentroidUpdate||!n.centroidVertexBuffer&&0!==n.centroidVertexArray.length)&&n.uploadCentroid(t)}const vr=new e.Color(1,0,0,1),br=new e.Color(0,1,0,1),wr=new e.Color(0,0,1,1),Tr=new e.Color(1,0,1,1),Er=new e.Color(0,1,1,1);function Sr(t,i,r){const n=t.context,o=t.transform,s=n.gl,a="globe"===o.projection.name,l=a?["PROJECTION_GLOBE_VIEW"]:null;let c=r.projMatrix;if(a&&e.globeToMercatorTransition(o.zoom)>0){const t=e.transitionTileAABBinECEF(r.canonical,o),i=e.globeDenormalizeECEF(t);c=e.multiply(new Float32Array(16),o.globeMatrix,i),e.multiply(c,o.projMatrix,c)}const h=t.useProgram("debug",null,l),u=i.getTileByID(r.key);t.terrain&&t.terrain.setupElevationDraw(u,h);const d=e.DepthMode.disabled,p=e.StencilMode.disabled,f=t.colorModeForRenderPass(),m="$debug";n.activeTexture.set(s.TEXTURE0),t.emptyTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE),a?u._makeGlobeTileDebugBuffers(t.context,o):u._makeDebugTileBoundsBuffers(t.context,o.projection);const _=u._tileDebugBuffer||t.debugBuffer,g=u._tileDebugIndexBuffer||t.debugIndexBuffer,y=u._tileDebugSegments||t.debugSegments;h.draw(n,s.LINE_STRIP,d,p,f,e.CullFaceMode.disabled,qi(c,e.Color.red),m,_,g,y,null,null,null,[u._globeTileDebugBorderBuffer]);const x=u.latestRawTileData,v=Math.floor((x&&x.byteLength||0)/1024),b=i.getTile(r).tileSize,w=512/Math.min(b,512)*(r.overscaledZ/o.zoom)*.5;let T=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(T+=` => ${r.overscaledZ}`),T+=` ${v}kb`,function(e,t){e.initDebugOverlayCanvas();const i=e.debugOverlayCanvas,r=e.context.gl,n=e.debugOverlayCanvas.getContext("2d");n.clearRect(0,0,i.width,i.height),n.shadowColor="white",n.shadowBlur=2,n.lineWidth=1.5,n.strokeStyle="white",n.textBaseline="top",n.font="bold 36px Open Sans, sans-serif",n.fillText(t,5,5),n.strokeText(t,5,5),e.debugOverlayTexture.update(i),e.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(t,T);const E=u._tileDebugTextBuffer||t.debugBuffer,S=u._tileDebugTextIndexBuffer||t.quadTriangleIndexBuffer,M=u._tileDebugTextSegments||t.debugSegments;h.draw(n,s.TRIANGLES,d,p,e.ColorMode.alphaBlended,e.CullFaceMode.disabled,qi(c,e.Color.transparent,w),m,E,S,M,null,null,null,[u._globeTileDebugTextBuffer])}function Mr(e,t,i,r){Ir(e,0,t+i/2,e.transform.width,i,r)}function Ar(e,t,i,r){Ir(e,t-i/2,0,i,e.transform.height,r)}function Ir(t,i,r,n,o,s){const a=t.context,l=a.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*e.exported.devicePixelRatio,r*e.exported.devicePixelRatio,n*e.exported.devicePixelRatio,o*e.exported.devicePixelRatio),a.clear({color:s}),l.disable(l.SCISSOR_TEST)}const Cr=e.createLayout([{name:"a_pos_3f",components:3,type:"Float32"}]),{members:zr}=Cr;function Dr(e,t,i,r){e.emplaceBack(t,i,r)}class kr{constructor(t){this.vertexArray=new e.StructArrayLayout3f12,this.indices=new e.StructArrayLayout3ui6,Dr(this.vertexArray,-1,-1,1),Dr(this.vertexArray,1,-1,1),Dr(this.vertexArray,-1,1,1),Dr(this.vertexArray,1,1,1),Dr(this.vertexArray,-1,-1,-1),Dr(this.vertexArray,1,-1,-1),Dr(this.vertexArray,-1,1,-1),Dr(this.vertexArray,1,1,-1),this.indices.emplaceBack(5,1,3),this.indices.emplaceBack(3,7,5),this.indices.emplaceBack(6,2,0),this.indices.emplaceBack(0,4,6),this.indices.emplaceBack(2,6,7),this.indices.emplaceBack(7,3,2),this.indices.emplaceBack(5,4,0),this.indices.emplaceBack(0,1,5),this.indices.emplaceBack(0,2,3),this.indices.emplaceBack(3,1,0),this.indices.emplaceBack(7,6,4),this.indices.emplaceBack(4,5,7),this.vertexBuffer=t.createVertexBuffer(this.vertexArray,zr),this.indexBuffer=t.createIndexBuffer(this.indices),this.segment=e.SegmentVector.simpleSegment(0,0,36,12)}}function Pr(t,i,r,n,o,s){const a=t.gl,l=i.paint.get("sky-atmosphere-color"),c=i.paint.get("sky-atmosphere-halo-color"),h=i.paint.get("sky-atmosphere-sun-intensity"),u=((e,t,i,r,n)=>({u_matrix_3f:e,u_sun_direction:t,u_sun_intensity:i,u_color_tint_r:[r.r,r.g,r.b,r.a],u_color_tint_m:[n.r,n.g,n.b,n.a],u_luminance:5e-5}))(e.fromMat4(e.create$1(),n),o,h,l,c);a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+s,i.skyboxTexture,0),r.draw(t,a.TRIANGLES,e.DepthMode.disabled,e.StencilMode.disabled,e.ColorMode.unblended,e.CullFaceMode.frontCW,u,"skyboxCapture",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}const Lr=e.createLayout([{type:"Float32",name:"a_pos",components:3},{type:"Float32",name:"a_uv",components:2}]);class Rr{constructor(t){const i=new e.StructArrayLayout5f20;i.emplaceBack(-1,1,1,0,0),i.emplaceBack(1,1,1,1,0),i.emplaceBack(1,-1,1,1,1),i.emplaceBack(-1,-1,1,0,1);const r=new e.StructArrayLayout3ui6;r.emplaceBack(0,1,2),r.emplaceBack(2,3,0),this.vertexBuffer=t.createVertexBuffer(i,Lr.members),this.indexBuffer=t.createIndexBuffer(r),this.segments=e.SegmentVector.simpleSegment(0,0,4,2)}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy()}}const Br={symbol:function(t,i,r,n,o){if("translucent"!==t.renderPass)return;const s=e.StencilMode.disabled,a=t.colorModeForRenderPass();r.layout.get("text-variable-anchor")&&function(t,i,r,n,o,s,a){const l=i.transform,c="map"===o,h="map"===s;for(const u of t){const t=n.getTile(u),i=t.getBucket(r);if(!i||!i.text||!i.text.segments.get().length)continue;const o=e.evaluateSizeForZoom(i.textSizeData,l.zoom),s=bt(u,i.getProjection(),l),d=l.calculatePixelsToTileUnitsMatrix(t),p=it(s,t.tileID.canonical,h,c,l,i.getProjection(),d),f="none"!==r.layout.get("icon-text-fit")&&i.hasIconData();if(o){const r=Math.pow(2,l.zoom-t.tileID.overscaledZ);pr(i,c,h,a,e.symbolSize,l,p,u,r,o,f)}}}(n,t,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),o),0!==r.paint.get("icon-opacity").constantOr(1)&&mr(t,i,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),s,a),0!==r.paint.get("text-opacity").constantOr(1)&&mr(t,i,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),s,a),i.map.showCollisionBoxes&&(hr(t,i,r,n,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),hr(t,i,r,n,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1))},circle:function(t,i,r,n){if("translucent"!==t.renderPass)return;const o=r.paint.get("circle-opacity"),s=r.paint.get("circle-stroke-width"),a=r.paint.get("circle-stroke-opacity"),l=void 0!==r.layout.get("circle-sort-key").constantOr(1);if(0===o.constantOr(1)&&(0===s.constantOr(1)||0===a.constantOr(1)))return;const c=t.context,h=c.gl,u=t.transform,d=t.depthModeForSublayer(0,e.DepthMode.ReadOnly),p=e.StencilMode.disabled,f=t.colorModeForRenderPass(),m="globe"===u.projection.name,_=[e.mercatorXfromLng(u.center.lng),e.mercatorYfromLat(u.center.lat)],g=[];for(let x=0;xe.sortKey-t.sortKey));const y={useDepthForOcclusion:!m};for(const x of g){const{programConfiguration:i,program:n,layoutVertexBuffer:o,globeExtVertexBuffer:s,indexBuffer:a,uniformValues:l,tile:m}=x.state,_=x.segments;t.terrain&&t.terrain.setupElevationDraw(m,n,y),t.prepareDrawProgram(c,n,m.tileID.toUnwrapped()),n.draw(c,h.TRIANGLES,d,p,f,e.CullFaceMode.disabled,l,r.id,o,a,_,r.paint,u.zoom,i,[s])}},heatmap:function(t,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){const o=t.context,s=o.gl,a=e.StencilMode.disabled,l=new e.ColorMode([s.ONE,s.ONE],e.Color.transparent,[!0,!0,!0,!0]);!function(e,t,i,r){const n=e.gl,o=t.width*r,s=t.height*r;e.activeTexture.set(n.TEXTURE1),e.viewport.set([0,0,o,s]);let a=i.heatmapFbo;if(!a||a&&(a.width!==o||a.height!==s)){a&&a.destroy();const t=n.createTexture();n.bindTexture(n.TEXTURE_2D,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),a=i.heatmapFbo=e.createFramebuffer(o,s,!1),function(e,t,i,r,n,o){const s=e.gl;s.texImage2D(s.TEXTURE_2D,0,e.isWebGL2&&e.extRenderToTextureHalfFloat?s.RGBA16F:s.RGBA,n,o,0,s.RGBA,e.extRenderToTextureHalfFloat?e.isWebGL2?s.HALF_FLOAT:e.extTextureHalfFloat.HALF_FLOAT_OES:s.UNSIGNED_BYTE,null),r.colorAttachment.set(i)}(e,0,t,a,o,s)}else n.bindTexture(n.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)}(o,t,r,"globe"===t.transform.projection.name?.5:.25),o.clear({color:e.Color.transparent});const c=t.transform,h="globe"===c.projection.name,u=h?["PROJECTION_GLOBE_VIEW"]:null,d=h?e.CullFaceMode.frontCCW:e.CullFaceMode.disabled,p=[e.mercatorXfromLng(c.center.lng),e.mercatorYfromLat(c.center.lat)];for(let f=0;f({u_image:0,u_color_ramp:1,u_opacity:t.paint.get("heatmap-opacity")}))(0,i),i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom)}(t,r))},line:function(t,i,r,n){if("translucent"!==t.renderPass)return;const o=r.paint.get("line-opacity"),s=r.paint.get("line-width");if(0===o.constantOr(1)||0===s.constantOr(1))return;const a=t.depthModeForSublayer(0,e.DepthMode.ReadOnly),l=t.colorModeForRenderPass(),c=t.terrain&&t.terrain.renderingToTexture?1:e.exported.devicePixelRatio,h=r.paint.get("line-dasharray"),u=h.constantOr(1),d=r.layout.get("line-cap"),p=r.paint.get("line-pattern"),f=p.constantOr(1),m=r.paint.get("line-gradient"),_=f?"linePattern":"line",g=t.context,y=g.gl,x=(e=>{const t=[];Qi(e)&&t.push("RENDER_LINE_DASH"),e.paint.get("line-gradient")&&t.push("RENDER_LINE_GRADIENT");const i=e.paint.get("line-trim-offset");0===i[0]&&0===i[1]||t.push("RENDER_LINE_TRIM_OFFSET");const r=e.paint.get("line-pattern").constantOr(1),n=1!==e.paint.get("line-opacity").constantOr(1);return!r&&n&&t.push("RENDER_LINE_ALPHA_DISCARD"),t})(r);let v=x.includes("RENDER_LINE_ALPHA_DISCARD");t.terrain&&t.terrain.clipOrMaskOverlapStencilType()&&(v=!1);for(const b of n){const n=i.getTile(b);if(f&&!n.patternsLoaded())continue;const o=n.getBucket(r);if(!o)continue;t.prepareDrawTile();const s=o.programConfigurations.get(r.id),w=t.useProgram(_,s,x),T=p.constantOr(null);if(T&&n.imageAtlas){const e=n.imageAtlas.patternPositions[T.toString()];e&&s.setConstantPatternPositions(e)}const E=h.constantOr(null),S=d.constantOr(null);if(!f&&E&&S&&n.lineAtlas){const e=n.lineAtlas.getDash(E,S);e&&s.setConstantPatternPositions(e)}let[M,A]=r.paint.get("line-trim-offset");if("round"===S||"square"===S){const e=1;M!==A&&(0===M&&(M-=e),1===A&&(A+=e))}const I=t.terrain?b.projMatrix:null,C=f?Yi(t,n,r,I,c):Hi(t,n,r,I,o.lineClipsArray.length,c,[M,A]);if(m){const n=o.gradients[r.id];let s=n.texture;if(r.gradientVersion!==n.version){let a=256;if(r.stepInterpolant){const r=i.getSource().maxzoom,n=b.canonical.z===r?Math.ceil(1<{w.draw(g,y.TRIANGLES,a,i,l,e.CullFaceMode.disabled,C,r.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,r.paint,t.transform.zoom,s,[o.layoutVertexBuffer2])};if(v){const i=t.stencilModeForClipping(b).ref;0===i&&t.terrain&&g.clear({stencil:0});const r={func:y.EQUAL,mask:255};C.u_alpha_discard_threshold=.8,z(new e.StencilMode(r,i,255,y.KEEP,y.KEEP,y.INVERT)),C.u_alpha_discard_threshold=0,z(new e.StencilMode(r,i,255,y.KEEP,y.KEEP,y.KEEP))}else z(t.stencilModeForClipping(b))}v&&(t.resetStencilClippingMasks(),t.terrain&&g.clear({stencil:0}))},fill:function(t,i,r,n){const o=r.paint.get("fill-color"),s=r.paint.get("fill-opacity");if(0===s.constantOr(1))return;const a=t.colorModeForRenderPass(),l=r.paint.get("fill-pattern"),c=t.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===o.constantOr(e.Color.transparent).a&&1===s.constantOr(0)?"opaque":"translucent";if(t.renderPass===c){const o=t.depthModeForSublayer(1,"opaque"===t.renderPass?e.DepthMode.ReadWrite:e.DepthMode.ReadOnly);gr(t,i,r,n,o,a,!1)}if("translucent"===t.renderPass&&r.paint.get("fill-antialias")){const o=t.depthModeForSublayer(r.getPaintProperty("fill-outline-color")?2:0,e.DepthMode.ReadOnly);gr(t,i,r,n,o,a,!0)}},"fill-extrusion":function(t,i,r,n){const o=r.paint.get("fill-extrusion-opacity");if(0!==o&&"translucent"===t.renderPass){const s=new e.DepthMode(t.context.gl.LEQUAL,e.DepthMode.ReadWrite,t.depthRangeFor3D);if(1!==o||r.paint.get("fill-extrusion-pattern").constantOr(1))yr(t,i,r,n,s,e.StencilMode.disabled,e.ColorMode.disabled),yr(t,i,r,n,s,t.stencilModeFor3D(),t.colorModeForRenderPass()),t.resetStencilClippingMasks();else{const o=t.colorModeForRenderPass();yr(t,i,r,n,s,e.StencilMode.disabled,o)}}},hillshade:function(t,i,r,n){if("offscreen"!==t.renderPass&&"translucent"!==t.renderPass)return;const o=t.context,s=t.depthModeForSublayer(0,e.DepthMode.ReadOnly),a=t.colorModeForRenderPass(),l=t.terrain&&t.terrain.renderingToTexture,[c,h]="translucent"!==t.renderPass||l?[{},n]:t.stencilConfigForOverlap(n);for(const u of h){const n=i.getTile(u);if(n.needsHillshadePrepare&&"offscreen"===t.renderPass)yi(t,n,r,s,e.StencilMode.disabled,a);else if("translucent"===t.renderPass){const e=l&&t.terrain?t.terrain.stencilModeForRTTOverlap(u):c[u.overscaledZ];_i(t,u,n,r,s,e,a)}}o.viewport.set([0,0,t.width,t.height]),t.resetStencilClippingMasks()},raster:function(t,i,r,n,o,s){if("translucent"!==t.renderPass)return;if(0===r.paint.get("raster-opacity"))return;if(!n.length)return;const a=t.context,l=a.gl,c=i.getSource(),h=t.useProgram("raster"),u=t.colorModeForRenderPass(),d=t.terrain&&t.terrain.renderingToTexture,[p,f]=c instanceof De||d?[{},n]:t.stencilConfigForOverlap(n),m=f[f.length-1].overscaledZ,_=!t.options.moving;for(const g of f){const n=d?e.DepthMode.disabled:t.depthModeForSublayer(g.overscaledZ-m,1===r.paint.get("raster-opacity")?e.DepthMode.ReadWrite:e.DepthMode.ReadOnly,l.LESS),o=g.toUnwrapped(),f=i.getTile(g);if(d&&(!f||!f.hasData()))continue;const y=d?g.projMatrix:t.transform.calculateProjMatrix(o,_),x=t.terrain&&d?t.terrain.stencilModeForRTTOverlap(g):p[g.overscaledZ],v=s?0:r.paint.get("raster-fade-duration");f.registerFadeDuration(v);const b=i.findLoadedParent(g,0),w=Ii(f,b,i,t.transform,v);let T,E;t.terrain&&t.terrain.prepareDrawTile();const S="nearest"===r.paint.get("raster-resampling")?l.NEAREST:l.LINEAR;a.activeTexture.set(l.TEXTURE0),f.texture.bind(S,l.CLAMP_TO_EDGE),a.activeTexture.set(l.TEXTURE1),b?(b.texture.bind(S,l.CLAMP_TO_EDGE),T=Math.pow(2,b.tileID.overscaledZ-f.tileID.overscaledZ),E=[f.tileID.canonical.x*T%1,f.tileID.canonical.y*T%1]):f.texture.bind(S,l.CLAMP_TO_EDGE),f.texture.useMipmap&&a.extTextureFilterAnisotropic&&t.transform.pitch>20&&l.texParameterf(l.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax);const M=er(y,E||[0,0],T||1,w,r,c instanceof De?c.perspectiveTransform:[0,0]);if(t.prepareDrawProgram(a,h,o),c instanceof De)c.boundsBuffer&&c.boundsSegments&&h.draw(a,l.TRIANGLES,n,e.StencilMode.disabled,u,e.CullFaceMode.disabled,M,r.id,c.boundsBuffer,t.quadTriangleIndexBuffer,c.boundsSegments);else{const{tileBoundsBuffer:i,tileBoundsIndexBuffer:o,tileBoundsSegments:s}=t.getTileBoundsBuffers(f);h.draw(a,l.TRIANGLES,n,x,u,e.CullFaceMode.disabled,M,r.id,i,o,s)}}t.resetStencilClippingMasks()},background:function(t,i,r,n){const o=r.paint.get("background-color"),s=r.paint.get("background-opacity");if(0===s)return;const a=t.context,l=a.gl,c=t.transform,h=c.tileSize,u=r.paint.get("background-pattern");if(t.isPatternMissing(u))return;const d=!u&&1===o.a&&1===s&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass!==d)return;const p=e.StencilMode.disabled,f=t.depthModeForSublayer(0,"opaque"===d?e.DepthMode.ReadWrite:e.DepthMode.ReadOnly),m=t.colorModeForRenderPass(),_=t.useProgram(u?"backgroundPattern":"background");let g,y=n;y||(g=t.getBackgroundTiles(),y=Object.values(g).map((e=>e.tileID))),u&&(a.activeTexture.set(l.TEXTURE0),t.imageManager.bind(t.context));for(const x of y){const d=x.toUnwrapped(),y=n?x.projMatrix:t.transform.calculateProjMatrix(d);t.prepareDrawTile();const v=i?i.getTile(x):g?g[x.key]:new e.Tile(x,h,c.zoom,t),b=u?ar(y,s,t,u,{tileID:x,tileSize:h}):sr(y,s,o);t.prepareDrawProgram(a,_,d);const{tileBoundsBuffer:w,tileBoundsIndexBuffer:T,tileBoundsSegments:E}=t.getTileBoundsBuffers(v);_.draw(a,l.TRIANGLES,f,p,m,e.CullFaceMode.disabled,b,r.id,w,T,E)}},sky:function(t,i,r){const n=t.transform,o="mercator"===n.projection.name||"globe"===n.projection.name?1:e.smoothstep(7,8,n.zoom),s=r.paint.get("sky-opacity")*o;if(0===s)return;const a=t.context,l=r.paint.get("sky-type"),c=new e.DepthMode(a.gl.LEQUAL,e.DepthMode.ReadOnly,[0,1]),h=t.frameCounter/1e3%1;"atmosphere"===l?"offscreen"===t.renderPass?r.needsSkyboxCapture(t)&&(function(t,i,r,n){const o=t.context,s=o.gl;let a=i.skyboxFbo;if(!a){a=i.skyboxFbo=o.createFramebuffer(32,32,!1),i.skyboxGeometry=new kr(o),i.skyboxTexture=o.gl.createTexture(),s.bindTexture(s.TEXTURE_CUBE_MAP,i.skyboxTexture),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR);for(let e=0;e<6;++e)s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,s.RGBA,32,32,0,s.RGBA,s.UNSIGNED_BYTE,null)}o.bindFramebuffer.set(a.framebuffer),o.viewport.set([0,0,32,32]);const l=i.getCenter(t,!0),c=t.useProgram("skyboxCapture"),h=new Float64Array(16);e.identity(h),e.rotateY(h,h,.5*-Math.PI),Pr(o,i,c,h,l,0),e.identity(h),e.rotateY(h,h,.5*Math.PI),Pr(o,i,c,h,l,1),e.identity(h),e.rotateX(h,h,.5*-Math.PI),Pr(o,i,c,h,l,2),e.identity(h),e.rotateX(h,h,.5*Math.PI),Pr(o,i,c,h,l,3),e.identity(h),Pr(o,i,c,h,l,4),e.identity(h),e.rotateY(h,h,Math.PI),Pr(o,i,c,h,l,5),o.viewport.set([0,0,t.width,t.height])}(t,r),r.markSkyboxValid(t)):"sky"===t.renderPass&&function(t,i,r,n,o){const s=t.context,a=s.gl,l=t.transform,c=t.useProgram("skybox");s.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_CUBE_MAP,i.skyboxTexture);const h=((e,t,i,r,n)=>({u_matrix:e,u_sun_direction:t,u_cubemap:0,u_opacity:r,u_temporal_offset:n}))(l.skyboxMatrix,i.getCenter(t,!1),0,n,o);t.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,r,e.StencilMode.disabled,t.colorModeForRenderPass(),e.CullFaceMode.backCW,h,"skybox",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}(t,r,c,s,h):"gradient"===l&&"sky"===t.renderPass&&function(t,i,r,n,o){const s=t.context,a=s.gl,l=t.transform,c=t.useProgram("skyboxGradient");i.skyboxGeometry||(i.skyboxGeometry=new kr(s)),s.activeTexture.set(a.TEXTURE0);let h=i.colorRampTexture;h||(h=i.colorRampTexture=new e.Texture(s,i.colorRamp,a.RGBA)),h.bind(a.LINEAR,a.CLAMP_TO_EDGE);const u=((t,i,r,n,o)=>({u_matrix:t,u_color_ramp:0,u_center_direction:i,u_radius:e.degToRad(r),u_opacity:n,u_temporal_offset:o}))(l.skyboxMatrix,i.getCenter(t,!1),i.paint.get("sky-gradient-radius"),n,o);t.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,r,e.StencilMode.disabled,t.colorModeForRenderPass(),e.CullFaceMode.backCW,u,"skyboxGradient",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}(t,r,c,s,h)},debug:function(e,t,i){for(let r=0;r2&&void 0!==arguments[2]&&arguments[2];this.context=new Me(t,r),this.transform=i,this._tileTextures={},this.frameCopies=[],this.loadTimeStamps=[],this.setup(),this.numSublayers=e.SourceCache.maxUnderzooming+e.SourceCache.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Wt,this.deferredRenderGpuTimeQueries=[],this.gpuTimers={},this.frameCounter=0,this._backgroundTiles={}}updateTerrain(e,t){const i=!!e&&!!e.terrain&&this.transform.projection.supportsTerrain;if(!(i||this._terrain&&this._terrain.enabled))return;this._terrain||(this._terrain=new ki(this,e));const r=this._terrain;this.transform.elevation=i?r:null,r.update(e,this.transform,t)}_updateFog(e){const t=e.fog;if(!t||"globe"===this.transform.projection.name||t.getOpacity(this.transform.pitch)<1||t.properties.get("horizon-blend")<.03)return void(this.transform.fogCullDistSq=null);const[i,r]=t.getFovAdjustedRange(this.transform._fov);if(i>r)return void(this.transform.fogCullDistSq=null);const n=i+.78*(r-i);this.transform.fogCullDistSq=n*n}get terrain(){return this.transform._terrainEnabled()&&this._terrain&&this._terrain.enabled?this._terrain:null}resize(t,i){if(this.width=t*e.exported.devicePixelRatio,this.height=i*e.exported.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const e of this.style.order)this.style._layers[e].resize()}setup(){const t=this.context,i=new e.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(e.EXTENT,0),i.emplaceBack(0,e.EXTENT),i.emplaceBack(e.EXTENT,e.EXTENT),this.tileExtentBuffer=t.createVertexBuffer(i,e.posAttributes.members),this.tileExtentSegments=e.SegmentVector.simpleSegment(0,0,4,2);const r=new e.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(e.EXTENT,0),r.emplaceBack(0,e.EXTENT),r.emplaceBack(e.EXTENT,e.EXTENT),this.debugBuffer=t.createVertexBuffer(r,e.posAttributes.members),this.debugSegments=e.SegmentVector.simpleSegment(0,0,4,5);const n=new e.StructArrayLayout2i4;n.emplaceBack(-1,-1),n.emplaceBack(1,-1),n.emplaceBack(-1,1),n.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(n,e.posAttributes.members),this.viewportSegments=e.SegmentVector.simpleSegment(0,0,4,2);const o=new e.StructArrayLayout4i8;o.emplaceBack(0,0,0,0),o.emplaceBack(e.EXTENT,0,e.EXTENT,0),o.emplaceBack(0,e.EXTENT,0,e.EXTENT),o.emplaceBack(e.EXTENT,e.EXTENT,e.EXTENT,e.EXTENT),this.mercatorBoundsBuffer=t.createVertexBuffer(o,e.boundsAttributes.members),this.mercatorBoundsSegments=e.SegmentVector.simpleSegment(0,0,4,2);const s=new e.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(s);const a=new e.StructArrayLayout1ui2;for(const e of[0,1,3,2,0])a.emplaceBack(e);this.debugIndexBuffer=t.createIndexBuffer(a),this.emptyTexture=new e.Texture(t,new e.RGBAImage({width:1,height:1},Uint8Array.of(0,0,0,0)),t.gl.RGBA),this.identityMat=e.create();const l=this.context.gl;this.stencilClearMode=new e.StencilMode({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.loadTimeStamps.push(e.window.performance.now()),this.atmosphereBuffer=new Rr(this.context)}getMercatorTileBoundsBuffers(){return{tileBoundsBuffer:this.mercatorBoundsBuffer,tileBoundsIndexBuffer:this.quadTriangleIndexBuffer,tileBoundsSegments:this.mercatorBoundsSegments}}getTileBoundsBuffers(e){return e._makeTileBoundsBuffers(this.context,this.transform.projection),e._tileBoundsBuffer?{tileBoundsBuffer:e._tileBoundsBuffer,tileBoundsIndexBuffer:e._tileBoundsIndexBuffer,tileBoundsSegments:e._tileBoundsSegments}:this.getMercatorTileBoundsBuffers()}clearStencil(){const t=this.context,i=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0,this._tileClippingMaskIDs={},this.useProgram("clippingMask").draw(t,i.TRIANGLES,e.DepthMode.disabled,this.stencilClearMode,e.ColorMode.disabled,e.CullFaceMode.disabled,Ai(this.identityMat),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}resetStencilClippingMasks(){this.terrain||(this.currentStencilSource=void 0,this._tileClippingMaskIDs={})}_renderTileClippingMasks(t,i,r){if(!i||this.currentStencilSource===i.id||!t.isTileClipped()||!r||0===r.length)return;if(this._tileClippingMaskIDs&&!this.terrain){let e=!1;for(const t of r)if(void 0===this._tileClippingMaskIDs[t.key]){e=!0;break}if(!e)return}this.currentStencilSource=i.id;const n=this.context,o=n.gl;this.nextStencilID+r.length>256&&this.clearStencil(),n.setColorMode(e.ColorMode.disabled),n.setDepthMode(e.DepthMode.disabled);const s=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const a of r){const t=i.getTile(a),r=this._tileClippingMaskIDs[a.key]=this.nextStencilID++,{tileBoundsBuffer:l,tileBoundsIndexBuffer:c,tileBoundsSegments:h}=this.getTileBoundsBuffers(t);s.draw(n,o.TRIANGLES,e.DepthMode.disabled,new e.StencilMode({func:o.ALWAYS,mask:0},r,255,o.KEEP,o.KEEP,o.REPLACE),e.ColorMode.disabled,e.CullFaceMode.disabled,Ai(a.projMatrix),"$clipping",l,c,h)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,i=this.context.gl;return new e.StencilMode({func:i.NOTEQUAL,mask:255},t,255,i.KEEP,i.KEEP,i.REPLACE)}stencilModeForClipping(t){if(this.terrain)return this.terrain.stencilModeForRTTOverlap(t);const i=this.context.gl;return new e.StencilMode({func:i.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,i.KEEP,i.KEEP,i.REPLACE)}stencilConfigForOverlap(t){const i=this.context.gl,r=t.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),n=r[r.length-1].overscaledZ,o=r[0].overscaledZ-n+1;if(o>1){this.currentStencilSource=void 0,this.nextStencilID+o>256&&this.clearStencil();const t={};for(let r=0;r=0;this.currentLayer--){const e=this.style._layers[r[this.currentLayer]],i=t._getLayerSourceCache(e);if(e.isSky())continue;const n=i?s[i.id]:void 0;this._renderTileClippingMasks(e,i,n),this.renderLayer(this,i,e,n)}if(this.style.fog&&this.transform.projection.supportsFog&&function(t,i){const r=t.context,n=r.gl,o=t.transform,s=new e.DepthMode(n.LEQUAL,e.DepthMode.ReadOnly,[0,1]),a=t.useProgram("globeAtmosphere",null,"globe"===o.projection.name?["PROJECTION_GLOBE_VIEW","FOG"]:["FOG"]),l=e.globeToMercatorTransition(o.zoom),c=i.properties.get("color").toArray01(),h=i.properties.get("high-color").toArray01(),u=i.properties.get("space-color").toArray01PremultipliedAlpha(),d=e.identity$1([]);e.rotateY$1(d,d,-e.degToRad(o._center.lng)),e.rotateX$1(d,d,e.degToRad(o._center.lat)),e.rotateZ$1(d,d,o.angle),e.rotateX$1(d,d,-o._pitch);const p=e.fromQuat(new Float32Array(16),d),f=e.mapValue(i.properties.get("star-intensity"),0,1,0,.25),m=5e-4,_=e.mapValue(i.properties.get("horizon-blend"),0,1,m,.25),g=e.globeUseCustomAntiAliasing(t,r,o)&&_===m?o.worldSize/(2*Math.PI*1.025)-1:o.globeRadius,y=t.frameCounter/1e3%1,x=e.length(o.globeCenterInViewSpace),v=Math.sqrt(Math.pow(x,2)-Math.pow(g,2)),b=Math.acos(v/x),w=((t,i,r,n,o,s,a,l,c,h,u,d,p,f)=>({u_frustum_tl:t,u_frustum_tr:i,u_frustum_br:r,u_frustum_bl:n,u_horizon:o,u_transition:s,u_fadeout_range:a,u_color:l,u_high_color:c,u_space_color:h,u_star_intensity:u,u_star_size:5*e.exported.devicePixelRatio,u_star_density:0,u_temporal_offset:d,u_horizon_angle:p,u_rotation_matrix:f}))(o.frustumCorners.TL,o.frustumCorners.TR,o.frustumCorners.BR,o.frustumCorners.BL,o.frustumCorners.horizon,l,_,c,h,u,f,y,b,p);t.prepareDrawProgram(r,a);const T=t.atmosphereBuffer;T&&a.draw(r,n.TRIANGLES,s,e.StencilMode.disabled,e.ColorMode.alphaBlended,e.CullFaceMode.backCW,w,"skybox",T.vertexBuffer,T.indexBuffer,T.segments)}(this,this.style.fog),this.renderPass="sky",(e.globeToMercatorTransition(this.transform.zoom)>0||"globe"!==this.transform.projection.name)&&this.transform.isHorizonVisible())for(this.currentLayer=0;this.currentLayer{const r=t._getLayerSourceCache(e);r&&!e.isHidden(this.transform.zoom)&&(!i||i.getSource().maxzoom0?t.pop():null}isPatternMissing(e){return null===e||void 0!==e&&!this.imageManager.getPattern(e.toString())}terrainRenderModeElevated(){return this.style&&!!this.style.getTerrain()&&!!this.terrain&&!this.terrain.renderingToTexture}currentGlobalDefines(){const e=this.terrain&&this.terrain.renderingToTexture,t=this.terrain&&0===this.terrain.exaggeration(),i=this.style&&this.style.fog,r=[];return this.terrainRenderModeElevated()&&r.push("TERRAIN"),"globe"===this.transform.projection.name&&r.push("GLOBE"),t&&r.push("ZERO_EXAGGERATION"),i&&!e&&0!==i.getOpacity(this.transform.pitch)&&r.push("FOG"),e&&r.push("RENDER_TO_TEXTURE"),this._showOverdrawInspector&&r.push("OVERDRAW_INSPECTOR"),r}useProgram(e,t,i){this.cache=this.cache||{};const r=i||[],n=this.currentGlobalDefines().concat(r),o=Pi.cacheKey(ui[e],e,n,t);return this.cache[o]||(this.cache[o]=new Pi(this.context,e,ui[e],t,lr[e],n)),this.cache[o]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.frontFace.setDefault(),this.context.cullFaceSide.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=e.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new e.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this._terrain&&this._terrain.destroy(),this.globeSharedBuffers&&this.globeSharedBuffers.destroy(),this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.atmosphereBuffer&&this.atmosphereBuffer.destroy()}prepareDrawTile(){this.terrain&&this.terrain.prepareDrawTile()}prepareDrawProgram(t,i,r){if(this.terrain&&this.terrain.renderingToTexture)return;const n=this.style.fog;if(n){const o=n.getOpacity(this.transform.pitch),s=((t,i,r,n,o,s,a,l,c,h,u)=>{const d=t.transform,p=i.properties.get("color").toArray01();p[3]=n;const f=t.frameCounter/1e3%1;return{u_fog_matrix:r?d.calculateFogTileMatrix(r):t.identityMat,u_fog_range:i.getFovAdjustedRange(d._fov),u_fog_color:p,u_fog_horizon_blend:i.properties.get("horizon-blend"),u_fog_temporal_offset:f,u_frustum_tl:o,u_frustum_tr:s,u_frustum_br:a,u_frustum_bl:l,u_globe_pos:c,u_globe_radius:h,u_viewport:u,u_globe_transition:e.globeToMercatorTransition(d.zoom),u_is_globe:+("globe"===d.projection.name)}})(this,n,r,o,this.transform.frustumCorners.TL,this.transform.frustumCorners.TR,this.transform.frustumCorners.BR,this.transform.frustumCorners.BL,this.transform.globeCenterInViewSpace,this.transform.globeRadius,[this.transform.width*e.exported.devicePixelRatio,this.transform.height*e.exported.devicePixelRatio]);i.setFogUniformValues(t,s)}}setTileLoadedFlag(e){this.tileLoaded=e}saveCanvasCopy(){const e=this.canvasCopy();e&&(this.frameCopies.push(e),this.tileLoaded=!1)}canvasCopy(){const e=this.context.gl,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.copyTexImage2D(e.TEXTURE_2D,0,e.RGBA,0,0,e.drawingBufferWidth,e.drawingBufferHeight,0),t}getCanvasCopiesAndTimestamps(){return{canvasCopies:this.frameCopies,timeStamps:this.loadTimeStamps}}averageElevationNeedsEasing(){if(!this.transform._elevation)return!1;const e=this.style&&this.style.fog;return!!e&&0!==e.getOpacity(this.transform.pitch)}getBackgroundTiles(){const t=this._backgroundTiles,i=this._backgroundTiles={},r=this.transform.coveringTiles({tileSize:512});for(const n of r)i[n.key]=t[n.key]||new e.Tile(n,512,this.transform.tileZoom,this);return i}clearBackgroundTiles(){this._backgroundTiles={}}}class Fr{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(i)||i<0||isNaN(r)||r<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=i,this.right=r}interpolate(t,i,r){return null!=i.top&&null!=t.top&&(this.top=e.number(t.top,i.top,r)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.number(t.bottom,i.bottom,r)),null!=i.left&&null!=t.left&&(this.left=e.number(t.left,i.left,r)),null!=i.right&&null!=t.right&&(this.right=e.number(t.right,i.right,r)),this}getCenter(t,i){const r=e.clamp((this.left+t-this.right)/2,0,t),n=e.clamp((this.top+i-this.bottom)/2,0,i);return new e.pointGeometry(r,n)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new Fr(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function Ur(t,i){const r=e.getColumn(t,3);e.fromQuat(t,i),e.setColumn(t,3,r)}function Vr(t,i){const r=e.identity$1([]);return e.rotateZ$1(r,r,-i),e.rotateX$1(r,r,-t),r}function Nr(t,i){const r=[t[0],t[1],0],n=[i[0],i[1],0];if(e.length(r)>=1e-15){const t=e.normalize([],r);e.scale$2(n,t,e.dot(n,t)),i[0]=n[0],i[1]=n[1]}const o=e.cross([],i,t);if(e.len(o)<1e-15)return null;const s=Math.atan2(-o[1],o[0]);return Vr(Math.atan2(Math.sqrt(t[0]*t[0]+t[1]*t[1]),-t[2]),s)}class jr{constructor(e,t){this.position=e,this.orientation=t}get position(){return this._position}set position(t){if(t){const i=t instanceof e.MercatorCoordinate?t:new e.MercatorCoordinate(t[0],t[1],t[2]);this._renderWorldCopies&&(i.x=e.wrap(i.x,0,1)),this._position=i}else this._position=null}lookAtPoint(t,i){if(this.orientation=null,!this.position)return;const r=this.position,n=this._elevation?this._elevation.getAtPointOrZero(e.MercatorCoordinate.fromLngLat(t)):0,o=e.MercatorCoordinate.fromLngLat(t,n),s=[o.x-r.x,o.y-r.y,o.z-r.z];i||(i=[0,0,1]),i[2]=Math.abs(i[2]),this.orientation=Nr(s,i)}setPitchBearing(t,i){this.orientation=Vr(e.degToRad(t),e.degToRad(-i))}}class Gr{constructor(t,i){this._transform=e.identity([]),this.orientation=i,this.position=t}get mercatorPosition(){const t=this.position;return new e.MercatorCoordinate(t[0],t[1],t[2])}get position(){const t=e.getColumn(this._transform,3);return[t[0],t[1],t[2]]}set position(t){var i;t&&e.setColumn(this._transform,3,[(i=t)[0],i[1],i[2],1])}get orientation(){return this._orientation}set orientation(t){this._orientation=t||e.identity$1([]),t&&Ur(this._transform,this._orientation)}getPitchBearing(){const e=this.forward(),t=this.right();return{bearing:Math.atan2(-t[1],t[0]),pitch:Math.atan2(Math.sqrt(e[0]*e[0]+e[1]*e[1]),-e[2])}}setPitchBearing(e,t){this._orientation=Vr(e,t),Ur(this._transform,this._orientation)}forward(){const t=e.getColumn(this._transform,2);return[-t[0],-t[1],-t[2]]}up(){const t=e.getColumn(this._transform,1);return[-t[0],-t[1],-t[2]]}right(){const t=e.getColumn(this._transform,0);return[t[0],t[1],t[2]]}getCameraToWorld(t,i){const r=new Float64Array(16);return e.invert(r,this.getWorldToCamera(t,i)),r}getWorldToCameraPosition(t,i,r){const n=this.position;e.scale$2(n,n,-t);const o=new Float64Array(16);return e.fromScaling(o,[r,r,r]),e.translate(o,o,n),o[10]*=i,o}getWorldToCamera(t,i){const r=new Float64Array(16),n=new Float64Array(4),o=this.position;return e.conjugate(n,this._orientation),e.scale$2(o,o,-t),e.fromQuat(r,n),e.translate(r,r,o),r[1]*=-1,r[5]*=-1,r[9]*=-1,r[13]*=-1,r[8]*=i,r[9]*=i,r[10]*=i,r[11]*=i,r}getCameraToClipPerspective(t,i,r,n){const o=new Float64Array(16);return e.perspective(o,t,i,r,n),o}getDistanceToElevation(t){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=0===t?0:e.mercatorZfromAltitude(t,i?e.latFromMercatorY(this.position[1]):this.position[1]),n=this.forward();return(r-this.position[2])/n[2]}clone(){return new Gr([...this.position],[...this.orientation])}}function Zr(t,i){const r=qr(t.projection,t.zoom,t.width,t.height),n=function(t,i,r,n,o){const s=new e.LngLat(r.lng-180*Wr,r.lat),a=new e.LngLat(r.lng+180*Wr,r.lat),l=t.project(s.lng,s.lat),c=t.project(a.lng,a.lat),h=-Math.atan2(c.y-l.y,c.x-l.x),u=e.MercatorCoordinate.fromLngLat(r);u.y=e.clamp(u.y,-.999975,.999975);const d=u.toLngLat(),p=t.project(d.lng,d.lat),f=e.MercatorCoordinate.fromLngLat(d);f.x+=Wr;const m=f.toLngLat(),_=t.project(m.lng,m.lat),g=Hr(_.x-p.x,_.y-p.y,h),y=e.MercatorCoordinate.fromLngLat(d);y.y+=Wr;const x=y.toLngLat(),v=t.project(x.lng,x.lat),b=Hr(v.x-p.x,v.y-p.y,h),w=Math.abs(g.x)/Math.abs(b.y),T=e.identity([]);e.rotateZ(T,T,-h*(1-(o?0:n)));const E=e.identity([]);return e.scale(E,E,[1,1-(1-w)*n,1]),E[4]=-b.x/b.y*n,e.rotateZ(E,E,h),e.multiply(E,T,E),E}(t.projection,0,t.center,r,i),o=$r(t);return e.scale(n,n,[o,o,1]),n}function $r(t){const i=t.projection,r=qr(t.projection,t.zoom,t.width,t.height),n=Xr(i,t.center),o=Xr(i,e.LngLat.convert(i.center));return Math.pow(2,n*r+(1-r)*o)}function qr(t,i,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/0;const s=t.range;if(!s)return 0;const a=Math.min(o,Math.max(r,n)),l=Math.log(a/1024)/Math.LN2;return e.smoothstep(s[0]+l,s[1]+l,i)}const Wr=1/4e4;function Xr(t,i){const r=e.clamp(i.lat,-e.MAX_MERCATOR_LATITUDE,e.MAX_MERCATOR_LATITUDE),n=new e.LngLat(i.lng-180*Wr,r),o=new e.LngLat(i.lng+180*Wr,r),s=t.project(n.lng,r),a=t.project(o.lng,r),l=e.MercatorCoordinate.fromLngLat(n),c=e.MercatorCoordinate.fromLngLat(o),h=a.x-s.x,u=a.y-s.y,d=c.x-l.x,p=c.y-l.y,f=Math.sqrt((d*d+p*p)/(h*h+u*u));return Math.log(f)/Math.LN2}function Hr(e,t,i){const r=Math.cos(i),n=Math.sin(i);return{x:e*r-t*n,y:e*n+t*r}}class Yr{constructor(t,i,r,n,o,s,a){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==n?60:n,this.setProjection(s),this.setMaxBounds(a),this.width=0,this.height=0,this._center=new e.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._nearZ=0,this._farZ=0,this._unmodified=!0,this._edgeInsets=new Fr,this._projMatrixCache={},this._alignedProjMatrixCache={},this._fogTileMatrixCache={},this._distanceTileDataCache={},this._camera=new Gr,this._centerAltitude=0,this._averageElevation=0,this.cameraElevationReference="ground",this._pixelsPerMercatorPixel=1,this.globeRadius=0,this.globeCenterInViewSpace=[0,0,0],this._horizonShift=.1}clone(){const e=new Yr(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies,this.getProjection());return e._elevation=this._elevation,e._centerAltitude=this._centerAltitude,e._centerAltitudeValidForExaggeration=this._centerAltitudeValidForExaggeration,e.tileSize=this.tileSize,e.mercatorFromTransition=this.mercatorFromTransition,e.width=this.width,e.height=this.height,e.cameraElevationReference=this.cameraElevationReference,e._center=this._center,e._setZoom(this.zoom),e._seaLevelZoom=this._seaLevelZoom,e.angle=this.angle,e._fov=this._fov,e._pitch=this._pitch,e._nearZ=this._nearZ,e._farZ=this._farZ,e._averageElevation=this._averageElevation,e._unmodified=this._unmodified,e._edgeInsets=this._edgeInsets.clone(),e._camera=this._camera.clone(),e._calcMatrices(),e.freezeTileCoverage=this.freezeTileCoverage,e.frustumCorners=this.frustumCorners,e}get elevation(){return this._elevation}set elevation(e){this._elevation!==e&&(this._elevation=e,this._updateCameraOnTerrain(),this._calcMatrices())}updateElevation(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=this._elevation&&this._elevation.exaggeration()!==this._centerAltitudeValidForExaggeration;(null==this._seaLevelZoom||i)&&this._updateCameraOnTerrain(),(e||i)&&this._constrainCamera(t),this._calcMatrices()}getProjection(){return e.pick(this.projection,["name","center","parallels"])}setProjection(i){this.projectionOptions=i||{name:"mercator"};const r=this.projection?this.getProjection():void 0;this.projection=e.getProjection(this.projectionOptions);const n=!t(r,this.getProjection());return n&&this._calcMatrices(),this.mercatorFromTransition=!1,n}setMercatorFromTransition(){const t=this.projection.name;this.mercatorFromTransition=!0,this.projectionOptions={name:"mercator"},this.projection=e.getProjection({name:"mercator"});const i=t!==this.projection.name;return i&&this._calcMatrices(),i}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies&&!0===this.projection.supportsWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get cameraWorldSizeForFog(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get cameraWorldSize(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation,!0),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get pixelsPerMeter(){return this.projection.pixelsPerMeter(this.center.lat,this.worldSize)}get cameraPixelsPerMeter(){return e.mercatorZfromAltitude(this.center.lat,this.cameraWorldSizeForFog)}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.pointGeometry(this.width,this.height)}get bearing(){return e.wrap(this.rotation,-180,180)}set bearing(e){this.rotation=e}get rotation(){return-this.angle/Math.PI*180}set rotation(t){const i=-t*Math.PI/180;var r;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(r=new e.ARRAY_TYPE(4),e.ARRAY_TYPE!=Float32Array&&(r[1]=0,r[2]=0),r[0]=1,r[3]=1,r),function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);e[0]=r*l+o*a,e[1]=n*l+s*a,e[2]=r*-a+o*l,e[3]=n*-a+s*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.clamp(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get aspect(){return this.width/this.height}get fov(){return this._fov/Math.PI*180}get fovX(){return this._fov}get fovY(){const e=1/Math.tan(.5*this.fovX);return 2*Math.atan(1/this.aspect/e)}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=e.degToRad(t),this._calcMatrices())}get averageElevation(){return this._averageElevation}set averageElevation(e){this._averageElevation=e,this._calcFogMatrices(),this._distanceTileDataCache={}}get zoom(){return this._zoom}set zoom(e){const t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._setZoom(t),this._updateSeaLevelZoom(),this._constrain(),this._calcMatrices())}_setZoom(e){this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom}_updateCameraOnTerrain(){if(!this._elevation||!this._elevation.isDataAvailableAtPoint(this.locationCoordinate(this.center)))return this._centerAltitude=0,this._seaLevelZoom=null,void(this._centerAltitudeValidForExaggeration=void 0);const e=this._elevation;this._centerAltitude=e.getAtPointOrZero(this.locationCoordinate(this.center)),this._centerAltitudeValidForExaggeration=e.exaggeration(),this._updateSeaLevelZoom()}_updateSeaLevelZoom(){void 0!==this._centerAltitudeValidForExaggeration&&(this._seaLevelZoom=this._zoomFromMercatorZ((this.pixelsPerMeter*this._centerAltitude+this.cameraToCenterDistance)/this.worldSize))}sampleAverageElevation(){if(!this._elevation)return 0;const t=this._elevation,i=[[.5,.2],[.3,.5],[.5,.5],[.7,.5],[.5,.8]],r=this.horizonLineFromTop();let n=0,o=0;for(let s=0;st.maxzoom&&(i=t.maxzoom);const s=this.locationCoordinate(this.center),a=this.center.lat,l=1<{const i=1/4e4,r=new e.MercatorCoordinate(t.x+i,t.y,t.z),n=new e.MercatorCoordinate(t.x,t.y+i,t.z),o=t.toLngLat(),s=r.toLngLat(),a=n.toLngLat(),l=this.locationCoordinate(o),c=this.locationCoordinate(s),h=this.locationCoordinate(a),u=Math.hypot(c.x-l.x,c.y-l.y),d=Math.hypot(h.x-l.x,h.y-l.y);return Math.sqrt(u*d)*b/i},T=t=>{const i=x,r=v;return{aabb:e.tileAABB(this,l,0,0,0,t,r,i,this.projection),zoom:0,x:0,y:0,minZ:r,maxZ:i,wrap:t,fullyVisible:!1}},E=[];let S=[];const M=i,A=t.reparseOverscaled?r:i,I=e=>e*e,C=I((m-this._centerAltitude)*f),z=e=>{if(!this._elevation||!e.tileID||!o)return;const t=this._elevation.getMinMaxForTile(e.tileID),i=e.aabb;t?(i.min[2]=t.min,i.max[2]=t.max,i.center[2]=(i.min[2]+i.max[2])/2):(e.shouldSplit=D(e),e.shouldSplit||(i.min[2]=i.max[2]=i.center[2]=this._centerAltitude))},D=t=>{if(t.zoom=.9)return!0}else if(n&&(s=I(t.aabb.distanceZ(_)*f)),this.projection.isReprojectedInTileSpace&&r<=5){const i=Math.pow(2,t.zoom),r=w(new e.MercatorCoordinate((t.x+.5)/i,(t.y+.5)/i));l=r>.85?1:r}const c=i*i+o*o+s,u=I((1<{if(t*I(.707)0;){const r=E.pop(),s=r.x,a=r.y;let u=r.fullyVisible;if(!u){const e=r.aabb.intersects(d);if(0===e)continue;u=2===e}if(r.zoom!==M&&D(r))for(let t=0;t<4;t++){const i=(s<<1)+t%2,c=(a<<1)+(t>>1),d={aabb:o?r.aabb.quadrant(t):e.tileAABB(this,l,r.zoom+1,i,c,r.wrap,r.minZ,r.maxZ,this.projection),zoom:r.zoom+1,x:i,y:c,wrap:r.wrap,fullyVisible:u,tileID:void 0,shouldSplit:void 0,minZ:r.minZ,maxZ:r.maxZ};n&&!h&&(d.tileID=new e.OverscaledTileID(r.zoom+1===M?A:r.zoom+1,r.wrap,r.zoom+1,i,c),z(d)),E.push(d)}else{const n=r.zoom===M?A:r.zoom;if(t.minzoom&&t.minzoom>n)continue;const o=c[0]-(.5+s+(r.wrap<{const o=[0,0,0,1],s=[e.EXTENT,e.EXTENT,0,1],a=this.calculateFogTileMatrix(n.tileID.toUnwrapped());e.transformMat4$1(o,o,a),e.transformMat4$1(s,s,a);const l=e.getAABBPointSquareDist(o,s);if(0===l)return!0;let c=!1;const h=this._elevation;if(h&&l>i&&0!==r){const i=this.calculateProjMatrix(n.tileID.toUnwrapped());let o;t.isTerrainDEM||(o=h.getMinMaxForTile(n.tileID)),o||(o={min:v,max:x});const s=e.furthestTileCorner(this.rotation),a=[s[0]*e.EXTENT,s[1]*e.EXTENT,o.max];e.transformMat4(a,a,i),c=(1-a[1])*this.height*.5e.distanceSq-t.distanceSq)).map((e=>e.tileID))}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(t){const i=e.clamp(t.lat,-e.MAX_MERCATOR_LATITUDE,e.MAX_MERCATOR_LATITUDE),r=this.projection.project(t.lng,i);return new e.pointGeometry(r.x*this.worldSize,r.y*this.worldSize)}unproject(e){return this.projection.unproject(e.x/this.worldSize,e.y/this.worldSize)}get point(){return this.project(this.center)}get pointMerc(){return this.point._div(this.worldSize)}get pixelsPerMeterRatio(){return this.pixelsPerMeter/e.mercatorZfromAltitude(1,this.center.lat)/this.worldSize}setLocationAtPoint(t,i){let r,n;const o=this.centerPoint;if("globe"===this.projection.name){const e=this.worldSize;r=(i.x-o.x)/e,n=(i.y-o.y)/e}else{const e=this.pointCoordinate(i),t=this.pointCoordinate(o);r=e.x-t.x,n=e.y-t.y}const s=this.locationCoordinate(t);this.setLocation(new e.MercatorCoordinate(s.x-r,s.y-n))}setLocation(e){this.center=this.coordinateLocation(e),this.projection.wrap&&(this.center=this.center.wrap())}locationPoint(e){return this.projection.locationPoint(this,e)}locationPoint3D(e){return this.projection.locationPoint(this,e,!0)}pointLocation(e){return this.coordinateLocation(this.pointCoordinate(e))}pointLocation3D(e){return this.coordinateLocation(this.pointCoordinate3D(e))}locationCoordinate(t,i){const r=i?e.mercatorZfromAltitude(i,t.lat):void 0,n=this.projection.project(t.lng,t.lat);return new e.MercatorCoordinate(n.x,n.y,r)}coordinateLocation(e){return this.projection.unproject(e.x,e.y)}pointRayIntersection(t,i){const r=null!=i?i:this._centerAltitude,n=[t.x,t.y,0,1],o=[t.x,t.y,1,1];e.transformMat4$1(n,n,this.pixelMatrixInverse),e.transformMat4$1(o,o,this.pixelMatrixInverse);const s=o[3];e.scale$1(n,n,1/n[3]),e.scale$1(o,o,1/s);const a=n[2],l=o[2];return{p0:n,p1:o,t:a===l?0:(r-a)/(l-a)}}screenPointToMercatorRay(t){const i=[t.x,t.y,0,1],r=[t.x,t.y,1,1];return e.transformMat4$1(i,i,this.pixelMatrixInverse),e.transformMat4$1(r,r,this.pixelMatrixInverse),e.scale$1(i,i,1/i[3]),e.scale$1(r,r,1/r[3]),i[2]=e.mercatorZfromAltitude(i[2],this._center.lat)*this.worldSize,r[2]=e.mercatorZfromAltitude(r[2],this._center.lat)*this.worldSize,e.scale$1(i,i,1/this.worldSize),e.scale$1(r,r,1/this.worldSize),new e.Ray([i[0],i[1],i[2]],e.normalize([],e.sub([],r,i)))}rayIntersectionCoordinate(t){const{p0:i,p1:r,t:n}=t,o=e.mercatorZfromAltitude(i[2],this._center.lat),s=e.mercatorZfromAltitude(r[2],this._center.lat);return new e.MercatorCoordinate(e.number(i[0],r[0],n)/this.worldSize,e.number(i[1],r[1],n)/this.worldSize,e.number(o,s,n))}pointCoordinate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._centerAltitude;return this.projection.pointCoordinate(this,e.x,e.y,t)}pointCoordinate3D(t){if(!this.elevation)return this.pointCoordinate(t);let i=this.projection.pointCoordinate3D(this,t.x,t.y);if(i)return new e.MercatorCoordinate(i[0],i[1],i[2]);let r=0,n=this.horizonLineFromTop();if(t.y>n)return this.pointCoordinate(t);const o=.02*n,s=t.clone();for(let a=0;a<10&&n-r>o;a++){s.y=e.number(r,n,.66);const t=this.projection.pointCoordinate3D(this,s.x,s.y);t?(n=s.y,i=t):r=s.y}return i?new e.MercatorCoordinate(i[0],i[1],i[2]):this.pointCoordinate(t)}isPointAboveHorizon(e){return this.projection.isPointAboveHorizon(this,e)}_coordinatePoint(t,i){const r=i&&this.elevation?this.elevation.getAtPointOrZero(t,this._centerAltitude):this._centerAltitude,n=[t.x*this.worldSize,t.y*this.worldSize,r+t.toAltitude(),1];return e.transformMat4$1(n,n,this.pixelMatrix),n[3]>0?new e.pointGeometry(n[0]/n[3],n[1]/n[3]):new e.pointGeometry(Number.MAX_VALUE,Number.MAX_VALUE)}_getBoundsNonRectangular(){const{top:t,left:i}=this._edgeInsets,r=this.height-this._edgeInsets.bottom,n=this.width-this._edgeInsets.right,o=this.pointLocation3D(new e.pointGeometry(i,t)),s=this.pointLocation3D(new e.pointGeometry(n,t)),a=this.pointLocation3D(new e.pointGeometry(n,r)),l=this.pointLocation3D(new e.pointGeometry(i,r));let c=Math.min(o.lng,s.lng,a.lng,l.lng),h=Math.max(o.lng,s.lng,a.lng,l.lng),u=Math.min(o.lat,s.lat,a.lat,l.lat),d=Math.max(o.lat,s.lat,a.lat,l.lat);const p=Math.pow(2,-this.zoom)/16*270,f="globe"===this.projection.name?1:4,m=(t,i,r,n,o)=>{const s=(t+r)/2,a=(i+n)/2,l=new e.pointGeometry(s,a),{lng:_,lat:g}=this.pointLocation3D(l),y=Math.max(0,c-_,u-g,_-h,g-d);c=Math.min(c,_),h=Math.max(h,_),u=Math.min(u,g),d=Math.max(d,g),(op)&&(m(t,i,s,a,o+1),m(s,a,r,n,o+1))};if(m(i,t,n,t,1),m(n,t,n,r,1),m(n,r,i,r,1),m(i,r,i,t,1),"globe"===this.projection.name){const[t,i]=e.polesInViewport(this);t?(d=90,h=180,c=-180):i&&(u=-90,h=180,c=-180)}return new e.LngLatBounds(new e.LngLat(c,u),new e.LngLat(h,d))}_getBoundsRectangular(t,i){const{top:r,left:n}=this._edgeInsets,o=this.height-this._edgeInsets.bottom,s=this.width-this._edgeInsets.right,a=new e.pointGeometry(n,r),l=new e.pointGeometry(s,r),c=new e.pointGeometry(s,o),h=new e.pointGeometry(n,o);let u=this.pointCoordinate(a,t),d=this.pointCoordinate(l,t);const p=this.pointCoordinate(c,i),f=this.pointCoordinate(h,i),m=(e,t)=>(t.y-e.y)/(t.x-e.x);return u.y>1&&d.y>=0?u=new e.MercatorCoordinate((1-f.y)/m(f,u)+f.x,1):u.y<0&&d.y<=1&&(u=new e.MercatorCoordinate(-f.y/m(f,u)+f.x,0)),d.y>1&&u.y>=0?d=new e.MercatorCoordinate((1-p.y)/m(p,d)+p.x,1):d.y<0&&u.y<=1&&(d=new e.MercatorCoordinate(-p.y/m(p,d)+p.x,0)),(new e.LngLatBounds).extend(this.coordinateLocation(u)).extend(this.coordinateLocation(d)).extend(this.coordinateLocation(f)).extend(this.coordinateLocation(p))}_getBoundsRectangularTerrain(){const e=this.elevation;if(!e.visibleDemTiles.length||e.isUsingMockSource())return this._getBoundsRectangular(0,0);const t=e.visibleDemTiles.reduce(((e,t)=>{if(t.dem){const i=t.dem.tree;e.min=Math.min(e.min,i.minimums[0]),e.max=Math.max(e.max,i.maximums[0])}return e}),{min:Number.MAX_VALUE,max:0});return this._getBoundsRectangular(t.min*e.exaggeration(),t.max*e.exaggeration())}getBounds(){return"mercator"===this.projection.name||"equirectangular"===this.projection.name?this._terrainEnabled()?this._getBoundsRectangularTerrain():this._getBoundsRectangular(0,0):this._getBoundsNonRectangular()}horizonLineFromTop(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const t=this.height/2/Math.tan(this._fov/2)/Math.tan(Math.max(this._pitch,.1))+this.centerOffset.y,i=this.height/2-t*(1-this._horizonShift);return e?Math.max(0,i):i}getMaxBounds(){return this.maxBounds}setMaxBounds(t){this.maxBounds=t,this.minLat=-e.MAX_MERCATOR_LATITUDE,this.maxLat=e.MAX_MERCATOR_LATITUDE,this.minLng=-180,this.maxLng=180,t&&(this.minLat=t.getSouth(),this.maxLat=t.getNorth(),this.minLng=t.getWest(),this.maxLng=t.getEast(),this.maxLng1&&void 0!==arguments[1]&&arguments[1];const r=t.key,n=i?this._alignedProjMatrixCache:this._projMatrixCache;if(n[r])return n[r];const o=this.calculatePosMatrix(t,this.worldSize);return e.multiply(o,this.projection.isReprojectedInTileSpace?this.mercatorMatrix:i?this.alignedProjMatrix:this.projMatrix,o),n[r]=new Float32Array(o),n[r]}calculatePixelsToTileUnitsMatrix(t){const i=t.tileID.key,r=this._pixelsToTileUnitsCache;if(r[i])return r[i];const n=function(t,i){const{scale:r}=t.tileTransform,n=r*e.EXTENT/(t.tileSize*Math.pow(2,i.zoom-t.tileID.overscaledZ+t.tileID.canonical.z));return o=new Float32Array(4),l=(s=i.inverseAdjustmentMatrix)[1],c=s[2],h=s[3],d=(a=[n,n])[1],o[0]=s[0]*(u=a[0]),o[1]=l*u,o[2]=c*d,o[3]=h*d,o;var o,s,a,l,c,h,u,d}(t,this);return r[i]=n,r[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}globeToMercatorMatrix(){if("globe"===this.projection.name){const t=1/this.worldSize,i=e.fromScaling([],[t,t,t]);return e.multiply(i,i,this.globeMatrix),i}}recenterOnTerrain(){if(!this._elevation||"globe"===this.projection.name)return;const t=this._elevation;this._updateCameraState();const i=e.mercatorZfromAltitude(1,this._center.lat)*this.worldSize,r=this._computeCameraPosition(i),n=this._camera.forward(),o=e.mercatorZfromAltitude(1,this._center.lat);r[2]/=o,n[2]/=o,e.normalize(n,n);const s=t.raycast(r,n,t.exaggeration());if(s){const t=e.scaleAndAdd([],r,n,s),i=new e.MercatorCoordinate(t[0],t[1],e.mercatorZfromAltitude(t[2],e.latFromMercatorY(t[1]))),a=(i.z+e.length([i.x-r[0],i.y-r[1],i.z-r[2]*o]))*this._pixelsPerMercatorPixel;this._seaLevelZoom=this._zoomFromMercatorZ(a),this._centerAltitude=i.toAltitude(),this._center=this.coordinateLocation(i),this._updateZoomFromElevation(),this._constrain(),this._calcMatrices()}}_constrainCamera(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this._elevation)return;const i=this._elevation,r=e.mercatorZfromAltitude(1,this._center.lat)*this.worldSize,n=this._computeCameraPosition(r),o=i.getAtPointOrZero(new e.MercatorCoordinate(...n)),s=this.pixelsPerMeter/this.worldSize*o,a=this._minimumHeightOverTerrain(),l=n[2]-s;if(l<=a)if(l<0||t){const t=this.locationCoordinate(this._center,this._centerAltitude),i=[n[0],n[1],t.z-n[2]],r=e.length(i);i[2]-=(a-l)/this._pixelsPerMercatorPixel;const o=e.length(i);if(0===o)return;e.scale$2(i,i,r/o*this._pixelsPerMercatorPixel),this._camera.position=[n[0],n[1],t.z*this._pixelsPerMercatorPixel-i[2]],this._updateStateFromCamera()}else this._isCameraConstrained=!0}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t="globe"===this.projection.name||this.mercatorFromTransition;if(this.projection.isReprojectedInTileSpace||t){const i=this.center;return i.lat=e.clamp(i.lat,this.minLat,this.maxLat),(this.maxBounds||!this.renderWorldCopies&&!t)&&(i.lng=e.clamp(i.lng,this.minLng,this.maxLng)),this.center=i,void(this._constraining=!1)}const i=this._unmodified,{x:r,y:n}=this.point;let o=0,s=r,a=n;const l=this.width/2,c=this.height/2,h=this.worldMinY*this.scale,u=this.worldMaxY*this.scale;if(n-cu&&(a=u-c),u-ht&&(s=t-l),t-e.5?v-1:v,b>.5?b-1:b,0]),this.alignedProjMatrix=w,a=e.create(),e.scale(a,a,[this.width/2,-this.height/2,1]),e.translate(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=e.create(),e.scale(a,a,[1,-1,1]),e.translate(a,a,[-1,-1,0]),e.scale(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),this._calcFogMatrices(),this._distanceTileDataCache={},a=e.invert(new Float64Array(16),this.pixelMatrix),!a)throw new Error("failed to invert matrix");if(this.pixelMatrixInverse=a,"globe"===this.projection.name||this.mercatorFromTransition){this.globeMatrix=e.calculateGlobeMatrix(this);const t=[this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]];this.globeCenterInViewSpace=e.transformMat4(t,t,o),this.globeRadius=this.worldSize/2/Math.PI-1}else this.globeMatrix=a;this._projMatrixCache={},this._alignedProjMatrixCache={},this._pixelsToTileUnitsCache={}}_calcFogMatrices(){this._fogTileMatrixCache={};const t=this.cameraWorldSizeForFog,i=this.cameraPixelsPerMeter,r=this._camera.position,n=1/this.height/this._pixelsPerMercatorPixel,o=[t,t,i];e.scale$2(o,o,n),e.scale$2(r,r,-1),e.multiply$2(r,r,o);const s=e.create();e.translate(s,s,r),e.scale(s,s,o),this.mercatorFogMatrix=s,this.worldToFogMatrix=this._camera.getWorldToCameraPosition(t,i,n)}_computeCameraPosition(e){const t=(e=e||this.pixelsPerMeter)/this.pixelsPerMeter,i=this._camera.forward(),r=this.point,n=this._mercatorZfromZoom(this._seaLevelZoom?this._seaLevelZoom:this._zoom)*t-e/this.worldSize*this._centerAltitude;return[r.x/this.worldSize-i[0]*n,r.y/this.worldSize-i[1]*n,e/this.worldSize*this._centerAltitude-i[2]*n]}_updateCameraState(){this.height&&(this._camera.setPitchBearing(this._pitch,this.angle),this._camera.position=this._computeCameraPosition())}_translateCameraConstrained(t){const i=this._maxCameraBoundsDistance()*Math.cos(this._pitch),r=this._camera.position[2],n=t[2];let o=1;this.projection.wrap&&(this.center=this.center.wrap()),n>0&&(o=Math.min((i-r)/n,1)),this._camera.position=e.scaleAndAdd([],this._camera.position,t,o),this._updateStateFromCamera()}_updateStateFromCamera(){const t=this._camera.position,i=this._camera.forward(),{pitch:r,bearing:n}=this._camera.getPitchBearing(),o=e.mercatorZfromAltitude(this._centerAltitude,this.center.lat)*this._pixelsPerMercatorPixel,s=this._mercatorZfromZoom(this._maxZoom)*Math.cos(e.degToRad(this._maxPitch)),a=Math.max((t[2]-o)/Math.cos(r),s),l=this._zoomFromMercatorZ(a);e.scaleAndAdd(t,t,i,a),this._pitch=e.clamp(r,e.degToRad(this.minPitch),e.degToRad(this.maxPitch)),this.angle=e.wrap(n,-Math.PI,Math.PI),this._setZoom(e.clamp(l,this._minZoom,this._maxZoom)),this._updateSeaLevelZoom(),this._center=this.coordinateLocation(new e.MercatorCoordinate(t[0],t[1],t[2])),this._unmodified=!1,this._constrain(),this._calcMatrices()}_worldSizeFromZoom(e){return Math.pow(2,e)*this.tileSize}_mercatorZfromZoom(e){return this.cameraToCenterDistance/this._worldSizeFromZoom(e)}_minimumHeightOverTerrain(){const e=Math.min((null!=this._seaLevelZoom?this._seaLevelZoom:this._zoom)+4,this._maxZoom);return this._mercatorZfromZoom(e)}_zoomFromMercatorZ(e){return this.scaleZoom(this.cameraToCenterDistance/(e*this.tileSize))}zoomFromMercatorZAdjusted(t){let i=0,r=e.GLOBE_ZOOM_THRESHOLD_MAX,n=0,o=1/0;for(;r-i>1e-6&&r>i;){const e=i+.5*(r-i),s=this.tileSize*Math.pow(2,e),a=this.getCameraToCenterDistance(this.projection,e,s),l=this.scaleZoom(a/(t*this.tileSize)),c=Math.abs(e-l);cc||i.y>1)return!0}return!1}isHorizonVisible(){return this.pitch+e.radToDeg(this.fovAboveCenter)>88||this.anyCornerOffEdge(new e.pointGeometry(0,0),new e.pointGeometry(this.width,this.height))}zoomDeltaToMovement(t,i){const r=e.length(e.sub([],this._camera.position,t)),n=this._zoomFromMercatorZ(r)+i;return r-this._mercatorZfromZoom(n)}getCameraPoint(){if("globe"===this.projection.name){const t=function(t,i){let[r,n,o]=t;const s=[r,n,o,1];e.transformMat4$1(s,s,i);const a=s[3]=Math.max(s[3],1e-6);return s[0]/=a,s[1]/=a,s[2]/=a,s}([this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]],this.pixelMatrix);return new e.pointGeometry(t[0],t[1])}{const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.pointGeometry(0,t))}}getCameraToCenterDistance(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.zoom,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.worldSize;const r=qr(e,t,this.width,this.height,1024),n=e.pixelSpaceConversion(this.center.lat,i,r);return.5/Math.tan(.5*this._fov)*this.height*n}getWorldToCameraMatrix(){const t=this._camera.getWorldToCamera(this.worldSize,"meters"===this.projection.zAxisUnit?this.pixelsPerMeter:1);return"globe"===this.projection.name&&e.multiply(t,t,this.globeMatrix),t}}function Kr(e,t){let i=!1,r=null;const n=()=>{r=null,i&&(e(),r=setTimeout(n,t),i=!1)};return()=>(i=!0,r||n(),r)}class Jr{constructor(t){this._hashName=t&&encodeURIComponent(t),e.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=Kr(this._updateHashUnthrottled.bind(this),300)}addTo(t){return this._map=t,e.window.addEventListener("hashchange",this._onHashChange,!1),t.on("moveend",this._updateHash),this}remove(){return this._map?(this._map.off("moveend",this._updateHash),e.window.removeEventListener("hashchange",this._onHashChange,!1),clearTimeout(this._updateHash()),this._map=void 0,this):this}getHashString(){const t=this._map;if(!t)return"";const i=Qr(t);if(this._hashName){const t=this._hashName;let r=!1;const n=e.window.location.hash.slice(1).split("&").map((e=>{const n=e.split("=")[0];return n===t?(r=!0,`${n}=${i}`):e})).filter((e=>e));return r||n.push(`${t}=${i}`),`#${n.join("&")}`}return`#${i}`}_getCurrentHash(){const t=e.window.location.hash.replace("#","");if(this._hashName){let e;return t.split("&").map((e=>e.split("="))).forEach((t=>{t[0]===this._hashName&&(e=t)})),(e&&e[1]||"").split("/")}return t.split("/")}_onHashChange(){const e=this._map;if(!e)return!1;const t=this._getCurrentHash();if(t.length>=3&&!t.some((e=>isNaN(e)))){const i=e.dragRotate.isEnabled()&&e.touchZoomRotate.isEnabled()?+(t[3]||0):e.getBearing();return e.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:i,pitch:+(t[4]||0)}),!0}return!1}_updateHashUnthrottled(){const t=e.window.location.href.replace(/(#.+)?$/,this.getHashString());e.window.history.replaceState(e.window.history.state,null,t)}}function Qr(e,t){const i=e.getCenter(),r=Math.round(100*e.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),o=Math.pow(10,n),s=Math.round(i.lng*o)/o,a=Math.round(i.lat*o)/o,l=e.getBearing(),c=e.getPitch();let h=t?`/${s}/${a}/${r}`:`${r}/${a}/${s}`;return(l||c)&&(h+="/"+Math.round(10*l)/10),c&&(h+=`/${Math.round(c)}`),h}const en={linearity:.3,easing:e.bezier(0,0,.3,1)},tn=e.extend({deceleration:2500,maxSpeed:1400},en),rn=e.extend({deceleration:20,maxSpeed:1400},en),nn=e.extend({deceleration:1e3,maxSpeed:360},en),on=e.extend({deceleration:1e3,maxSpeed:90},en);class sn{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:e.exported.now(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,i=e.exported.now();for(;t.length>0&&i-t[0].time>160;)t.shift()}_onMoveEnd(t){if(e.exported.prefersReducedMotion)return;if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new e.pointGeometry(0,0),pinchAround:void 0,around:void 0};for(const{settings:e}of this._inertiaBuffer)i.zoom+=e.zoomDelta||0,i.bearing+=e.bearingDelta||0,i.pitch+=e.pitchDelta||0,e.panDelta&&i.pan._add(e.panDelta),e.around&&(i.around=e.around),e.pinchAround&&(i.pinchAround=e.pinchAround);const r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,n={};if(i.pan.mag()){const o=ln(i.pan.mag(),r,e.extend({},tn,t||{}));n.offset=i.pan.mult(o.amount/i.pan.mag()),n.center=this._map.transform.center,an(n,o)}if(i.zoom){const e=ln(i.zoom,r,rn);n.zoom=this._map.transform.zoom+e.amount,an(n,e)}if(i.bearing){const t=ln(i.bearing,r,nn);n.bearing=this._map.transform.bearing+e.clamp(t.amount,-179,179),an(n,t)}if(i.pitch){const e=ln(i.pitch,r,on);n.pitch=this._map.transform.pitch+e.amount,an(n,e)}if(n.zoom||n.bearing){const e=void 0===i.pinchAround?i.around:i.pinchAround;n.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),n.noMoveStart=!0,n}}function an(e,t){(!e.duration||e.duration3&&void 0!==arguments[3]?arguments[3]:{};const o=f(i.getCanvasContainer(),r),s=i.unproject(o);super(t,e.extend({point:o,lngLat:s,originalEvent:r},n)),this._defaultPrevented=!1,this.target=i}}class hn extends e.Event{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,i,r){const n="touchend"===t?r.changedTouches:r.touches,o=m(i.getCanvasContainer(),n),s=o.map((e=>i.unproject(e))),a=o.reduce(((e,t,i,r)=>e.add(t.div(r.length))),new e.pointGeometry(0,0));super(t,{points:o,point:a,lngLats:s,lngLat:i.unproject(a),originalEvent:r}),this._defaultPrevented=!1}}class un extends e.Event{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,i){super(e,{originalEvent:i}),this._defaultPrevented=!1}}class dn{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){this._mousedownPos=void 0}wheel(e){return this._firePreventable(new un(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new cn(e.type,this._map,e))}mouseup(e){this._map.fire(new cn(e.type,this._map,e))}preclick(t){const i=e.extend({},t);i.type="preclick",this._map.fire(new cn(i.type,this._map,i))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||(this.preclick(e),this._map.fire(new cn(e.type,this._map,e)))}dblclick(e){return this._firePreventable(new cn(e.type,this._map,e))}mouseover(e){this._map.fire(new cn(e.type,this._map,e))}mouseout(e){this._map.fire(new cn(e.type,this._map,e))}touchstart(e){return this._firePreventable(new hn(e.type,this._map,e))}touchmove(e){this._map.fire(new hn(e.type,this._map,e))}touchend(e){this._map.fire(new hn(e.type,this._map,e))}touchcancel(e){this._map.fire(new hn(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class pn{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._contextMenuEvent=void 0}mousemove(e){this._map.fire(new cn(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new cn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._map.fire(new cn(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class fn{constructor(e,t){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(h(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;const i=t,r=this._startPos,n=this._lastPos;if(!r||!n||n.equals(i)||!this._box&&i.dist(r){this._box&&(this._box.style.transform=`translate(${s}px,${l}px)`,this._box.style.width=a-s+"px",this._box.style.height=c-l+"px")}))}mouseupWindow(t,i){if(!this._active)return;const r=this._startPos,n=i;if(r&&0===t.button){if(this.reset(),p(),r.x!==n.x||r.y!==n.y)return this._map.fire(new e.Event("boxzoomend",{originalEvent:t})),{cameraAnimation:e=>e.fitScreenCoordinates(r,n,this._map.getBearing(),{linear:!1})};this._fireEvent("boxzoomcancel",t)}}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e))}blur(){this.reset()}reset(){this._active=!1,this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.remove(),this._box=null),u(),delete this._startPos,delete this._lastPos}_fireEvent(t,i){return this._map.fire(new e.Event(t,{originalEvent:i}))}}function mn(e,t){const i={};for(let r=0;rthis.numTouches)&&(this.aborted=!0),this.aborted||(0===this.startTime&&(this.startTime=t.timeStamp),r.length===this.numTouches&&(this.centroid=function(t){const i=new e.pointGeometry(0,0);for(const e of t)i._add(e);return i.div(t.length)}(i),this.touches=mn(r,i)))}touchmove(e,t,i){if(this.aborted||!this.centroid)return;const r=mn(i,t);for(const n in this.touches){const e=this.touches[n],t=r[n];(!t||t.dist(e)>30)&&(this.aborted=!0)}}touchend(e,t,i){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class gn{constructor(e){this.singleTap=new _n(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,this.lastTap=void 0,this.count=0,this.singleTap.reset()}touchstart(e,t,i){this.singleTap.touchstart(e,t,i)}touchmove(e,t,i){this.singleTap.touchmove(e,t,i)}touchend(e,t,i){const r=this.singleTap.touchend(e,t,i);if(r){const t=e.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(r)<30;if(t&&i||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class yn{constructor(){this._zoomIn=new gn({numTouches:1,numTaps:2}),this._zoomOut=new gn({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,i){this._zoomIn.touchstart(e,t,i),this._zoomOut.touchstart(e,t,i)}touchmove(e,t,i){this._zoomIn.touchmove(e,t,i),this._zoomOut.touchmove(e,t,i)}touchend(e,t,i){const r=this._zoomIn.touchend(e,t,i),n=this._zoomOut.touchend(e,t,i);return r?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(r)},{originalEvent:e})}):n?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(n)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const xn={0:1,2:2};class vn{constructor(e){this.reset(),this._clickTolerance=e.clickTolerance||1}blur(){this.reset()}reset(){this._active=!1,this._moved=!1,this._lastPoint=void 0,this._eventButton=void 0}_correctButton(e,t){return!1}_move(e,t){return{}}mousedown(e,t){if(this._lastPoint)return;const i=_(e);this._correctButton(e,i)&&(this._lastPoint=t,this._eventButton=i)}mousemoveWindow(e,t){const i=this._lastPoint;if(i)if(e.preventDefault(),null!=this._eventButton&&function(e,t){const i=xn[t];return void 0===e.buttons||(e.buttons&i)!==i}(e,this._eventButton))this.reset();else if(this._moved||!(t.dist(i)0&&(this._active=!0);const n=mn(r,i),o=new e.pointGeometry(0,0),s=new e.pointGeometry(0,0);let a=0;for(const e in n){const t=n[e],i=this._touches[e];i&&(o._add(t),s._add(t.sub(i)),a++,n[e]=t)}if(this._touches=n,a{this._alertContainer.classList.remove("mapboxgl-touch-pan-blocker-show"),this._alertContainer.setAttribute("role","null")}),500)}}class Sn{constructor(){this.reset()}reset(){this._active=!1,this._firstTwoTouches=void 0}_start(e){}_move(e,t,i){return{}}touchstart(e,t,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([t[0],t[1]]))}touchmove(e,t,i){const r=this._firstTwoTouches;if(!r)return;e.preventDefault();const[n,o]=r,s=Mn(i,t,n),a=Mn(i,t,o);if(!s||!a)return;const l=this._aroundCenter?null:s.add(a).div(2);return this._move([s,a],l,e)}touchend(e,t,i){if(!this._firstTwoTouches)return;const[r,n]=this._firstTwoTouches,o=Mn(i,t,r),s=Mn(i,t,n);o&&s||(this._active&&p(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}function Mn(e,t,i){for(let r=0;rMath.abs(e.x)}class kn extends Sn{constructor(e){super(),this._map=e}reset(){super.reset(),this._valid=void 0,this._firstMove=void 0,this._lastPoints=void 0}_start(e){this._lastPoints=e,Dn(e[0].sub(e[1]))&&(this._valid=!1)}_move(t,i,r){const n=this._lastPoints;if(!n)return;const o=t[0].sub(n[0]),s=t[1].sub(n[1]);return this._map._cooperativeGestures&&!e.isFullscreen()&&r.touches.length<3||(this._valid=this.gestureBeginsVertically(o,s,r.timeStamp),!this._valid)?void 0:(this._lastPoints=t,this._active=!0,{pitchDelta:(o.y+s.y)/2*-.5})}gestureBeginsVertically(e,t,i){if(void 0!==this._valid)return this._valid;const r=e.mag()>=2,n=t.mag()>=2;if(!r&&!n)return;if(!r||!n)return null==this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=e.y>0==t.y>0;return Dn(e)&&Dn(t)&&o}}const Pn={panStep:100,bearingStep:15,pitchStep:10};class Ln{constructor(){const e=Pn;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1}blur(){this.reset()}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,i=0,r=0,n=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?i=-1:(e.preventDefault(),n=-1);break;case 39:e.shiftKey?i=1:(e.preventDefault(),n=1);break;case 38:e.shiftKey?r=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?r=-1:(e.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,r=0),{cameraAnimation:s=>{const a=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:Rn,zoom:t?Math.round(a)+t*(e.shiftKey?2:1):a,bearing:s.getBearing()+i*this._bearingStep,pitch:s.getPitch()+r*this._pitchStep,offset:[-n*this._panStep,-o*this._panStep],center:s.getCenter()},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function Rn(e){return e*(2-e)}const Bn=4.000244140625;class On{constructor(t,i){this._map=t,this._el=t.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,e.bindAll(["_onTimeout","_addScrollZoomBlocker","_showBlockerAlert"],this)}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around,this._map._cooperativeGestures&&this._addScrollZoomBlocker())}disable(){this.isEnabled()&&(this._enabled=!1,this._map._cooperativeGestures&&(clearTimeout(this._alertTimer),this._alertContainer.remove()))}wheel(t){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!(t.ctrlKey||t.metaKey||this.isZooming()||e.isFullscreen()))return void this._showBlockerAlert();"hidden"!==this._alertContainer.style.visibility&&(this._alertContainer.style.visibility="hidden",clearTimeout(this._alertTimer))}let i=t.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const r=e.exported.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==i&&i%Bn==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),t.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=t,this._delta-=i,this._active||this._start(t)),t.preventDefault()}_onTimeout(e){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const t=f(this._el,e);this._aroundPoint=this._aroundCenter?this._map.transform.centerPoint:t,this._aroundCoord=this._map.transform.pointCoordinate3D(this._aroundPoint),this._targetZoom=void 0,this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._map.transform;"wheel"===this._type&&t.projection.wrap&&(t._center.lng>=180||t._center.lng<=-180)&&(this._prevEase=null,this._easing=null,this._lastWheelEvent=null,this._lastWheelEventTime=0);const i=()=>t._terrainEnabled()&&this._aroundCoord?t.computeZoomRelativeTo(this._aroundCoord):t.zoom;if(0!==this._delta){const e="wheel"===this._type&&Math.abs(this._delta)>Bn?this._wheelZoomRate:this._defaultZoomRate;let r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);const n=i(),o=Math.pow(2,n),s="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):o;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(s*r))),"wheel"===this._type&&(this._startZoom=n,this._easing=this._smoothOutEasing(200)),this._delta=0}const r="number"==typeof this._targetZoom?this._targetZoom:i(),n=this._startZoom,o=this._easing;let s,a=!1;if("wheel"===this._type&&n&&o){const t=Math.min((e.exported.now()-this._lastWheelEventTime)/200,1),i=o(t);s=e.number(n,r,i),t<1?this._frameId||(this._frameId=!0):a=!0}else s=r,a=!0;return this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!a,zoomDelta:s-i(),around:this._aroundPoint,aroundCoord:this._aroundCoord,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.ease;if(this._prevEase){const t=this._prevEase,r=(e.exported.now()-t.start)/t.duration,n=t.easing(r+.01)-t.easing(r),o=.27/Math.sqrt(n*n+1e-4)*.01,s=Math.sqrt(.0729-o*o);i=e.bezier(o,s,.25,1)}return this._prevEase={start:e.exported.now(),duration:t,easing:i},i}blur(){this.reset()}reset(){this._active=!1}_addScrollZoomBlocker(){this._map&&!this._alertContainer&&(this._alertContainer=o("div","mapboxgl-scroll-zoom-blocker",this._map._container),this._alertContainer.textContent=/(Mac|iPad)/i.test(e.window.navigator.userAgent)?this._map._getUIString("ScrollZoomBlocker.CmdMessage"):this._map._getUIString("ScrollZoomBlocker.CtrlMessage"),this._alertContainer.style.fontSize=`${Math.max(10,Math.min(24,Math.floor(.05*this._el.clientWidth)))}px`)}_showBlockerAlert(){this._alertContainer.style.visibility="visible",this._alertContainer.classList.add("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","alert"),clearTimeout(this._alertTimer),this._alertTimer=setTimeout((()=>{this._alertContainer.classList.remove("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","null")}),200)}}class Fn{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Un{constructor(){this.reset()}reset(){this._active=!1}blur(){this.reset()}dblclick(e,t){return e.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(e.shiftKey?-1:1),around:i.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Vn{constructor(){this._tap=new gn({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,this._swipePoint=void 0,this._swipeTouch=0,this._tapTime=0,this._tap.reset()}touchstart(e,t,i){this._swipePoint||(this._tapTime&&e.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=t[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(e,t,i))}touchmove(e,t,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const r=t[0],n=r.y-this._swipePoint.y;return this._swipePoint=r,e.preventDefault(),this._active=!0,{zoomDelta:n/128}}}else this._tap.touchmove(e,t,i)}touchend(e,t,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(e,t,i)&&(this._tapTime=e.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Nn{constructor(e,t,i){this._el=e,this._mousePan=t,this._touchPan=i}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class jn{constructor(e,t,i){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=i}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Gn{constructor(e,t,i,r){this._el=e,this._touchZoom=t,this._touchRotate=i,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}const Zn=e=>e.zoom||e.drag||e.pitch||e.rotate;class $n extends e.Event{}class qn{constructor(){this.constants=[1,1,.01],this.radius=0}setup(t,i){const r=e.sub([],i,t);this.radius=e.length(r[2]<0?e.div([],r,this.constants):[r[0],r[1],0])}projectRay(t){e.div(t,t,this.constants),e.normalize(t,t),e.mul$1(t,t,this.constants);const i=e.scale$2([],t,this.radius);if(i[2]>0){const t=e.scale$2([],[0,0,1],e.dot(i,[0,0,1])),r=e.scale$2([],e.normalize([],[i[0],i[1],0]),this.radius),n=e.add([],i,e.scale$2([],e.sub([],e.add([],r,t),i),2));i[0]=n[0],i[1]=n[1]}return i}}function Wn(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class Xn{constructor(t,i){this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new sn(t),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._trackingEllipsoid=new qn,this._dragOrigin=null,this._eventsInProgress={},this._addDefaultHandlers(i),e.bindAll(["handleEvent","handleWindowEvent"],this);const r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[e.window.document,"mousemove",{capture:!0}],[e.window.document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[e.window,"blur",void 0]];for(const[n,o,s]of this._listeners)n.addEventListener(o,n===e.window.document?this.handleWindowEvent:this.handleEvent,s)}destroy(){for(const[t,i,r]of this._listeners)t.removeEventListener(i,t===e.window.document?this.handleWindowEvent:this.handleEvent,r)}_addDefaultHandlers(e){const t=this._map,i=t.getCanvasContainer();this._add("mapEvent",new dn(t,e));const r=t.boxZoom=new fn(t,e);this._add("boxZoom",r);const n=new yn,o=new Un;t.doubleClickZoom=new Fn(o,n),this._add("tapZoom",n),this._add("clickZoom",o);const s=new Vn;this._add("tapDragZoom",s);const a=t.touchPitch=new kn(t);this._add("touchPitch",a);const l=new wn(e),c=new Tn(e);t.dragRotate=new jn(e,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const h=new bn(e),u=new En(t,e);t.dragPan=new Nn(i,h,u),this._add("mousePan",h),this._add("touchPan",u,["touchZoom","touchRotate"]);const d=new zn,p=new In;t.touchZoomRotate=new Gn(i,p,d,s),this._add("touchRotate",d,["touchPan","touchZoom"]),this._add("touchZoom",p,["touchPan","touchRotate"]),this._add("blockableMapEvent",new pn(t));const f=t.scrollZoom=new On(t,this);this._add("scrollZoom",f,["mousePan"]);const m=t.keyboard=new Ln;this._add("keyboard",m);for(const _ of["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])e.interactive&&e[_]&&t[_].enable(e[_])}_add(e,t,i){this._handlers.push({handlerName:e,handler:t,allowed:i}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(const{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Zn(this._eventsInProgress)||this.isZooming()}_isDragging(){return!!this._eventsInProgress.drag}_blockedByActive(e,t,i){for(const r in e)if(r!==i&&(!t||t.indexOf(r)<0))return!0;return!1}handleWindowEvent(e){this.handleEvent(e,`${e.type}Window`)}_getMapTouches(e){const t=[];for(const i of e)this._el.contains(i.target)&&t.push(i);return t}handleEvent(e,t){this._updatingCamera=!0;const i="renderFrame"===e.type,r=i?void 0:e,n={needsRenderFrame:!1},o={},s={},a=e.touches?this._getMapTouches(e.touches):void 0,l=a?m(this._el,a):i?void 0:f(this._el,e);for(const{handlerName:u,handler:d,allowed:p}of this._handlers){if(!d.isEnabled())continue;let i;this._blockedByActive(s,p,u)?d.reset():d[t||e.type]&&(i=d[t||e.type](e,l,a),this.mergeHandlerResult(n,o,i,u,r),i&&i.needsRenderFrame&&this._triggerRenderFrame()),(i||d.isActive())&&(s[u]=d)}const c={};for(const u in this._previousActiveHandlers)s[u]||(c[u]=r);this._previousActiveHandlers=s,(Object.keys(c).length||Wn(n))&&(this._changes.push([n,o,c]),this._triggerRenderFrame()),(Object.keys(s).length||Wn(n))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:h}=n;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map))}mergeHandlerResult(t,i,r,n,o){if(!r)return;e.extend(t,r);const s={handlerName:n,originalEvent:r.originalEvent||o};void 0!==r.zoomDelta&&(i.zoom=s),void 0!==r.panDelta&&(i.drag=s),void 0!==r.pitchDelta&&(i.pitch=s),void 0!==r.bearingDelta&&(i.rotate=s)}_applyChanges(){const t={},i={},r={};for(const[n,o,s]of this._changes)n.panDelta&&(t.panDelta=(t.panDelta||new e.pointGeometry(0,0))._add(n.panDelta)),n.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+n.zoomDelta),n.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+n.bearingDelta),n.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+n.pitchDelta),void 0!==n.around&&(t.around=n.around),void 0!==n.aroundCoord&&(t.aroundCoord=n.aroundCoord),void 0!==n.pinchAround&&(t.pinchAround=n.pinchAround),n.noInertia&&(t.noInertia=n.noInertia),e.extend(i,o),e.extend(r,s);this._updateMapTransform(t,i,r),this._changes=[]}_updateMapTransform(t,i,r){const n=this._map,o=n.transform,s=e=>[e.x,e.y,e.z];if((e=>{const t=this._eventsInProgress.drag;return t&&!this._handlersById[t.handlerName].isActive()})()&&!Wn(t)){const e=o.zoom;o.cameraElevationReference="sea",o.recenterOnTerrain(),o.cameraElevationReference="ground",e!==o.zoom&&this._map._update(!0)}if(o._isCameraConstrained&&n._stop(!0),!Wn(t))return void this._fireEvents(i,r,!0);let{panDelta:a,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,aroundCoord:d,pinchAround:p}=t;o._isCameraConstrained&&(l>0&&(l=0),o._isCameraConstrained=!1),void 0!==p&&(u=p),(l||(e=>i.drag&&!this._eventsInProgress.drag)())&&u&&(this._dragOrigin=s(o.pointCoordinate3D(u)),this._trackingEllipsoid.setup(o._camera.position,this._dragOrigin)),o.cameraElevationReference="sea",n._stop(!0),u=u||n.transform.centerPoint,c&&(o.bearing+=c),h&&(o.pitch+=h),o._updateCameraState();const f=[0,0,0];if(a)if("mercator"===o.projection.name){const e=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(u).dir),t=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(u.sub(a)).dir);f[0]=t[0]-e[0],f[1]=t[1]-e[1]}else{const t=o.pointCoordinate(u);if("globe"===o.projection.name){a=a.rotate(-o.angle);const i=o._pixelsPerMercatorPixel/o.worldSize;f[0]=-a.x*e.mercatorScale(e.latFromMercatorY(t.y))*i,f[1]=-a.y*e.mercatorScale(o.center.lat)*i}else{const e=o.pointCoordinate(u.sub(a));t&&e&&(f[0]=e.x-t.x,f[1]=e.y-t.y)}}const m=o.zoom,_=[0,0,0];if(l){const t=s(d||o.pointCoordinate3D(u)),i={dir:e.normalize([],e.sub([],t,o._camera.position))};if(i.dir[2]<0){const r=o.zoomDeltaToMovement(t,l);e.scale$2(_,i.dir,r)}}const g=e.add(f,f,_);o._translateCameraConstrained(g),l&&Math.abs(o.zoom-m)>1e-4&&o.recenterOnTerrain(),o.cameraElevationReference="ground",this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(i,r,!0)}_fireEvents(t,i,r){const n=Zn(this._eventsInProgress),o=Zn(t),s={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(s[`${e}start`]=i),this._eventsInProgress[e]=t[e]}!n&&o&&this._fireEvent("movestart",o.originalEvent);for(const e in s)this._fireEvent(e,s[e]);o&&this._fireEvent("move",o.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i)}const a={};let l;for(const e in this._eventsInProgress){const{handlerName:t,originalEvent:r}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=i[t]||r,a[`${e}end`]=l)}for(const e in a)this._fireEvent(e,a[e]);const c=Zn(this._eventsInProgress);if(r&&(n||o)&&!c){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=e=>0!==e&&-this._bearingSnap{this._frameId=void 0,this.handleEvent(new $n("renderFrame",{timeStamp:e})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Hn="map.setFreeCameraOptions(...) and map.getFreeCameraOptions() are not yet supported for non-mercator projections.";class Yn extends e.Evented{constructor(t,i){super(),this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=i.bearingSnap,e.bindAll(["_renderFrameCallback"],this)}getCenter(){return new e.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(t,i,r){return t=e.pointGeometry.convert(t).mult(-1),this.panTo(this.transform.center,e.extend({offset:t},i),r)}panTo(t,i,r){return this.easeTo(e.extend({center:t},i),r)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(t,i,r){return this.easeTo(e.extend({zoom:t},i),r)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(t,i,r){return this.easeTo(e.extend({bearing:t},i),r)}resetNorth(t,i){return this.rotateTo(0,e.extend({duration:1e3},t),i),this}resetNorthPitch(t,i){return this.easeTo(e.extend({bearing:0,pitch:0,duration:1e3},t),i),this}snapToNorth(e,t){return Math.abs(this.getBearing())e.aspect?i/(2*Math.tan(.5*e.fovX)*e.aspect):r/(2*Math.tan(.5*e.fovY)*e.aspect)}_cameraForBoundsOnGlobe(t,i,r,n,o,s){const a=t.clone(),l=this._extendCameraOptions(s);a.bearing=n,a.pitch=o;const c=e.LngLat.convert(i),h=e.LngLat.convert(r),u=.5*(c.lat+h.lat),d=.5*(c.lng+h.lng),p=e.latLngToECEF(u,d),f=e.normalize([],p),m=e.normalize([],e.cross([],f,[0,1,0])),_=e.cross([],m,f),g=[m[0],m[1],m[2],0,_[0],_[1],_[2],0,f[0],f[1],f[2],0,0,0,0,1],y=[p,e.latLngToECEF(c.lat,c.lng),e.latLngToECEF(h.lat,c.lng),e.latLngToECEF(h.lat,h.lng),e.latLngToECEF(c.lat,h.lng),e.latLngToECEF(u,c.lng),e.latLngToECEF(u,h.lng),e.latLngToECEF(c.lat,d),e.latLngToECEF(h.lat,d)];let x=e.Aabb.fromPoints(y.map((t=>[e.dot(m,t),e.dot(_,t),e.dot(f,t)])));const v=e.transformMat4([],x.center,g);0===e.squaredLength(v)&&e.set(v,0,0,1),e.normalize(v,v),e.scale$2(v,v,e.GLOBE_RADIUS),a.center=e.ecefToLatLng(v);const b=a.getWorldToCameraMatrix(),w=e.invert(new Float64Array(16),b);x=e.Aabb.applyTransform(x,e.multiply([],b,g)),e.transformMat4(v,v,b);const T=.5*(x.max[2]-x.min[2]),E=this._minimumAABBFrustumDistance(a,x),S=e.scale$2([],[0,0,1],T),M=e.add(S,v,S),A=E+(0===a.pitch?0:e.distance(v,M)),I=a.globeCenterInViewSpace,C=e.sub([],v,[I[0],I[1],I[2]]);e.normalize(C,C),e.scale$2(C,C,A);const z=e.add([],v,C);e.transformMat4(z,z,w);const D=e.earthRadius/e.GLOBE_RADIUS,k=e.length(z),P=e.mercatorZfromAltitude(Math.max(k*D-e.earthRadius,Number.EPSILON),0),L=Math.min(a.zoomFromMercatorZAdjusted(P),l.maxZoom);return L>.5*(e.GLOBE_ZOOM_THRESHOLD_MIN+e.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:"mercator"}),a.zoom=L,this._cameraForBounds(a,i,r,n,o,s)):{center:a.center,zoom:L,bearing:n,pitch:o}}queryTerrainElevation(t,i){const r=this.transform.elevation;return r?(i=e.extend({},{exaggerated:!0},i),r.getAtPoint(e.MercatorCoordinate.fromLngLat(t),null,i.exaggerated)):null}_cameraForBounds(t,i,r,n,o,s){if("globe"===t.projection.name)return this._cameraForBoundsOnGlobe(t,i,r,n,o,s);const a=t.clone(),l=this._extendCameraOptions(s),c=a.padding;a.bearing=n,a.pitch=o;const h=e.LngLat.convert(i),u=e.LngLat.convert(r),d=new e.LngLat(h.lng,u.lat),p=new e.LngLat(u.lng,h.lat),f=a.project(h),m=a.project(u),_=this.queryTerrainElevation(h),g=this.queryTerrainElevation(u),y=this.queryTerrainElevation(d),x=this.queryTerrainElevation(p),v=[[f.x,f.y,Math.min(_||0,g||0,y||0,x||0)],[m.x,m.y,Math.max(_||0,g||0,y||0,x||0)]];let b=e.Aabb.fromPoints(v);const w=a.getWorldToCameraMatrix(),T=e.invert(new Float64Array(16),w);b=e.Aabb.applyTransform(b,w);const E=e.sub([],b.max,b.min),S=c.left||0,M=c.right||0,A=c.bottom||0,I=c.top||0,{left:C,right:z,top:D,bottom:k}=l.padding,P=.5*(S+M),L=.5*(I+A),R=Math.min(a.scaleZoom(a.scale*Math.min((a.width-(S+M+C+z))/E[0],(a.height-(A+I+k+D))/E[1])),l.maxZoom),B=a.scale/a.zoomScale(R);b=new e.Aabb([b.min[0]-(C+P)*B,b.min[1]-(k+L)*B,b.min[2]],[b.max[0]+(z+P)*B,b.max[1]+(D+L)*B,b.max[2]]);const O=.5*E[2],F=this._minimumAABBFrustumDistance(a,b),U=[0,0,1,0];e.transformMat4$1(U,U,w),e.normalize$2(U,U);const V=e.scale$2([],U,F+O),N=e.add([],b.center,V),j=("number"==typeof l.offset.x&&"number"==typeof l.offset.y?new e.pointGeometry(l.offset.x,l.offset.y):e.pointGeometry.convert(l.offset)).rotate(-e.degToRad(n));b.center[0]-=j.x*B,b.center[1]+=j.y*B,e.transformMat4(b.center,b.center,T),e.transformMat4(N,N,T);const G=[b.center[0],b.center[1],N[2]*a.pixelsPerMeter];e.scale$2(G,G,1/a.worldSize);const Z=e.lngFromMercatorX(G[0]),$=e.latFromMercatorY(G[1]),q=Math.min(a._zoomFromMercatorZ(G[2]),l.maxZoom),W=new e.LngLat(Z,$);return a.mercatorFromTransition&&q<.5*(e.GLOBE_ZOOM_THRESHOLD_MIN+e.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:"globe"}),a.zoom=q,this._cameraForBounds(a,i,r,n,o,s)):{center:W,zoom:q,bearing:n,pitch:o}}fitBounds(e,t,i){const r=this.cameraForBounds(e,t);return this._fitInternal(r,t,i)}fitScreenCoordinates(t,i,r,n,o){const s=e.pointGeometry.convert(t),a=e.pointGeometry.convert(i),l=new e.pointGeometry(Math.min(s.x,a.x),Math.min(s.y,a.y)),c=new e.pointGeometry(Math.max(s.x,a.x),Math.max(s.y,a.y));if("mercator"===this.transform.projection.name&&this.transform.anyCornerOffEdge(s,a))return this;const h=this.transform.pointLocation3D(l),u=this.transform.pointLocation3D(c),d=this.transform.pointLocation3D(new e.pointGeometry(l.x,c.y)),p=this.transform.pointLocation3D(new e.pointGeometry(c.x,l.y)),f=[Math.min(h.lng,u.lng,d.lng,p.lng),Math.min(h.lat,u.lat,d.lat,p.lat)],m=[Math.max(h.lng,u.lng,d.lng,p.lng),Math.max(h.lat,u.lat,d.lat,p.lat)],_=n&&n.pitch?n.pitch:this.getPitch(),g=this._cameraForBounds(this.transform,f,m,r,_,n);return this._fitInternal(g,n,o)}_fitInternal(t,i,r){return t?(delete(i=e.extend(t,i)).padding,i.linear?this.easeTo(i,r):this.flyTo(i,r)):this}jumpTo(t,i){this.stop();const r=t.preloadOnly?this.transform.clone():this.transform;let n=!1,o=!1,s=!1;return"zoom"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=e.LngLat.convert(t.center)),"bearing"in t&&r.bearing!==+t.bearing&&(o=!0,r.bearing=+t.bearing),"pitch"in t&&r.pitch!==+t.pitch&&(s=!0,r.pitch=+t.pitch),null==t.padding||r.isPaddingEqual(t.padding)||(r.padding=t.padding),t.preloadOnly?(this._preloadTiles(r),this):(this.fire(new e.Event("movestart",i)).fire(new e.Event("move",i)),n&&this.fire(new e.Event("zoomstart",i)).fire(new e.Event("zoom",i)).fire(new e.Event("zoomend",i)),o&&this.fire(new e.Event("rotatestart",i)).fire(new e.Event("rotate",i)).fire(new e.Event("rotateend",i)),s&&this.fire(new e.Event("pitchstart",i)).fire(new e.Event("pitch",i)).fire(new e.Event("pitchend",i)),this.fire(new e.Event("moveend",i)))}getFreeCameraOptions(){return this.transform.projection.supportsFreeCamera||e.warnOnce(Hn),this.transform.getFreeCameraOptions()}setFreeCameraOptions(t,i){const r=this.transform;if(!r.projection.supportsFreeCamera)return e.warnOnce(Hn),this;this.stop();const n=r.zoom,o=r.pitch,s=r.bearing;r.setFreeCameraOptions(t);const a=n!==r.zoom,l=o!==r.pitch,c=s!==r.bearing;return this.fire(new e.Event("movestart",i)).fire(new e.Event("move",i)),a&&this.fire(new e.Event("zoomstart",i)).fire(new e.Event("zoom",i)).fire(new e.Event("zoomend",i)),c&&this.fire(new e.Event("rotatestart",i)).fire(new e.Event("rotate",i)).fire(new e.Event("rotateend",i)),l&&this.fire(new e.Event("pitchstart",i)).fire(new e.Event("pitch",i)).fire(new e.Event("pitchend",i)),this.fire(new e.Event("moveend",i)),this}easeTo(t,i){this._stop(!1,t.easeId),(!1===(t=e.extend({offset:[0,0],duration:500,easing:e.ease},t)).animate||!t.essential&&e.exported.prefersReducedMotion)&&(t.duration=0);const r=this.transform,n=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in t?+t.zoom:n,c="bearing"in t?this._normalizeBearing(t.bearing,o):o,h="pitch"in t?+t.pitch:s,u="padding"in t?t.padding:r.padding,d=e.pointGeometry.convert(t.offset);let p,f,m;if("globe"===r.projection.name){const i=e.MercatorCoordinate.fromLngLat(r.center),n=d.rotate(-r.angle);i.x+=n.x/r.worldSize,i.y+=n.y/r.worldSize;const o=i.toLngLat(),s=e.LngLat.convert(t.center||o);this._normalizeCenter(s),p=r.centerPoint.add(n),f=new e.pointGeometry(i.x,i.y).mult(r.worldSize),m=new e.pointGeometry(e.mercatorXfromLng(s.lng),e.mercatorYfromLat(s.lat)).mult(r.worldSize).sub(f)}else{p=r.centerPoint.add(d);const i=r.pointLocation(p),n=e.LngLat.convert(t.center||i);this._normalizeCenter(n),f=r.project(i),m=r.project(n).sub(f)}const _=r.zoomScale(l-n);let g,y;t.around&&(g=e.LngLat.convert(t.around),y=r.locationPoint(g));const x=this._zooming||l!==n,v=this._rotating||o!==c,b=this._pitching||h!==s,w=!r.isPaddingEqual(u),T=r=>T=>{if(x&&(r.zoom=e.number(n,l,T)),v&&(r.bearing=e.number(o,c,T)),b&&(r.pitch=e.number(s,h,T)),w&&(r.interpolatePadding(a,u,T),p=r.centerPoint.add(d)),g)r.setLocationAtPoint(g,y);else{const e=r.zoomScale(r.zoom-n),t=l>n?Math.min(2,_):Math.max(.5,_),i=Math.pow(t,1-T),o=r.unproject(f.add(m.mult(T*i)).mult(e));r.setLocationAtPoint(r.renderWorldCopies?o.wrap():o,p)}return t.preloadOnly||this._fireMoveEvents(i),r};if(t.preloadOnly){const e=this._emulate(T,t.duration,r);return this._preloadTiles(e),this}const E={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=x,this._rotating=v,this._pitching=b,this._padding=w,this._easeId=t.easeId,this._prepareEase(i,t.noMoveStart,E),this._ease(T(r),(e=>{r.recenterOnTerrain(),this._afterEase(i,e)}),t),this}_prepareEase(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._moving=!0,this.transform.cameraElevationReference="sea",i||r.moving||this.fire(new e.Event("movestart",t)),this._zooming&&!r.zooming&&this.fire(new e.Event("zoomstart",t)),this._rotating&&!r.rotating&&this.fire(new e.Event("rotatestart",t)),this._pitching&&!r.pitching&&this.fire(new e.Event("pitchstart",t))}_fireMoveEvents(t){this.fire(new e.Event("move",t)),this._zooming&&this.fire(new e.Event("zoom",t)),this._rotating&&this.fire(new e.Event("rotate",t)),this._pitching&&this.fire(new e.Event("pitch",t))}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;this._easeId=void 0,this.transform.cameraElevationReference="ground";const r=this._zooming,n=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new e.Event("zoomend",t)),n&&this.fire(new e.Event("rotateend",t)),o&&this.fire(new e.Event("pitchend",t)),this.fire(new e.Event("moveend",t))}flyTo(t,i){if(!t.essential&&e.exported.prefersReducedMotion){const r=e.pick(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(r,i)}this.stop(),t=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},t);const r=this.transform,n=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in t?e.clamp(+t.zoom,r.minZoom,r.maxZoom):n,c="bearing"in t?this._normalizeBearing(t.bearing,o):o,h="pitch"in t?+t.pitch:s,u="padding"in t?t.padding:r.padding,d=r.zoomScale(l-n),p=e.pointGeometry.convert(t.offset);let f=r.centerPoint.add(p);const m=r.pointLocation(f),_=e.LngLat.convert(t.center||m);this._normalizeCenter(_);const g=r.project(m),y=r.project(_).sub(g);let x=t.curve;const v=Math.max(r.width,r.height),b=v/d,w=y.mag();if("minZoom"in t){const i=e.clamp(Math.min(t.minZoom,n,l),r.minZoom,r.maxZoom),o=v/r.zoomScale(i-n);x=Math.sqrt(o/w*2)}const T=x*x;function E(e){const t=(b*b-v*v+(e?-1:1)*T*T*w*w)/(2*(e?b:v)*T*w);return Math.log(Math.sqrt(t*t+1)-t)}function S(e){return(Math.exp(e)-Math.exp(-e))/2}function M(e){return(Math.exp(e)+Math.exp(-e))/2}const A=E(0);let I=function(e){return M(A)/M(A+x*e)},C=function(e){return v*((M(A)*(S(t=A+x*e)/M(t))-S(A))/T)/w;var t},z=(E(1)-A)/x;if(Math.abs(w)<1e-6||!isFinite(z)){if(Math.abs(v-b)<1e-6)return this.easeTo(t,i);const e=bt.maxDuration&&(t.duration=0);const D=o!==c,k=h!==s,P=!r.isPaddingEqual(u),L=r=>d=>{const m=d*z,x=1/I(m);r.zoom=1===d?l:n+r.scaleZoom(x),D&&(r.bearing=e.number(o,c,d)),k&&(r.pitch=e.number(s,h,d)),P&&(r.interpolatePadding(a,u,d),f=r.centerPoint.add(p));const v=1===d?_:r.unproject(g.add(y.mult(C(m))).mult(x));return r.setLocationAtPoint(r.renderWorldCopies?v.wrap():v,f),r._updateCameraOnTerrain(),t.preloadOnly||this._fireMoveEvents(i),r};if(t.preloadOnly){const e=this._emulate(L,t.duration,r);return this._preloadTiles(e),this}return this._zooming=!0,this._rotating=D,this._pitching=k,this._padding=P,this._prepareEase(i,!1),this._ease(L(r),(()=>this._afterEase(i)),t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),this._easeFrameId=void 0,this._onEaseFrame=void 0),this._onEaseEnd){const e=this._onEaseEnd;this._onEaseEnd=void 0,e.call(this,t)}if(!e){const e=this.handlers;e&&e.stop(!1)}return this}_ease(t,i,r){!1===r.animate||0===r.duration?(t(1),i()):(this._easeStart=e.exported.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const t=Math.min((e.exported.now()-this._easeStart)/this._easeOptions.duration,1),i=this._onEaseFrame;i&&i(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(t,i){t=e.wrap(t,-180,180);const r=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0}_emulate(e,t,i){const r=Math.ceil(15*t/1e3),n=[],o=e(i.clone());for(let s=0;s<=r;s++){const e=o(s/r);n.push(e.clone())}return n}}class Kn{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t,e.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)}getDefaultPosition(){return"bottom-right"}onAdd(e){const t=this.options&&this.options.compact;return this._map=e,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=o("button","mapboxgl-ctrl-attrib-button",this._container),o("span","mapboxgl-ctrl-icon",this._compactButton).setAttribute("aria-hidden","true"),this._compactButton.type="button",this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),t&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===t&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container}onRemove(){this._container.remove(),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0}_setElementTitle(e,t){const i=this._map._getUIString(`AttributionControl.${t}`);e.setAttribute("aria-label",i),e.removeAttribute("title"),e.firstElementChild&&e.firstElementChild.setAttribute("title",i)}_toggleAttribution(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","true"))}_updateEditLink(){let t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));const i=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||e.config.ACCESS_TOKEN}];if(t){const r=i.reduce(((e,t,r)=>(t.value&&(e+=`${t.key}=${t.value}${re.length-t.length)),e=e.filter(((t,i)=>{for(let r=i+1;r=0)return!1;return!0})),this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=[...this.options.customAttribution,...e]:e.unshift(this.options.customAttribution));const i=e.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,e.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")}}class Jn{constructor(){e.bindAll(["_updateLogo","_updateCompact"],this)}onAdd(e){this._map=e,this._container=o("div","mapboxgl-ctrl");const t=o("a","mapboxgl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://www.mapbox.com/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)}getDefaultPosition(){return"bottom-left"}_updateLogo(e){e&&"metadata"!==e.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")}_logoRequired(){if(!this._map.style)return!0;const e=this._map.style._sourceCaches;if(0===Object.entries(e).length)return!0;for(const t in e){const i=e[t].getSource();if(i.hasOwnProperty("mapbox_logo")&&!i.mapbox_logo)return!1}return!0}_updateCompact(){const e=this._container.children;if(e.length){const t=e[0];this._map.getCanvasContainer().offsetWidth<250?t.classList.add("mapboxgl-compact"):t.classList.remove("mapboxgl-compact")}}}class Qn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){const t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){const t=this._currentlyRunning,i=t?this._queue.concat(t):this._queue;for(const r of i)if(r.id===e)return void(r.cancelled=!0)}run(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=this._currentlyRunning=this._queue;this._queue=[];for(const i of t)if(!i.cancelled&&(i.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}function eo(t,i,r){if(t=new e.LngLat(t.lng,t.lat),i){const n=new e.LngLat(t.lng-360,t.lat),o=new e.LngLat(t.lng+360,t.lat),s=360*Math.ceil(Math.abs(t.lng-r.center.lng)/360),a=r.locationPoint(t).distSqr(i),l=i.x<0||i.y<0||i.x>r.width||i.y>r.height;r.locationPoint(n).distSqr(i)180;){const e=r.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=r.width&&e.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}const to={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};class io extends e.Evented{constructor(t,i){if(super(),(t instanceof e.window.HTMLElement||i)&&(t=e.extend({element:t},i)),e.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress","_clearFadeTimer"],this),this._anchor=t&&t.anchor||"center",this._color=t&&t.color||"#3FB1CE",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||"auto",this._pitchAlignment=t&&t.pitchAlignment&&t.pitchAlignment||"auto",this._updateMoving=()=>this._update(!0),this._occludedOpacity=t&&t.occludedOpacity||.2,t&&t.element)this._element=t.element,this._offset=e.pointGeometry.convert(t&&t.offset||[0,0]);else{this._defaultMarker=!0,this._element=o("div");const i=41,r=27,n=s("svg",{display:"block",height:i*this._scale+"px",width:r*this._scale+"px",viewBox:`0 0 ${r} ${i}`},this._element),a=s("radialGradient",{id:"shadowGradient"},s("defs",{},n));s("stop",{offset:"10%","stop-opacity":.4},a),s("stop",{offset:"100%","stop-opacity":.05},a),s("ellipse",{cx:13.5,cy:34.8,rx:10.5,ry:5.25,fill:"url(#shadowGradient)"},n),s("path",{fill:this._color,d:"M27,13.5C27,19.07 20.25,27 14.75,34.5C14.02,35.5 12.98,35.5 12.25,34.5C6.75,27 0,19.22 0,13.5C0,6.04 6.04,0 13.5,0C20.96,0 27,6.04 27,13.5Z"},n),s("path",{opacity:.25,d:"M13.5,0C6.04,0 0,6.04 0,13.5C0,19.22 6.75,27 12.25,34.5C13,35.52 14.02,35.5 14.75,34.5C20.25,27 27,19.07 27,13.5C27,6.04 20.96,0 13.5,0ZM13.5,1C20.42,1 26,6.58 26,13.5C26,15.9 24.5,19.18 22.22,22.74C19.95,26.3 16.71,30.14 13.94,33.91C13.74,34.18 13.61,34.32 13.5,34.44C13.39,34.32 13.26,34.18 13.06,33.91C10.28,30.13 7.41,26.31 5.02,22.77C2.62,19.23 1,15.95 1,13.5C1,6.58 6.58,1 13.5,1Z"},n),s("circle",{fill:"white",cx:13.5,cy:13.5,r:5.5},n),this._offset=e.pointGeometry.convert(t&&t.offset||[0,-14])}this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label","Map marker"),this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",(e=>{e.preventDefault()})),this._element.addEventListener("mousedown",(e=>{e.preventDefault()}));const r=this._element.classList;for(const e in to)r.remove(`mapboxgl-marker-anchor-${e}`);r.add(`mapboxgl-marker-anchor-${this._anchor}`),this._popup=null}addTo(e){return e===this._map||(this.remove(),this._map=e,e.getCanvasContainer().appendChild(this._element),e.on("move",this._updateMoving),e.on("moveend",this._update),e.on("remove",this._clearFadeTimer),e._addMarker(this),this.setDraggable(this._draggable),this._update(),e.on("click",this._onMapClick)),this}remove(){const e=this._map;return e&&(e.off("click",this._onMapClick),e.off("move",this._updateMoving),e.off("moveend",this._update),e.off("mousedown",this._addDragHandler),e.off("touchstart",this._addDragHandler),e.off("mouseup",this._onUp),e.off("touchend",this._onUp),e.off("mousemove",this._onMove),e.off("touchmove",this._onMove),e.off("remove",this._clearFadeTimer),e._removeMarker(this),this._map=void 0),this._clearFadeTimer(),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.LngLat.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(!0),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeAttribute("role"),this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){const t=38.1,i=13.5,r=Math.sqrt(Math.pow(i,2)/2);e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-t],"bottom-left":[r,-1*(t-i+r)],"bottom-right":[-r,-1*(t-i+r)],left:[i,-1*(t-i)],right:[-i,-1*(t-i)]}:this._offset}this._popup=e,e._marker=this,this._lngLat&&this._popup.setLngLat(this._lngLat),this._element.setAttribute("role","button"),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress),this._element.setAttribute("aria-expanded","false")}return this}_onKeyPress(e){const t=e.code,i=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==i&&13!==i||this.togglePopup()}_onMapClick(e){const t=e.originalEvent.target,i=this._element;this._popup&&(t===i||i.contains(t))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const e=this._popup;return e?(e.isOpen()?(e.remove(),this._element.setAttribute("aria-expanded","false")):this._map&&(e.addTo(this._map),this._element.setAttribute("aria-expanded","true")),this):this}_behindTerrain(){const e=this._map,t=this._pos;if(!e||!t)return!1;const i=e.unproject(t),r=e.getFreeCameraOptions();if(!r.position)return!1;const n=r.position.toLngLat();return n.distanceTo(i)<.9*n.distanceTo(this._lngLat)}_evaluateOpacity(){const t=this._map;if(!t)return;const i=this._pos;if(!i||i.x<0||i.x>t.transform.width||i.y<0||i.y>t.transform.height)return void this._clearFadeTimer();const r=t.unproject(i);let n;t._showingGlobe()&&e.isLngLatBehindGlobe(t.transform,this._lngLat)?n=0:(n=1-t._queryFogOpacity(r),t.transform._terrainEnabled()&&t.getTerrain()&&this._behindTerrain()&&(n*=this._occludedOpacity)),this._element.style.opacity=`${n}`,this._element.style.pointerEvents=n>0?"auto":"none",this._popup&&this._popup._setOpacity(n),this._fadeTimer=null}_clearFadeTimer(){this._fadeTimer&&(clearTimeout(this._fadeTimer),this._fadeTimer=null)}_updateDOM(){const e=this._pos;if(!e||!this._map)return;const t=this._offset.mult(this._scale);this._element.style.transform=`\n translate(${e.x}px,${e.y}px)\n ${to[this._anchor]}\n ${this._calculateXYTransform()} ${this._calculateZTransform()}\n translate(${t.x}px,${t.y}px)\n `}_calculateXYTransform(){const t=this._pos,i=this._map,r=this.getPitchAlignment();if(!i||!t||"map"!==r)return"";if(!i._showingGlobe()){const e=i.getPitch();return e?`rotateX(${e}deg)`:""}const n=e.radToDeg(e.globeTiltAtLngLat(i.transform,this._lngLat)),o=t.sub(e.globeCenterToScreenPoint(i.transform)),s=Math.abs(o.x)+Math.abs(o.y);if(0===s)return"";const a=n/s;return`rotateX(${-o.y*a}deg) rotateY(${o.x*a}deg)`}_calculateZTransform(){const t=this._pos,i=this._map;if(!i||!t)return"";let r=0;const n=this.getRotationAlignment();if("map"===n)if(i._showingGlobe()){const t=i.project(new e.LngLat(this._lngLat.lng,this._lngLat.lat+.001)),n=i.project(new e.LngLat(this._lngLat.lng,this._lngLat.lat-.001)).sub(t);r=e.radToDeg(Math.atan2(n.y,n.x))-90}else r=-i.getBearing();else if("horizon"===n){const n=e.smoothstep(4,6,i.getZoom()),o=e.globeCenterToScreenPoint(i.transform);o.y+=n*i.transform.height;const s=t.sub(o),a=e.radToDeg(Math.atan2(s.y,s.x));r=(a>90?a-270:a+90)*(1-n)}return r+=this._rotation,r?`rotateZ(${r}deg)`:""}_update(t){e.window.cancelAnimationFrame(this._updateFrameId);const i=this._map;i&&(i.transform.renderWorldCopies&&(this._lngLat=eo(this._lngLat,this._pos,i.transform)),this._pos=i.project(this._lngLat),!0===t?this._updateFrameId=e.window.requestAnimationFrame((()=>{this._element&&this._pos&&this._anchor&&(this._pos=this._pos.round(),this._updateDOM())})):this._pos=this._pos.round(),i._requestDomTask((()=>{this._map&&(this._element&&this._pos&&this._anchor&&this._updateDOM(),(i._showingGlobe()||i.getTerrain()||i.getFog())&&!this._fadeTimer&&(this._fadeTimer=setTimeout(this._evaluateOpacity.bind(this),60)))})))}getOffset(){return this._offset}setOffset(t){return this._offset=e.pointGeometry.convert(t),this._update(),this}_onMove(t){const i=this._map;if(!i)return;const r=this._pointerdownPos,n=this._positionDelta;if(r&&n){if(!this._isDragging){const e=this._clickTolerance||i._clickTolerance;if(t.point.dist(r)0&&void 0!==arguments[0]?arguments[0]:new e.pointGeometry(0,0),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"bottom";if("number"==typeof t){const r=Math.round(Math.sqrt(.5*Math.pow(t,2)));switch(i){case"top":return new e.pointGeometry(0,t);case"top-left":return new e.pointGeometry(r,r);case"top-right":return new e.pointGeometry(-r,r);case"bottom":return new e.pointGeometry(0,-t);case"bottom-left":return new e.pointGeometry(r,-r);case"bottom-right":return new e.pointGeometry(-r,-r);case"left":return new e.pointGeometry(t,0);case"right":return new e.pointGeometry(-t,0)}return new e.pointGeometry(0,0)}return t instanceof e.pointGeometry||Array.isArray(t)?e.pointGeometry.convert(t):e.pointGeometry.convert(t[i]||[0,0])}class so{constructor(e){this.jumpTo(e)}getValue(t){if(t<=this._startTime)return this._start;if(t>=this._endTime)return this._end;const i=e.easeCubicInOut((t-this._startTime)/(this._endTime-this._startTime));return this._start*(1-i)+this._end*i}isEasing(e){return e>=this._startTime&&e<=this._endTime}jumpTo(e){this._startTime=-1/0,this._endTime=-1/0,this._start=e,this._end=e}easeTo(e,t,i){this._start=this.getValue(t),this._end=e,this._startTime=t,this._endTime=t+i}}const ao={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","Map.Title":"Map","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScrollZoomBlocker.CtrlMessage":"Use ctrl + scroll to zoom the map","ScrollZoomBlocker.CmdMessage":"Use \u2318 + scroll to zoom the map","TouchPanBlocker.Message":"Use two fingers to move the map"},lo={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:85,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,performanceMetricsCollection:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,optimizeForTerrain:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,minTileCacheSize:null,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",localFontFamily:null,transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},co={showCompass:!0,showZoom:!0,visualizePitch:!1};class ho{constructor(t,i){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._clickTolerance=10,this.element=i,this.mouseRotate=new wn({clickTolerance:t.dragRotate._mouseRotate._clickTolerance}),this.map=t,r&&(this.mousePitch=new Tn({clickTolerance:t.dragRotate._mousePitch._clickTolerance})),e.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),i.addEventListener("mousedown",this.mousedown),i.addEventListener("touchstart",this.touchstart,{passive:!1}),i.addEventListener("touchmove",this.touchmove),i.addEventListener("touchend",this.touchend),i.addEventListener("touchcancel",this.reset)}down(e,t){this.mouseRotate.mousedown(e,t),this.mousePitch&&this.mousePitch.mousedown(e,t),h()}move(e,t){const i=this.map,r=this.mouseRotate.mousemoveWindow(e,t),n=r&&r.bearingDelta;if(n&&i.setBearing(i.getBearing()+n),this.mousePitch){const r=this.mousePitch.mousemoveWindow(e,t),n=r&&r.pitchDelta;n&&i.setPitch(i.getPitch()+n)}}off(){const e=this.element;e.removeEventListener("mousedown",this.mousedown),e.removeEventListener("touchstart",this.touchstart,{passive:!1}),e.removeEventListener("touchmove",this.touchmove),e.removeEventListener("touchend",this.touchend),e.removeEventListener("touchcancel",this.reset),this.offTemp()}offTemp(){u(),e.window.removeEventListener("mousemove",this.mousemove),e.window.removeEventListener("mouseup",this.mouseup)}mousedown(t){this.down(e.extend({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),f(this.element,t)),e.window.addEventListener("mousemove",this.mousemove),e.window.addEventListener("mouseup",this.mouseup)}mousemove(e){this.move(e,f(this.element,e))}mouseup(e){this.mouseRotate.mouseupWindow(e),this.mousePitch&&this.mousePitch.mouseupWindow(e),this.offTemp()}touchstart(e){1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=m(this.element,e.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>e.preventDefault()},this._startPos))}touchmove(e){1!==e.targetTouches.length?this.reset():(this._lastPos=m(this.element,e.targetTouches)[0],this.move({preventDefault:()=>e.preventDefault()},this._lastPos))}touchend(e){0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this._container.style.width=e*n+"px",this._container.innerHTML=`${r} ${o}`}))}function mo(e){const t=Math.pow(10,`${Math.floor(e)}`.length-1);let i=e/t;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(e){const t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(i),t*i}const _o={version:e.version,supported:i,setRTLTextPlugin:e.setRTLTextPlugin,getRTLTextPluginStatus:e.getRTLTextPluginStatus,Map:class extends Yn{constructor(t){if(e.LivePerformanceUtils.mark(e.PerformanceMarkers.create),null!=(t=e.extend({},lo,t)).minZoom&&null!=t.maxZoom&&t.minZoom>t.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=t.minPitch&&t.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=t.maxPitch&&t.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(t.antialias&&e.isSafariWithAntialiasingBug(e.window)&&(t.antialias=!1,e.warnOnce("Antialiasing is disabled for this WebGL context to avoid browser bug: https://github.com/mapbox/mapbox-gl-js/issues/11609")),super(new Yr(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies),t),this._interactive=t.interactive,this._minTileCacheSize=t.minTileCacheSize,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._useWebGL2=t.useWebGL2,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._isInitialLoad=!0,this._crossSourceCollisions=t.crossSourceCollisions,this._collectResourceTiming=t.collectResourceTiming,this._optimizeForTerrain=t.optimizeForTerrain,this._language=this._parseLanguage(t.language),this._worldview=t.worldview,this._renderTaskQueue=new Qn,this._domRenderTaskQueue=new Qn,this._controls=[],this._markers=[],this._popups=[],this._mapId=e.uniqueId(),this._locale=e.extend({},ao,t.locale),this._clickTolerance=t.clickTolerance,this._cooperativeGestures=t.cooperativeGestures,this._performanceMetricsCollection=t.performanceMetricsCollection,this._containerWidth=0,this._containerHeight=0,this._averageElevationLastSampledAt=-1/0,this._averageElevationExaggeration=0,this._averageElevation=new so(0),this._interactionRange=[1/0,-1/0],this._visibilityHidden=0,this._useExplicitProjection=!1,this._requestManager=new e.RequestManager(t.transformRequest,t.accessToken,t.testMode),this._silenceAuthErrors=!!t.testMode,"string"==typeof t.container){if(this._container=e.window.document.getElementById(t.container),!this._container)throw new Error(`Container '${t.container}' not found.`)}else{if(!(t.container instanceof e.window.HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=t.container}if(this._container.childNodes.length>0&&e.warnOnce("The map container element should be empty, otherwise the map's interactivity will be negatively impacted. If you want to display a message when WebGL is not supported, use the Mapbox GL Supported plugin instead."),t.maxBounds&&this.setMaxBounds(t.maxBounds),e.bindAll(["_onWindowOnline","_onWindowResize","_onVisibilityChange","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(()=>this._update(!1))),this.on("moveend",(()=>this._update(!1))),this.on("zoom",(()=>this._update(!0))),void 0!==e.window&&(e.window.addEventListener("online",this._onWindowOnline,!1),e.window.addEventListener("resize",this._onWindowResize,!1),e.window.addEventListener("orientationchange",this._onWindowResize,!1),e.window.addEventListener("webkitfullscreenchange",this._onWindowResize,!1),e.window.addEventListener("visibilitychange",this._onVisibilityChange,!1)),this.handlers=new Xn(this,t),this._localFontFamily=t.localFontFamily,this._localIdeographFontFamily=t.localIdeographFontFamily,t.style&&this.setStyle(t.style,{localFontFamily:this._localFontFamily,localIdeographFontFamily:this._localIdeographFontFamily}),t.projection&&this.setProjection(t.projection),this._hash=t.hash&&new Jr("string"==typeof t.hash&&t.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,e.extend({},t.fitBoundsOptions,{duration:0})))),this.resize(),t.attributionControl&&this.addControl(new Kn({customAttribution:t.customAttribution})),this._logoControl=new Jn,this.addControl(this._logoControl,t.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(t=>{this._update("style"===t.dataType),this.fire(new e.Event(`${t.dataType}data`,t))})),this.on("dataloading",(t=>{this.fire(new e.Event(`${t.dataType}dataloading`,t))}))}_getMapId(){return this._mapId}addControl(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new e.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=t.onAdd(this);this._controls.push(t);const n=this._controlPositions[i];return-1!==i.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}resize(t){if(this._updateContainerDimensions(),this._containerWidth===this.transform.width&&this._containerHeight===this.transform.height)return this;this._resizeCanvas(this._containerWidth,this._containerHeight),this.transform.resize(this._containerWidth,this._containerHeight),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight));const i=!this._moving;return i&&this.fire(new e.Event("movestart",t)).fire(new e.Event("move",t)),this.fire(new e.Event("resize",t)),i&&this.fire(new e.Event("moveend",t)),this}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()||null}setMaxBounds(t){return this.transform.setMaxBounds(e.LngLatBounds.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t?this.setZoom(t):this.fire(new e.Event("zoomstart")).fire(new e.Event("zoom")).fire(new e.Event("zoomend")),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t?this.setPitch(t):this.fire(new e.Event("pitchstart")).fire(new e.Event("pitch")).fire(new e.Event("pitchend")),this;throw new Error("maxPitch must be greater than or equal to minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this.transform.renderWorldCopies||this._forceMarkerAndPopupUpdate(!0),this._update()}getLanguage(){return this._language}_parseLanguage(t){return"auto"===t?e.window.navigator.language:Array.isArray(t)?0===t.length?void 0:t.map((t=>"auto"===t?e.window.navigator.language:t)):t}setLanguage(e){const t=this._parseLanguage(e);if(!this.style||t===this._language)return this;this._language=t,this.style._reloadSources();for(const i of this._controls)i._setLanguage&&i._setLanguage(this._language);return this}getWorldview(){return this._worldview}setWorldview(e){return this.style&&e!==this._worldview?(this._worldview=e,this.style._reloadSources(),this):this}getProjection(){return this.transform.mercatorFromTransition?{name:"globe",center:[0,0]}:this.transform.getProjection()}_showingGlobe(){return"globe"===this.transform.projection.name}setProjection(e){return this._lazyInitEmptyStyle(),e?"string"==typeof e&&(e={name:e}):e=null,this._useExplicitProjection=!!e,this._prioritizeAndUpdateProjection(e,this.style.stylesheet?this.style.stylesheet.projection:null)}_updateProjectionTransition(){if("globe"!==this.getProjection().name)return;const t=this.transform,i=t.projection.name;let r;"globe"===i&&t.zoom>=e.GLOBE_ZOOM_THRESHOLD_MAX?(t.setMercatorFromTransition(),r=!0):"mercator"===i&&t.zoom=e.GLOBE_ZOOM_THRESHOLD_MAX?this.transform.setMercatorFromTransition():this.transform.setProjection(t),this.style.applyProjectionUpdate(),i){this.painter.clearBackgroundTiles();for(const e in this.style._sourceCaches)this.style._sourceCaches[e].clearTiles();this._update(!0),this._forceMarkerAndPopupUpdate(!0)}return this}project(t){return this.transform.locationPoint3D(e.LngLat.convert(t))}unproject(t){return this.transform.pointLocation3D(e.pointGeometry.convert(t))}isMoving(){return this._moving||this.handlers&&this.handlers.isMoving()||!1}isZooming(){return this._zooming||this.handlers&&this.handlers.isZooming()||!1}isRotating(){return this._rotating||this.handlers&&this.handlers.isRotating()||!1}_isDragging(){return this.handlers&&this.handlers._isDragging()||!1}_createDelegatedListener(e,t,i){if("mouseenter"===e||"mouseover"===e){let r=!1;const n=n=>{const o=t.filter((e=>this.getLayer(e))),s=o.length?this.queryRenderedFeatures(n.point,{layers:o}):[];s.length?r||(r=!0,i.call(this,new cn(e,this,n.originalEvent,{features:s}))):r=!1},o=()=>{r=!1};return{layers:new Set(t),listener:i,delegates:{mousemove:n,mouseout:o}}}if("mouseleave"===e||"mouseout"===e){let r=!1;const n=n=>{const o=t.filter((e=>this.getLayer(e)));(o.length?this.queryRenderedFeatures(n.point,{layers:o}):[]).length?r=!0:r&&(r=!1,i.call(this,new cn(e,this,n.originalEvent)))},o=t=>{r&&(r=!1,i.call(this,new cn(e,this,t.originalEvent)))};return{layers:new Set(t),listener:i,delegates:{mousemove:n,mouseout:o}}}{const r=e=>{const r=t.filter((e=>this.getLayer(e))),n=r.length?this.queryRenderedFeatures(e.point,{layers:r}):[];n.length&&(e.features=n,i.call(this,e),delete e.features)};return{layers:new Set(t),listener:i,delegates:{[e]:r}}}}on(e,t,i){if(void 0===i)return super.on(e,t);Array.isArray(t)||(t=[t]);const r=this._createDelegatedListener(e,t,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(r);for(const n in r.delegates)this.on(n,r.delegates[n]);return this}once(e,t,i){if(void 0===i)return super.once(e,t);Array.isArray(t)||(t=[t]);const r=this._createDelegatedListener(e,t,i);for(const n in r.delegates)this.once(n,r.delegates[n]);return this}off(e,t,i){if(void 0===i)return super.off(e,t);t=new Set(Array.isArray(t)?t:[t]);const r=(e,t)=>{if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0},n=this._delegatedListeners?this._delegatedListeners[e]:void 0;return n&&(e=>{for(let n=0;n{t?this.fire(new e.ErrorEvent(t)):r&&this._updateDiff(r,i)}))}else"object"==typeof t&&this._updateDiff(t,i)}_updateDiff(t,i){try{this.style.setState(t)&&this._update(!0)}catch(r){e.warnOnce(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(t,i)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():(e.warnOnce("There is no style added to the map."),!1)}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){return!!this.style&&this.style._isSourceCacheLoaded(e)}areTilesLoaded(){const e=this.style&&this.style._sourceCaches;for(const t in e){const i=e[t]._tiles;for(const e in i){const t=i[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}}return!0}addSourceType(e,t,i){this._lazyInitEmptyStyle(),this.style.addSourceType(e,t,i)}removeSource(e){return this.style.removeSource(e),this._updateTerrain(),this._update(!0)}getSource(e){return this.style.getSource(e)}addImage(t,i){let{pixelRatio:r=1,sdf:n=!1,stretchX:o,stretchY:s,content:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this._lazyInitEmptyStyle(),i instanceof e.window.HTMLImageElement||e.window.ImageBitmap&&i instanceof e.window.ImageBitmap){const{width:l,height:c,data:h}=e.exported.getImageData(i);this.style.addImage(t,{data:new e.RGBAImage({width:l,height:c},h),pixelRatio:r,stretchX:o,stretchY:s,content:a,sdf:n,version:0})}else if(void 0===i.width||void 0===i.height)this.fire(new e.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));else{const{width:l,height:c}=i,h=i;this.style.addImage(t,{data:new e.RGBAImage({width:l,height:c},new Uint8Array(h.data)),pixelRatio:r,stretchX:o,stretchY:s,content:a,sdf:n,version:0,userImage:h}),h.onAdd&&h.onAdd(this,t)}}updateImage(t,i){const r=this.style.getImage(t);if(!r)return void this.fire(new e.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const n=i instanceof e.window.HTMLImageElement||e.window.ImageBitmap&&i instanceof e.window.ImageBitmap?e.exported.getImageData(i):i,{width:o,height:s}=n;void 0!==o&&void 0!==s?o===r.data.width&&s===r.data.height?(r.data.replace(n.data,!(i instanceof e.window.HTMLImageElement||e.window.ImageBitmap&&i instanceof e.window.ImageBitmap)),this.style.updateImage(t,r)):this.fire(new e.ErrorEvent(new Error(`The width and height of the updated image (${o}, ${s})\n must be that same as the previous version of the image\n (${r.data.width}, ${r.data.height})`))):this.fire(new e.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")))}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.ErrorEvent(new Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(t,i){e.getImage(this._requestManager.transformRequest(t,e.ResourceType.Image),((t,r)=>{i(t,r instanceof e.window.HTMLImageElement?e.exported.getImageData(r):r)}))}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}setLayerZoomRange(e,t,i){return this.style.setLayerZoomRange(e,t,i),this._update(!0)}setFilter(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.style.setFilter(e,t,i),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.style.setPaintProperty(e,t,i,r),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.style.setLayoutProperty(e,t,i,r),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setLight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setTerrain(e){return this._lazyInitEmptyStyle(),!e&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(e),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(e){return this._lazyInitEmptyStyle(),this.style.setFog(e),this._update(!0)}getFog(){return this.style?this.style.getFog():null}_queryFogOpacity(t){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(e.LngLat.convert(t),this.transform):0}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}_updateContainerDimensions(){if(!this._container)return;const t=this._container.getBoundingClientRect().width||400,i=this._container.getBoundingClientRect().height||300;let r,n,o,s=this._container;for(;s&&(!n||!o);){const t=e.window.getComputedStyle(s).transform;t&&"none"!==t&&(r=t.match(/matrix.*\((.+)\)/)[1].split(", "),r[0]&&"0"!==r[0]&&"1"!==r[0]&&(n=r[0]),r[3]&&"0"!==r[3]&&"1"!==r[3]&&(o=r[3])),s=s.parentElement}this._containerWidth=n?Math.abs(t/n):t,this._containerHeight=o?Math.abs(i/o):i}_detectMissingCSS(){"rgb(250, 128, 114)"!==e.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&e.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")}_setupContainer(){const e=this._container;e.classList.add("mapboxgl-map"),(this._missingCSSCanary=o("div","mapboxgl-canary",e)).style.visibility="hidden",this._detectMissingCSS();const t=this._canvasContainer=o("div","mapboxgl-canvas-container",e);this._interactive&&t.classList.add("mapboxgl-interactive"),this._canvas=o("canvas","mapboxgl-canvas",t),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const i=this._controlContainer=o("div","mapboxgl-control-container",e),r=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((e=>{r[e]=o("div",`mapboxgl-ctrl-${e}`,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(t,i){const r=e.exported.devicePixelRatio||1;this._canvas.width=r*Math.ceil(t),this._canvas.height=r*Math.ceil(i),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${i}px`}_addMarker(e){this._markers.push(e)}_removeMarker(e){const t=this._markers.indexOf(e);-1!==t&&this._markers.splice(t,1)}_addPopup(e){this._popups.push(e)}_removePopup(e){const t=this._popups.indexOf(e);-1!==t&&this._popups.splice(t,1)}_setupPainter(){const t=e.extend({},i.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),r=this._useWebGL2&&this._canvas.getContext("webgl2",t),n=r||this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);n?(this._useWebGL2&&!r&&e.warnOnce("Failed to create WebGL 2 context. Using WebGL 1."),e.storeAuthState(n,!0),this.painter=new Or(n,this.transform,!!r),this.on("data",(e=>{"source"===e.dataType&&this.painter.setTileLoadedFlag(!0)})),e.exported$1.testSupport(n)):this.fire(new e.ErrorEvent(new Error("Failed to initialize WebGL")))}_contextLost(t){t.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new e.Event("webglcontextlost",{originalEvent:t}))}_contextRestored(t){this._setupPainter(),this.resize(),this._update(),this.fire(new e.Event("webglcontextrestored",{originalEvent:t}))}_onMapScroll(e){if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_requestDomTask(e){!this.loaded()||this.loaded()&&!this.isMoving()?e():this._domRenderTaskQueue.add(e)}_render(t){let i;const r=this.painter.context.extTimerQuery,n=e.exported.now();if(this.listens("gpu-timing-frame")&&(i=r.createQueryEXT(),r.beginQueryEXT(r.TIME_ELAPSED_EXT,i)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],e.window.performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],e.window.performance.now())),this._renderTaskQueue.run(t),this._domRenderTaskQueue.run(t),this._removed)return;this._updateProjectionTransition();const o=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,i=this.transform.pitch,r=e.exported.now(),n=new e.EvaluationParameters(t,{now:r,fadeDuration:o,pitch:i,transition:this.style.getTransition()});this.style.update(n)}this.style&&this.style.fog&&this.style.fog.hasTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let s=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),s=this._updateAverageElevation(n),this.style._updateSources(this.transform),this._forceMarkerAndPopupUpdate()):s=this._updateAverageElevation(n),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,o,this._crossSourceCollisions),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showTerrainWireframe:this.showTerrainWireframe,showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:o,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer"),gpuTimingDeferredRender:!!this.listens("gpu-timing-deferred-render"),speedIndexTiming:this.speedIndexTiming}),this.fire(new e.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new e.Event("load"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),i){const t=e.exported.now()-n;r.endQueryEXT(r.TIME_ELAPSED_EXT,i),setTimeout((()=>{const o=r.getQueryObjectEXT(i,r.QUERY_RESULT_EXT)/1e6;r.deleteQueryEXT(i),this.fire(new e.Event("gpu-timing-frame",{cpuTime:t,gpuTime:o})),e.window.performance.mark("frame-gpu",{startTime:n,detail:{gpuTime:o}})}),50)}if(this.listens("gpu-timing-layer")){const t=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(t);this.fire(new e.Event("gpu-timing-layer",{layerTimes:i}))}),50)}if(this.listens("gpu-timing-deferred-render")){const t=this.painter.collectDeferredRenderGpuQueries();setTimeout((()=>{const i=this.painter.queryGpuTimeDeferredRender(t);this.fire(new e.Event("gpu-timing-deferred-render",{gpuTime:i}))}),50)}const a=this._sourcesDirty||this._styleDirty||this._placementDirty||s;if(a||this._repaint)this.triggerRepaint();else{const t=!this.isMoving()&&this.loaded();if(t&&(s=this._updateAverageElevation(n,!0)),s)this.triggerRepaint();else if(this._triggerFrame(!1),t&&(this.fire(new e.Event("idle")),this._isInitialLoad=!1,this.speedIndexTiming)){const t=this._calculateSpeedIndex();this.fire(new e.Event("speedindexcompleted",{speedIndex:t})),this.speedIndexTiming=!1}}!this._loaded||this._fullyLoaded||a||(this._fullyLoaded=!0,e.LivePerformanceUtils.mark(e.PerformanceMarkers.fullLoad),this._performanceMetricsCollection&&e.postPerformanceEvent(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate())}_forceMarkerAndPopupUpdate(e){for(const t of this._markers)e&&!this.getRenderWorldCopies()&&(t._lngLat=t._lngLat.wrap()),t._update();for(const t of this._popups)!e||this.getRenderWorldCopies()||t._trackPointer||(t._lngLat=t._lngLat.wrap()),t._update()}_updateAverageElevation(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=e=>(this.transform.averageElevation=e,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return 0!==this.transform.averageElevation&&i(0);if((t||e-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(e)){const t=this.transform.averageElevation;let r=this.transform.sampleAverageElevation(),n=!1;this.transform.elevation&&(n=this.transform.elevation.exaggeration()!==this._averageElevationExaggeration,this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(r)?r=0:this._averageElevationLastSampledAt=e;const o=Math.abs(t-r);if(o>1){if(this._isInitialLoad||n)return this._averageElevation.jumpTo(r),i(r);this._averageElevation.easeTo(r,e,300)}else if(o>1e-4)return this._averageElevation.jumpTo(r),i(r)}return!!this._averageElevation.isEasing(e)&&i(this._averageElevation.getValue(e))}_authenticate(){e.getMapSessionAPI(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(t=>{if(t&&(t.message===e.AUTH_ERR_MSG||401===t.status)){const t=this.painter.context.gl;e.storeAuthState(t,!1),this._logoControl instanceof Jn&&this._logoControl._updateLogo(),t&&t.clear(t.DEPTH_BUFFER_BIT|t.COLOR_BUFFER_BIT|t.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new e.ErrorEvent(new Error("A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/")))}})),e.postMapLoadEvent(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(()=>{}))}_updateTerrain(){const e=this._isDragging();this.painter.updateTerrain(this.style,e)}_calculateSpeedIndex(){const e=this.painter.canvasCopy(),t=this.painter.getCanvasCopiesAndTimestamps();t.timeStamps.push(performance.now());const i=this.painter.context.gl,r=i.createFramebuffer();function n(e){i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,e,0);const t=new Uint8Array(i.drawingBufferWidth*i.drawingBufferHeight*4);return i.readPixels(0,0,i.drawingBufferWidth,i.drawingBufferHeight,i.RGBA,i.UNSIGNED_BYTE,t),t}return i.bindFramebuffer(i.FRAMEBUFFER,r),this._canvasPixelComparison(n(e),t.canvasCopies.map(n),t.timeStamps)}_canvasPixelComparison(e,t,i){let r=i[1]-i[0];const n=e.length/4;for(let o=0;o{const t=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,t&&this._render(e)})))}_preloadTiles(t){const i=this.style?Object.values(this.style._sourceCaches):[];return e.asyncAll(i,((e,i)=>e._preloadTiles(t,i)),(()=>{this.triggerRepaint()})),this}_onWindowOnline(){this._update()}_onWindowResize(e){this._trackResize&&this.resize({originalEvent:e})._update()}_onVisibilityChange(){"hidden"===e.window.document.visibilityState&&this._visibilityHidden++}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showTerrainWireframe(){return!!this._showTerrainWireframe}set showTerrainWireframe(e){this._showTerrainWireframe!==e&&(this._showTerrainWireframe=e,this._update())}get speedIndexTiming(){return!!this._speedIndexTiming}set speedIndexTiming(e){this._speedIndexTiming!==e&&(this._speedIndexTiming=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get showTileAABBs(){return!!this._showTileAABBs}set showTileAABBs(e){this._showTileAABBs!==e&&(this._showTileAABBs=e,e&&this._update())}_setCacheLimits(t,i){e.setCacheLimits(t,i)}get version(){return e.version}},NavigationControl:class{constructor(t){this.options=e.extend({},co,t),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this.options.showZoom&&(e.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(e=>{this._map&&this._map.zoomIn({},{originalEvent:e})})),o("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(e=>{this._map&&this._map.zoomOut({},{originalEvent:e})})),o("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(e.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",(e=>{const t=this._map;t&&(this.options.visualizePitch?t.resetNorthPitch({},{originalEvent:e}):t.resetNorth({},{originalEvent:e}))})),this._compassIcon=o("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const e=this._map;if(!e)return;const t=e.getZoom(),i=t===e.getMaxZoom(),r=t===e.getMinZoom();this._zoomInButton.disabled=i,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute("aria-disabled",i.toString()),this._zoomOutButton.setAttribute("aria-disabled",r.toString())}_rotateCompassArrow(){const e=this._map;if(!e)return;const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(e.transform.pitch*(Math.PI/180)),.5)}) rotateX(${e.transform.pitch}deg) rotateZ(${e.transform.angle*(180/Math.PI)}deg)`:`rotate(${e.transform.angle*(180/Math.PI)}deg)`;e._requestDomTask((()=>{this._compassIcon&&(this._compassIcon.style.transform=t)}))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),e.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&e.on("pitch",this._rotateCompassArrow),e.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new ho(e,this._compass,this.options.visualizePitch)),this._container}onRemove(){const e=this._map;e&&(this._container.remove(),this.options.showZoom&&e.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&e.off("pitch",this._rotateCompassArrow),e.off("rotate",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0)}_createButton(e,t){const i=o("button",e,this._container);return i.type="button",i.addEventListener("click",t),i}_setButtonTitle(e,t){if(!this._map)return;const i=this._map._getUIString(`NavigationControl.${t}`);e.setAttribute("aria-label",i),e.firstElementChild&&e.firstElementChild.setAttribute("title",i)}},GeolocateControl:class extends e.Evented{constructor(t){super(),this.options=e.extend({geolocation:e.window.navigator.geolocation},uo,t),e.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker","_updateMarkerRotation","_onDeviceOrientation"],this),this._updateMarkerRotationThrottled=Kr(this._updateMarkerRotation,20),this._numberOfWatches=0}onAdd(e){return this._map=e,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){void 0!==this._geolocationWatchID&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off("zoom",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1}_checkGeolocationSupport(t){var i=this;const r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!!i.options.geolocation;i._supportsGeolocation=e,t(e)};void 0!==this._supportsGeolocation?t(this._supportsGeolocation):void 0!==e.window.navigator.permissions?e.window.navigator.permissions.query({name:"geolocation"}).then((e=>r("denied"!==e.state))).catch((()=>r())):r()}_isOutOfMapMaxBounds(e){const t=this._map.getMaxBounds(),i=e.coords;return!!t&&(i.longitudet.getEast()||i.latitudet.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}}_onSuccess(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.Event("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("geolocate",t)),this._finish()}}_updateCamera(t){const i=new e.LngLat(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy,n=this._map.getBearing(),o=e.extend({bearing:n},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),o,{geolocateSource:!0})}_updateMarker(t){if(t){const i=new e.LngLat(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const t=this._map.transform,i=e.mercatorZfromAltitude(1,t._center.lat)*t.worldSize,r=Math.ceil(2*this._accuracy*i);this._circleElement.style.width=`${r}px`,this._circleElement.style.height=`${r}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_updateMarkerRotation(){this._userLocationDotMarker&&"number"==typeof this._heading?(this._userLocationDotMarker.setRotation(this._heading),this._dotElement.classList.add("mapboxgl-user-location-show-heading")):(this._dotElement.classList.remove("mapboxgl-user-location-show-heading"),this._userLocationDotMarker.setRotation(0))}_onError(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&this._noTimeout)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("error",t)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(t){if(void 0!==this._map){if(this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this._geolocateButton=o("button","mapboxgl-ctrl-geolocate",this._container),o("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===t){e.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t)}else{const e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o("div","mapboxgl-user-location"),this._dotElement.appendChild(o("div","mapboxgl-user-location-dot")),this._dotElement.appendChild(o("div","mapboxgl-user-location-heading")),this._userLocationDotMarker=new io({element:this._dotElement,rotationAlignment:"map",pitchAlignment:"map"}),this._circleElement=o("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new io({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(t=>{t.geolocateSource||"ACTIVE_LOCK"!==this._watchState||t.originalEvent&&"resize"===t.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this.fire(new e.Event("trackuserlocationend")))}))}}_onDeviceOrientation(e){this._userLocationDotMarker&&(e.webkitCompassHeading?this._heading=e.webkitCompassHeading:!0===e.absolute&&(this._heading=-1*e.alpha),this._updateMarkerRotationThrottled())}trigger(){if(!this._setup)return e.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new e.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._numberOfWatches--,this._noTimeout=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new e.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._numberOfWatches++,this._numberOfWatches>1?(e={maximumAge:6e5,timeout:0},this._noTimeout=!0):(e=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,e),this.options.showUserHeading&&this._addDeviceOrientationListener()}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_addDeviceOrientationListener(){const t=()=>{e.window.addEventListener("ondeviceorientationabsolute"in e.window?"deviceorientationabsolute":"deviceorientation",this._onDeviceOrientation)};void 0!==e.window.DeviceMotionEvent&&"function"==typeof e.window.DeviceMotionEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((e=>{"granted"===e&&t()})).catch(console.error):t()}_clearWatch(){this.options.geolocation.clearWatch(this._geolocationWatchID),e.window.removeEventListener("deviceorientation",this._onDeviceOrientation),e.window.removeEventListener("deviceorientationabsolute",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Kn,ScaleControl:class{constructor(t){this.options=e.extend({},po,t),function(){try{return new Intl.NumberFormat("en",{style:"unit",unitDisplay:"narrow",unit:"meter"}),!0}catch(e){return!1}}()||(this._setScale=fo.bind(this)),e.bindAll(["_update","_setScale","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_update(){const e=this.options.maxWidth||100,t=this._map,i=t._containerHeight/2,r=t._containerWidth/2-e/2,n=t.unproject([r,i]),o=t.unproject([r+e,i]),s=n.distanceTo(o);if("imperial"===this.options.unit){const t=3.2808*s;t>5280?this._setScale(e,t/5280,"mile"):this._setScale(e,t,"foot")}else"nautical"===this.options.unit?this._setScale(e,s/1852,"nautical-mile"):s>=1e3?this._setScale(e,s/1e3,"kilometer"):this._setScale(e,s,"meter")}_setScale(e,t,i){const r=mo(t),n=r/t;this._map._requestDomTask((()=>{this._container.style.width=e*n+"px",this._container.innerHTML="nautical-mile"!==i?new Intl.NumberFormat(this._language,{style:"unit",unitDisplay:"narrow",unit:i}).format(r):`${r} nm`}))}onAdd(e){return this._map=e,this._language=e.getLanguage(),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-scale",e.getContainer()),this._container.dir="auto",this._map.on("move",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._update),this._map=void 0}_setLanguage(e){this._language=e,this._update()}setUnit(e){this.options.unit=e,this._update()}},FullscreenControl:class{constructor(t){this._fullscreen=!1,t&&t.container&&(t.container instanceof e.window.HTMLElement?this._container=t.container:e.warnOnce("Full screen control 'container' must be a DOM element.")),e.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in e.window.document?this._fullscreenchange="fullscreenchange":"onwebkitfullscreenchange"in e.window.document&&(this._fullscreenchange="webkitfullscreenchange")}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",e.warnOnce("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!(!e.window.document.fullscreenEnabled&&!e.window.document.webkitFullscreenEnabled)}_setupUI(){const t=this._fullscreenButton=o("button","mapboxgl-ctrl-fullscreen",this._controlContainer);o("span","mapboxgl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),e.window.document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute("title",e)}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(e.window.document.fullscreenElement||e.window.document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?e.window.document.exitFullscreen?e.window.document.exitFullscreen():e.window.document.webkitCancelFullScreen&&e.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},Popup:class extends e.Evented{constructor(t){super(),this.options=e.extend(Object.create(ro),t),e.bindAll(["_update","_onClose","remove","_onMouseEvent"],this),this._classList=new Set(t&&t.className?t.className.trim().split(/\s+/):[])}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&t.on("preclick",this._onClose),this.options.closeOnMove&&t.on("move",this._onClose),t.on("remove",this.remove),this._update(),t._addPopup(this),this._focusFirstElement(),this._trackPointer?(t.on("mousemove",this._onMouseEvent),t.on("mouseup",this._onMouseEvent),t._canvasContainer.classList.add("mapboxgl-track-pointer")):t.on("move",this._update),this.fire(new e.Event("open")),this}isOpen(){return!!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const t=this._map;return t&&(t.off("move",this._update),t.off("move",this._onClose),t.off("preclick",this._onClose),t.off("click",this._onClose),t.off("remove",this.remove),t.off("mousemove",this._onMouseEvent),t.off("mouseup",this._onMouseEvent),t.off("drag",this._onMouseEvent),t._canvasContainer&&t._canvasContainer.classList.remove("mapboxgl-track-pointer"),t._removePopup(this),this._map=void 0),this.fire(new e.Event("close")),this}getLngLat(){return this._lngLat}setLngLat(t){this._lngLat=e.LngLat.convert(t),this._pos=null,this._trackPointer=!1,this._update();const i=this._map;return i&&(i.on("move",this._update),i.off("mousemove",this._onMouseEvent),i._canvasContainer.classList.remove("mapboxgl-track-pointer")),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const e=this._map;return e&&(e.off("move",this._update),e.on("mousemove",this._onMouseEvent),e.on("drag",this._onMouseEvent),e._canvasContainer.classList.add("mapboxgl-track-pointer")),this}getElement(){return this._container}setText(t){return this.setDOMContent(e.window.document.createTextNode(t))}setHTML(t){const i=e.window.document.createDocumentFragment(),r=e.window.document.createElement("body");let n;for(r.innerHTML=t;n=r.firstChild,n;)i.appendChild(n);return this.setDOMContent(i)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){let t=this._content;if(t)for(;t.hasChildNodes();)t.firstChild&&t.removeChild(t.firstChild);else t=this._content=o("div","mapboxgl-popup-content",this._container||void 0);if(t.appendChild(e),this.options.closeButton){const e=this._closeButton=o("button","mapboxgl-popup-close-button",t);e.type="button",e.setAttribute("aria-label","Close popup"),e.setAttribute("aria-hidden","true"),e.innerHTML="×",e.addEventListener("click",this._onClose)}return this._update(),this._focusFirstElement(),this}addClassName(e){return this._classList.add(e),this._updateClassList(),this}removeClassName(e){return this._classList.delete(e),this._updateClassList(),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){let t;return this._classList.delete(e)?t=!1:(this._classList.add(e),t=!0),this._updateClassList(),t}_onMouseEvent(e){this._update(e.point)}_getAnchor(e){if(this.options.anchor)return this.options.anchor;const t=this._map,i=this._container,r=this._pos;if(!t||!i||!r)return"bottom";const n=i.offsetWidth,o=i.offsetHeight,s=r.xt.transform.width-n/2;if(r.y+et.transform.height-o){if(s)return"bottom-left";if(a)return"bottom-right"}return s?"left":a?"right":"bottom"}_updateClassList(){const e=this._container;if(!e)return;const t=[...this._classList];t.push("mapboxgl-popup"),this._anchor&&t.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&t.push("mapboxgl-popup-track-pointer"),e.className=t.join(" ")}_update(t){const i=this._map,r=this._content;if(!i||!this._lngLat&&!this._trackPointer||!r)return;let n=this._container;if(n||(n=this._container=o("div","mapboxgl-popup",i.getContainer()),this._tip=o("div","mapboxgl-popup-tip",n),n.appendChild(r)),this.options.maxWidth&&n.style.maxWidth!==this.options.maxWidth&&(n.style.maxWidth=this.options.maxWidth),i.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=eo(this._lngLat,this._pos,i.transform)),!this._trackPointer||t){const e=this._pos=this._trackPointer&&t?t:i.project(this._lngLat),r=oo(this.options.offset),n=this._anchor=this._getAnchor(r.y),o=oo(this.options.offset,n),s=e.add(o).round();i._requestDomTask((()=>{this._container&&n&&(this._container.style.transform=`${to[n]} translate(${s.x}px,${s.y}px)`)}))}if(!this._marker&&i._showingGlobe()){const t=e.isLngLatBehindGlobe(i.transform,this._lngLat)?0:1;this._setOpacity(t)}this._updateClassList()}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const e=this._container.querySelector(no);e&&e.focus()}_onClose(){this.remove()}_setOpacity(e){this._container&&(this._container.style.opacity=`${e}`),this._content&&(this._content.style.pointerEvents=e?"auto":"none")}},Marker:io,Style:Qt,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.pointGeometry,MercatorCoordinate:e.MercatorCoordinate,FreeCameraOptions:jr,Evented:e.Evented,config:e.config,prewarm:function(){je().acquire(Ue)},clearPrewarmedResources:function(){const e=Ne;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(Ue),Ne=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return e.config.ACCESS_TOKEN},set accessToken(t){e.config.ACCESS_TOKEN=t},get baseApiUrl(){return e.config.API_URL},set baseApiUrl(t){e.config.API_URL=t},get workerCount(){return Ve.workerCount},set workerCount(e){Ve.workerCount=e},get maxParallelImageRequests(){return e.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){e.config.MAX_PARALLEL_IMAGE_REQUESTS=t},clearStorage(t){e.clearTileCache(t)},workerUrl:"",workerClass:null,setNow:e.exported.setNow,restoreNow:e.exported.restoreNow};return _o})),i}()}}]); +//# sourceMappingURL=483.450c1111.chunk.js.map \ No newline at end of file diff --git a/static/js/483.450c1111.chunk.js.LICENSE.txt b/static/js/483.450c1111.chunk.js.LICENSE.txt new file mode 100644 index 0000000..70277b0 --- /dev/null +++ b/static/js/483.450c1111.chunk.js.LICENSE.txt @@ -0,0 +1 @@ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ diff --git a/static/js/483.450c1111.chunk.js.map b/static/js/483.450c1111.chunk.js.map new file mode 100644 index 0000000..9dbf199 --- /dev/null +++ b/static/js/483.450c1111.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/483.450c1111.chunk.js","mappings":"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","sources":["../node_modules/mapbox-gl/src/util/browser/window.js","../node_modules/mapbox-gl/src/util/config.js","../node_modules/mapbox-gl/src/util/webp_supported.js","../node_modules/mapbox-gl/src/util/sku_token.js","../node_modules/mapbox-gl/node_modules/@mapbox/unitbezier/index.js","../node_modules/mapbox-gl/node_modules/@mapbox/point-geometry/index.js","../node_modules/mapbox-gl/src/util/util.js","../node_modules/mapbox-gl/src/util/tile_request_cache.js","../node_modules/mapbox-gl/src/util/ajax.js","../node_modules/mapbox-gl/src/util/mapbox.js","../node_modules/mapbox-gl/src/util/live_performance.js","../node_modules/mapbox-gl/src/util/performance.js","../node_modules/mapbox-gl/src/util/browser.js","../node_modules/mapbox-gl/src/util/evented.js","../node_modules/mapbox-gl/src/style-spec/util/extend.js","../node_modules/mapbox-gl/src/style-spec/util/unbundle_jsonlint.js","../node_modules/mapbox-gl/src/style-spec/expression/parsing_error.js","../node_modules/mapbox-gl/src/style-spec/expression/scope.js","../node_modules/mapbox-gl/src/style-spec/expression/types.js","../node_modules/mapbox-gl/node_modules/csscolorparser/csscolorparser.js","../node_modules/mapbox-gl/src/style-spec/util/color.js","../node_modules/mapbox-gl/src/style-spec/expression/types/collator.js","../node_modules/mapbox-gl/src/style-spec/expression/types/formatted.js","../node_modules/mapbox-gl/src/style-spec/expression/types/resolved_image.js","../node_modules/mapbox-gl/src/style-spec/expression/values.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/literal.js","../node_modules/mapbox-gl/src/style-spec/expression/runtime_error.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/assertion.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/format.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/image.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/coercion.js","../node_modules/mapbox-gl/src/style-spec/expression/evaluation_context.js","../node_modules/mapbox-gl/src/style-spec/expression/compound_expression.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/collator.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/within.js","../node_modules/mapbox-gl/src/style-spec/expression/is_constant.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/var.js","../node_modules/mapbox-gl/src/style-spec/expression/parsing_context.js","../node_modules/mapbox-gl/src/style-spec/expression/stops.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/step.js","../node_modules/mapbox-gl/src/style-spec/util/interpolate.js","../node_modules/mapbox-gl/src/style-spec/util/color_spaces.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/interpolate.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/coalesce.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/let.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/at.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/in.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/index_of.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/match.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/case.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/slice.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/comparison.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/number_format.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/length.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/index.js","../node_modules/mapbox-gl/src/style-spec/util/result.js","../node_modules/mapbox-gl/src/style-spec/util/properties.js","../node_modules/mapbox-gl/src/style-spec/util/get_type.js","../node_modules/mapbox-gl/src/style-spec/function/index.js","../node_modules/mapbox-gl/src/style-spec/expression/index.js","../node_modules/mapbox-gl/src/style-spec/error/validation_error.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_object.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_array.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_number.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_function.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_expression.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_enum.js","../node_modules/mapbox-gl/src/style-spec/feature_filter/index.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_filter.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_property.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_paint_property.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_layout_property.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_layer.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_string.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_source.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_light.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_terrain.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_fog.js","../node_modules/mapbox-gl/src/style-spec/validate/validate.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_boolean.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_color.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_formatted.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_image.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_projection.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_glyphs_url.js","../node_modules/mapbox-gl/src/style-spec/validate_style.min.js","../node_modules/mapbox-gl/src/style/validate_style.js","../node_modules/mapbox-gl/node_modules/grid-index/grid-index.js","../node_modules/mapbox-gl/src/util/web_worker_transfer.js","../node_modules/mapbox-gl/src/util/is_char_in_unicode_block.js","../node_modules/mapbox-gl/src/util/script_detection.js","../node_modules/mapbox-gl/src/source/rtl_text_plugin.js","../node_modules/mapbox-gl/src/style/evaluation_parameters.js","../node_modules/mapbox-gl/src/style/properties.js","../node_modules/mapbox-gl/src/shaders/encode_attribute.js","../node_modules/mapbox-gl/src/util/struct_array.js","../node_modules/mapbox-gl/src/data/array_types.js","../node_modules/mapbox-gl/src/data/bucket/pattern_attributes.js","../node_modules/mapbox-gl/src/data/bucket/dash_attributes.js","../node_modules/mapbox-gl/node_modules/murmurhash-js/murmurhash3_gc.js","../node_modules/mapbox-gl/node_modules/murmurhash-js/murmurhash2_gc.js","../node_modules/mapbox-gl/node_modules/murmurhash-js/index.js","../node_modules/mapbox-gl/src/data/feature_position_map.js","../node_modules/mapbox-gl/src/render/uniform_binding.js","../node_modules/mapbox-gl/src/data/program_configuration.js","../node_modules/mapbox-gl/src/style/style_layer.js","../node_modules/mapbox-gl/src/data/bucket/circle_attributes.js","../node_modules/mapbox-gl/src/data/segment.js","../node_modules/mapbox-gl/src/data/extent.js","../node_modules/mapbox-gl/src/geo/lng_lat_bounds.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/common.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/mat3.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/mat4.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/vec3.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/vec4.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/quat.js","../node_modules/mapbox-gl/src/terrain/globe_attributes.js","../node_modules/mapbox-gl/src/data/pos_attributes.js","../node_modules/mapbox-gl/src/util/primitives.js","../node_modules/mapbox-gl/src/geo/projection/globe_util.js","../node_modules/mapbox-gl/src/geo/lng_lat.js","../node_modules/mapbox-gl/src/geo/mercator_coordinate.js","../node_modules/mapbox-gl/src/geo/projection/resample.js","../node_modules/mapbox-gl/src/data/load_geometry.js","../node_modules/mapbox-gl/src/data/evaluation_feature.js","../node_modules/mapbox-gl/src/data/bucket/circle_bucket.js","../node_modules/mapbox-gl/src/util/intersection_tests.js","../node_modules/mapbox-gl/src/style/query_utils.js","../node_modules/mapbox-gl/src/style/style_layer/circle_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/circle_style_layer.js","../node_modules/mapbox-gl/src/data/bucket/heatmap_bucket.js","../node_modules/mapbox-gl/src/util/image.js","../node_modules/mapbox-gl/src/style/style_layer/heatmap_style_layer_properties.js","../node_modules/mapbox-gl/src/util/color_ramp.js","../node_modules/mapbox-gl/src/style/style_layer/hillshade_style_layer_properties.js","../node_modules/mapbox-gl/src/data/bucket/fill_attributes.js","../node_modules/mapbox-gl/node_modules/earcut/src/earcut.js","../node_modules/mapbox-gl/node_modules/quickselect/index.js","../node_modules/mapbox-gl/src/util/classify_rings.js","../node_modules/mapbox-gl/src/data/bucket/pattern_bucket_features.js","../node_modules/mapbox-gl/src/data/bucket/fill_bucket.js","../node_modules/mapbox-gl/src/style/style_layer/fill_style_layer_properties.js","../node_modules/mapbox-gl/src/data/bucket/fill_extrusion_attributes.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/lib/vectortilefeature.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/lib/vectortilelayer.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/lib/vectortile.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/index.js","../node_modules/mapbox-gl/src/util/polygon_clipping.js","../node_modules/mapbox-gl/src/data/bucket/fill_extrusion_bucket.js","../node_modules/mapbox-gl/src/style/style_layer/fill_extrusion_style_layer_properties.js","../node_modules/mapbox-gl/node_modules/@mapbox/whoots-js/index.mjs","../node_modules/mapbox-gl/src/source/tile_id.js","../node_modules/mapbox-gl/src/style/style_layer/fill_extrusion_style_layer.js","../node_modules/mapbox-gl/src/data/bucket/line_attributes.js","../node_modules/mapbox-gl/src/data/bucket/line_attributes_ext.js","../node_modules/mapbox-gl/src/data/bucket/line_bucket.js","../node_modules/mapbox-gl/src/style/style_layer/line_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/line_style_layer.js","../node_modules/mapbox-gl/src/data/bucket/symbol_attributes.js","../node_modules/mapbox-gl/src/symbol/one_em.js","../node_modules/mapbox-gl/src/symbol/symbol_size.js","../node_modules/mapbox-gl/src/symbol/transform_text.js","../node_modules/mapbox-gl/src/util/verticalize_punctuation.js","../node_modules/mapbox-gl/node_modules/pbf/index.js","../node_modules/mapbox-gl/node_modules/ieee754/index.js","../node_modules/mapbox-gl/src/style/parse_glyph_pbf.js","../node_modules/mapbox-gl/node_modules/potpack/index.js","../node_modules/mapbox-gl/src/render/image_atlas.js","../node_modules/mapbox-gl/src/symbol/shaping.js","../node_modules/mapbox-gl/src/symbol/anchor.js","../node_modules/mapbox-gl/src/symbol/check_max_angle.js","../node_modules/mapbox-gl/src/symbol/get_anchors.js","../node_modules/mapbox-gl/src/symbol/clip_line.js","../node_modules/mapbox-gl/node_modules/@mapbox/tiny-sdf/index.js","../node_modules/mapbox-gl/src/render/glyph_manager.js","../node_modules/mapbox-gl/src/symbol/quads.js","../node_modules/mapbox-gl/src/style/load_glyph_range.js","../node_modules/mapbox-gl/node_modules/tinyqueue/index.js","../node_modules/mapbox-gl/src/util/find_pole_of_inaccessibility.js","../node_modules/mapbox-gl/src/symbol/symbol_layout.js","../node_modules/mapbox-gl/src/geo/projection/far_z.js","../node_modules/mapbox-gl/src/geo/projection/tile_transform.js","../node_modules/mapbox-gl/src/geo/projection/projection.js","../node_modules/mapbox-gl/src/geo/projection/albers.js","../node_modules/mapbox-gl/src/geo/projection/equal_earth.js","../node_modules/mapbox-gl/src/geo/projection/equirectangular.js","../node_modules/mapbox-gl/src/geo/projection/lambert.js","../node_modules/mapbox-gl/src/geo/projection/mercator.js","../node_modules/mapbox-gl/src/geo/projection/natural_earth.js","../node_modules/mapbox-gl/src/geo/projection/winkel_tripel.js","../node_modules/mapbox-gl/src/geo/projection/cylindrical_equal_area.js","../node_modules/mapbox-gl/src/geo/projection/globe.js","../node_modules/mapbox-gl/src/geo/projection/index.js","../node_modules/mapbox-gl/src/data/bucket/symbol_bucket.js","../node_modules/mapbox-gl/src/symbol/mergelines.js","../node_modules/mapbox-gl/src/style/style_layer/symbol_style_layer_properties.js","../node_modules/mapbox-gl/src/style/format_section_override.js","../node_modules/mapbox-gl/src/style/style_layer/symbol_style_layer.js","../node_modules/mapbox-gl/src/util/resolve_tokens.js","../node_modules/mapbox-gl/src/style/style_layer/background_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/raster_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/custom_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/sky_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/sky_style_layer.js","../node_modules/mapbox-gl/src/style/create_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/heatmap_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/hillshade_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/fill_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/background_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/raster_style_layer.js","../node_modules/mapbox-gl/src/render/texture.js","../node_modules/mapbox-gl/src/util/throttled_invoker.js","../node_modules/mapbox-gl/src/util/scheduler.js","../node_modules/mapbox-gl/src/util/dictionary_coder.js","../node_modules/mapbox-gl/src/util/vectortile_to_geojson.js","../node_modules/mapbox-gl/src/source/tile_mesh.js","../node_modules/mapbox-gl/src/data/bounds_attributes.js","../node_modules/mapbox-gl/src/source/tile.js","../node_modules/mapbox-gl/src/data/bucket.js","../node_modules/mapbox-gl/src/source/source_state.js","../node_modules/mapbox-gl/src/data/dem_tree.js","../node_modules/mapbox-gl/src/data/dem_data.js","../node_modules/mapbox-gl/src/source/tile_cache.js","../node_modules/mapbox-gl/src/gl/depth_mode.js","../node_modules/mapbox-gl/src/gl/stencil_mode.js","../node_modules/mapbox-gl/src/gl/color_mode.js","../node_modules/mapbox-gl/src/gl/cull_face_mode.js","../node_modules/mapbox-gl/src/source/source_cache.js","../node_modules/mapbox-gl/src/terrain/elevation.js","../node_modules/mapbox-gl/src/data/feature_index.js","../node_modules/mapbox-gl/src/render/line_atlas.js","../node_modules/mapbox-gl/src/render/glyph_atlas.js","../node_modules/mapbox-gl/src/source/worker_tile.js","../node_modules/mapbox-gl/src/source/vector_tile_worker_source.js","../node_modules/mapbox-gl/src/util/actor.js","../node_modules/mapbox-gl/src/style-spec/util/ref_properties.js","../node_modules/mapbox-gl/src/style-spec/group_by_layout.js","../node_modules/mapbox-gl/src/style/style_layer_index.js","../node_modules/mapbox-gl/src/source/raster_dem_tile_worker_source.js","../node_modules/mapbox-gl/node_modules/@mapbox/geojson-rewind/index.js","../node_modules/mapbox-gl/src/source/geojson_wrapper.js","../node_modules/mapbox-gl/node_modules/vt-pbf/lib/geojson_wrapper.js","../node_modules/mapbox-gl/node_modules/vt-pbf/index.js","../node_modules/mapbox-gl/node_modules/kdbush/src/sort.js","../node_modules/mapbox-gl/node_modules/kdbush/src/within.js","../node_modules/mapbox-gl/node_modules/kdbush/src/index.js","../node_modules/mapbox-gl/node_modules/kdbush/src/range.js","../node_modules/mapbox-gl/node_modules/supercluster/index.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/simplify.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/feature.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/convert.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/clip.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/wrap.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/transform.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/tile.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/index.js","../node_modules/mapbox-gl/src/source/geojson_worker_source.js","../node_modules/mapbox-gl/src/source/worker.js","../node_modules/mapbox-gl/src/style-spec/util/deep_equal.js","../node_modules/mapbox-gl/node_modules/@mapbox/mapbox-gl-supported/index.js","../node_modules/mapbox-gl/src/util/dom.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/mat2.js","../node_modules/mapbox-gl/src/style/style_image.js","../node_modules/mapbox-gl/src/render/image_manager.js","../node_modules/mapbox-gl/src/style/light.js","../node_modules/mapbox-gl/src/style/terrain.js","../node_modules/mapbox-gl/src/style/fog_helpers.js","../node_modules/mapbox-gl/src/style/fog.js","../node_modules/mapbox-gl/src/util/dispatcher.js","../node_modules/mapbox-gl/src/source/pixels_to_tile_units.js","../node_modules/mapbox-gl/src/style/query_geometry.js","../node_modules/mapbox-gl/src/source/load_tilejson.js","../node_modules/mapbox-gl/src/source/tile_bounds.js","../node_modules/mapbox-gl/src/gl/index_buffer.js","../node_modules/mapbox-gl/src/gl/vertex_buffer.js","../node_modules/mapbox-gl/src/gl/value.js","../node_modules/mapbox-gl/src/gl/framebuffer.js","../node_modules/mapbox-gl/src/gl/context.js","../node_modules/mapbox-gl/src/source/vector_tile_source.js","../node_modules/mapbox-gl/src/source/raster_tile_source.js","../node_modules/mapbox-gl/src/util/offscreen_canvas_supported.js","../node_modules/mapbox-gl/src/source/image_source.js","../node_modules/mapbox-gl/src/source/source.js","../node_modules/mapbox-gl/src/source/raster_dem_tile_source.js","../node_modules/mapbox-gl/src/source/geojson_source.js","../node_modules/mapbox-gl/src/source/video_source.js","../node_modules/mapbox-gl/src/source/canvas_source.js","../node_modules/mapbox-gl/src/source/custom_source.js","../node_modules/mapbox-gl/src/source/query_features.js","../node_modules/mapbox-gl/src/util/browser/web_worker.js","../node_modules/mapbox-gl/src/util/worker_pool.js","../node_modules/mapbox-gl/src/util/global_worker_pool.js","../node_modules/mapbox-gl/src/style-spec/deref.js","../node_modules/mapbox-gl/src/style-spec/diff.js","../node_modules/mapbox-gl/src/symbol/path_interpolator.js","../node_modules/mapbox-gl/src/symbol/grid_index.js","../node_modules/mapbox-gl/src/symbol/projection.js","../node_modules/mapbox-gl/src/symbol/collision_index.js","../node_modules/mapbox-gl/src/geo/projection/projection_util.js","../node_modules/mapbox-gl/src/symbol/placement.js","../node_modules/mapbox-gl/src/style/pauseable_placement.js","../node_modules/mapbox-gl/src/symbol/cross_tile_symbol_index.js","../node_modules/mapbox-gl/src/style/style.js","../node_modules/mapbox-gl/src/style-spec/empty.js","../node_modules/mapbox-gl/src/style/load_sprite.js","../node_modules/mapbox-gl/src/shaders/shaders.js","../node_modules/mapbox-gl/src/render/vertex_array_object.js","../node_modules/mapbox-gl/src/render/program/hillshade_program.js","../node_modules/mapbox-gl/src/render/draw_hillshade.js","../node_modules/mapbox-gl/src/terrain/terrain_raster_program.js","../node_modules/mapbox-gl/src/terrain/globe_raster_program.js","../node_modules/mapbox-gl/src/terrain/draw_terrain_raster.js","../node_modules/mapbox-gl/src/render/program/clipping_mask_program.js","../node_modules/mapbox-gl/src/render/raster_fade.js","../node_modules/mapbox-gl/src/terrain/terrain.js","../node_modules/mapbox-gl/src/render/program.js","../node_modules/mapbox-gl/src/render/fog.js","../node_modules/mapbox-gl/src/render/program/pattern.js","../node_modules/mapbox-gl/src/render/program/fill_extrusion_program.js","../node_modules/mapbox-gl/src/render/program/fill_program.js","../node_modules/mapbox-gl/src/render/program/circle_program.js","../node_modules/mapbox-gl/src/render/program/collision_program.js","../node_modules/mapbox-gl/src/render/program/debug_program.js","../node_modules/mapbox-gl/src/render/program/heatmap_program.js","../node_modules/mapbox-gl/src/render/program/line_program.js","../node_modules/mapbox-gl/src/render/program/raster_program.js","../node_modules/mapbox-gl/src/render/program/symbol_program.js","../node_modules/mapbox-gl/src/render/program/background_program.js","../node_modules/mapbox-gl/src/render/program/program_uniforms.js","../node_modules/mapbox-gl/src/render/program/skybox_program.js","../node_modules/mapbox-gl/src/render/program/skybox_capture_program.js","../node_modules/mapbox-gl/src/render/draw_collision_debug.js","../node_modules/mapbox-gl/src/render/draw_symbol.js","../node_modules/mapbox-gl/src/render/draw_fill.js","../node_modules/mapbox-gl/src/render/draw_fill_extrusion.js","../node_modules/mapbox-gl/src/render/draw_debug.js","../node_modules/mapbox-gl/src/render/skybox_attributes.js","../node_modules/mapbox-gl/src/render/skybox_geometry.js","../node_modules/mapbox-gl/src/render/draw_sky.js","../node_modules/mapbox-gl/src/render/atmosphere_attributes.js","../node_modules/mapbox-gl/src/render/atmosphere_buffer.js","../node_modules/mapbox-gl/src/render/painter.js","../node_modules/mapbox-gl/src/render/draw_circle.js","../node_modules/mapbox-gl/src/render/draw_heatmap.js","../node_modules/mapbox-gl/src/render/draw_line.js","../node_modules/mapbox-gl/src/render/draw_raster.js","../node_modules/mapbox-gl/src/render/draw_background.js","../node_modules/mapbox-gl/src/render/draw_custom.js","../node_modules/mapbox-gl/src/render/draw_atmosphere.js","../node_modules/mapbox-gl/src/geo/edge_insets.js","../node_modules/mapbox-gl/src/ui/free_camera.js","../node_modules/mapbox-gl/src/geo/projection/adjustments.js","../node_modules/mapbox-gl/src/geo/transform.js","../node_modules/mapbox-gl/src/util/throttle.js","../node_modules/mapbox-gl/src/ui/hash.js","../node_modules/mapbox-gl/src/ui/handler_inertia.js","../node_modules/mapbox-gl/src/ui/events.js","../node_modules/mapbox-gl/src/ui/handler/map_event.js","../node_modules/mapbox-gl/src/ui/handler/box_zoom.js","../node_modules/mapbox-gl/src/ui/handler/handler_util.js","../node_modules/mapbox-gl/src/ui/handler/tap_recognizer.js","../node_modules/mapbox-gl/src/ui/handler/tap_zoom.js","../node_modules/mapbox-gl/src/ui/handler/mouse.js","../node_modules/mapbox-gl/src/ui/handler/touch_pan.js","../node_modules/mapbox-gl/src/ui/handler/touch_zoom_rotate.js","../node_modules/mapbox-gl/src/ui/handler/keyboard.js","../node_modules/mapbox-gl/src/ui/handler/scroll_zoom.js","../node_modules/mapbox-gl/src/ui/handler/shim/dblclick_zoom.js","../node_modules/mapbox-gl/src/ui/handler/click_zoom.js","../node_modules/mapbox-gl/src/ui/handler/tap_drag_zoom.js","../node_modules/mapbox-gl/src/ui/handler/shim/drag_pan.js","../node_modules/mapbox-gl/src/ui/handler/shim/drag_rotate.js","../node_modules/mapbox-gl/src/ui/handler/shim/touch_zoom_rotate.js","../node_modules/mapbox-gl/src/ui/handler_manager.js","../node_modules/mapbox-gl/src/ui/camera.js","../node_modules/mapbox-gl/src/ui/control/attribution_control.js","../node_modules/mapbox-gl/src/ui/control/logo_control.js","../node_modules/mapbox-gl/src/util/task_queue.js","../node_modules/mapbox-gl/src/util/smart_wrap.js","../node_modules/mapbox-gl/src/ui/anchor.js","../node_modules/mapbox-gl/src/ui/marker.js","../node_modules/mapbox-gl/src/ui/popup.js","../node_modules/mapbox-gl/src/util/eased_variable.js","../node_modules/mapbox-gl/src/ui/default_locale.js","../node_modules/mapbox-gl/src/ui/map.js","../node_modules/mapbox-gl/src/ui/control/navigation_control.js","../node_modules/mapbox-gl/src/ui/control/geolocate_control.js","../node_modules/mapbox-gl/src/ui/control/scale_control.js","../node_modules/mapbox-gl/src/index.js","../node_modules/mapbox-gl/src/ui/control/fullscreen_control.js","../node_modules/mapbox-gl/rollup/mapboxgl.js"],"sourcesContent":["// @flow\n/* eslint-env browser */\nimport type {Window} from '../../types/window.js';\n\n// shim window for the case of requiring the browser bundle in Node\nexport default ((typeof self !== 'undefined' ? self : ({}: any)): Window);\n","// @flow strict\n\ntype Config = {|\n API_URL: string,\n API_URL_REGEX: RegExp,\n API_TILEJSON_REGEX: RegExp,\n API_FONTS_REGEX: RegExp,\n API_SPRITE_REGEX: RegExp,\n API_STYLE_REGEX: RegExp,\n API_CDN_URL_REGEX: RegExp,\n EVENTS_URL: ?string,\n SESSION_PATH: string,\n FEEDBACK_URL: string,\n REQUIRE_ACCESS_TOKEN: boolean,\n TILE_URL_VERSION: string,\n RASTER_URL_PREFIX: string,\n ACCESS_TOKEN: ?string,\n MAX_PARALLEL_IMAGE_REQUESTS: number\n|};\n\nlet mapboxHTTPURLRegex;\n\nconst config: Config = {\n API_URL: 'https://api.mapbox.com',\n get API_URL_REGEX () {\n if (mapboxHTTPURLRegex == null) {\n const prodMapboxHTTPURLRegex = /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;\n try {\n mapboxHTTPURLRegex = (process.env.API_URL_REGEX != null) ? new RegExp(process.env.API_URL_REGEX) : prodMapboxHTTPURLRegex;\n } catch (e) {\n mapboxHTTPURLRegex = prodMapboxHTTPURLRegex;\n }\n }\n\n return mapboxHTTPURLRegex;\n },\n get API_TILEJSON_REGEX() {\n // https://docs.mapbox.com/api/maps/mapbox-tiling-service/#retrieve-tilejson-metadata\n return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/v[0-9]*\\/.*\\.json.*$)/i;\n },\n get API_SPRITE_REGEX() {\n // https://docs.mapbox.com/api/maps/styles/#retrieve-a-sprite-image-or-json\n return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/styles\\/v[0-9]*\\/)(.*\\/sprite.*\\..*$)/i;\n },\n get API_FONTS_REGEX() {\n // https://docs.mapbox.com/api/maps/fonts/#retrieve-font-glyph-ranges\n return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/fonts\\/v[0-9]*\\/)(.*\\.pbf.*$)/i;\n },\n get API_STYLE_REGEX() {\n // https://docs.mapbox.com/api/maps/styles/#retrieve-a-style\n return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/styles\\/v[0-9]*\\/)(.*$)/i;\n },\n get API_CDN_URL_REGEX() {\n return /^((https?:)?\\/\\/)?api\\.mapbox\\.c(n|om)(\\/mapbox-gl-js\\/)(.*$)/i;\n },\n get EVENTS_URL() {\n if (!config.API_URL) { return null; }\n try {\n const url = new URL(config.API_URL);\n if (url.hostname === 'api.mapbox.cn') {\n return 'https://events.mapbox.cn/events/v2';\n } else if (url.hostname === 'api.mapbox.com') {\n return 'https://events.mapbox.com/events/v2';\n } else {\n return null;\n }\n } catch (e) {\n return null;\n }\n },\n SESSION_PATH: '/map-sessions/v1',\n FEEDBACK_URL: 'https://apps.mapbox.com/feedback',\n TILE_URL_VERSION: 'v4',\n RASTER_URL_PREFIX: 'raster/v1',\n REQUIRE_ACCESS_TOKEN: true,\n ACCESS_TOKEN: null,\n MAX_PARALLEL_IMAGE_REQUESTS: 16\n};\n\nexport default config;\n","// @flow strict\n\nimport window from './window.js';\n\nconst exported = {\n supported: false,\n testSupport\n};\n\nexport default exported;\n\nlet glForTesting;\nlet webpCheckComplete = false;\nlet webpImgTest;\nlet webpImgTestOnloadComplete = false;\n\nif (window.document) {\n webpImgTest = window.document.createElement('img');\n webpImgTest.onload = function() {\n if (glForTesting) testWebpTextureUpload(glForTesting);\n glForTesting = null;\n webpImgTestOnloadComplete = true;\n };\n webpImgTest.onerror = function() {\n webpCheckComplete = true;\n glForTesting = null;\n };\n webpImgTest.src = 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=';\n}\n\nfunction testSupport(gl: WebGLRenderingContext) {\n if (webpCheckComplete || !webpImgTest) return;\n\n // HTMLImageElement.complete is set when an image is done loading it's source\n // regardless of whether the load was successful or not.\n // It's possible for an error to set HTMLImageElement.complete to true which would trigger\n // testWebpTextureUpload and mistakenly set exported.supported to true in browsers which don't support webp\n // To avoid this, we set a flag in the image's onload handler and only call testWebpTextureUpload\n // after a successful image load event.\n if (webpImgTestOnloadComplete) {\n testWebpTextureUpload(gl);\n } else {\n glForTesting = gl;\n\n }\n}\n\nfunction testWebpTextureUpload(gl: WebGLRenderingContext) {\n // Edge 18 supports WebP but not uploading a WebP image to a gl texture\n // Test support for this before allowing WebP images.\n // https://github.com/mapbox/mapbox-gl-js/issues/7671\n const texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n\n try {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, webpImgTest);\n\n // The error does not get triggered in Edge if the context is lost\n if (gl.isContextLost()) return;\n\n exported.supported = true;\n } catch (e) {\n // Catch \"Unspecified Error.\" in Edge 18.\n }\n\n gl.deleteTexture(texture);\n\n webpCheckComplete = true;\n}\n","// @flow\n\n/***** START WARNING REMOVAL OR MODIFICATION OF THE\n* FOLLOWING CODE VIOLATES THE MAPBOX TERMS OF SERVICE ******\n* The following code is used to access Mapbox's APIs. Removal or modification\n* of this code can result in higher fees and/or\n* termination of your account with Mapbox.\n*\n* Under the Mapbox Terms of Service, you may not use this code to access Mapbox\n* Mapping APIs other than through Mapbox SDKs.\n*\n* The Mapping APIs documentation is available at https://docs.mapbox.com/api/maps/#maps\n* and the Mapbox Terms of Service are available at https://www.mapbox.com/tos/\n******************************************************************************/\n\ntype SkuTokenObject = {|\n token: string,\n tokenExpiresAt: number\n|};\n\nconst SKU_ID = '01';\n\nfunction createSkuToken(): SkuTokenObject {\n // SKU_ID and TOKEN_VERSION are specified by an internal schema and should not change\n const TOKEN_VERSION = '1';\n const base62chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n // sessionRandomizer is a randomized 10-digit base-62 number\n let sessionRandomizer = '';\n for (let i = 0; i < 10; i++) {\n sessionRandomizer += base62chars[Math.floor(Math.random() * 62)];\n }\n const expiration = 12 * 60 * 60 * 1000; // 12 hours\n const token = [TOKEN_VERSION, SKU_ID, sessionRandomizer].join('');\n const tokenExpiresAt = Date.now() + expiration;\n\n return {token, tokenExpiresAt};\n}\n\nexport {createSkuToken, SKU_ID};\n\n/***** END WARNING - REMOVAL OR MODIFICATION OF THE\nPRECEDING CODE VIOLATES THE MAPBOX TERMS OF SERVICE ******/\n","'use strict';\n\nmodule.exports = UnitBezier;\n\nfunction UnitBezier(p1x, p1y, p2x, p2y) {\n // Calculate the polynomial coefficients, implicit first and last control points are (0,0) and (1,1).\n this.cx = 3.0 * p1x;\n this.bx = 3.0 * (p2x - p1x) - this.cx;\n this.ax = 1.0 - this.cx - this.bx;\n\n this.cy = 3.0 * p1y;\n this.by = 3.0 * (p2y - p1y) - this.cy;\n this.ay = 1.0 - this.cy - this.by;\n\n this.p1x = p1x;\n this.p1y = p1y;\n this.p2x = p2x;\n this.p2y = p2y;\n}\n\nUnitBezier.prototype = {\n sampleCurveX: function (t) {\n // `ax t^3 + bx t^2 + cx t' expanded using Horner's rule.\n return ((this.ax * t + this.bx) * t + this.cx) * t;\n },\n\n sampleCurveY: function (t) {\n return ((this.ay * t + this.by) * t + this.cy) * t;\n },\n\n sampleCurveDerivativeX: function (t) {\n return (3.0 * this.ax * t + 2.0 * this.bx) * t + this.cx;\n },\n\n solveCurveX: function (x, epsilon) {\n if (epsilon === undefined) epsilon = 1e-6;\n\n if (x < 0.0) return 0.0;\n if (x > 1.0) return 1.0;\n\n var t = x;\n\n // First try a few iterations of Newton's method - normally very fast.\n for (var i = 0; i < 8; i++) {\n var x2 = this.sampleCurveX(t) - x;\n if (Math.abs(x2) < epsilon) return t;\n\n var d2 = this.sampleCurveDerivativeX(t);\n if (Math.abs(d2) < 1e-6) break;\n\n t = t - x2 / d2;\n }\n\n // Fall back to the bisection method for reliability.\n var t0 = 0.0;\n var t1 = 1.0;\n t = x;\n\n for (i = 0; i < 20; i++) {\n x2 = this.sampleCurveX(t);\n if (Math.abs(x2 - x) < epsilon) break;\n\n if (x > x2) {\n t0 = t;\n } else {\n t1 = t;\n }\n\n t = (t1 - t0) * 0.5 + t0;\n }\n\n return t;\n },\n\n solve: function (x, epsilon) {\n return this.sampleCurveY(this.solveCurveX(x, epsilon));\n }\n};\n","'use strict';\n\nmodule.exports = Point;\n\n/**\n * A standalone point geometry with useful accessor, comparison, and\n * modification methods.\n *\n * @class Point\n * @param {Number} x the x-coordinate. this could be longitude or screen\n * pixels, or any other sort of unit.\n * @param {Number} y the y-coordinate. this could be latitude or screen\n * pixels, or any other sort of unit.\n * @example\n * var point = new Point(-77, 38);\n */\nfunction Point(x, y) {\n this.x = x;\n this.y = y;\n}\n\nPoint.prototype = {\n\n /**\n * Clone this point, returning a new point that can be modified\n * without affecting the old one.\n * @return {Point} the clone\n */\n clone: function() { return new Point(this.x, this.y); },\n\n /**\n * Add this point's x & y coordinates to another point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n add: function(p) { return this.clone()._add(p); },\n\n /**\n * Subtract this point's x & y coordinates to from point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n sub: function(p) { return this.clone()._sub(p); },\n\n /**\n * Multiply this point's x & y coordinates by point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n multByPoint: function(p) { return this.clone()._multByPoint(p); },\n\n /**\n * Divide this point's x & y coordinates by point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n divByPoint: function(p) { return this.clone()._divByPoint(p); },\n\n /**\n * Multiply this point's x & y coordinates by a factor,\n * yielding a new point.\n * @param {Point} k factor\n * @return {Point} output point\n */\n mult: function(k) { return this.clone()._mult(k); },\n\n /**\n * Divide this point's x & y coordinates by a factor,\n * yielding a new point.\n * @param {Point} k factor\n * @return {Point} output point\n */\n div: function(k) { return this.clone()._div(k); },\n\n /**\n * Rotate this point around the 0, 0 origin by an angle a,\n * given in radians\n * @param {Number} a angle to rotate around, in radians\n * @return {Point} output point\n */\n rotate: function(a) { return this.clone()._rotate(a); },\n\n /**\n * Rotate this point around p point by an angle a,\n * given in radians\n * @param {Number} a angle to rotate around, in radians\n * @param {Point} p Point to rotate around\n * @return {Point} output point\n */\n rotateAround: function(a,p) { return this.clone()._rotateAround(a,p); },\n\n /**\n * Multiply this point by a 4x1 transformation matrix\n * @param {Array} m transformation matrix\n * @return {Point} output point\n */\n matMult: function(m) { return this.clone()._matMult(m); },\n\n /**\n * Calculate this point but as a unit vector from 0, 0, meaning\n * that the distance from the resulting point to the 0, 0\n * coordinate will be equal to 1 and the angle from the resulting\n * point to the 0, 0 coordinate will be the same as before.\n * @return {Point} unit vector point\n */\n unit: function() { return this.clone()._unit(); },\n\n /**\n * Compute a perpendicular point, where the new y coordinate\n * is the old x coordinate and the new x coordinate is the old y\n * coordinate multiplied by -1\n * @return {Point} perpendicular point\n */\n perp: function() { return this.clone()._perp(); },\n\n /**\n * Return a version of this point with the x & y coordinates\n * rounded to integers.\n * @return {Point} rounded point\n */\n round: function() { return this.clone()._round(); },\n\n /**\n * Return the magitude of this point: this is the Euclidean\n * distance from the 0, 0 coordinate to this point's x and y\n * coordinates.\n * @return {Number} magnitude\n */\n mag: function() {\n return Math.sqrt(this.x * this.x + this.y * this.y);\n },\n\n /**\n * Judge whether this point is equal to another point, returning\n * true or false.\n * @param {Point} other the other point\n * @return {boolean} whether the points are equal\n */\n equals: function(other) {\n return this.x === other.x &&\n this.y === other.y;\n },\n\n /**\n * Calculate the distance from this point to another point\n * @param {Point} p the other point\n * @return {Number} distance\n */\n dist: function(p) {\n return Math.sqrt(this.distSqr(p));\n },\n\n /**\n * Calculate the distance from this point to another point,\n * without the square root step. Useful if you're comparing\n * relative distances.\n * @param {Point} p the other point\n * @return {Number} distance\n */\n distSqr: function(p) {\n var dx = p.x - this.x,\n dy = p.y - this.y;\n return dx * dx + dy * dy;\n },\n\n /**\n * Get the angle from the 0, 0 coordinate to this point, in radians\n * coordinates.\n * @return {Number} angle\n */\n angle: function() {\n return Math.atan2(this.y, this.x);\n },\n\n /**\n * Get the angle from this point to another point, in radians\n * @param {Point} b the other point\n * @return {Number} angle\n */\n angleTo: function(b) {\n return Math.atan2(this.y - b.y, this.x - b.x);\n },\n\n /**\n * Get the angle between this point and another point, in radians\n * @param {Point} b the other point\n * @return {Number} angle\n */\n angleWith: function(b) {\n return this.angleWithSep(b.x, b.y);\n },\n\n /*\n * Find the angle of the two vectors, solving the formula for\n * the cross product a x b = |a||b|sin(θ) for θ.\n * @param {Number} x the x-coordinate\n * @param {Number} y the y-coordinate\n * @return {Number} the angle in radians\n */\n angleWithSep: function(x, y) {\n return Math.atan2(\n this.x * y - this.y * x,\n this.x * x + this.y * y);\n },\n\n _matMult: function(m) {\n var x = m[0] * this.x + m[1] * this.y,\n y = m[2] * this.x + m[3] * this.y;\n this.x = x;\n this.y = y;\n return this;\n },\n\n _add: function(p) {\n this.x += p.x;\n this.y += p.y;\n return this;\n },\n\n _sub: function(p) {\n this.x -= p.x;\n this.y -= p.y;\n return this;\n },\n\n _mult: function(k) {\n this.x *= k;\n this.y *= k;\n return this;\n },\n\n _div: function(k) {\n this.x /= k;\n this.y /= k;\n return this;\n },\n\n _multByPoint: function(p) {\n this.x *= p.x;\n this.y *= p.y;\n return this;\n },\n\n _divByPoint: function(p) {\n this.x /= p.x;\n this.y /= p.y;\n return this;\n },\n\n _unit: function() {\n this._div(this.mag());\n return this;\n },\n\n _perp: function() {\n var y = this.y;\n this.y = this.x;\n this.x = -y;\n return this;\n },\n\n _rotate: function(angle) {\n var cos = Math.cos(angle),\n sin = Math.sin(angle),\n x = cos * this.x - sin * this.y,\n y = sin * this.x + cos * this.y;\n this.x = x;\n this.y = y;\n return this;\n },\n\n _rotateAround: function(angle, p) {\n var cos = Math.cos(angle),\n sin = Math.sin(angle),\n x = p.x + cos * (this.x - p.x) - sin * (this.y - p.y),\n y = p.y + sin * (this.x - p.x) + cos * (this.y - p.y);\n this.x = x;\n this.y = y;\n return this;\n },\n\n _round: function() {\n this.x = Math.round(this.x);\n this.y = Math.round(this.y);\n return this;\n }\n};\n\n/**\n * Construct a point from an array if necessary, otherwise if the input\n * is already a Point, or an unknown type, return it unchanged\n * @param {Array|Point|*} a any kind of input value\n * @return {Point} constructed point, or passed-through value.\n * @example\n * // this\n * var point = Point.convert([0, 1]);\n * // is equivalent to\n * var point = new Point(0, 1);\n */\nPoint.convert = function (a) {\n if (a instanceof Point) {\n return a;\n }\n if (Array.isArray(a)) {\n return new Point(a[0], a[1]);\n }\n return a;\n};\n","// @flow\n\nimport UnitBezier from '@mapbox/unitbezier';\n\nimport Point from '@mapbox/point-geometry';\nimport window from './window.js';\nimport assert from 'assert';\n\nimport type {Callback} from '../types/callback.js';\nimport type {Mat4, Vec4} from 'gl-matrix';\n\nconst DEG_TO_RAD = Math.PI / 180;\nconst RAD_TO_DEG = 180 / Math.PI;\n\n/**\n * Converts an angle in degrees to radians\n * copy all properties from the source objects into the destination.\n * The last source object given overrides properties from previous\n * source objects.\n *\n * @param a angle to convert\n * @returns the angle in radians\n * @private\n */\nexport function degToRad(a: number): number {\n return a * DEG_TO_RAD;\n}\n\n/**\n * Converts an angle in radians to degrees\n * copy all properties from the source objects into the destination.\n * The last source object given overrides properties from previous\n * source objects.\n *\n * @param a angle to convert\n * @returns the angle in degrees\n * @private\n */\nexport function radToDeg(a: number): number {\n return a * RAD_TO_DEG;\n}\n\nconst TILE_CORNERS = [[0, 0], [1, 0], [1, 1], [0, 1]];\n\n/**\n * Given a particular bearing, returns the corner of the tile thats farthest\n * along the bearing.\n *\n * @param {number} bearing angle in degrees (-180, 180]\n * @returns {QuadCorner}\n * @private\n */\nexport function furthestTileCorner(bearing: number): [number, number] {\n const alignedBearing = ((bearing + 45) + 360) % 360;\n const cornerIdx = Math.round(alignedBearing / 90) % 4;\n return TILE_CORNERS[cornerIdx];\n}\n\n/**\n * @module util\n * @private\n */\n\n/**\n * Given a value `t` that varies between 0 and 1, return\n * an interpolation function that eases between 0 and 1 in a pleasing\n * cubic in-out fashion.\n *\n * @private\n */\nexport function easeCubicInOut(t: number): number {\n if (t <= 0) return 0;\n if (t >= 1) return 1;\n const t2 = t * t,\n t3 = t2 * t;\n return 4 * (t < 0.5 ? t3 : 3 * (t - t2) + t3 - 0.75);\n}\n\n/**\n * Computes an AABB for a set of points.\n *\n * @param {Point[]} points\n * @returns {{ min: Point, max: Point}}\n * @private\n */\nexport function getBounds(points: Point[]): { min: Point, max: Point} {\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n for (const p of points) {\n minX = Math.min(minX, p.x);\n minY = Math.min(minY, p.y);\n maxX = Math.max(maxX, p.x);\n maxY = Math.max(maxY, p.y);\n }\n\n return {\n min: new Point(minX, minY),\n max: new Point(maxX, maxY),\n };\n}\n\n/**\n * Returns the square of the 2D distance between an AABB defined by min and max and a point.\n * If point is null or undefined, the AABB distance from the origin (0,0) is returned.\n *\n * @param {Array} min The minimum extent of the AABB.\n * @param {Array} max The maximum extent of the AABB.\n * @param {Array} [point] The point to compute the distance from, may be undefined.\n * @returns {number} The square distance from the AABB, 0.0 if the AABB contains the point.\n */\nexport function getAABBPointSquareDist(min: Array, max: Array, point: ?Array): number {\n let sqDist = 0.0;\n\n for (let i = 0; i < 2; ++i) {\n const v = point ? point[i] : 0.0;\n assert(min[i] < max[i], 'Invalid aabb min and max inputs, min[i] must be < max[i].');\n if (min[i] > v) sqDist += (min[i] - v) * (min[i] - v);\n if (max[i] < v) sqDist += (v - max[i]) * (v - max[i]);\n }\n\n return sqDist;\n}\n\n/**\n * Converts a AABB into a polygon with clockwise winding order.\n *\n * @param {Point} min The top left point.\n * @param {Point} max The bottom right point.\n * @param {number} [buffer=0] The buffer width.\n * @param {boolean} [close=true] Whether to close the polygon or not.\n * @returns {Point[]} The polygon.\n */\nexport function polygonizeBounds(min: Point, max: Point, buffer: number = 0, close: boolean = true): Point[] {\n const offset = new Point(buffer, buffer);\n const minBuf = min.sub(offset);\n const maxBuf = max.add(offset);\n const polygon = [minBuf, new Point(maxBuf.x, minBuf.y), maxBuf, new Point(minBuf.x, maxBuf.y)];\n\n if (close) {\n polygon.push(minBuf.clone());\n }\n return polygon;\n}\n\n/**\n * Takes a convex ring and expands it outward by applying a buffer around it.\n * This function assumes that the ring is in clockwise winding order.\n *\n * @param {Point[]} ring The input ring.\n * @param {number} buffer The buffer width.\n * @returns {Point[]} The expanded ring.\n */\nexport function bufferConvexPolygon(ring: Point[], buffer: number): Point[] {\n assert(ring.length > 2, 'bufferConvexPolygon requires the ring to have atleast 3 points');\n const output = [];\n for (let currIdx = 0; currIdx < ring.length; currIdx++) {\n const prevIdx = wrap(currIdx - 1, -1, ring.length - 1);\n const nextIdx = wrap(currIdx + 1, -1, ring.length - 1);\n const prev = ring[prevIdx];\n const curr = ring[currIdx];\n const next = ring[nextIdx];\n const p1 = prev.sub(curr).unit();\n const p2 = next.sub(curr).unit();\n const interiorAngle = p2.angleWithSep(p1.x, p1.y);\n // Calcuate a vector that points in the direction of the angle bisector between two sides.\n // Scale it based on a right angled triangle constructed at that corner.\n const offset = p1.add(p2).unit().mult(-1 * buffer / Math.sin(interiorAngle / 2));\n output.push(curr.add(offset));\n }\n return output;\n}\n\ntype EaseFunction = (t: number) => number;\n\n/**\n * Given given (x, y), (x1, y1) control points for a bezier curve,\n * return a function that interpolates along that curve.\n *\n * @param p1x control point 1 x coordinate\n * @param p1y control point 1 y coordinate\n * @param p2x control point 2 x coordinate\n * @param p2y control point 2 y coordinate\n * @private\n */\nexport function bezier(p1x: number, p1y: number, p2x: number, p2y: number): EaseFunction {\n const bezier = new UnitBezier(p1x, p1y, p2x, p2y);\n return function(t: number) {\n return bezier.solve(t);\n };\n}\n\n/**\n * A default bezier-curve powered easing function with\n * control points (0.25, 0.1) and (0.25, 1)\n *\n * @private\n */\nexport const ease: EaseFunction = bezier(0.25, 0.1, 0.25, 1);\n\n/**\n * constrain n to the given range via min + max\n *\n * @param n value\n * @param min the minimum value to be returned\n * @param max the maximum value to be returned\n * @returns the clamped value\n * @private\n */\nexport function clamp(n: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, n));\n}\n\n/**\n * Equivalent to GLSL smoothstep.\n *\n * @param {number} e0 The lower edge of the sigmoid\n * @param {number} e1 The upper edge of the sigmoid\n * @param {number} x the value to be interpolated\n * @returns {number} in the range [0, 1]\n * @private\n */\nexport function smoothstep(e0: number, e1: number, x: number): number {\n x = clamp((x - e0) / (e1 - e0), 0, 1);\n return x * x * (3 - 2 * x);\n}\n\n/**\n * constrain n to the given range, excluding the minimum, via modular arithmetic\n *\n * @param n value\n * @param min the minimum value to be returned, exclusive\n * @param max the maximum value to be returned, inclusive\n * @returns constrained number\n * @private\n */\nexport function wrap(n: number, min: number, max: number): number {\n const d = max - min;\n const w = ((n - min) % d + d) % d + min;\n return (w === min) ? max : w;\n}\n\n/**\n * Computes shortest angle in range [-180, 180) between two angles.\n *\n * @param {*} a First angle in degrees\n * @param {*} b Second angle in degrees\n * @returns Shortest angle\n * @private\n */\nexport function shortestAngle(a: number, b: number): number {\n const diff = (b - a + 180) % 360 - 180;\n return diff < -180 ? diff + 360 : diff;\n}\n\n/*\n * Call an asynchronous function on an array of arguments,\n * calling `callback` with the completed results of all calls.\n *\n * @param array input to each call of the async function.\n * @param fn an async function with signature (data, callback)\n * @param callback a callback run after all async work is done.\n * called with an array, containing the results of each async call.\n * @private\n */\nexport function asyncAll(\n array: Array,\n fn: (item: Item, fnCallback: Callback) => void,\n callback: Callback>\n): void {\n if (!array.length) { return callback(null, []); }\n let remaining = array.length;\n const results = new Array(array.length);\n let error = null;\n array.forEach((item, i) => {\n fn(item, (err, result) => {\n if (err) error = err;\n results[i] = ((result: any): Result); // https://github.com/facebook/flow/issues/2123\n if (--remaining === 0) callback(error, results);\n });\n });\n}\n\n/*\n * Polyfill for Object.values. Not fully spec compliant, but we don't\n * need it to be.\n *\n * @private\n */\nexport function values(obj: {[key: string]: T}): Array {\n const result = [];\n for (const k in obj) {\n result.push(obj[k]);\n }\n return result;\n}\n\n/*\n * Compute the difference between the keys in one object and the keys\n * in another object.\n *\n * @returns keys difference\n * @private\n */\nexport function keysDifference(obj: {[key: string]: S}, other: {[key: string]: T}): Array {\n const difference = [];\n for (const i in obj) {\n if (!(i in other)) {\n difference.push(i);\n }\n }\n return difference;\n}\n\n/**\n * Given a destination object and optionally many source objects,\n * copy all properties from the source objects into the destination.\n * The last source object given overrides properties from previous\n * source objects.\n *\n * @param dest destination object\n * @param sources sources from which properties are pulled\n * @private\n */\nexport function extend(dest: Object, ...sources: Array): Object {\n for (const src of sources) {\n for (const k in src) {\n dest[k] = src[k];\n }\n }\n return dest;\n}\n\n/**\n * Given an object and a number of properties as strings, return version\n * of that object with only those properties.\n *\n * @param src the object\n * @param properties an array of property names chosen\n * to appear on the resulting object.\n * @returns object with limited properties.\n * @example\n * var foo = { name: 'Charlie', age: 10 };\n * var justName = pick(foo, ['name']);\n * // justName = { name: 'Charlie' }\n * @private\n */\nexport function pick(src: Object, properties: Array): Object {\n const result = {};\n for (let i = 0; i < properties.length; i++) {\n const k = properties[i];\n if (k in src) {\n result[k] = src[k];\n }\n }\n return result;\n}\n\nlet id = 1;\n\n/**\n * Return a unique numeric id, starting at 1 and incrementing with\n * each call.\n *\n * @returns unique numeric id.\n * @private\n */\nexport function uniqueId(): number {\n return id++;\n}\n\n/**\n * Return a random UUID (v4). Taken from: https://gist.github.com/jed/982883\n * @private\n */\nexport function uuid(): string {\n function b(a) {\n return a ? (a ^ Math.random() * (16 >> a / 4)).toString(16) :\n //$FlowFixMe: Flow doesn't like the implied array literal conversion here\n ([1e7] + -[1e3] + -4e3 + -8e3 + -1e11).replace(/[018]/g, b);\n }\n return b();\n}\n\n/**\n * Return whether a given value is a power of two\n * @private\n */\nexport function isPowerOfTwo(value: number): boolean {\n return (Math.log(value) / Math.LN2) % 1 === 0;\n}\n\n/**\n * Return the next power of two, or the input value if already a power of two\n * @private\n */\nexport function nextPowerOfTwo(value: number): number {\n if (value <= 1) return 1;\n return Math.pow(2, Math.ceil(Math.log(value) / Math.LN2));\n}\n\n/**\n * Return the previous power of two, or the input value if already a power of two\n * @private\n */\nexport function prevPowerOfTwo(value: number): number {\n if (value <= 1) return 1;\n return Math.pow(2, Math.floor(Math.log(value) / Math.LN2));\n}\n\n/**\n * Validate a string to match UUID(v4) of the\n * form: xxxxxxxx-xxxx-4xxx-[89ab]xxx-xxxxxxxxxxxx\n * @param str string to validate.\n * @private\n */\nexport function validateUuid(str: ?string): boolean {\n return str ? /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(str) : false;\n}\n\n/**\n * Given an array of member function names as strings, replace all of them\n * with bound versions that will always refer to `context` as `this`. This\n * is useful for classes where otherwise event bindings would reassign\n * `this` to the evented object or some other value: this lets you ensure\n * the `this` value always.\n *\n * @param fns list of member function names\n * @param context the context value\n * @example\n * function MyClass() {\n * bindAll(['ontimer'], this);\n * this.name = 'Tom';\n * }\n * MyClass.prototype.ontimer = function() {\n * alert(this.name);\n * };\n * var myClass = new MyClass();\n * setTimeout(myClass.ontimer, 100);\n * @private\n */\nexport function bindAll(fns: Array, context: Object): void {\n fns.forEach((fn) => {\n if (!context[fn]) { return; }\n context[fn] = context[fn].bind(context);\n });\n}\n\n/**\n * Determine if a string ends with a particular substring\n *\n * @private\n */\nexport function endsWith(string: string, suffix: string): boolean {\n return string.indexOf(suffix, string.length - suffix.length) !== -1;\n}\n\n/**\n * Create an object by mapping all the values of an existing object while\n * preserving their keys.\n *\n * @private\n */\nexport function mapObject(input: Object, iterator: Function, context?: Object): Object {\n const output = {};\n for (const key in input) {\n output[key] = iterator.call(context || this, input[key], key, input);\n }\n return output;\n}\n\n/**\n * Create an object by filtering out values of an existing object.\n *\n * @private\n */\nexport function filterObject(input: Object, iterator: Function, context?: Object): Object {\n const output = {};\n for (const key in input) {\n if (iterator.call(context || this, input[key], key, input)) {\n output[key] = input[key];\n }\n }\n return output;\n}\n\nimport deepEqual from '../style-spec/util/deep_equal.js';\nexport {deepEqual};\n\n/**\n * Deeply clones two objects.\n *\n * @private\n */\nexport function clone(input: T): T {\n if (Array.isArray(input)) {\n return ((input.map(clone): any): T);\n } else if (typeof input === 'object' && input) {\n return ((mapObject(input, clone): any): T);\n } else {\n return input;\n }\n}\n\n/**\n * Maps a value from a range between [min, max] to the range [outMin, outMax]\n *\n * @private\n */\nexport function mapValue(value: number, min: number, max: number, outMin: number, outMax: number): number {\n return clamp((value - min) / (max - min) * (outMax - outMin) + outMin, outMin, outMax);\n}\n\n/**\n * Check if two arrays have at least one common element.\n *\n * @private\n */\nexport function arraysIntersect(a: Array, b: Array): boolean {\n for (let l = 0; l < a.length; l++) {\n if (b.indexOf(a[l]) >= 0) return true;\n }\n return false;\n}\n\n/**\n * Print a warning message to the console and ensure duplicate warning messages\n * are not printed.\n *\n * @private\n */\nconst warnOnceHistory: {[key: string]: boolean} = {};\n\nexport function warnOnce(message: string): void {\n if (!warnOnceHistory[message]) {\n // console isn't defined in some WebWorkers, see #2558\n if (typeof console !== \"undefined\") console.warn(message);\n warnOnceHistory[message] = true;\n }\n}\n\n/**\n * Indicates if the provided Points are in a counter clockwise (true) or clockwise (false) order\n *\n * @private\n * @returns true for a counter clockwise set of points\n */\n// http://bryceboe.com/2006/10/23/line-segment-intersection-algorithm/\nexport function isCounterClockwise(a: Point, b: Point, c: Point): boolean {\n return (c.y - a.y) * (b.x - a.x) > (b.y - a.y) * (c.x - a.x);\n}\n\n/**\n * Returns the signed area for the polygon ring. Postive areas are exterior rings and\n * have a clockwise winding. Negative areas are interior rings and have a counter clockwise\n * ordering.\n *\n * @private\n * @param ring Exterior or interior ring\n */\nexport function calculateSignedArea(ring: Array): number {\n let sum = 0;\n for (let i = 0, len = ring.length, j = len - 1, p1, p2; i < len; j = i++) {\n p1 = ring[i];\n p2 = ring[j];\n sum += (p2.x - p1.x) * (p1.y + p2.y);\n }\n return sum;\n}\n\n/* global self, WorkerGlobalScope */\n/**\n * Returns true if run in the web-worker context.\n *\n * @private\n * @returns {boolean}\n */\nexport function isWorker(): boolean {\n return typeof WorkerGlobalScope !== 'undefined' && typeof self !== 'undefined' &&\n self instanceof WorkerGlobalScope;\n}\n\n/**\n * Parses data from 'Cache-Control' headers.\n *\n * @private\n * @param cacheControl Value of 'Cache-Control' header\n * @return object containing parsed header info.\n */\n\nexport function parseCacheControl(cacheControl: string): Object {\n // Taken from [Wreck](https://github.com/hapijs/wreck)\n const re = /(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g;\n\n const header = {};\n cacheControl.replace(re, ($0, $1, $2, $3) => {\n const value = $2 || $3;\n header[$1] = value ? value.toLowerCase() : true;\n return '';\n });\n\n if (header['max-age']) {\n const maxAge = parseInt(header['max-age'], 10);\n if (isNaN(maxAge)) delete header['max-age'];\n else header['max-age'] = maxAge;\n }\n\n return header;\n}\n\nlet _isSafari = null;\n\nexport function _resetSafariCheckForTest() {\n _isSafari = null;\n}\n\n/**\n * Returns true when run in WebKit derived browsers.\n * This is used as a workaround for a memory leak in Safari caused by using Transferable objects to\n * transfer data between WebWorkers and the main thread.\n * https://github.com/mapbox/mapbox-gl-js/issues/8771\n *\n * This should be removed once the underlying Safari issue is fixed.\n *\n * @private\n * @param scope {WindowOrWorkerGlobalScope} Since this function is used both on the main thread and WebWorker context,\n * let the calling scope pass in the global scope object.\n * @returns {boolean}\n */\nexport function isSafari(scope: any): boolean {\n if (_isSafari == null) {\n const userAgent = scope.navigator ? scope.navigator.userAgent : null;\n _isSafari = !!scope.safari ||\n !!(userAgent && (/\\b(iPad|iPhone|iPod)\\b/.test(userAgent) || (!!userAgent.match('Safari') && !userAgent.match('Chrome'))));\n }\n return _isSafari;\n}\n\nexport function isSafariWithAntialiasingBug(scope: any): ?boolean {\n const userAgent = scope.navigator ? scope.navigator.userAgent : null;\n if (!isSafari(scope)) return false;\n // 15.4 is known to be buggy.\n // 15.5 may or may not include the fix. Mark it as buggy to be on the safe side.\n return userAgent && (userAgent.match('Version/15.4') || userAgent.match('Version/15.5') || userAgent.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/));\n}\n\nexport function isFullscreen(): boolean {\n return !!window.document.fullscreenElement || !!window.document.webkitFullscreenElement;\n}\n\nexport function storageAvailable(type: string): boolean {\n try {\n const storage = window[type];\n storage.setItem('_mapbox_test_', 1);\n storage.removeItem('_mapbox_test_');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n// The following methods are from https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem\n//Unicode compliant base64 encoder for strings\nexport function b64EncodeUnicode(str: string): string {\n return window.btoa(\n encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,\n (match, p1) => {\n return String.fromCharCode(Number('0x' + p1)); //eslint-disable-line\n }\n )\n );\n}\n\n// Unicode compliant decoder for base64-encoded strings\nexport function b64DecodeUnicode(str: string): string {\n return decodeURIComponent(window.atob(str).split('').map((c) => {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); //eslint-disable-line\n }).join(''));\n}\n\nexport function getColumn(matrix: Mat4, col: number): Vec4 {\n return [matrix[col * 4], matrix[col * 4 + 1], matrix[col * 4 + 2], matrix[col * 4 + 3]];\n}\n\nexport function setColumn(matrix: Mat4, col: number, values: Vec4) {\n matrix[col * 4 + 0] = values[0];\n matrix[col * 4 + 1] = values[1];\n matrix[col * 4 + 2] = values[2];\n matrix[col * 4 + 3] = values[3];\n}\n","// @flow\n\nimport {warnOnce, parseCacheControl} from './util.js';\nimport window from './window.js';\n\nimport type Dispatcher from './dispatcher.js';\n\nconst CACHE_NAME = 'mapbox-tiles';\nlet cacheLimit = 500; // 50MB / (100KB/tile) ~= 500 tiles\nlet cacheCheckThreshold = 50;\n\nconst MIN_TIME_UNTIL_EXPIRY = 1000 * 60 * 7; // 7 minutes. Skip caching tiles with a short enough max age.\n\nexport type ResponseOptions = {\n status: number,\n statusText: string,\n headers: Headers\n};\n\n// We're using a global shared cache object. Normally, requesting ad-hoc Cache objects is fine, but\n// Safari has a memory leak in which it fails to release memory when requesting keys() from a Cache\n// object. See https://bugs.webkit.org/show_bug.cgi?id=203991 for more information.\nlet sharedCache: ?Promise;\n\nfunction getCaches() {\n try {\n return window.caches;\n } catch (e) {\n // \n );\n}","import React, { useEffect } from 'react';\nimport YandexHiddenFrame from './YandexHiddenFrame';\n// import logo from './yandex_login.png';\n\nfunction checkAccessKey() {\n const parts = window.location.href.split('#')\n const queryPartUrl = parts.length > 1 && parts[1] !== 'frame' ? parts[1] : null;\n if (!queryPartUrl) {\n return null;\n }\n var result = {};\n queryPartUrl.split(\"&\").forEach(function (part) {\n var item = part.split(\"=\");\n result[item[0]] = decodeURIComponent(item[1]);\n });\n return result;\n}\n\nfunction getYandexAuthUrl(clientID, redirectUrl) {\n let requestUrl = 'https://oauth.yandex.ru/authorize?response_type=token&client_id=' + clientID;\n requestUrl += '&redirect_uri=' + encodeURIComponent(redirectUrl);\n requestUrl += '&display=popup';\n return requestUrl;\n}\n\nfunction getCurrentUrl() {\n let currentUrl = window.location.origin;\n if (currentUrl[currentUrl.length - 1] === '/') {\n currentUrl = currentUrl.slice(0, currentUrl.length - 1)\n }\n return currentUrl;\n}\n\nexport default function YandexLogin(props) {\n const handleMessageFromPopup = (event) => {\n if (event.data.source === 'yandex-login') {\n props.onSuccess(event.data.payload);\n }\n }\n\n const onClick = () => {\n sessionStorage.setItem('yandexAutoLoginDisabled', 'false');\n let currentUrl = getCurrentUrl();\n const requestUrl = getYandexAuthUrl(props.clientID, currentUrl)\n\n const h = 650;\n const w = 550;\n const y = window.top.outerHeight / 2 + window.top.screenY - (h / 2);\n const x = window.top.outerWidth / 2 + window.top.screenX - (w / 2);\n window.open(requestUrl, 'popup', `width=${w},height=${h},top=${y},left=${x}`);\n\n window.addEventListener('message', handleMessageFromPopup, { once: true });\n }\n\n let frameRedirectTo = null;\n\n const aki = checkAccessKey();\n const receiver = window.parent !== window\n ? window.parent\n : window.opener;\n\n useEffect(() => {\n if (aki && receiver) {\n receiver.postMessage({\n source: 'yandex-login',\n payload: aki\n }, window.location.origin);\n \n window.close();\n }\n });\n\n \n\n if (!aki && !receiver) {\n const autoLoginDIsabled = sessionStorage.getItem('yandexAutoLoginDisabled');\n\n frameRedirectTo = autoLoginDIsabled !== 'true' \n ? getYandexAuthUrl(props.clientID, getCurrentUrl())\n : null;\n \n window.addEventListener('message', handleMessageFromPopup, { once: false });\n }\n\n return (\n
\n { React.cloneElement( props.children, { onClick: onClick } ) }\n {/* \"yandex\" */}\n {frameRedirectTo && }\n
\n );\n}","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"450c1111\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"frontend1:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrontend1\"] = self[\"webpackChunkfrontend1\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: any;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. May be either a URL or the pieces of a\n * URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { warning, invariant, parsePath } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on
,\n * useSubmit(), , etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\";\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport interface Submission {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n}\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: any;\n}\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return). Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable | null;\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs): Promise | DataFunctionValue;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs): Promise | DataFunctionValue;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n formData?: Submission[\"formData\"];\n actionResult?: DataResult;\n defaultShouldRevalidate: boolean;\n }): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n (route: AgnosticRouteObject): {\n hasErrorBoundary: boolean;\n } & Record;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction {\n (): Promise>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n mapRouteProperties: MapRoutePropertiesFunction,\n parentPath: number[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(\n branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname)\n );\n }\n\n return matches;\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explodes _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nexport function generatePath(\n originalPath: Path,\n params: {\n [key in PathParam]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam;\n const starParam = params[star];\n\n // Apply the splat\n return starParam;\n }\n\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam];\n\n if (optional === \"?\") {\n return param == null ? \"\" : param;\n }\n\n if (param == null) {\n invariant(false, `Missing \":${key}\" param`);\n }\n\n return param;\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"/([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURI(value: string) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, null, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n if (error) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record,\n init?: number | ResponseInit\n) => DeferredData;\n\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n error?: Error;\n internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n DataResult,\n DeferredData,\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DeferredResult,\n ErrorResult,\n FormEncType,\n FormMethod,\n DetectErrorBoundaryFunction,\n RedirectResult,\n RouteData,\n AgnosticRouteObject,\n Submission,\n SuccessResult,\n AgnosticRouteMatch,\n ShouldRevalidateFunction,\n RouteManifest,\n ImmutableRouteKey,\n ActionFunction,\n LoaderFunction,\n V7_MutationFormMethod,\n V7_FormMethod,\n HTMLFormMethod,\n MutationFormMethod,\n MapRoutePropertiesFunction,\n} from \"./utils\";\nimport {\n ErrorResponse,\n ResultType,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To | null, opts?: RouterNavigateOptions): Promise;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterNavigateOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key?: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key?: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n\n /**\n * Map of current blockers\n */\n blockers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_normalizeFormMethod: boolean;\n v7_prependBasename: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n hydrationData?: HydrationState;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n activeDeferreds: Record | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: { requestContext?: unknown }\n ): Promise;\n queryRoute(\n request: Request,\n opts?: { routeId?: string; requestContext?: unknown }\n ): Promise;\n}\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (state: RouterState): void;\n}\n\ninterface UseMatchesMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: unknown;\n handle: unknown;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UseMatchesMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\ntype BaseNavigateOptions = {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n fromRouteId?: string;\n};\n\n/**\n * Options for a navigate() call for a Link navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a Form navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & {\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n formData: FormData;\n};\n\n/**\n * Options to pass to navigate() for either a Link or Form navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions =\n | Omit\n | Omit;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: FormMethod | V7_FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Loading: {\n state: \"loading\";\n formMethod: FormMethod | V7_FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Error thrown from the current action, keyed by the route containing the\n * error boundary to render the error. To be committed to the state after\n * loaders have completed\n */\n pendingActionError?: RouteData;\n /**\n * Data returned from the current action, keyed by the route owning the action.\n * To be committed to the state after loaders have completed\n */\n pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n controller: AbortController | null;\n}\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n type: ResultType.data | ResultType.error;\n response: Response;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\";\nconst isServer = !isBrowser;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_normalizeFormMethod: false,\n v7_prependBasename: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n let initialized =\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n !initialMatches.some((m) => m.route.lazy) &&\n // And we have to either have no loaders or have been provided hydrationData\n (!initialMatches.some((m) => m.route.loader) || init.hydrationData != null);\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: string[] = [];\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n deleteBlocker(blockerKey!);\n updateState({ blockers: new Map(router.state.blockers) });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location);\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(newState: Partial): void {\n state = {\n ...state,\n ...newState,\n };\n subscribers.forEach((subscriber) => subscriber(state));\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n for (let [key] of blockerFunctions) {\n deleteBlocker(key);\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n updateState({\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers: new Map(state.blockers),\n });\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To | null,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n to,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n false,\n normalizedPath,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n deleteBlocker(blockerKey!);\n updateState({ blockers: new Map(state.blockers) });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n { overrideNavigation: state.navigation }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponse;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n });\n return;\n }\n\n // Short circuit if it's only a hash change and not a mutation submission.\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\".\n // For example, on /page#hash and submit a which will\n // default to a navigation to /page\n if (\n state.initialized &&\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionData: RouteData | undefined;\n let pendingError: RouteData | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError,\n };\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n { replace: opts.replace }\n );\n\n if (actionOutput.shortCircuited) {\n return;\n }\n\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n ...opts.submission,\n };\n loadingNavigation = navigation;\n\n // Create a GET request for the loaders\n request = new Request(request.url, { signal: request.signal });\n }\n\n // Call loaders\n let { shortCircuited, loaderData, errors } = await handleLoaders(\n request,\n location,\n matches,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n pendingActionData,\n pendingError\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n opts?: { replace?: boolean }\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n ...submission,\n };\n updateState({ navigation });\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace =\n result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, { submission, replace });\n return { shortCircuited: true };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: { [boundaryMatch.route.id]: result.error },\n };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n return {\n pendingActionData: { [actionMatch.route.id]: result.data },\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation;\n if (!loadingNavigation) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n ...submission,\n };\n loadingNavigation = navigation;\n }\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission || fetcherSubmission\n ? submission || fetcherSubmission\n : loadingNavigation.formMethod &&\n loadingNavigation.formAction &&\n loadingNavigation.formData &&\n loadingNavigation.formEncType\n ? {\n formMethod: loadingNavigation.formMethod,\n formAction: loadingNavigation.formAction,\n formData: loadingNavigation.formData,\n formEncType: loadingNavigation.formEncType,\n }\n : undefined;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n routesToUse,\n basename,\n pendingActionData,\n pendingError\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n });\n return { shortCircuited: true };\n }\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: fetcher && fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState({\n navigation: loadingNavigation,\n ...(actionData\n ? Object.keys(actionData).length === 0\n ? { actionData: null }\n : { actionData }\n : {}),\n ...(revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n }\n\n pendingNavigationLoadId = ++incrementingLoadId;\n revalidatingFetchers.forEach((rf) => {\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n await startRedirectNavigation(state, redirect, { replace });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n matchesToLoad,\n loaderResults,\n pendingError,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers =\n updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n return {\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n };\n }\n\n function getFetcher(key: string): Fetcher {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n if (fetchControllers.has(key)) abortFetcher(key);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n href,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath })\n );\n return;\n }\n\n let { path, submission } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n true,\n normalizedPath,\n opts\n );\n let match = getTargetMatch(matches, path);\n\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error);\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n ...submission,\n data: existingFetcher && existingFetcher.data,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, fetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n fetchControllers.set(key, abortController);\n\n let actionResult = await callLoaderOrAction(\n \"action\",\n fetchRequest,\n match,\n requestMatches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n fetchRedirectIds.add(key);\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n ...submission,\n data: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n return startRedirectNavigation(state, actionResult, {\n submission,\n isFetchActionRedirect: true,\n });\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: actionResult.data,\n ...submission,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n routesToUse,\n basename,\n { [match.route.id]: actionResult.data },\n undefined // No need to send through errors since we short circuit above\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: existingFetcher && existingFetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(results);\n if (redirect) {\n return startRedirectNavigation(state, redirect);\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n state.matches,\n matchesToLoad,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: actionResult.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n ...(didAbortFetchLoads ? { fetchers: new Map(state.fetchers) } : {}),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n ...submission,\n data: existingFetcher && existingFetcher.data,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n fetchControllers.set(key, abortController);\n\n let result: DataResult = await callLoaderOrAction(\n \"loader\",\n fetchRequest,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n });\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n state: RouterState,\n redirect: RedirectResult,\n {\n submission,\n replace,\n isFetchActionRedirect,\n }: {\n submission?: Submission;\n replace?: boolean;\n isFetchActionRedirect?: boolean;\n } = {}\n ) {\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n\n let redirectLocation = createLocation(\n state.location,\n redirect.location,\n // TODO: This can be removed once we get rid of useTransition in Remix v2\n {\n _isRedirect: true,\n ...(isFetchActionRedirect ? { _isFetchActionRedirect: true } : {}),\n }\n );\n invariant(\n redirectLocation,\n \"Expected a location on the redirect navigation\"\n );\n // Check if this an absolute external redirect that goes to a new origin\n if (\n ABSOLUTE_URL_REGEX.test(redirect.location) &&\n isBrowser &&\n typeof window?.location !== \"undefined\"\n ) {\n let url = init.history.createURL(redirect.location);\n let isDifferentBasename = stripBasename(url.pathname, basename) == null;\n\n if (window.location.origin !== url.origin || isDifferentBasename) {\n if (replace) {\n window.location.replace(redirect.location);\n } else {\n window.location.assign(redirect.location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType, formData } = state.navigation;\n if (!submission && formMethod && formAction && formData && formEncType) {\n submission = {\n formMethod,\n formAction,\n formEncType,\n formData,\n };\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n if (\n redirectPreserveMethodStatusCodes.has(redirect.status) &&\n submission &&\n isMutationMethod(submission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...submission,\n formAction: redirect.location,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else if (isFetchActionRedirect) {\n // For a fetch action redirect, we kick off a new loading navigation\n // without the fetcher submission, but we send it along for shouldRevalidate\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation: {\n state: \"loading\",\n location: redirectLocation,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n },\n fetcherSubmission: submission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else {\n // Otherwise, we kick off a new loading navigation, preserving the\n // submission info for the duration of this navigation\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation: {\n state: \"loading\",\n location: redirectLocation,\n formMethod: submission ? submission.formMethod : undefined,\n formAction: submission ? submission.formAction : undefined,\n formEncType: submission ? submission.formEncType : undefined,\n formData: submission ? submission.formData : undefined,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n }\n }\n\n async function callLoadersAndMaybeResolveData(\n currentMatches: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n )\n ),\n ...fetchersToLoad.map((f) => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\n \"loader\",\n createClientSideRequest(init.history, f.path, f.controller.signal),\n f.match,\n f.matches,\n manifest,\n mapRouteProperties,\n basename\n );\n } else {\n let error: ErrorResult = {\n type: ResultType.error,\n error: getInternalRouterError(404, { pathname: f.path }),\n };\n return error;\n }\n }),\n ]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n\n await Promise.all([\n resolveDeferredResults(\n currentMatches,\n matchesToLoad,\n loaderResults,\n loaderResults.map(() => request.signal),\n false,\n state.loaderData\n ),\n resolveDeferredResults(\n currentMatches,\n fetchersToLoad.map((f) => f.match),\n fetcherResults,\n fetchersToLoad.map((f) => (f.controller ? f.controller.signal : null)),\n true\n ),\n ]);\n\n return { results, loaderResults, fetcherResults };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n\n function setFetcherError(key: string, routeId: string, error: any) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n });\n }\n\n function deleteFetcher(key: string): void {\n if (fetchControllers.has(key)) abortFetcher(key);\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n invariant(controller, `Expected fetch controller: ${key}`);\n controller.abort();\n fetchControllers.delete(key);\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): boolean {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n state.blockers.set(key, newBlocker);\n updateState({ blockers: new Map(state.blockers) });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || ((location) => location.key);\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties,\n undefined,\n manifest\n );\n }\n\n router = {\n get basename() {\n return basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (opts?.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts?.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(\n request: Request,\n { requestContext }: { requestContext?: unknown } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n }: { requestContext?: unknown; routeId?: string } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error && !isRedirectResponse(e.response)) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n true,\n isRouteRequest,\n requestContext\n );\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(\n request,\n matches,\n requestContext,\n undefined,\n {\n [boundaryMatch.route.id]: result.error,\n }\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n\n return {\n ...context,\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch,\n pendingActionError?: RouteData\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(pendingActionError || {})[0]\n );\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n true,\n isRouteRequest,\n requestContext\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingActionError,\n activeDeferreds\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction isSubmissionNavigation(\n opts: RouterNavigateOptions\n): opts is SubmissionNavigateOptions {\n return opts != null && \"formData\" in opts;\n}\n\nfunction normalizeTo(\n location: Path,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n prependBasename: boolean,\n to: To | null,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId != null && relative !== \"path\") {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route. When using relative:path,\n // fromRouteId is ignored since that is always relative to the current\n // location path\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n\n // Resolve the relative path\n let path = resolveTo(\n to ? to : \".\",\n getPathContributingMatches(contextualMatches).map((m) => m.pathnameBase),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n\n // Add an ?index param for matched index routes if we don't already have one\n if (\n (to == null || to === \"\" || to === \".\") &&\n activeRouteMatch &&\n activeRouteMatch.route.index &&\n !hasNakedIndexQuery(path.search)\n ) {\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n }\n\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n normalizeFormMethod: boolean,\n isFetcher: boolean,\n path: string,\n opts?: RouterNavigateOptions\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponse;\n} {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n // Create a Submission on non-GET navigations\n let submission: Submission | undefined;\n if (opts.formData) {\n let formMethod = opts.formMethod || \"get\";\n submission = {\n formMethod: normalizeFormMethod\n ? (formMethod.toUpperCase() as V7_FormMethod)\n : (formMethod.toLowerCase() as FormMethod),\n formAction: stripHashFromPath(path),\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData: opts.formData,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n let searchParams = convertFormDataToSearchParams(opts.formData);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId?: string\n) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n fetchLoadMatches: Map,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingError\n ? Object.values(pendingError)[0]\n : pendingActionData\n ? Object.values(pendingActionData)[0]\n : undefined;\n\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (match.route.loader == null) {\n return false;\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search ===\n nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some((m) => m.route.id === f.routeId)) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null,\n });\n return;\n }\n\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n if (cancelledFetcherLoads.includes(key)) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // hit a static href, so they _always_ check shouldRevalidate and the\n // default is strictly if a revalidation is explicitly required (action\n // submissions, useRevalidator, X-Remix-Revalidate).\n let shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n defaultShouldRevalidate: isRevalidationRequired,\n });\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: Parameters[0]\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n mapRouteProperties: MapRoutePropertiesFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n // the logic will differ between frameworks.\n ...mapRouteProperties(routeToUpdate),\n lazy: undefined,\n });\n}\n\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction,\n basename: string,\n isStaticRequest: boolean = false,\n isRouteRequest: boolean = false,\n requestContext?: unknown\n): Promise {\n let resultType;\n let result;\n let onReject: (() => void) | undefined;\n\n let runHandler = (handler: ActionFunction | LoaderFunction) => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([\n handler({ request, params: match.params, context: requestContext }),\n abortPromise,\n ]);\n };\n\n try {\n let handler = match.route[type];\n\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let values = await Promise.all([\n runHandler(handler),\n loadLazyRouteModule(match.route, mapRouteProperties, manifest),\n ]);\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, data: undefined };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname,\n });\n } else {\n result = await runHandler(handler);\n }\n\n invariant(\n result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n if (isResponse(result)) {\n let status = result.status;\n\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(\n new URL(request.url),\n matches.slice(0, matches.indexOf(match) + 1),\n basename,\n true,\n location\n );\n } else if (!isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\")\n ? new URL(currentUrl.protocol + location)\n : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n };\n }\n\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (isRouteRequest) {\n // eslint-disable-next-line no-throw-literal\n throw {\n type: resultType || ResultType.data,\n response: result,\n };\n }\n\n let data: any;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponse(status, result.statusText, data),\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (resultType === ResultType.error) {\n return { type: resultType, error: result };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType, formData } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n init.body =\n formEncType === \"application/x-www-form-urlencoded\"\n ? convertFormDataToSearchParams(formData)\n : formData;\n }\n\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, value instanceof File ? value.name : value);\n }\n\n return searchParams;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: DataResult[],\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingError,\n activeDeferreds\n );\n\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, match, controller } = revalidatingFetchers[index];\n invariant(\n fetcherResults !== undefined && fetcherResults[index] !== undefined,\n \"Did not find corresponding fetcher result\"\n );\n let result = fetcherResults[index];\n\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\";\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponse(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results: DataResult[]): RedirectResult | undefined {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return result;\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n return (\n obj &&\n isResponse(obj.response) &&\n (obj.type === ResultType.data || ResultType.error)\n );\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveDeferredResults(\n currentMatches: AgnosticDataRouteMatch[],\n matchesToLoad: (AgnosticDataRouteMatch | null)[],\n results: DataResult[],\n signals: (AbortSignal | null)[],\n isFetcher: boolean,\n currentLoaderData?: RouteData\n) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(\n signal,\n \"Expected an AbortSignal for revalidating fetcher deferred result\"\n );\n await resolveDeferredData(result, signal, isFetcher).then((result) => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\n// Note: This should match the format exported by useMatches, so if you change\n// this please also change that :) Eventually we'll DRY this up\nfunction createUseMatchesMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UseMatchesMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id] as unknown,\n handle: route.handle as unknown,\n };\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n//#endregion\n","import * as React from \"react\";\nimport type {\n AgnosticRouteMatch,\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n History,\n Location,\n RelativeRoutingType,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n LazyRouteFunction,\n} from \"@remix-run/router\";\nimport type { Action as NavigationType } from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n isDataRoute: boolean;\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false,\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n RelativeRoutingType,\n Router as RemixRouter,\n RevalidationState,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n DataRouteMatch,\n} from \"./context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n AwaitContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nconst navigateEffectWarning =\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`;\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(\n cb: Parameters[0]\n) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n let { isDataRoute } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\n\nfunction useNavigateUnstable(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let dataRouterContext = React.useContext(DataRouterContext);\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator,\n routePathnamesJson,\n locationPathname,\n dataRouterContext,\n ]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nexport function useRoutesImpl(\n routes: RouteObject[],\n locationArg?: Partial | string,\n dataRouterState?: RemixRouter[\"state\"]\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { navigator } = React.useContext(NavigationContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined ||\n matches[matches.length - 1].route.Component !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n `does not have an element or Component. This means it will render an with a ` +\n `null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterState\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n\n devInfo = (\n <>\n

💿 Hey developer 👋

\n

\n You can provide a way better UX than this when your app throws errors\n by providing your own ErrorBoundary or{\" \"}\n errorElement prop on your route.\n

\n \n );\n }\n\n return (\n <>\n

Unexpected Application Error!

\n

{message}

\n {stack ?
{stack}
: null}\n {devInfo}\n \n );\n}\n\nconst defaultErrorElement = ;\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n revalidation: RevalidationState;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n revalidation: RevalidationState;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (\n state.location !== props.location ||\n (state.revalidation !== \"idle\" && props.revalidation === \"idle\")\n ) {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n \n \n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n (match.route.errorElement || match.route.ErrorBoundary)\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState: RemixRouter[\"state\"] | null = null\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement: React.ReactNode | null = null;\n if (dataRouterState) {\n errorElement = match.route.errorElement || defaultErrorElement;\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children: React.ReactNode;\n if (error) {\n children = errorElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `` in `` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = ;\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return (\n \n );\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState &&\n (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n}\n\nenum DataRouterStateHook {\n UseBlocker = \"useBlocker\",\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n UseRouteId = \"useRouteId\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nexport function useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n };\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches() {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () =>\n matches.map((match) => {\n let { pathname, params } = match;\n // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id] as unknown,\n handle: match.route.handle as unknown,\n };\n }),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n let [blockerKey] = React.useState(() => String(++blockerId));\n\n let blockerFunction = React.useCallback(\n (args) => {\n return typeof shouldBlock === \"function\"\n ? !!shouldBlock(args)\n : !!shouldBlock;\n },\n [shouldBlock]\n );\n\n let blocker = router.getBlocker(blockerKey, blockerFunction);\n\n // Cleanup on unmount\n React.useEffect(\n () => () => router.deleteBlocker(blockerKey),\n [router, blockerKey]\n );\n\n // Prefer the blocker from state since DataRouterContext is memoized so this\n // ensures we update on blocker state updates\n return state.blockers.get(blockerKey) || blocker;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable(): NavigateFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n\n return navigate;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import * as React from \"react\";\nimport type {\n TrackedPromise,\n InitialEntry,\n Location,\n MemoryHistory,\n Router as RemixRouter,\n To,\n LazyRouteFunction,\n RelativeRoutingType,\n RouterState,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n AbortedDeferredError,\n createMemoryHistory,\n UNSAFE_invariant as invariant,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n} from \"@remix-run/router\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n RouteMatch,\n RouteObject,\n Navigator,\n NonIndexRouteObject,\n} from \"./context\";\nimport {\n LocationContext,\n NavigationContext,\n DataRouterContext,\n DataRouterStateContext,\n AwaitContext,\n RouteContext,\n} from \"./context\";\nimport {\n useAsyncValue,\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n useRoutesImpl,\n useLocation,\n} from \"./hooks\";\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n}\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n}: RouterProviderProps): React.ReactElement {\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/)\n let [state, setState] = React.useState(router.state);\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a